调整人工神经网络的方法和装置制造方法及图纸

技术编号:15502627 阅读:69 留言:0更新日期:2017-06-03 23:26
本发明专利技术公开了一种调整人工神经网络(ANN)的方法和装置。ANN包括多个神经元,神经元之间的连接关系通过连接权值矩阵表示,所述方法包括:剪枝步骤,将经训练的第一连接权值矩阵的所有N个权值中的n个不重要权值设为零;不带掩码重训步骤,在不强制约束任何权值为零的情况下重新训练经剪枝的第二连接权值矩阵;掩码生成步骤,根据经不带掩码重训的第三连接权值矩阵生成矩阵形状掩码;以及带掩码重训步骤,使用所述掩码矩阵对所述第三连接权值矩阵进行重新训练。由此,通过在重训阶段加入根据经不带掩码重训的矩阵生成掩码步骤来实现对掩码的动态调整,以便对剪枝过程中的一些误剪进行修正和恢复,从而提升经压缩神经网络的性能。

Method and apparatus for adjusting an artificial neural network

The invention discloses a method and a device for adjusting an artificial neural network (ANN). The ANN includes a plurality of neurons, connections between neurons through the connection weight matrix, the method comprises the following steps: pruning steps, after all N weight training first connection weight matrix n in a weight set to zero; no mask re training steps in any constraint weights to zero the case of re training connection weights matrix by pruning second; mask generation steps according to the connection weight matrix generated by matrix shape mask without re training the mask and mask third; re training steps, using the mask matrix of the third connection weight matrix re training. Thus, through the re training stage to join according to the matrix generated mask steps without mask re training to realize the dynamic adjustment of the mask, so that the pruning process of some error correction and shear recovery, so as to enhance the compression performance of neural network.

