重磅公开!阿里语音识别模型端核心技术,让你“听”见未来
|
FSMN 相比于 LCBLSTM 不仅可以更加方便的控制时延,而且往往也能获得更好的性能,需要的计算资源也更少。但是标准的 FSMN 很难训练非常深层的结构,由于梯度消失问题导致训练效果不好。而深层结构的模型目前在很多领域被证明具有更强的建模能力。因而针对此我们提出了一种改进的 FSMN 模型,称之为深层的 FSMN(Deep FSMN, DFSMN)。 进一步的我们结合低帧率(Low Frame Rate,LFR)技术构建了一种高效的实时语音识别声学模型,相比于去年我们上线的 LFR-LCBLSTM 声学模型可以获得超过 20% 的相对性能提升,同时可以获得2-3 倍的训练以及解码的加速,可以显著的减少我们的系统实际应用时所需要的计算资源。
最早提出的 FSMN 的模型结构如上图(a)所示,其本质上是一个前馈全连接神经网络,通过在网络的某些隐层旁添加一些记忆模块(memory block)来对当前时刻周边的上下文信息进行建模,从而使得模型可以对时序信号的长时相关性进行建模。记忆模块采用如上图(b)所示的抽头延迟结构将当前时刻以及之前 N 个时刻的隐层输出通过一组系数编码得到一个固定的表达。 FSMN 的提出是受到数字信号处理中滤波器设计理论的启发:任何无限响应冲击(Infinite Impulse Response, IIR)滤波器可以采用高阶的有限冲击响应(FiniteImpulseResponse, FIR)滤波器进行近似。 从滤波器的角度出发,如上图(c)所示的 RNN 模型的循环层就可以看作如上图(d)的一阶 IIR 滤波器。而 FSMN 采用的采用如上图(b)所示的记忆模块可以看作是一个高阶的 FIR 滤波器。从而 FSMN 也可以像 RNN 一样有效的对信号的长时相关性进行建模,同时由于 FIR 滤波器相比于 IIR 滤波器更加稳定,因而 FSMN 相比于 RNN 训练上会更加简单和稳定。 根据记忆模块编码系数的选择,可以分为:
sFSMN 和 vFSMN 顾名思义就是分别使用标量和矢量作为记忆模块的编码系数。 以上的 FSMN 只考虑了历史信息对当前时刻的影响,我们可以称之为单向的 FSMN。当我们同时考虑历史信息以及未来信息对当前时刻的影响时,我们可以将单向的 FSMN 进行扩展得到双向的 FSMN。 FSMN 相比于 FNN,需要将记忆模块的输出作为下一个隐层的额外输入,这样就会引入额外的模型参数。隐层包含的节点越多,则引入的参数越多。研究结合矩阵低秩分解(Low-rank matrix factorization)的思路,提出了一种改进的 FSMN 结构,称之为简洁的 FSMN(Compact FSMN,cFSMN)。下图是一个第l个隐层包含记忆模块的 cFSMN 的结构框图。
(编辑:PHP编程网 - 湛江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |




