CN107644252A - 一种多机制混合的递归神经网络模型压缩方法 - Google Patents
一种多机制混合的递归神经网络模型压缩方法 Download PDFInfo
- Publication number
- CN107644252A CN107644252A CN201710151828.0A CN201710151828A CN107644252A CN 107644252 A CN107644252 A CN 107644252A CN 201710151828 A CN201710151828 A CN 201710151828A CN 107644252 A CN107644252 A CN 107644252A
- Authority
- CN
- China
- Prior art keywords
- model
- recurrent neural
- matrix
- neural networks
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000000306 recurrent effect Effects 0.000 title claims abstract description 51
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000006835 compression Effects 0.000 title claims abstract description 36
- 238000007906 compression Methods 0.000 title claims abstract description 36
- 230000007246 mechanism Effects 0.000 title claims abstract description 21
- 239000011159 matrix material Substances 0.000 claims abstract description 46
- 238000012549 training Methods 0.000 claims abstract description 16
- 230000004913 activation Effects 0.000 claims abstract description 12
- 238000012886 linear function Methods 0.000 claims abstract description 9
- 238000011002 quantification Methods 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 12
- 238000013139 quantization Methods 0.000 claims description 11
- 230000015572 biosynthetic process Effects 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000001537 neural effect Effects 0.000 claims description 3
- 230000006855 networking Effects 0.000 claims description 2
- 238000003062 neural network model Methods 0.000 claims 1
- 238000005755 formation reaction Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000007935 neutral effect Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种多机制混合的递归神经网络模型压缩方法。方法包括:A、循环矩阵约束:将递归神经网络中部分参数矩阵限制为循环矩阵,并更新后向梯度传播算法使网络可以进行循环矩阵的批量训练;B、前向激活函数近似:前向运算时将非线性的激活函数替换为硬件友好的线性函数,后向梯度更新过程保持不变;C、混合量化:根据递归神经网络中不同参数对误差可容忍度的差异,针对不同参数采用不同的量化机制;D、二次训练机制:将网络模型的训练分为初始训练和重训练两个阶段,每个阶段侧重不同的模型压缩方法,很好地避免了不同模型压缩方法间的相互影响,最大程度上减少了模型压缩方法带来的精度损失。本发明通过灵活地运用多种模型压缩机制来压缩递归神经网络模型,可以大大减少模型参数,适用于需要使用递归神经网络的存储受限、低延迟嵌入式系统,具有很好的创新性和应用前景。
Description
技术领域
本发明涉及计算机及电子信息技术领域,特别是一种多机制混合的递归神经网络模型压缩方法。
背景技术
递归神经网络有着强大的非线性拟合能力,其天然的递归结构十分适用于建模序列数据,如文本、语音和视频等。目前,递归神经网络模型在自然语言处理领域,尤其是在语音识别和机器翻译上已经取得了接近甚至超过人类的效果或准确率;通过结合增强学习,递归神经网络在机器人自适应控制和学习领域也有广泛的应用前景。这些技术是实现智能人机交互所必须的,但是在嵌入式设备上运行递归神经网络模型存在着诸多问题。一方面,递归神经网络模型需要存储大量的参数,而且计算量巨大;另一方面,嵌入式系统所能提供的存储资源和计算能力十分有限,无法满足模型存储和计算的需求,实时性和功耗上也面临着诸多挑战。因此,有必要通过一些模型压缩技术减少递归神经网络的模型参数以减少模型的存储需求,并降低模型的计算复杂度。
现有的模型压缩技术可以粗略归为两大类,一类不减少模型参数个数,但可以减少参数存储所需要的空间。如通过剪枝使参数矩阵变稀疏,而后可通过特殊的格式存储稀疏参数矩阵;也可采用基于量化的网络训练算法,减少存储每个参数需要的比特。另一类是通过对参数矩阵施加特殊的约束减少参数个数或是减少计算复杂度,如通过哈希映射将网络参数限制为几种特殊的值,存储时存储值及每个参数所属的类别;或是将参数矩阵限制为一些结构化矩阵,如托普利兹矩阵,不但可以减少存储空间,也可以通过快速算法减少计算的时间复杂度。
目前已有的针对递归神经网络的模型压缩方法仍有较多的提升空间,可以实现的压缩效果十分有限;混合使用不同的模型压缩方法虽然可以获得更好的压缩率,但直接混合会严重地损失模型的精度。探索更好的模型压缩方法及不同模型压缩方法间结合的方法,在尽量不损失网络模型精度的条件下最大化模型压缩率,仍然是一个函待解决的问题。
发明内容
发明目的:
本发明所要解决的技术问题是针对递归神经网络无法适应嵌入式系统的存储资源和计算能力,提出多种高效的模型压缩机制及混合方法,使递归神经网络在嵌入式系统上的应用成为可能。
技术方案:
为了解决上述技术问题,本发明公开了一种多机制混合的递归神经网络模型压缩方法,其特征在于,包括以下步骤:
步骤一,在初始训练阶段,根据实际需要灵活结合循环矩阵约束和前向激活函数近似压缩递归神经网络模型;
步骤二,在所述步骤一的基础上,增加混合量化机制进行递归神经网络模型的重训练,进一步提高模型的压缩率;
所述步骤一包括以下步骤:
步骤(11),使用循环矩阵约束,针对递归神经网络中不同参数矩阵对误差敏感程度的差异,将对误差不敏感的部分参数矩阵限制为循环矩阵;
步骤(12),若步骤(11)所选参数矩阵非方阵,则通过缺失部分补零或拼接的方式使其满足循环矩阵需为方阵的约束,并更新后向梯度传播算法使递归神经网络模型可以进行循环矩阵的批量训练;
步骤(13),使用前向激活函数近似,进一步更新后向梯度传播算法,使得神经网络模型在前向运算时将网络中的非线性激活函数替换为硬件友好的线性函数,同时保持后向梯度更新过程不变;
所述步骤二包括以下步骤:
步骤(21),分析步骤一训练出的递归神经网络模型中不同参数矩阵对误差敏感程度的差异,并结合递归神经网络模型在结构上的特点,将模型中的参数分为多组,每组选用不同的量化方法;
步骤(22),根据步骤(21)中模型参数的分组情况进行混合量化,并对递归神经网路模型进行重训练以恢复模型精度。
有益效果:
本发明创新性地提出了多种针对递归神经网络的模型压缩方法,同时可通过二次训练机制,弱化不同模型压缩机制间的相互影响,在尽量不损失网络模型精度的条件下最大化模型压缩率,使递归神经网络在嵌入式系统上的应用成为可能。本发明在嵌入式场景下的智能人机交互、机器人决策和控制领域有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1是本发明方法简化流程图。
具体实施方式:
下面详细描述本发明的实施例。因递归神经网络包含多种变体,本实施例将以其中最为基本的递归神经网络为例,旨在用于解释本发明,而不能理解为对本发明的限制。其余递归神经网络变体的实施过程与本实施例基本相同。
拥有m个输入节点和n个输出节点的递归神经网络的典型公式定义为:
ht=f(Wxt+Uht-1+b), (1)
其中,ht∈Rn×1为t时刻递归神经网络的隐状态;xt∈Rm×1为t时刻的输入向量;W∈Rn×m、U∈Rn×n、b∈Rn×1为递归神经网络的模型参数,b为偏置项,W和U为参数矩阵;f为非线性函数,常见的有σ和tanh:
如图1所示,对于本发明所述多机制混合的递归神经网络模型压缩方法,其特征在于通过二次训练机制,灵活地结合循环矩阵约束、前向激活函数近似和混合量化等模型压缩方法,同时弱化不同模型压缩机制间的相互影响,在尽量不损失网络模型精度的条件下最大化模型压缩率,包括以下步骤:
步骤一,在初始训练阶段,根据实际需要灵活结合循环矩阵约束和前向激活函数近似压缩递归神经网络模型。
步骤二,在所述步骤一的基础上,增加混合量化机制进行递归神经网络模型的重训练,进一步提高模型的压缩率。
所述步骤一包括以下步骤:
步骤(11),使用循环矩阵约束,优选地针对递归神经网络中不同参数矩阵对误差敏感程度的差异,将对误差不敏感的部分参数矩阵限制为循环矩阵。这里假定m=n,并将参数矩阵W限制为循环矩阵,引入一个元向量w=(w1,w2,…,wn)T,循环矩阵W将由元向量生成:
步骤(12),若步骤(11)所选参数矩阵W非方阵,即m≠n,则需要通过缺失部分补零或拼接的方式使其满足循环矩阵需为方阵的约束。若n<m,可将W扩展为方阵,如在W上增添m-n行,此时计算Wxt将得到一个m×1的向量,取前n个值构成的向量即为原始结果;若n>m,一种方法是将W的每一行填补n-m个零,构成一个n×n的方阵,此时w=(w1,w2,…,wm,0,…,0)T,计算时向量xt亦在末尾填补n-m个零。另一种方法是将W分解和扩展成多个m×m子方阵,每个子方阵均使用循环矩阵约束。
做上述变换后,计算过程与m=n时的情况可保持一致,此时需更新后向梯度传播算法使递归神经网络模型可以进行循环矩阵的批量训练。假设a=Wxt,W在进行参数更新时实际为更新对应的元向量w,另设x=(x1,x2,…,xn)T,定义:
若E为递归神经网络模型的损失函数,则可以通过链式法则求取进一步可求得参数w的修正项对应的梯度更新为:
w=w+Δw. (5)
步骤(13),使用前向激活函数近似,进一步更新后向梯度传播算法,使得神经网络模型在前向运算时将网络中的非线性激活函数替换为硬件友好的线性函数,同时保持后向梯度更新过程不变。表格1给出了三个典型的硬件友好的线性函数,其中Hsigm用于近似σ函数,Htanh和Ptanh用于近似tanh函数,且Ptanh的近似精度要好于Htanh,普通技术人员可以通过实际需求择优选择适当近似精度的线性函数。该方法的基本原理是用分段函数拟合非线性函数,避免了复杂的非线性操作。方法的一个特别之处在于分段函数的选取。具体而言,应尽量选取硬件友好的分段函数。表格1中所给出的三个分段线性函数在硬件实现时里面所涉及的乘除可通过简单的移位操作实现,从而可以大大地节约硬件资源消耗。
所述步骤二包括以下步骤:
步骤(21),分析步骤一训练出的递归神经网络模型中不同参数对误差敏感程度的差异,并结合递归神经网络模型在结构上的特点,将模型中的参数分为多组,每组选用不同的量化方法。在本实施例中,参数包括W、U、b,且中间变量h也需存储,共四种类型的参数,可分为四组,每组恰对应一种类似的参数。
表格1
表格2
表格2给出了三种优选的量化方法,其中M为待量化的参数,表格右侧数学定义中的操作均为原子级操作,即若M为矩阵,则M>0.5表示对矩阵中每个元素的大小与0.5进行比较。round函数表示将元素裁为与之最接近的整数,sign为符号函数,用于析离元素的正负号。对于三种量化方式,TerQ将参数的取值限制为-1、0和+1;ExpQ将参数取值范围限制为2的倍数,因而参数的乘法可以用移位操作实现;Qm,f为常见的量化方式,将参数量化成m位整数、f位小数外加一位符号位表示的形式。可以判断在一般情况下,不同的量化方式的取值精度为:Qm,f>ExpQ>TerQ。因此,可根据不同参数对误差敏感程度的差异,对误差较敏感的参数使用精度较高的量化,较不敏感的参数可使用精度较低的量化。
应当指出,表格1和表格2中所给例子均旨在用于解释本发明,而不能理解为对本发明的限制。
步骤(22),根据步骤(21)中模型参数的分组情况及相应的误差敏感程度进行混合量化,并对递归神经网路模型进行重训练以恢复模型精度。量化不可避免的会带来精度上的损失,利用神经网络本身对误差的自适应能力,通过重训练可以使模型压缩方法对网络模型精度的影响降至最小。
本发明提供了一种多机制混合的递归神经网络模型压缩方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (1)
1.混合多种模型压缩机制对递归神经网络模型进行压缩的方法,其特征在于通过二次训练机制,弱化不同模型压缩机制间的相互影响,在尽量不损失网络模型精度的条件下最大化模型压缩率,包括以下步骤:
步骤一,在初始训练阶段,根据实际需要灵活结合循环矩阵约束和前向激活函数近似压缩递归神经网络模型;
步骤二,在所述步骤一的基础上,增加混合量化机制进行递归神经网络模型的重训练,进一步提高模型的压缩率;
所述步骤一包括以下步骤:
步骤(11),使用循环矩阵约束,针对递归神经网络中不同参数矩阵对误差敏感程度的差异,将对误差不敏感的部分参数矩阵限制为循环矩阵;
步骤(12),若步骤(11)所选参数矩阵非方阵,则通过缺失部分补零或拼接的方式使其满足循环矩阵需为方阵的约束,并更新后向梯度传播算法使递归神经网络模型可以进行循环矩阵的批量训练;
步骤(13),使用前向激活函数近似,进一步更新后向梯度传播算法,使得神经网络模型在前向运算时将网络中的非线性激活函数替换为硬件友好的线性函数,同时保持后向梯度更新过程不变;
所述步骤二包括以下步骤:
步骤(21),分析步骤一训练出的递归神经网络模型中不同参数矩阵对误差敏感程度的差异,并结合递归神经网络模型在结构上的特点,将模型中的参数分为多组,每组选用不同的量化方法;
步骤(22),根据步骤(21)中模型参数的分组情况进行混合量化,并对递归神经网路模型进行重训练以恢复模型精度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710151828.0A CN107644252A (zh) | 2017-03-10 | 2017-03-10 | 一种多机制混合的递归神经网络模型压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710151828.0A CN107644252A (zh) | 2017-03-10 | 2017-03-10 | 一种多机制混合的递归神经网络模型压缩方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107644252A true CN107644252A (zh) | 2018-01-30 |
Family
ID=61110190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710151828.0A Pending CN107644252A (zh) | 2017-03-10 | 2017-03-10 | 一种多机制混合的递归神经网络模型压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107644252A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491928A (zh) * | 2018-03-29 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 模型参数训练方法、装置、服务器及存储介质 |
CN108665067A (zh) * | 2018-05-29 | 2018-10-16 | 北京大学 | 用于深度神经网络频繁传输的压缩方法及系统 |
CN110633798A (zh) * | 2019-09-12 | 2019-12-31 | 北京金山数字娱乐科技有限公司 | 一种分布式训练中参数更新方法及装置 |
CN110718211A (zh) * | 2019-09-26 | 2020-01-21 | 东南大学 | 一种基于混合压缩卷积神经网络的关键词识别系统 |
CN111723901A (zh) * | 2019-03-19 | 2020-09-29 | 百度在线网络技术(北京)有限公司 | 神经网络模型的训练方法及装置 |
CN112418440A (zh) * | 2020-11-27 | 2021-02-26 | 网络通信与安全紫金山实验室 | 一种边-端协同梯度压缩聚合方法以及装置 |
CN113379034A (zh) * | 2021-06-15 | 2021-09-10 | 南京大学 | 一种基于网络结构搜索技术的神经网络结构优化方法 |
-
2017
- 2017-03-10 CN CN201710151828.0A patent/CN107644252A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491928A (zh) * | 2018-03-29 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 模型参数训练方法、装置、服务器及存储介质 |
CN108665067A (zh) * | 2018-05-29 | 2018-10-16 | 北京大学 | 用于深度神经网络频繁传输的压缩方法及系统 |
CN111723901A (zh) * | 2019-03-19 | 2020-09-29 | 百度在线网络技术(北京)有限公司 | 神经网络模型的训练方法及装置 |
CN111723901B (zh) * | 2019-03-19 | 2024-01-12 | 百度在线网络技术(北京)有限公司 | 神经网络模型的训练方法及装置 |
CN110633798A (zh) * | 2019-09-12 | 2019-12-31 | 北京金山数字娱乐科技有限公司 | 一种分布式训练中参数更新方法及装置 |
CN110718211A (zh) * | 2019-09-26 | 2020-01-21 | 东南大学 | 一种基于混合压缩卷积神经网络的关键词识别系统 |
CN110718211B (zh) * | 2019-09-26 | 2021-12-21 | 东南大学 | 一种基于混合压缩卷积神经网络的关键词识别系统 |
CN112418440A (zh) * | 2020-11-27 | 2021-02-26 | 网络通信与安全紫金山实验室 | 一种边-端协同梯度压缩聚合方法以及装置 |
CN112418440B (zh) * | 2020-11-27 | 2024-02-13 | 网络通信与安全紫金山实验室 | 一种边-端协同梯度压缩聚合方法以及装置 |
CN113379034A (zh) * | 2021-06-15 | 2021-09-10 | 南京大学 | 一种基于网络结构搜索技术的神经网络结构优化方法 |
CN113379034B (zh) * | 2021-06-15 | 2023-10-20 | 南京大学 | 一种基于网络结构搜索技术的神经网络结构优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107644252A (zh) | 一种多机制混合的递归神经网络模型压缩方法 | |
CN109472353B (zh) | 一种卷积神经网络量化电路及量化方法 | |
GB2438555A (en) | Method and system for product design | |
CN100430943C (zh) | 一种过程工业历史数据智能两级压缩方法 | |
CN111612147A (zh) | 深度卷积网络的量化方法 | |
CN107633298A (zh) | 一种基于模型压缩的递归神经网络加速器的硬件架构 | |
CN109445935A (zh) | 云计算环境下一种高性能大数据分析系统自适应配置方法 | |
CN111814973B (zh) | 一种适用于神经常微分方程网络计算的存内计算系统 | |
CN116701692B (zh) | 一种图像生成方法、装置、设备及介质 | |
TW202013261A (zh) | 算數框架系統及操作浮點至定點算數框架的方法 | |
CN114638344A (zh) | 一种模型量化方法和相关装置 | |
CN113987924A (zh) | 一种基于目标特征自学习的复杂电磁信号模拟发生方法 | |
CN111479286B (zh) | 一种边缘计算系统减少通信流量的数据处理方法 | |
CN103227644A (zh) | 一种针对汽车车身小格式数据的压缩方法 | |
CN108804933A (zh) | 一种用于大数据的进制转换方法 | |
CN101467459A (zh) | 受约束的矢量量化 | |
CN115953651B (zh) | 一种基于跨域设备的模型训练方法、装置、设备及介质 | |
CN115994590B (zh) | 基于分布式集群的数据处理方法、系统、设备及存储介质 | |
CN116434039A (zh) | 一种基于多尺度拆分注意力机制的目标检测方法 | |
CN104320659B (zh) | 背景建模方法、装置及设备 | |
CN116306883A (zh) | 一种融合结构和时序特征以提高动态图数据增量学习效果的方法 | |
CN113516170B (zh) | 基于贝叶斯神经网络随机加法饱和结构的图像分类方法 | |
CN111431540B (zh) | 一种基于神经网络模型的fpga配置文件算术压缩与解压方法 | |
CN115114569A (zh) | 一种基于量子线路的非线性偏微分方程求解方法及装置 | |
CN113743012A (zh) | 一种多用户场景下的云-边缘协同模式任务卸载优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190430 Address after: Room 816, Block B, Software Building 9 Xinghuo Road, Jiangbei New District, Nanjing, Jiangsu Province Applicant after: Nanjing Fengxing Technology Co., Ltd. Address before: 210023 Xianlin Avenue 163 Nanjing University Electronic Building 229, Qixia District, Nanjing City, Jiangsu Province Applicant before: Nanjing University |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180130 |