【技术实现步骤摘要】
【国外来华专利技术】用于训练稀疏神经网络同时保持稀疏性的系统和方法
[0001]对相关申请的交叉引用
[0002]本申请要求于2020年6月5日提交的美国临时申请第63/035,526号的优先权。在先申请的公开内容被认为是本申请的公开内容的一部分,并且通过引用并入本申请的公开内容中。
技术介绍
[0003]本说明书涉及训练稀疏神经网络。
[0004]神经网络是采用一层或多层非线性单元来预测接收到的输入的输出的机器学习模型。一些神经网络除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出用作网络中的下一层——即,下一隐藏层或输出层——的输入。网络的每个层根据相应参数集的当前值从接收的输入生成输出。
技术实现思路
[0005]本说明书描述了被实现为在一个或多个位置中的一个或多个计算机上的计算机程序的系统和方法,其在始终遵守稀疏性要求的同时训练神经网络。特别地,在前向传递期间或在后向传递期间可以不使用完全密集的参数集来训练神经网络以更新网络参数。这允许更有效地训练神经网络,具有更低的计算负担和更低的能量消耗。这还允许在计算能力较低的设备上或在具有较少能量资源的设备上训练神经网络。此外,本文描述了使本方法适应于特定硬件配置以优化性能的特定实施例。
[0006]因此,在一个方面,一种训练神经网络的计算机实现的方法,所述神经网络具有多个网络参数并且被配置为处理输入数据项以生成神经网络输出,所述方法包括:通过从多个网络参数中选择参数的第一子集并将网络参数的前向传递集合的所有其他参数设置为零来重复地确定网络参数的前向传递集合;根 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种训练神经网络的计算机实现的方法,所述神经网络具有多个网络参数并且被配置为处理输入数据项以生成神经网络输出,该方法包括重复地:通过从多个网络参数中选择参数的第一子集并将网络参数的前向传递集合的所有其他参数设置为零,来确定网络参数的前向传递集合;根据网络参数的前向传递集合、使用神经网络来处理训练数据项以生成神经网络输出;从神经网络输出和训练数据项确定目标函数的值;从多个网络参数中选择参数的第二子集;确定包括参数的第一子集和参数的第二子集的、网络参数的后向传递集合;以及使用从目标函数的值确定的梯度估计来更新多个网络参数中与所述网络参数的后向传递集合相对应的参数。2.根据权利要求1所述的方法,还包括:在通用处理器和神经网络训练硬件之间分配所述方法,以及在通用处理器上执行以下重复步骤:选择参数的第一子集并选择参数的第二子集;以及在神经网络训练硬件上执行以下重复步骤:根据网络参数的前向传递集合使用神经网络处理训练数据项,以及更新多个网络参数中与网络参数的后向传递集合相对应的参数。3.根据权利要求2所述的方法,其中,多个网络参数从不同时被加载到神经网络训练硬件中。4.根据权利要求2
‑
3中任一项所述的方法,其中,所述神经网络包括多个神经网络层,所述方法包括在所述通用处理器上一次一个神经网络层地执行所述重复步骤。5.根据权利要求2
‑
4中任一项所述的方法,包括:在通用处理器上执行所述重复步骤之前,在神经网络训练硬件上多次执行所述重复步骤。6.根据权利要求2
‑
5中任一项所述的方法,包括:在重复所述方法的同时,在通用处理器上以及在神经网络训练硬件上并行地执行所述重复步骤。7.根据权利要求2
‑
6中任一项所述的方法,其中,参数的第一子集包括多个网络参数中的最大网络参数的子集。8.根据权利要求7所述的方法,其中,参数的第二子集包括多个网络参数中的其次最大网络参数的子集。9.根据权利要求1
‑
8中任一项所述的方法,其中,所述神经网络包括多个神经网络层,所述方法还包括:逐个神经网络的层来选择参数的第一子集和参数的第二子集中的一个或两个。10.根据权利要求1
‑
9中任一项所述的方法,其中,处理训练数据项、确定目标函数和更新多个网络参数中的参数中的至少一个在专用训练硬件上被执行,其中,参数的第一子集包括多个网络参数中的最大网络参数的子集,其中,至少确定多个网络参数中的最大网络参数在与训练硬件分开的处理器上被执行。11.根据权利要求1
‑
10中任一项所述的方法,其中,目标函数包括正则化项,所述正则化项包括以下中的一个或多个:对第二子集的参数的惩罚比对第一子集的参数的惩罚更多的项;
对第二子集的参数惩罚比对多个网络参数中不在第一子集或第二子集中的参数惩罚更多的项;以及对第一子集的参数惩罚比对多个网络参数中不在第一子集...
【专利技术属性】
技术研发人员:SM贾亚库马尔,R帕斯卡努,JW雷,S奥辛德罗,EK埃尔森,
申请(专利权)人:渊慧科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。