一种神经网络声学模型压缩及语音识别方法技术

技术编号:15642595 阅读:340 留言:0更新日期:2017-06-16 16:06
本发明专利技术提供了一种神经网络声学模型的压缩方法,所述方法包括:将神经网络声学模型的输出层权值矩阵W的行向量按照指定的维数划分为若干个子向量;对若干个子向量进行一级矢量量化,获得一级码本,用一级码本向量代替矩阵W的子向量,得到矩阵W

【技术实现步骤摘要】
一种神经网络声学模型压缩及语音识别方法
本专利技术涉及语音识别领域,特别涉及一种神经网络声学模型压缩及语音识别方法。
技术介绍
在语音识别领域,利用深层神经网络(DeepNeuralNetwork,DNN)进行声学建模取得了很好的效果。DNN的深层结构使得模型具有很强的学习能力,同时导致模型参数量巨大,因此要在计算能力偏弱的移动设备上应用DNN进行语音识别的声学建模十分困难:主要面临着存储需求大和计算复杂度高的问题。基于矢量量化的方法被用来对DNN模型进行压缩,从而节省储存空间和计算量。其原理如下:对于DNN的权值矩阵将其每一个行向量都分裂为个维度为d的子向量:其中是权值矩阵W第i行的第j个子向量,上标T表示转置,之后,使用矢量量化的方法将全部子向量量化为K个码本向量。这样,原本M×N的矩阵,就可以用一个包含了K个d维向量的码本表示,另外还需要(log2K)×(MJ)个比特来记录每个子向量在码本中的索引。该方法同时可以节省计算量,在DNN的前向计算中,由于处于同一列的子向量都是与相同的激活向量相乘,如果处于同一列的子向量中存在若干个子向量被量化为同一个码本向量,那么这些子向量与激活向量的相乘结果就可以共享,从而减少了计算次数。利用矢量量化压缩DNN的方法会导致DNN的性能受到影响,其受影响的程度依赖于矢量量化的量化误差,然而传统的矢量量化只使用单级码本,当码本较小(即码本中的码本向量数量较少)时,量化误差比较高,为了降低量化误差,不得不呈指数地提高码本规模,这样就会使计算量大大增加,使得该方法失去了节省空间和计算的意义。
技术实现思路
本专利技术的目的在于克服矢量量化压缩DNN的方法存在的量化误差较大的问题,提出利用多级矢量量化的方法对DNN进行压缩,通过加入第二级的量化,对第一级量化的残差进行再次量化,最终利用两级码本来代替原始的权值矩阵,一方面大大降低了量化误差,同时避免了码本规模呈指数增长。为了实现上述目的,本专利技术提供了一种神经网络声学模型的压缩方法,所述方法包括:将神经网络声学模型的输出层权值矩阵W的行向量按照指定的维数划分为若干个子向量;对若干个子向量进行一级矢量量化,获得一级码本,用一级码本向量代替矩阵W的子向量,得到矩阵W*;利用矩阵W和W*,计算残差矩阵R,并对R的向量进行二级矢量量化;获得二级码本,用二级码本向量代替矩阵R的向量,得到矩阵R*;最后用矩阵W*和R*表示权值矩阵W。上述技术方案中,所述方法具体包括:步骤S1)将神经网络声学模型的输出层权值矩阵W的行向量分裂成维数为d的子向量:其中,W为M×N矩阵;步骤S2)对步骤S1)得到的子向量进行一级矢量量化,获得一级码本,用一级码本向量代替矩阵W的子向量,得到矩阵W*;对步骤S1)得到的子向量进行一级矢量量化,得到一级码本该码本共含有K1个码本向量,设权值矩阵W第i行的第j个子向量所对应的一级码本向量在C(1)中的索引值为id(1)(i,j)∈{1,…,K1},对应的码本向量为用码本向量代替矩阵W的子向量得到矩阵W*:步骤S3)利用矩阵W和W*,计算残差矩阵R,并对R的向量进行二级矢量量化;获得二级码本,用二级码本向量代替矩阵R的向量,得到矩阵R*;计算残差矩阵R:其中,对向量进行二级矢量量化,得到二级码本该码本共含有K2个码本向量,设权值矩阵R第i行的第j个子向量所对应的码本向量在C(2)中的索引值为id(2)(i,j)∈{1,…,K2},对应的码本向量为用码本向量代替对应的矩阵R的子向量得到矩阵R*:步骤S4)用矩阵W*和R*表示权值矩阵W:矩阵W中的子向量在两级码本中的索引为id(1)(i,j)和id(2)(i,j);这样存储W转换成存储id(1)(i,j)和id(2)(i,j)。上述技术方案中,所述步骤1)中的d的取值满足:d能被矩阵W的行数N整除。基于上述的神经网络声学模型的压缩方法,本专利技术还提供了一种语音识别方法,所述方法包括:步骤T1)对于输入的语音特征向量,经过输入层和隐层的前向计算之后,得到向量将其分裂为维度为d的子向量,得到其中步骤T2)计算输出层具体包括:权值矩阵W由两个码本C(1)和C(2)以及相应的索引id(1)(i,j)和id(2)(i,j)表示,其中i∈{1,2,…,M},遍历对于i=1,2,…,M,依次计算和如果在这个过程当中,存在id(k)(i,j)=id(k)(i′,j),k∈{1,2},i′>i,则当计算时,直接使用的结果;计算:得到输出:y=[y1,…,yi,…,yM];步骤T3)对y进行softmax规整,得到似然值其中步骤T4)将a送入解码器进行解码;获得文本形式的识别结果。本专利技术的优点在于:本专利技术的方法能够降低神经网络声学模型的存储空间,同时大大降低了量化误差,避免了码本规模呈指数增长。附图说明图1本专利技术的神经网络声学模型压缩方法的流程图。具体实施方式下面结合附图和具体实施例对本专利技术做进一步详细的说明。如图1所示,一种神经网络声学模型的压缩方法,所述方法包括:步骤S1)将神经网络声学模型(DNN)的输出层权值矩阵W的行向量分裂成维数为d的子向量:其中,W为M×N矩阵;在本实施例中,DNN模型共有7层,其中5个隐层的权值矩阵规模都是5000×500,输入层的权值矩阵规模为5000×360,输出层的权值矩阵规模为20000×500。输入观测向量的维度为360,具体来说是13维梅尔域倒谱系数(MFCC)特征经过扩展、线性鉴别分析(LDA)、最大似然线性变换(MLLT)以及特征空间的最大似然线性回归(FMLLR)后得到40维特征,之后对其进行上下文各4帧的扩展,得到(4+1+4)×40=360维的输入特征。采用的数据集为标准英语数据集Switchboard,训练数据为286小时,测试数据3小时;输出层参数量约占整个模型参数量的一半。在本实施例中,步骤S2)采用规模为1024的码本,对步骤1)得到的子向量进行一级矢量量化,获得一级码本该码本共含有K1个码本向量,设权值矩阵W第i行的第j个子向量所对应的码本向量在C(1)中的索引值为id(1)(i,j)∈{1,…,K1},对应的码本向量为用码本向量标识代替矩阵W的子向量得到矩阵W*:步骤S3)利用矩阵W和W*,计算残差矩阵R,并对R的向量进行二级矢量量化;获得二级码本,用二级码本向量代替矩阵R的向量,得到矩阵R*;计算第一级量化的残差,得到残差矩阵R:其中,采用规模为1024的码本对残差向量进行二级矢量量化,得到二级码本该码本共含有K2个码本向量,设权值矩阵R第i行的第j个子向量所对应的码本向量在C(2)中的索引值为id(2)(i,j)∈{1,…,K2},对应的码本向量为用码本向量代替对应的矩阵R的子向量得到矩阵R*:步骤S4)用矩阵W*和R*表示权值矩阵W:矩阵W中的子向量在两级码本中的索引为id(1)(i,j)和id(2)(i,j);这样存储W转换成存储id(1)(i,j)和id(2)(i,j);本专利技术的方法继承了传统方法能够节省计算量的特性,在本方法中,一个子向量会被量化为两个分属不同级码本的码本向量之和,因此在DNN前向计算过程中,单个子向量与激活向量相乘,也会转化为两部分分别相乘再加和:若处于同一列的子向量在第一级或者第二本文档来自技高网...
一种神经网络声学模型压缩及语音识别方法

