一种基于二值化递归神经网络的语音识别方法与流程

文档序号:18221408发布日期:2019-07-19 23:02阅读:558来源:国知局
一种基于二值化递归神经网络的语音识别方法与流程

本发明属于人工智能领域,涉及一种基于二值化递归神经网络的语音识别方法。



背景技术:

基于经典lstm/rnn模型实现序列处理应用,例如自然语言处理中命名实体识别,或者语音到文字的转换等应用场景,lstm/rnn模型均可以达到较好的性能。然而由于lstm/rnn模型的权值矩阵,各种控制门的参数为浮点型数据,经典lstm/rnn模型的实现需要消耗大量的计算资源和存储资源,因而难以在资源有限的嵌入式设备上实施,或只能在嵌入式设备上实现较为简易但性能较差的lstm/rnn模型。

目前在自然语言处理和语音识别等应用中,常用的lstm/rnn模型较复杂,往往部署在计算能力和存储能力充裕的服务器端。但是随着用户对于隐私越来越重视,用户更加倾向于在离线端运行的lstm/rnn模型。传统的服务器端实现方式存在隐私泄露的风险,并且受制于网络带宽,在实时性要求较高的应用场景,在服务器端的实现方式相比嵌入式设备上的实施更难保证即时响应。

常用的二值化算法通过设定阈值,将阈值两侧的浮点型权值直接量化为0和1,虽然可以明显减少内存开销和计算开销,但是精度损失大。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于二值化递归神经网络的语音识别方法,提高应用模型精度的同时保持二值化网络在速度和能耗方面的优势。使得在嵌入式设备上实现在自然语言处理和语音处理应用场景下性能较好的lstm/rnn模型成为可能。

为达到上述目的,本发明提供如下技术方案:

一种基于二值化递归神经网络的语音识别方法,包括以下步骤:

s1:语音录入,向量化音频;

s2:构建二值化递归神经网络模型,并对向量化后的音频进行解码和编码;

s3:输出编码后的音频,即输出文字化的音频。

进一步,步骤s2中,所述二值化递归神经网络模型包括以下几类:二值化单层单向递归神经网络(recurrentneuralnetwork,rnn)模型、二值化双向rnn模型和二值化双向长短期记忆网络(longshort-termmemory,lstm)模型。

进一步,所述二值化单层单向rnn模型包括:输入单元、隐藏单元和输出单元。

进一步,所述二值化单层单向rnn模型的状态转移公式为:

a(t)=b+(bwo(t-1))αw+(bux(t))αu

h(t)=tanh(a(t))

o(t)=c+(bvh(t))αv

其中,b,c为参数的偏置向量,u,v,w分别对应了输入单元到隐藏单元,隐藏单元到输出单元,和输出单元到隐藏单元的连接的权值矩阵;浮点型矩阵u,v,w经过二值化处理后,得到对应的二值化权值矩阵bu,bv,bw,以及对应的最佳近似因子αu,αv,αw;a(t)表示在t时刻各种状态输入之后的叠加状态,输入的状态包括t-1时刻输出单元的状态o(t-1)和t时刻输入单元的状态x(t);h(t)表示t时刻的隐藏单元的状态,tanh为双曲正切函数;表示通过应用softmax函数,得到标准化后概率的输出向量。

进一步,所述二值化双向rnn模型包括:输入单元、隐藏单元和输出单元;其中,隐藏单元由两个方向相反的h隐藏单元和g隐藏单元组成;所述h隐藏单元表示回路为从过去输入形成的状态中获取信息;所述g隐藏单元表示回路为从未来的输入形成的状态中获取信息。

进一步,所述二值化双向rnn模型的状态转移公式为:

h(t)=tanh(a1(t))

g(t)=tanh(a2(t))

其中,b,c为参数的偏置向量,u1,v1,w1分别对应了输入单元到h隐藏单元,h隐藏单元到输出单元,和输出单元到h隐藏单元的连接的权值矩阵;u2,v2,w2分别对应了输入单元到g隐藏单元,g隐藏单元到输出单元,和输出单元到g隐藏单元的连接的权值矩阵;浮点型矩阵u,v,w经过二值化处理后,得到对应的二值化权值矩阵bu,bv,bw,以及对应的最佳近似因子αu,αv,αw;a(t)表示在t时刻各种状态输入之后的叠加状态,输入的状态包括t-1时刻输出单元的状态o(t-1)和t时刻输入单元的状态x(t);h(t)、g(t)分别表示t时刻的h和g隐藏单元的状态,tanh为双曲正切函数;表示通过应用softmax函数,得到标准化后概率的输出向量。

