数据驱动的基于奇异值分解的神经网络声学模型裁剪方法技术

技术编号:14361122 阅读:62 留言:0更新日期:2017-01-09 04:20
本发明专利技术涉及一种数据驱动的基于奇异值分解的神经网络声学模型裁剪方法,包括:根据神经网络各层权值矩阵的奇异值分布选用不同的裁剪力度,根据对应层的裁剪力度实现对各层神经网络的裁剪。本发明专利技术的裁剪方法会根据DNN各层权值矩阵奇异值分布不同,裁减不同数量的奇异值,保证了所有层都能够得到充分裁剪的同时,避免了某些层会被过度裁剪。

【技术实现步骤摘要】

本专利技术涉及语音识别领域,特别涉及一种数据驱动的基于奇异值分解的神经网络声学模型裁剪方法
技术介绍
近年来,深层神经网络(DeepNeuralNetwork,DNN)由于其良好的建模能力,被广泛地应用于语音识别领域的声学模型当中。DNN良好的建模能力主要得益于其相对于普通神经网络具有更深的模型层次,但是与此同时,DNN的参数量巨大,同时计算复杂度高,在语音识别的解码过程当中,利用DNN进行声学状态的估计需要消耗大量的计算和储存资源。这一问题在一些资源受限的场景中尤为突出,比如新兴的智能家电领域,智能家电的芯片上预留给智能交互系统的储存和计算资源是十分有限的,同时对于系统反馈的实时性有很高的要求,此时应用高参数量、高计算复杂度的DNN十分困难。为了解决DNN参数量大以及计算复杂度高的问题,利用奇异值分解(SingularValueDecomposition,SVD)对DNN进行重构的方法被广泛用来降低DNN的参数量。在此简要说明一下该方法的原理。DNN的前向运算当中,最重要的部分为:yi=Σj=1nωi,jαj(i=1,2,...,m)]]>或者将上式改写成矩阵乘法的形式:y=Wα,其中其中W为DNN的权值矩阵,也是DNN模型当中居于主导地位的参数,利用SVD对DNN权值矩阵进行重构,即将W通过SVD分解为两个低秩矩阵的乘积:W≈WU·WV,其中上式中使用“约等于”是因为在这个分解的过程中已经根据奇异值大小进行了裁剪,即只保留最大的k个奇异值,通过这种方式,参数量和计算量都从m*n变成了(m+n)*k,由于k<<m×nm+n]]>通过这种方式,DNN的参数量和计算复杂度都得到了充分的降低。然而,传统的裁剪方法在对DNN权值矩阵进行裁剪的过程当中,对于DNN各层都保留了相同数量的奇异值,即对各层采用相同的裁剪力度。当DNN各层权值矩阵的奇异值分布状况差别很大的时候,由于传统裁剪方法对于各层的裁剪力度相同,会使得某些层被过度裁剪而导致DNN性能严重受损,或者使得某些层的参数量不能得到充分的控制。
技术实现思路
本专利技术的目的在于克服已有的裁剪方法缺乏自适应性的问题,从而提供一种数据驱动的神经网络声学模型裁剪方法。为了实现上述目的,本专利技术提供了一种数据驱动的基于奇异值分解的神经网络声学模型裁剪方法,包括:根据神经网络各层权值矩阵的奇异值分布选用不同的裁剪力度,根据对应层的裁剪力度实现对各层神经网络的裁剪。上述技术方案中,该方法对待裁剪的神经网络中的各层依次做如下操作:步骤1)、利用奇异值分解对神经网络第i层的权值矩阵W进行分解:W=U·Σ·V,其中假设m>n;其中,其中σ1≥σ2≥…≥σm,为W的奇异值;步骤2)、裁剪奇异值;包括:从步骤1)得到的奇异值中,找到满足条件的奇异值,将其裁剪,经奇异值裁剪后保留的奇异值数量为ki;Σ变为:其中,参数r的值为预先设定好;步骤3)、将步骤1)所得到的V矩阵中与被裁剪奇异值相对应的行向量删去,得到:步骤4)、将步骤2)得到的Σ*与步骤3)得到的V*相乘,将所得到的乘积作为奇异值分解得到的低秩矩阵,即WV=Σ*·V*,将步骤1)分解得到的矩阵U作为奇异值分解得到的另一低秩矩阵,即WU=U。本专利技术的优点在于:本专利技术的裁剪方法会根据DNN各层权值矩阵奇异值分布不同,裁减不同数量的奇异值,保证了所有层都能够得到充分裁剪的同时,避免了某些层会被过度裁剪;同时参数r的设置也更具有启发性,它代表了被裁剪奇异值与主导奇异值σ1的相对关系。附图说明图1是本专利技术的神经网络声学模型裁剪方法的流程图;图2是DNN不同层权值矩阵的奇异值分布情况对比图。具体实施方式现结合附图对本专利技术作进一步的描述。本专利技术的裁剪方法根据神经网络各层权值矩阵的奇异值分布选用不同的裁剪力度,从而实现对神经网络的裁剪。参考图1,该方法的实现步骤如下:步骤1)、利用SVD对DNN第一层的权值矩阵W进行分解:W=U·Σ·V,其中(假设m>n)其中,其中σ1≥σ2≥…≥σm,为W的奇异值。步骤2)、裁剪奇异值。本领域技术人员知道,较大的奇异值与其所对应的特征向量更能反映原矩阵的性质,所以,对于任意奇异值σi,如果其值远小于σ1,其被裁剪之后对矩阵造成的影响有限。因此,本步骤在裁剪奇异值时根据预先设定好的参数r∈(0,1),从步骤1)得到的奇异值中,找到满足条件的奇异值,将其裁剪。假设经奇异值裁剪后保留的奇异值数量为k1(下标代表是第1层),则Σ变为:本步骤中所采用的参数r代表了被裁剪奇异值与主导奇异值σ1的相对关系,故也将该参数r称为奇异值比率裁剪因子(SingularRatePruningFactor,SRPF)。步骤3)、将步骤1)所得到的V矩阵中与被裁剪奇异值相对应的行向量删去,得到:步骤4)、将步骤2)得到的Σ*与步骤3)得到的V*相乘,将所得到的乘积作为SVD分解得到的低秩矩阵,即WV=Σ*·V*,将步骤1)分解得到的矩阵U作为SVD分解得到的另一低秩矩阵,即WU=U;步骤5)、参照步骤1)-步骤4),对DNN其它层的权值矩阵进行分解,在分解的过程中,参数r的大小保持不变,但各层保留的奇异值数量不同,即经奇异值裁剪后保留的奇异值数量ki(下标i代表第i层)为一变量。下面结合一个仿真实验,对本专利技术方法做进一步说明。在仿真实验中,首先训练基础DNN模型。基础DNN模型共有4层,包含两个2048节点的隐层,输入层有3172个节点,输入的观测矢量为上下文各做了30帧扩展的52维线性感知预测(PerceptualLinearPrediction,PLP)特征,输出层有221个节点,分别对应了221个音节,该模型的参数量为11.14M。用于训练该DNN的数据为200小时的家用电器命令词语音,例如“将空调变为扫风模式”。对基础DNN进行裁剪:实验中参数r取值0.2,即对于DNN各层权值矩阵的奇异值,如果其值小于当层最大奇异值的20%时,就会被裁剪。根据这种裁剪规则,如图2(a)所示,隐层约有94%的奇异值会被裁减,如图2(b)所示,而输出层只有约29%的奇异值会被裁剪,对所有层进行裁剪之后,得到的重构DNN模型的参数量为1.18M。对重构DNN模型进行重训练:利用SVD对DNN进行重构会导致DNN在语音识别中的性能受损,因此需要对模型进行重训练以恢复部分性能。对利用本专利技术提出的裁剪方法得到的DNN模型与利用传统裁剪方法得到的DNN模型放入语音识别系统中,为了便于对比性能,两种裁剪方法都将模型裁剪至同样的规模,本实验中,使用传统方法进行裁剪时,每层都保留102个奇异值,这样裁剪后的模型参数量与使用新裁剪方法裁剪之后的模型参数量相同,都为1.18M。对两种裁剪方法裁剪之后的模型进行测试,测试数据为2小时与训练数据同风格的语音,结果如下:裁剪方法模型规模音节错误率(%)重训练后音节错误率(%)传统方法1.18M23.318.3本专利技术方法1.18M23.017.2这里的音节错误率指:由表中结果可以看出,本专利技术提出的裁剪方法,和传统的裁剪方法相比,当将原始模型裁剪到同样规模的时候,能够取得更低的音节错误率。并且在对于模本文档来自技高网
...
数据驱动的基于奇异值分解的神经网络声学模型裁剪方法

【技术保护点】
一种数据驱动的基于奇异值分解的神经网络声学模型裁剪方法,包括:根据神经网络各层权值矩阵的奇异值分布选用不同的裁剪力度,根据对应层的裁剪力度实现对各层神经网络的裁剪。

【技术特征摘要】
1.一种数据驱动的基于奇异值分解的神经网络声学模型裁剪方法,包括:根据神经网络各层权值矩阵的奇异值分布选用不同的裁剪力度,根据对应层的裁剪力度实现对各层神经网络的裁剪。2.根据权利要求1所述的数据驱动的基于奇异值分解的神经网络声学模型裁剪方法,其特征在于,该方法对待裁剪的神经网络中的各层依次做如下操作:步骤1)、利用奇异值分解对神经网络第i层的权值矩阵W进行分解:W=U·Σ·V,其中假设m>n;其中,其中σ1≥σ2≥…≥σm,为W...

【专利技术属性】
技术研发人员:张鹏远邢安昊潘接林颜永红
申请(专利权)人:中国科学院声学研究所北京中科信利技术有限公司
类型:发明
国别省市:北京;11

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

1