【技术保护点】
一种神经网络声学模型的压缩方法,所述方法包括:将神经网络声学模型的输出层权值矩阵W的行向量按照指定的维数划分为若干个子向量;对若干个子向量进行一级矢量量化,获得一级码本,用一级码本向量代替矩阵W的子向量,得到矩阵W

【技术特征摘要】
1.一种神经网络声学模型的压缩方法,所述方法包括:将神经网络声学模型的输出层权值矩阵W的行向量按照指定的维数划分为若干个子向量;对若干个子向量进行一级矢量量化,获得一级码本,用一级码本向量代替矩阵W的子向量,得到矩阵W*;利用矩阵W和W*,计算残差矩阵R,并对R的向量进行二级矢量量化;获得二级码本,用二级码本向量代替矩阵R的向量,得到矩阵R*;最后用矩阵W*和R*表示权值矩阵W。2.根据权利要求1所述的神经网络声学模型的压缩方法,其特征在于,所述方法具体包括:步骤S1)将神经网络声学模型的输出层权值矩阵W的行向量分裂成维数为d的子向量:其中,W为M×N矩阵;步骤S2)对步骤S1)得到的子向量进行一级矢量量化,获得一级码本,用一级码本向量代替矩阵W的子向量,得到矩阵W*;对步骤S1)得到的子向量进行一级矢量量化,得到一级码本该码本共含有K1个码本向量,设权值矩阵W第i行的第j个子向量所对应的一级码本向量在C(1)中的索引值为id(1)(i,j)∈{1,…,K1},对应的码本向量为用码本向量代替矩阵W的子向量得到矩阵W*:步骤S3)利用矩阵W和W*,计算残差矩阵R,并对R的向量进行二级矢量量化;获得二级码本,用二级码本向量代替矩阵R的向量,得到矩阵R*;计算残差矩阵R:其中,对向量进行二级矢量量化,得到二级码本该码本共含有K2个码本向量,设权值矩阵R第i行的第j个子向量所对应...

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

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

1