版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(19)国家知识产权局(12)发明专利GO6N3/084(2023.GO6N3/082(2023.地址韩国京畿道水原市公司11286专利代理师方成张川绪提供深度神经网络的权重的平衡修剪的系开始对权重进行分组开始对权重进行分组应用掩蔽函数对每个组的非零权重进行计数计算多个组之间的方差最小化结束一种提供深度神经网络的权重的平衡修剪DNN的权重划分为多个组,在每个组中确定非零21.一种提供深度神经网络的权重的平衡修剪的系统,所述系统包括:多个并行处理元件;存储器,存储深度神经网络的权重,其中,在存储器中,深度神经网络的权重被划分为多个权重组;权重掩蔽器,掩蔽深度神经网络的所述多个权重组中的每个权重组中的权重;以及损失确定器,基于深度神经网络的网络损失减去掩蔽的所述多个权重组中的非零权重的计数的方差,来确定深度神经网络的损失,其中,通过损失确定器利用具有所述多个权重组中的非零权重的计数的方差等于0的约束使用拉格朗日乘子,使深度神经网络的损失最小化,其中,通过反向传播重新训练所述多个权重组和拉格朗日乘子,其中,后处理过程被应用以实现每个权重组具有完全相同数量的非零权重,以平衡将被分配给所述多个并行处理元件的非零权重的数量,其中,具有相同数量的非零权重的所述多个权重组被分配给所述多个并行处理元件,以确保所述多个并行处理元件具有相同量的工作负荷。2.根据权利要求1所述的系统,其中,损失确定器还基于深度神经网络的网络损失减去与拉格朗日乘子相乘的所述多个权重组中的非零权重的计数的方差,来确定深度神经网络的损失。3.根据权利要求2所述的系统,其中,权重掩蔽器将每个权重组中的权重与掩蔽函数相乘。4.根据权利要求3所述的系统,其中,掩蔽函数是可微分的。5.根据权利要求4所述的系统,其中,掩蔽函数的锐度是可选择地可控的,掩蔽函数的宽度是可选择地可控的。6.一种提供深度神经网络的权重的平衡修剪的方法,所述方法包括:通过存储器存储深度神经网络的权重;在存储器中,将深度神经网络的权重划分为多个组;通过权重掩蔽器将掩蔽函数应用于每个组中的权重;在掩蔽函数被应用之后,确定每个组中的非零权重的数量的计数;确定所述多个组中的非零权重的计数的方差;通过损失确定器利用具有所述多个组中的非零权重的计数的方差等于0的约束使用拉格朗日乘子,使深度神经网络的损失函数最小化;通过反向传播重新训练权重的所述多个组和拉格朗日乘子,其中,后处理过程被应用以实现每个组具有完全相同数量的非零权重,以平衡将被分配给多个并行处理元件的非零权重的数量,其中,具有相同数量的非零权重的所述多个组被分配给所述多个并行处理元件,以确保所述多个并行处理元件具有相同量的工作负荷。7.根据权利要求6所述的方法,其中,拉格朗日乘子被用于乘以所述多个组中的非零权重的计数的方差。8.根据权利要求6所述的方法,还包括:确定重新训练的权重的模式;3如果所述多个组中的第一组比所述模式具有更多的非零权重,则将应用于第一组的掩蔽函数调整为0,直到第一组的非零权重的计数等于重新训练的权重的模式的非零权重的如果所述多个组中的第二组比所述模式具有更少的非零权重,则将应用于第二组的掩蔽函数调整为1,直到第二组的非零权重的计数等于重新训练的权重的模式的非零权重的计数为止。9.根据权利要求6所述的方法,其中,掩蔽函数是可微分的。10.根据权利要求9所述的方法,其中,掩蔽函数的锐度是可选择地可控的,掩蔽函数的宽度是可选择地可控的。11.根据权利要求6所述的方法,其中,重新训练权重和拉格朗日乘子的步骤还包括:通过反向传播重新训练权重、掩蔽函数的宽度和拉格朗日乘子。12.根据权利要求11所述的方法,其中,使用梯度下降技术来更新权重和掩蔽函数的宽度,使用梯度上升技术来更新拉格朗日乘子。4提供深度神经网络的权重的平衡修剪的系统和方法[0001]本申请要求于2018年9月24日提交到美国专利商标局并且被分配序列号62/735,846的美国临时专利申请以及于2018年11月9日提交到美国专利商标局并且被分配序列号16/186,470的美国非临时专利申请的优先权,所述美国临时专利申请和所述美国非临时专利申请的全部内容通过引用整体包含于此。技术领域[0002]在此公开的主题涉及神经网络。更具体地,在此公开的主题涉及提供深度神经网络(DNN)的权重的平衡修剪(balancedpruning)的系统和方法。背景技术[0003]神经网络硬件被设计为加速深度神经网络的计算。然而,硬件加速器在处理稀疏参数(sparseparameters)方面效率不高,并且平衡神经网络参数的稀疏度以确保并行处理元件具有相同量的工作负荷是一个难题。稀疏度被用于减小参数大小并提高深度神经网络的计算效率。发明内容[0004]示例实施例提供一种提供深度神经网络(DNN)的权重的平衡修剪的系统,所述系统可包括:权重掩蔽器和损失确定器。权重掩蔽器可掩蔽DNN的多个权重组中的权重的每个组中的权重;损失确定器可基于DNN的网络损失减去所述多个权重组中的非零权重的计数格朗日乘子相乘的所述多个权重组中的非零权重的计数的方差,来确定DNN的损失。在另一实施例中,权重掩蔽器可将权重的每个组中的权重与掩蔽函数相乘。在另一实施例中,掩蔽函数可以是可微分的。[0005]示例实施例提供一种提供深度神经网络(DNN)的权重的平衡修剪的方法,所述方法可包括:将DNN的权重划分为多个组;通过权重掩蔽器将掩蔽函数应用于每个组中的权重;在掩蔽函数被应用之后,确定每个组中的非零权重的数量的计数;确定每个组中的非零权重的计数的方差;通过损失确定器利用具有每个组中的非零权重的计数的方差等于0的约束使用拉格朗日乘子,使DNN的损失函数最小化;通过反向传播重新训练权重和拉格朗日乘子。在一个实施例中,拉格朗日乘子可被用于乘以每个组中的非零权重的计数的方差。在另一实施例中,后处理可包括:确定重新训练的权重的模式;如果所述多个组中的组在平衡修剪之后具有更多的非零权重,则将应用于该组的掩蔽函数调整为0,直到该组的非零权重的计数等于重新训练的权重的模式为止;以及如果所述多个组中的组在平衡修剪之后具有更少的非零权重,则将应用于该组的掩蔽函数调整为1,直到该组的非零权重的计数等于重新训练的权重的模式为止。5附图说明[0006]在以下部分中,将参照附图中示出的示例性实施例来描述在此公开的主题的方[0007]图1描述根据在此公开的主题的示例阈值函数的曲线图;[0008]图2是根据在此公开的主题的用于DNN的平衡自修剪的方法的流程图;[0009]图3是根据在此公开的主题的后处理方法的示例实施例的流程图;[0010]图4描述根据在此公开的主题的平衡自修剪器的示例实施例。具体实施方式[0011]在以下具体实施方式中,阐述了许多具体细节以便提供对本公开的透彻理解。然而,本领域技术人员将理解,可在没有这些具体细节的情况下实践公开的方面。在其他实例中,没有详细描述公知的方法、过程、组件和电路,以不模糊在此公开的主题。此外,描述的方面可被实现为在任何成像装置或系统(包括但不限于智能电话、用户设备(UE)和/或膝上型计算机)中。[0012]贯穿本说明书的对“一个实施例”或“实施例”的引用表示:结合该实施例描述的特定特征、结构或特性可包括在在此公开的至少一个实施例中。因此,贯穿本说明书的不同地方短语“在一个实施例中”或“在实施例中”或“根据一个实施例”(或具有类似含义的其他短语)的出现可不一定都指示同一实施例。此外,在一个或多个实施例中,可以以任何合适的方式组合特定的特征、结构或特性。在这方面,如在此使用的,词“示例性”表示“用作示例、实例或说明”。在此描述为“示例性”的任何实施例不应被解释为一定比其他实施例优选或有利。此外,根据在此的讨论的上下文,单数术语可包括相应的复数形式,并且复数术语可尔可互换的使用不应被认为彼此不一致。[0013]还应注意,在此示出和讨论的各种附图(包括组件图)仅为了说明的目的,并且不按比例绘制。类似地,各种波形和时序图仅为了说明的目的而被示出。例如,为了清楚起见,一些元件的尺寸可能相对于其他元件被夸大。此外,如果认为合适,则在附图中重复参考标号以指示相应的和/或类似的元件。[0014]在此使用的术语仅为了描述一些示例实施例的目的,而不意在限制要求权利的主题。除非上下文另有清楚地指示,否则如在这里使用的单数形式也意在包括复数形式。还将理解,当在本说明书中使用术语“包括”和/或“包含”时,表明存在陈述的特征、整体、步骤、操作、元件和/或组件,但不排除存在或增加一个或多个其他特征、整体、步骤、操作、元件、组件和/或它们的组。除非这样清楚地定义,否则在此使用的术语“第一”、“第二”等用作它们之后的名词的标签,并且不表示任何类型的顺序(例如,空间、时间、逻辑等)。此外,可在两个或更多个附图之间使用相同的参考标号来表示具有相同或相似功能的部件、组件、块、电路、单元或模块。然而,这样的用法仅为了简化说明和易于讨论,并不表示这样的组件或单元的构造或结构细节在所有实施例之间都是相同的或者这样共同引用的部件/模块是实6现在此公开的多个示例实施例中的一些示例实施例的唯一方式。元件或层时,它可直接“在”该另一元件或层上、直接连接到或者直接结合到该另一元件或同的元件。如在此使用的,术语“和/或”包括相关联的所列项中的一个或多全部组合。[0016]除非另有定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与由本主题所属领域的普通技术人员通常理解的含义相同的含义。还将理解,除非在此清楚地如此定义,否则术语(诸如通用词典中定义的术语)应被解释为具有与它们在相关领域的上下文中的含义一致的含义,并且将不被理想化或过于形式化地解释。[0017]如在此使用的,术语“模块”表示被配置为提供在此结合模块描述的功能的软件、固件和/或硬件的任何组合。软件可被实现为软件包、代码和/或指令集或指令,并且如在此描述的任何实施方式中使用的术语“硬件”可单独地包括例如硬连线电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件,或者可包括硬连线电路、可编程电路、状态机电路和/或所述固件的任何组合。模块可共同地或单独地被实现为形成较大系统和/或功能块可被实现为可包括提供在此结合各种组件和/或功能块描述的功能的软件、固件和/或硬件的模块。[0018]在此公开的主题涉及对深度神经网络(DNN)的权重进行稀疏化的方法和系统。使用在此公开的主题处理的DNN模型的稀疏度(sparsity)针对每个组具有相同数量的非零权重。组可基于DNN硬件架构来创建,并且可依赖于激活和权重如何从存储器被提取到处理元件。在训练阶段期间,DNN模型权重和权重阈值参数被同时训练,使得DNN模型可达到最大训练准确度和最小数量的非零权重。同时,通过强制使组之间的非零权重的数量的方差接近于零,每个组内的非零权重的数量近似相同。在训练的结束时,后处理过程可被应用以实现每个组具有完全相同数量的非零权重的结果作为最佳平衡的稀疏度。[0019]在此公开的主题提供自动修剪方法,其中,自动修剪方法同时训练参数,减少非零参数的数量,并平衡硬件处理元件的非零参数的数量,以增加系统的处理元件的利用率。后处理步骤是训练结束时的用于调整权重使得所有组具有完全相同数量的权重以实现非零权重的最佳平衡(perfectbalance)的过程。[0020]DNN模型的训练可以是寻求使预测与地面真值具有最小差的一组权重参数的数值[0025]为了执行稀疏化,修剪函数可被应用于权重,使得具有低于阈值的大小的权重被设置为0并且具有高于阈值的大小的权重不受影响。为了具有可训练的修剪函数,该函数需要第一阶可微分。在一个实施例中,可被使用的阈值函数或修剪函数是7外,阈值函数h(w)具有大于连续权重值的第一集合103的连续权重值的第二集合104的值1,并且具有小于连续权重值的第一集合103的连续权重值的第三集合105的值1。阈值函数h(w)的第一边界101a在连续权重值的第一集合103与连续权重值的第二集合104之间。第二和第二边界101b的区域中,阈值函数h(w)的值在0和1之间转变。当阈值函数h(w)的边界101a和边界101b的锐度),h(w)=0.5处的第一边界101a与第二边界101b之间的[0032]图2是根据在此公开的主题的用于DNN的平衡自修剪的方法200的流程图。在201,方法200开始。为了将稀疏权重分配给多个处理元件(PE),在202,DNN的权重被划分成多个组。[0035]如果权重的大小大于阈值,则等式(5)的掩蔽函数返回1,如果权重的大小小于阈之间的非零权重的计数的方差。在206,训练问题可用公式表示为具有硬约束(hard8(ADMM)来解决这种具有硬约束的最小化问题。在本质上,可使用拉格朗日乘子来连接等式[0042]在207,三个参数w、β和λ是可训练的并且在反向传播中被更新。可使用梯度下降技术来更新参数w和β,然而,可使用梯度上升技术来更新拉格朗日参数(或拉格朗日乘子)λ,例如:[0044]因为等式8中的总损失正在减小并且拉格朗日乘子λ正在增大,所以这严格执行等式7中的硬约束。在208,方法200结束。使用以上的方法200,训练将最终收敛到具有组之间的近似平衡的稀疏度的最小值。[0045]为了达到确实平衡的稀疏度,后处理方法可被应用。在平衡自修剪(即,图2)之后,非零权重的数量可具有部分稀疏模式。后处理处理可被应用于选择性地将边缘权重(fringeweight)的遮罩(mask)设置为0或1以实现确实的稀疏平衡。[0046]图3是根据在此公开的主题的后处理方法300的示例实施例的流程图。在301,方法个组的权重的总数等于1024。在207的平衡自修剪之后的结果可以是大多数组具有500个非零权重的模式,而在一些组中权重可全部为零。[0047]在303,为了实现确实的稀疏度平衡,如果组比所述模式具有更多的非零权重,则该组的最小值非零权重的遮罩将被设置为0,直到该组的非零权重的数量等于所述模式的非零权重的数量为止。[0048]在304,如果组比所述模式具有更少的非零权重,则将最大值(掩蔽的)零权重重置(即,去掩蔽)为非零,直到该组的非零权重的数量等于所述模式的非零权重的数量为止。因为使用软掩蔽函数(诸如,等式(5)中的软掩蔽函数)掩蔽权重,所以后处理是可行的。在305,方法300结束。[0049]图4描述根据在此公开的主题的平衡自修剪器的示例实施例。平衡自修剪器400可包括存储器401、掩蔽器402和损失确定器403。在一些实施例中,平衡自修剪器400可包括可提供控制和迭代类型的功能的控制器404.在另一实施例中,平衡自修剪器400可被实现为状态机。在一个实施例中,平衡自修剪器400可被实现为最小化模块,是被配置为提供平衡自修剪器400的最小化和算术功能的软件、固件和/或硬件的任何组合。在另一实施例中,平衡自修剪器400的功能块中的一个或多个可以是模块,在这种情况下,这样的模块可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年市政工程项目合同协议
- 2026年住宅监控设备年度服务合同
- 外贸代理合同2026年结算协议
- 农村果园承包合同
- 家用电器安全使用课件
- 家校联系培训课件
- 塔吊安全知识培训教程课件
- 培训讲师金融课件
- 县2024年贯彻落实〈州贯彻“十四五”市场监管现代化规划实施方案〉任务分解清单
- 医药公司职工培训课件
- 血透尿毒症脑病
- 巴彦淖尔市老年康复护理院朗润园网点建设项目环境影响报告表(2021年新版环评)
- 黑龙江省哈尔滨八中2025届高二上数学期末学业水平测试模拟试题含解析
- 2024版租房合同协议书下载
- 小学三年级上册数学期末测试卷(综合卷)
- 油脂科技有限公司年产3万吨油酸项目环评可研资料环境影响
- 软件工程师生涯人物访谈报告
- 丹鹿通督片治疗腰椎疾病所致腰椎狭窄128例
- 2023国家开放大学《经济学基础》形考任务1-4参考答案
- 高空作业车使用说明书
- 【机械设计制造及其自动化发展方向研究5700字(论文)】
评论
0/150
提交评论