【技术实现步骤摘要】
调整人工神经网络的方法和装置
本专利技术设计人工神经网络(ANN),例如,循环神经网络(RNN),尤其涉及基于掩码对神经网络的动态调整。
技术介绍
人工神经网络(ANN),简称神经网络(NNs),是一种模仿动物神经网络的行为特征,进行分布式并行信息处理的数学计算模型。近年来,神经网络发展很快,被广泛应用于诸多领域,如图像识别、语音识别、自然语言处理、天气预报、基因表达、内容推送等等。在神经网络中存在着大量彼此连接的、被称为“神经元”的节点。每个神经元通过特定的输出函数计算来自其它相邻神经元的加权输入值。各神经元之间的信息传递强度用“权值”定义,算法会不断自我学习,调整这个加权值。在神经网络中,神经元的连接关系在数学上可以表示为一系列矩阵。经过训练后的网络虽然预测准确,但其矩阵都是稠密的,即“矩阵中充满了非零元素”。随着神经网络变得愈发复杂,稠密矩阵的计算会消耗大量的存储和计算资源。由此导致的低速度和高成本使得移动端的推广应用面临着巨大的困难,从而极大地制约了神经网络的发展。近年来的研究表明,通过训练得到的神经网络模型矩阵中,仅有部分权值较大的元素代表着重要连接,而其他权值较小的元素可以被移除(置为零),与此同时对应的神经元也被剪枝。剪枝后的网络精度会下降,但是可以通过重训,对仍然保留在模型矩阵中权值的大小进行调整,从而减小精度损失。模型压缩可以将神经网络中的稠密矩阵稀疏化,有效降低存储量、减少计算量,在保持精度的同时实现加速。模型压缩对于专用的稀疏神经网络加速器而言显得极为重要。对于较为复杂的神经网络模型,尤其是多层神经网络模型而言,各层的网络模型矩阵相互关联。因而会存在一些重要的连接在权值上表现得比较小,而当剪去大多数不重要的连接并重训后重新表现得比较大。这些权值在剪枝中相当于被误剪了。但是在现有的压缩流程中,针对剪枝后精度下降的网络进行重训时,只会调整仍然保留在模型矩阵中的权值的大小,因此对误剪是无法进行恢复的。这样可能会导致网络模型收敛到一个不佳的局部最优点,从而对压缩率和模型准确度带来影响。因此,需要一种神经网络调整方案,能够在神经网络压缩过程中尝试对误剪等情况进行修正。
技术实现思路
为了对剪枝过程中的一些误剪行为进行修正和恢复,本专利技术提出的神经网络调整方案通过在重训阶段加入对存储剪枝结果的矩阵形状掩码的动态调整达到保证甚至提高剪枝后神经网络性能的目标。根据本专利技术的一个方面,提出了一种调整人工神经网络(ANN)的方法,其中所述ANN包括多个神经元,神经元之间的连接关系通过连接权值矩阵表示,所述方法包括:剪枝步骤,将经训练的第一连接权值矩阵的所有N个权值中的n个不重要权值设为零;不带掩码重训步骤,在不强制约束任何权值为零的情况下重新训练经剪枝的第二连接权值矩阵;掩码生成步骤,根据经不带掩码重训的第三连接权值矩阵生成矩阵形状掩码;以及带掩码重训步骤,使用所述掩码矩阵对所述第三连接权值矩阵进行重新训练。通过根据不带掩码重训得到的矩阵来生成掩码,就能够对剪枝过程中的误剪进行修正和恢复,从而在矩阵稀疏化降低计算量的同时,保证模型准确度。根据本专利技术的另一个方面,根据不带掩码重训得到的矩阵调整掩码可以是将所述掩码中与矩阵中绝对值最小的n个权值对应位置上的值置零,由此在压缩率不变的情况下进行更为合理的剪枝,从而尽可能地提升准确度。上述调整也可以是压缩率可变的调整,例如以预定阈值决定置零位,从而调整压缩率。根据本专利技术的又一个方面,可以重复不带掩码重训、掩码生成和带掩码重训步骤直到获得所述连接权值矩阵的优化解为止。根据本专利技术的在一个方面,还提出了一种调整人工神经网络(ANN)的装置,其包括剪枝装置、不带掩码重训装置、掩码生成装置和带掩码重训装置来实施本专利技术的调整方案。附图说明通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。图1示出了DNN的典型结构图。图2示出了LSTM神经网络模型的示意图。图3示出了通过剪枝-重训进行网络压缩的流程示意图。图4示出了如图3所示剪枝前后的节点和连接变化。图5示出了一种用于神经网络压缩的剪枝-重训方法。图6示出了相比于图5增加了不带掩码重训步骤的剪枝-重训方法。图7示出了不带掩码重训改善网络精度的例子。图8示出了使用动态掩码调整神经网络的示意性流程图。图9示出了基于图8的调整方案的优选实现。图10示出了在保持压缩率不变的情况下动态调整掩码的一个例子。图11示出了在无需保持压缩率不变的情况下动态调整掩码的一个例子。图12示出了能够执行本专利技术的ANN调整方案的调整装置的示意图。具体实施方式下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。本申请中,将主要以用于语音识别的长短时记忆(LSTM)模型为例来说明本专利技术对ANN的改进。本申请的方案适用于各种人工神经网络,包括深度神经网络(DNN)、循环神经网络(RNN)与卷积神经网络(CNN),尤其适用于属于RNN的一种的上述LSTM模型。神经网络压缩的基本概念人工神经网络(ANN)是一种模仿动物神经网络的行为特征,进行分布式并行信息处理的数学计算模型。在神经网络中存在有大量彼此连接的节点,也称“神经元”。每个神经元通过某种特定的输出函数(也称为“激活函数”)来处理来自其它相邻神经元的加权输入值。而各神经元之间的信息传递强度则用所谓“权值”来定义。算法会不断自我学习,调整这些权值。早期的神经网络只有输入和输出层两层。由于无法处理复杂的逻辑,其实用性受到很大限制。深度神经网络(DNN)通过在输入和输出层之间添加隐藏的中间层,大大提升了神经网络处理复杂逻辑的能力。图1示出了DNN模型示意图。应该理解的是,在实际应用中的DNN可以有比图1所示复杂得多的大型结构,但其基本结构仍然如图1所示。语音识别是将语言的模拟信号顺序映射到一个具体的单词集合上。近年来,人工神经网络的方法在语音识别领域取得的效果已经远远超出了所有传统方法,正在成为全行业的主流。其中,深度神经网络有着极为广泛的应用。循环神经网络(RNN)是一种常用的深度神经网络模型,不同于传统的前向神经网络,循环神经网络引入了定向循环,能够处理那些输入之间前后关联的问题。在语音识别中,信号的前后关联很强,例如识别句子中的单词,和该单词前面的单词序列关系十分紧密。因此,循环神经网络在语音识别领域有着非常广泛的应用。为了解决对长期信息的记忆问题,Hochreiter&Schmidhuber于1997年提出了长短时记忆(LSTM)模型。LSTM神经网络是RNN的一种,将普通RNN当中简单的重复神经网络模块改变为复杂的连接交互关系。图2示出了LSTM神经网络模型的示意图。LSTM神经网络在语音识别中同样取得了非常好的应用效果。在设计和训练深度神经网络时,大的网络规模有着更强的表达能力,能够表示网络输入特征与输出之间的较强的非线性关系。但是,这种规模较大的网络在学习实际想本文档来自技高网
...
调整人工神经网络的方法和装置