进一步,所述二值化双向lstm模型包括:输入单元、隐藏单元和输出单元;其中,隐藏单元由两个方向相反的h隐藏单元和g隐藏单元组成;所述h隐藏单元表示回路为从过去输入形成的状态中获取信息;所述g隐藏单元表示回路为从未来的输入形成的状态中获取信息;所述h隐藏单元和g隐藏单元内均设置有输入门gi、遗忘门gf和输出门go。

进一步,所述二值化双向lstm模型的状态转移公式为:

h回路,即从过去时刻到当前时刻的状态转移:

g回路,从未来时刻到当前时刻的状态转移:

输出:

其中,h回路中的各个参数,标注下标1,g回路中的各个参数,标注下标2;gi、gf、go分别表示输入门、遗忘门、输出门的门控参数;σ为sigmoid激活函数,函数呈s型,输出值位于0和1之间,b,c为参数的偏置向量,u1,v1,w1分别对应了输入单元到h隐藏单元,h隐藏单元到输出单元,和输出单元到h隐藏单元的连接的权值矩阵;u2,v2,w2分别对应了输入单元到g隐藏单元,g隐藏单元到输出单元,和输出单元到g隐藏单元的连接的权值矩阵;浮点型矩阵u,v,w经过二值化处理后,得到对应的二值化权值矩阵bu,bv,bw,以及对应的最佳近似因子αu,αv,αw;u=uh∪ui∪uf∪uo,v=vh∪vi∪vf∪vo;a(t)表示在t时刻各种状态输入之后的叠加状态,输入的状态包括t-1时刻输出单元的状态o(t-1)和t时刻输入单元的状态x(t);h(t)、g(t)分别表示t时刻的h和g隐藏单元的状态,tanh为双曲正切函数;表示通过应用softmax函数,得到标准化后概率的输出向量。

本发明的有益效果在于:本发明将lstm/rnn权值二值化后,大幅度减少了语音识别应用中存储资源和运算资源开销,在双向lstm所述案例中,存储资源减少约93%,并在实验条件下,证实二值化后lstm/rnn模型准确度下降通常不超过1%。

相较于传统lstm/rnn模型,本发明可以有效在对存储和运算资源高度敏感的语音识别嵌入式应用场景中进行部署,可以以较高的性能在低功耗嵌入式设备上运行,避免传统做法将语音上传云端服务器所面临隐私问题。

本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。

附图说明

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:

图1为本发明采用语音识别实现系统的处理流程图;

图2为二值化单层单向rnn模型结构示意图;

图3为二值化双向rnn模型结构示意图;

图4为二值化双向lstm模型结构示意图;

图5为门控系统的内部结构示意图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

请参阅图1~图5,图1为本发明所述基于二值化递归神经网络的语音识别方法的流程图,其中语音录入模块利用麦克风采集模拟音频信号并采样量化成为数字信号。音频向量化表示模块对音频进行滤波处理并采用实体嵌入的方式向量化。此后信号经由一对二值化双向递归神经网络构成的解码器编码器模型,其中解码器模型提取音频信号中的隐藏特征表示,而编码器模型将隐藏特征表示映射到对应的文字表示。最后,文字输出模块用于将语音转化成的文字输出到人机交互界面。

本实施例采用的二值化递归神经网络模型主要包括以下几类:二值化单层单向rnn模型、二值化双向rnn模型和二值化双向lstm模型等。

1)二值化单层单向rnn模型

如图2所示,该模型在单层单向rnn模型上实施高效能二值化算法,二值化单层单向rnn和普通单层单向rnn的区别在于对浮点型权值矩阵用二值化权值矩阵b(即各种位宽的整型数据)和最佳近似因子α的乘积进行替代。如图2所示,二值化单层单向rnn相应数据流动路径上的权值用αb来表示。相应的状态转移公式如以下4个式子所示:

a(t)=b+(bwo(t-1))αw+(bux(t))αu

h(t)=tanh(a(t))

o(t)=c+(bvh(t))αv

其中,b,c为参数的偏置向量,u,v,w分别对应了输入单元到隐藏单元,隐藏单元到输出单元,和输出单元到隐藏单元的连接的权值矩阵。a(t)表示在t时刻各种状态输入之后的叠加状态,输入的状态包括t-1时刻输出单元的状态o(t-1)和t时刻输入单元的状态x(t)。而后叠加状态经由激活函数,例如在此处可以选择双曲正切函数tanh,得到t时刻的隐藏单元的状态h(t)。隐藏单元的状态经过v矩阵变换后,叠加偏置向量c,得到输出单元的状态o(t)。最后,可以通过应用softmax函数,得到标准化后概率的输出向量

