用于训练和应用神经网络的方法和装置制造方法及图纸

技术编号:30349061 阅读:22 留言:0更新日期:2021-10-16 16:44
一种神经网络训练方法,包括:根据每层具有共享元素的结构化实现中的共享元素的数量,确定网络的每层权重矩阵的参数;根据所述确定的参数确定所述每层权重矩阵;将所述确定的权重矩阵解压缩以导出积分矩阵;根据所述积分矩阵在所述网络的所有层上迭代地进行前向传播和后向传播,直到满足预设条件,其中,所述积分矩阵在每次迭代中更新;存储所述网络的迭代参数。数。数。

【技术实现步骤摘要】
【国外来华专利技术】用于训练和应用神经网络的方法和装置


[0001]本专利技术大体上涉及一种人工智能(artificial intelligence,AI)技术,更具体地说,涉及用于初始化具有含共享元素的结构化矩阵的压缩神经网络的方法和装置。

技术介绍

[0002]近年来,深度学习方法在对象分类、自然语言处理和语音识别等广泛任务中取得了显著成就。2016年,由深度学习算法支持的围棋游戏软件AlphaGo成为第一个在5场围棋系列赛中击败人类冠军的围棋游戏软件。如何有效地训练深度神经网络成为热门研究领域。在Xavier和Yoshua的开创性工作中,他们观察到,可学习参数的适当初始化在训练神经网络中起着重要作用。后来,He等人扩展了Xavier和Yoshua的方法,考虑了ReLU激活函数。如今,这两种初始化方法被广泛用于TensorFlow、PyTorch和Keras等深度学习软件包中。由于这两种初始化方法仅有一个名为“增益(gain)”的因子不同,该因子由激活函数决定,因此这两种方法被视为一种方法,并称为Xavier/He初始化。
[0003]Xavier/He初始化的主要思想是维护不同层的激活方差和后向传播梯度方差。但是,当某些参数存在重权重共享时,激活方差和后向传播梯度并不是可学习参数的方差的良好指标。因此,高度共享参数的更新可能比其它参数快得多,这会导致训练困难。如果神经网络的一个层乘以正的常数,然后将正的常数划分到另一层,则即使使用Xavier/He初始化,也很难训练神经网络。

技术实现思路

[0004]提出了一种基于Xavier/He初始化的初始化方法。对于没有权重共享的全连接层,本申请中的实施例与Xavier/He初始化方法相同。但是,这些实施例可以应对权重共享,这种权重共享是神经网络的CirCNN实现的常见现象,并且示出了各种数值实施例来验证本申请中初始化方法的有效性。
[0005]该方法还用于逐层调整参数的学习速率,将每层权重矩阵乘以正的常数标量,同时相应地改变该层的初始化。
[0006]在本申请的第一实施例中,公开了一种神经网络训练方法,包括:根据每层具有共享元素的结构化实现中的共享元素的数量,确定网络的每层权重矩阵的参数;根据所述确定的参数确定所述每层权重矩阵;将所述确定的权重矩阵解压缩以导出积分矩阵;根据所述积分矩阵在所述网络的所有层上迭代地进行前向传播和后向传播,直到满足预设条件,其中,所述积分矩阵在每次迭代中更新;存储所述网络的迭代参数。
[0007]在一种可行的实现方式中,所述参数包括调整参数,其中,所述调整参数与所述共享元素的数量负相关。
[0008]需要注意的是,调整参数的计算可以为1/B或1/(B
×
B)等,在本申请中不限于此。
[0009]在一种可行的实现方式中,所述具有共享元素的结构化实现中的所述共享元素的数量是循环实现中的块大小。
[0010]需要注意的是,循环实现是一种具有共享元素的结构化实现,共享元素的数量或块大小与层的压缩比有关。
[0011]在一种可行的实现方式中,所述调整参数计算如下:其中,m是所述网络的一个层的输入通道的数量,n是所述网络的所述层的输出通道的数量,Cnm是所述调整参数,Bnm是所述共享元素的数量。
[0012]在一种可行的实现方式中,所述参数还包括在

