本文参考文献
Kim T, Song I, Bengio Y. Dynamic Layer Normalization for Adaptive Neural Acoustic Modeling in Speech Recognition[J]. arXiv preprint arXiv:1707.06065, 2017.
被引次数:3
尽管基于神经网络的语音识别模型取得了很高的准确率,但是在训练集上和测试集上的准确率差别仍然不可忽视,语音识别的模型往往无法准确识别从未听过的说话者的声音,这个时候就需要对可适应性的声学建模进行研究。动态层归一化是Bengio组近期提出来的一种基于层归一化的技巧,按照作者论文中原话:
By dynamically generating the scaling and shifting parameters in layer normalization, DLN adapts neural acoustic models to the acoustic variability arising from various factors such as speakers, channel noises, and environments.
翻译成中文就是说,DLN可以动态地产生LN中的缩放因子和平移参数,DLN可以帮助模型更好地适应不同的说话者、不同通道的噪音以及环境的影响。
作者将其应用到基于deep LSTM的语音识别任务上,实验结果表明DLN可以有效提高识别的准确率。
作者指出,之所以想到DLN这个技巧,是源自风格迁移中的instance normalization,关于这一技巧的详细说明,请参见论文A Learned Representation for Artistic Style,这里我简要描述一下文中的思想:
以往的图片风格迁移是对每一种风格的图片都要进行预训练一次,因此,计算成本十分高,而Google Brain团队就提出了一个更加简单的方法,可以让深度卷积网络同时学习到多种不同的风格。
基于此,作者提出了DLN用在语音识别上,这种方法可以用梯度下降算法去优化,并且不同于其他的可适应性的声学建模方法,DLN不需要额外的特征向量(如i-vector)。
让我们回顾一下什么是LN,LN是对神经网络的每一层减小内部协变,公式如下,x先经过mu和sigma进行归一化,然后乘以缩放因子alpha以及平移因子beta,这两个因子是网络需要学习的参数,相比于批归一化(Batch Normalization,BN),LN在训练阶段和推理阶段的计算公式是一样的,并且LN可以有效地应用到循环神经网络中,关于LN如何应用到RNN的不同Cell中,可以访问我的github项目Automatic_Speech_Recognition的源码,网址是 https://github.com/zzw922cn/Automatic_Speech_Recognition ,也可以点击阅读原文进行查看。
文中还提到了Hypernetworks,它是利用子网络来以产生神经网络的参数。整个网络可以通过梯度下降来训练,Hypernetworks与LN很有联系,因为Hypernetworks也是产生一些参数。
作者在众多LSTM变体中选择了LSTMP作为语音识别的模型,LSTMP与常规的LSTM的不同之处在于其增加了一个projection layer,并将这个layer连接到LSTM的输入,好处就是可以通过改变这个projection layer来控制LSTMP的总参数,并且,作者应用了LN到LSTMP中,于是整个声学模型的结构可以用如下公式来描述:
LN运用在输入-隐含神经元以及隐含神经元-隐含神经元之间,Wp就是projection layer的权重,用来对LSTM的隐含神经元进行映射。同时为了使得音频特征能够联系到上下文信息,作者使用了双向的LSTMP网络,整个网络结构如下图所示:
基于深度双向LSTMP网络,作者应用了DLN,也就是模型适应,简单来说,就是DLN可以动态地生成缩放因子和平移因子,而不是像通过训练其他参数一样得到。对于不同的输入序列,可以产生不同的DLN因子来适应这个序列。
作者在WSJ和TED-LIUM两个任务上做了实验,结果表明引入了DLN的LSTMP模型可以有效地提高识别准确率,特别是对不同说话人及说话环境的适应程度。
公众号近期将连续推送几篇语音识别、语音合成的近期文章的讲解,欢迎关注,另外,博主最近收集了一个将近2000小时的中文语音识别语料库,包含wav音频以及对应的标签,语料库均抓取自互联网,耗时将近一个多月,不知道如果将此数据库开放给大家使用是否会涉及到版权问题?如果不涉及版权问题,我会免费分享给各位对语音感兴趣的朋友,欢迎大家发表意见。
题图:Je Suis Charlie
你可能会感兴趣的文章有:
详述DeepMind wavenet原理及其TensorFlow实现
Layer Normalization原理及其TensorFlow实现
Batch Normalization原理及其TensorFlow实现
Maxout Network原理及其TensorFlow实现
Network-in-Network原理及其TensorFlow实现
如何基于TensorFlow实现ResNet和HighwayNet
深度残差学习框架(Deep Residual Learning)
推荐阅读 | 如何让TensorFlow模型运行提速36.8%
推荐阅读 | 如何让TensorFlow模型运行提速36.8%(续)
深度学习每日摘要|坚持技术,追求原创