为了减少存储和计算开销,并尽可能避免模型精度损失,采用二值化权值矩阵b和最佳近似因子α来近似替代原有的浮点型权值矩阵。原有的浮点型u,v,w矩阵分别进行二值化处理后,得到bu,bv,bw三个二值化权值矩阵,以及αu,αv,αw三个相应的最佳近似因子。其中最佳近似的b和α评价近似程度的方法如下,同时这也是二值化rnns二值化效果的评价标准,具体计算公式为:

j(bw,αw)=‖w-αwbw‖2

算法:使用二值化权值训练单层单向rnn网络的具体步骤为:

2)二值化双向rnn模型

如图3所示,实际应用中,较为高效的双向rnn模型用从输出单元到隐藏单元的连接来实现循环回路。对于t时刻的h单元h(t),其状态由t-1时刻的输出单元状态o(t-1)和t时刻的输入单元状态x(t)共同决定。对于t时刻的g单元g(t),其状态由t+1时刻的输出单元状态o(t+1)和t时刻的输入单元状态x(t)共同决定。t时刻输出单元o(t)的状态由偏置向量c,h(t)和g(t)的状态共同决定。

由于具有两组方向相反的隐藏单元,因而从输入单元到隐藏单元,从隐藏单元到隐藏单元,以及从隐藏单元到输出单元的权值矩阵u,v,w有两组,对于包含h单元的回路,用u1,v1,w1表示;对于包含g单元的回路,用u2,v2,w2表示。

相较于二值化前,二值化后,分别对h和g所在的回路,将u1,v1,w1和u2,v2,w2替换为如图3所示,二值化双向rnn模型的状态转移公式如以下6个式子所示:

h(t)=tanh(a1(t))

g(t)=tanh(a2(t))

3)二值化双向lstm模型

如图4所示,从过去时刻到当前时刻的状态转移称之为h回路,从未来时刻到当前时刻的状态转移称之为g回路。其中黑色方块表示一个时间步的延迟。在双向lstm中,由于存在h和g两个回路,为了在符号上进行区分,对于h回路中的各个参数,标注下标1,而对于g回路中的各个参数,标注下标2。例如t时刻h回路的输入门门控参数用符号来表示。在双向lstm中,需要在o单元中累积h回路的输出和g回路的输出故存在lstm单元的内部结构如图5所示。

在双向lstm中,需要分别对h和g所在的回路进行二值化近似。例如h回路的ui矩阵的二值化矩阵用来表示,其对应的最佳近似化因子用来表示。同理,在h,g两个回路中的u,v,w矩阵及其子矩阵ui等将用类似的方式进行表示。近似替代的方式与单层单向lstm保持一致,完整的状态转移公式如下所示:

h回路:

g回路:

输出:

其中,gi、gf、go分别表示输入门、遗忘门、输出门的门控参数;σ为sigmoid激活函数,函数呈s型,输出值位于0和1之间,b,c为参数的偏置向量,u1,v1,w1分别对应了输入单元到h隐藏单元,h隐藏单元到输出单元,和输出单元到h隐藏单元的连接的权值矩阵;u2,v2,w2分别对应了输入单元到g隐藏单元,g隐藏单元到输出单元,和输出单元到g隐藏单元的连接的权值矩阵;浮点型矩阵u,v,w经过二值化处理后,得到对应的二值化权值矩阵bu,bv,bw,以及对应的最佳近似因子αu,αv,αw;u=uh∪ui∪uf∪uo,v=vh∪vi∪vf∪vo;a(t)表示在t时刻各种状态输入之后的叠加状态,输入的状态包括t-1时刻输出单元的状态o(t-1)和t时刻输入单元的状态x(t);h(t)、g(t)分别表示t时刻的h和g隐藏单元的状态,tanh为双曲正切函数;表示通过应用softmax函数,得到标准化后概率的输出向量。

算法:使用二值化权值训练双向rnn网络的具体步骤为:

本发明采用的高近似二值化lstm/rnn算法与实现装置设计可以把lstm/rnn权值二值化后大幅度减少语音识别应用中存储资源和运算资源开销,在双向lstm所述案例中,存储资源减少约93%,并在实验条件下,证实二值化后lstm/rnn模型准确度下降通常不超过1%。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1