Xavier_value与Xavier_value之间均匀分布的随机数。
[0013]需要注意的是,均匀分布是一种候选实现,在本申请中不限于此。其它分布也可用于方案。
[0014]在一种可行的实现方式中,Xavier_value通过下式确定:
[0015][0016]其中,gain是组成数,v
λ(n,m)
是随机数。
[0017]在一种可行的实现方式中,权重矩阵通过下式确定:
[0018]W
nm
=C
nm
·
v
λ(n,m)
[0019]其中,W
nm
是所述权重矩阵。
[0020]在一种可行的实现方式中,所述积分矩阵在每次迭代中更新,包括所述随机数在每次迭代中更新。
[0021]在一种可行的实现方式中,所述预设条件包括所述网络的训练结果为收敛。
[0022]在一种可行的实现方式中,所述网络的所述训练结果为收敛,包括所述权重矩阵的差值小于预设阈值。
[0023]需要注意的是,可以在神经网络训练过程中用于判断收敛性的任何标准都可以应用在本申请中。
[0024]在一种可行的实现方式中,所述网络在训练中的输入包括图像信息数据或声音信息数据。
[0025]在一种可行的实现方式中,所述网络用于分类对象、处理语言或识别语音。
[0026]因此,显然,本申请适用于该行业,例如对象分类、自然语言处理和语音识别领域。
[0027]在本申请的第二实施例中,公开了一种神经网络训练设备,包括:第一计算模块,用于根据每层具有共享元素的结构化实现中的共享元素的数量,确定网络的每层权重矩阵的参数;第二计算模块,用于根据所述确定的参数确定所述每层权重矩阵;解压缩模块,用于将所述确定的权重矩阵解压缩以导出积分矩阵;迭代模块,用于根据所述积分矩阵在所述网络的所有层上迭代地进行前向传播和后向传播,直到满足预设条件,其中,所述积分矩阵在每次迭代中更新;存储模块,用于存储所述网络的迭代参数。
[0028]在一种可行的实现方式中,所述参数包括调整参数,其中,所述调整参数与所述共享元素的数量负相关。
[0029]在一种可行的实现方式中,所述具有共享元素的结构化实现中的所述共享元素的数量是循环实现中的块大小。
[0030]在一种可行的实现方式中,所述调整参数计算如下:其中,m是所述网络的一个层的输入通道的数量,n是所述网络的所述层的输出通道的数量,Cnm是所述调整参数,Bnm是所述共享元素的数量。
[0031]在一种可行的实现方式中,所述参数还包括在

Xavier_value与Xavier_value之间均匀分布的随机数。
[0032]在一种可行的实现方式中,Xavier_value通过下式确定:
[0033][0034]其中,gain是组成数,v
λ(n,m)
是随机数。
[0035]在一种可行的实现方式中,权重矩阵通过下式确定:
[0036]W
nm
=C
nm
·
v
λ(n,m)
[0037]其中,W
nm
是所述权重矩阵。
[0038]在一种可行的实现方式中,所述积分矩阵在每次迭代中更新,包括所述随机数在每次迭代中更新。
[0039]在一种可行的实现方式中,所述预设条件包括所述网络的训练结果为收敛。
[0040]在一种可行的实现方式中,所述网络的所述训练结果为收敛,包括所述权重矩阵的差值本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种神经网络训练方法,其特征在于,包括:根据每层具有共享元素的结构化实现中的共享元素的数量,确定网络的每层权重矩阵的参数;根据所述确定的参数确定所述每层权重矩阵;将所述确定的权重矩阵解压缩以导出积分矩阵;根据所述积分矩阵在所述网络的所有层上迭代地进行前向传播和后向传播,直到满足预设条件,其中,所述积分矩阵在每次迭代中更新;存储所述网络的迭代参数。2.根据权利要求1所述的方法,其特征在于,所述参数包括调整参数,其中,所述调整参数与所述共享元素的数量负相关。3.根据权利要求1或2所述的方法,其特征在于,所述具有共享元素的结构化实现中的所述共享元素的数量是循环实现中的块大小。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述调整参数计算如下:其中,m是所述网络的一个层的输入通道的数量,n是所述网络的所述层的输出通道的数量,Cnm是所述调整参数,Bnm是所述共享元素的数量。5.根据权利要求4所述的方法,其特征在于,所述参数还包括在

Xavier_value与Xavier_value之间均匀分布的随机数。6.根据权利要求5所述的方法,其特征在于,Xavier_value通过下式确定:其中,gain是组成数,v
λ(n,m)
是随机数。7.根据权利要求6所述的方法,其特征在于,所述权重矩阵通过下式确定:W
nm
=C
nm
·
v
λ(n,m)
其中,W
nm
是所述权重矩阵。8.根据权利要求5至7中任一项所述的方法,其特征在于,所述积分矩阵在每次迭代中更新,包括所述随机数在每次迭代中更新。9.根据权利要求5至8中任一项所述的方法,其特征在于,所述预设条件包括所述网络的训练结果为收敛。10.根据权利要求9所述的方法,其特征在于,所述网络的所述训练结果为收敛,包括所述权重矩阵的差值小于预设阈值。11.根据权利要求1至10中任一项所述的方法,其特征在于,所述网络在训练中的输入包括图像信息数据或声音信息数据。12.根据权利要求1至11中任一项所述的方法,其特征在于,所述网络用于分类对象、处理语言或识别语音。13.一种神经网络训练设备,其特征在于,包括:第一计算模块,用于根据每层具有共享元素的结构化实现中的共享元素的数量,确定网络的每层权重矩阵的参数;
第二计算模块,用于根据所述确定的参数确定所述每层权重矩阵;解压缩模块,用于将所述确定的权重矩阵...

【专利技术属性】
技术研发人员:曾铁勇杨鸿飞丁晓峰胡慧
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1