【技术保护点】
一种调整人工神经网络(ANN)的方法,其中所述ANN包括多个神经元,神经元之间的连接关系通过连接权值矩阵表示,所述方法包括:剪枝步骤,将经训练的第一连接权值矩阵的所有N个权值中的n个不重要权值设为零;不带掩码重训步骤,在不强制约束任何权值为零的情况下重新训练经剪枝的第二连接权值矩阵;掩码生成步骤,根据经不带掩码重训的第三连接权值矩阵生成矩阵形状掩码;以及带掩码重训步骤,使用所述掩码矩阵对所述第三连接权值矩阵进行重新训练。

【技术特征摘要】
1.一种调整人工神经网络(ANN)的方法,其中所述ANN包括多个神经元,神经元之间的连接关系通过连接权值矩阵表示,所述方法包括:剪枝步骤,将经训练的第一连接权值矩阵的所有N个权值中的n个不重要权值设为零;不带掩码重训步骤,在不强制约束任何权值为零的情况下重新训练经剪枝的第二连接权值矩阵;掩码生成步骤,根据经不带掩码重训的第三连接权值矩阵生成矩阵形状掩码;以及带掩码重训步骤,使用所述掩码矩阵对所述第三连接权值矩阵进行重新训练。2.如权利要求1所述的方法,其中,重复所述不带掩码重训步骤、所述掩码生成步骤和带掩码重训步骤直到获得所述连接权值矩阵的优化解为止。3.如权利要求1所述的方法,其中,所述不重要权值是所有N个权值中绝对值最小的n个权值。4.如权利要求3所述的方法,其中,所述掩码生成步骤包括:将所述掩码中与所述第三连接权值矩阵中绝对值最小的n个权值对应位置上的值置零。5.如权利要求3所述的方法,其中,所述掩码生成步骤包括:将所述掩码中与所述第三连接权值矩阵中绝对值小于权重阈值的权值对应位置上的值置零。6.如权利要求4所述的方法,其中,所述权重阈值基于所述第三连接权值矩阵求得,将所述第三连接权值矩阵的权值按绝对值进行从大到小排序,所述权值阈值根据如下之一的均值设定或是所述均值本身:排序序列中前(N-n)个权值的均值;排...

【专利技术属性】
技术研发人员:姚颂
申请(专利权)人:北京深鉴智能科技有限公司
类型:发明
国别省市:北京,11

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

1