作者:Mirco Ravanelli , Philemon Brakel , Maurizio Omologo , Yoshua Bengio
来源:Interspeech
摘要部分:
本文通过进一步改进GRU并提出一种更适合语音识别的简化架构。 工作分为两部分,首先,建议在GRU设计中移除复位门,从而实现更高效的单门架构。 其次,建议使用ReLU激活函数替换状态更新方程中的tanh函数。 结果表明,与标准GRU相比,改进的架构将每个epoch的训练时间缩短了30%以上,并且始终提高了在不同任务、输入特征和噪声条件下的识别性能。
补充:LSTM有三个门,遗忘门,输入门和输出们。GRU(提出),LSTM的著名变种,将遗忘门和输入门合并成更新门(updategate),另一个门为reset gate。更新门用于控制前一时刻的状态信息被传入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息传入更多。reset gate用于控制忽略前一时刻的状态信息的程度,值越小说明忽略的越多。GRU参数更少,拟合能力较弱,适合小规模数据集,LSTM参数多,拟合能力强,适合大规模复杂度高的数据。以下是GRU的的结构定义公式:
引言部分:
启发:在手写数字识别和情感分类任务中,去掉reset gate的GRU(minimal GRU,M-GRU)取得了与标准GRU相当的性能。
2.1 移除reset gate
事实上,语音信号是一个变化相当缓慢的序列(通常每10ms计算一次),过去的历史信息实际上总是有用的。 即使存在强烈的不连续性,例如在元音和摩擦音之间的边界处,完全重置上一个状态的信息也是有负面作用的。 另一方面,记忆语音特征是有帮助的,因为一些音素转换比其他因素转换更有可能。此外,认为在处理语音序列时可能会发生重置门和更新门激活中的某种冗余。 例如,当需要更加重视当前信息时,GRU模型可以设置小的rt值(reset gate,忽略掉更多历史信息),通过设置较小的zt值(update gate,获取更少的历史信息),仅使用更新门也可以实现类似的效果。 后者的影响倾向于增加候选状态delta ht的权重,正如所希望的那样,它更多地依赖于当前的输入和更近的历史。 类似地,可以将高值分配给r t或z t,以便更加重视过去的状态。 该冗余也在图1中突出显示,其中对于在TIMIT上训练的GRU,可以容易地理解更新和重置门的平均激活中的时间相关性。
目的:减少参数,提高计算效率。
2.2 使用ReLU激活函数
tanh属于饱和激活函数(软饱和:当x趋近于无穷的时候,导数趋近于0,造成梯度消失,并且造成训练缓慢),而ReLU在x小于0时属于硬饱和,梯度为0;当x大于0的时候,不存在饱和问题,梯度为常数,可以保持梯度不变,从而缓解梯度消失的问题。但是由于在长时间序列中应用无界ReLU函数产生的数值不稳定性,因此采用基于ReLU激活的神经元在过去对RNN来说并不常见。 尽管如此,最近的一些研究表明ReLU激活的RNN可以通过适当的正交初始化进行有效训练。GRU修改为:
称为M-reluGRU。
2.3 batch normalization
提出,(“Batch normalization: Accelerating deep network training by reducing internal covariate shift,”)用于处理internal covariate shift(内部变量偏移)问题,通过对每个训练mini-batch归一化每个层预激活的均值和方差来解决。 这种技术对于改善系统性能和加速训练过程都是至关重要的。 批归一化可以以不同方式应用于RNN。 在[33]中,作者建议仅将其应用于前馈连接,而在[34]中,将归一化步骤扩展到循环连接,使用每个时间步的单独统计。在本文工作中,尝试了两种方法,并且观察到它们之间具有可比性。 还注意到,将所提出的模型与批归一化耦合有助于避免在处理应用于长时间序列的ReLU RNN时经常出现的数值问题。 实际上,批归一化重新调整了神经元预激活,天然的限制了ReLU神经元的数值。
补充:传统机器学习假设训练集和测试集是独立同分布的,即q0(x)=q1(x),即训练集中样本点的概率密度是等于测试集中样本点的概率密度的。所以可以推出训练集上的最优参数依然可以保证在测试集上性能最优。但现实当中这个假设往往不成立,伴随新数据产生,老数据会过时,当q0(x)不再等于q1(x)时,就被称作covariate shift。
3. 实验部分:
3.1 语料库和任务。
为了准确评估所提出的网络结构,在不同的数据集、任务、环境条件下进行了实验。
训练集:TIMIT,WSJ;测试集使用DIRHA-English,验证集包括6个说话人的310个WSJ句子。
3.2 网络结构:
优化网络结构的技术和方法都使用了近年来发表的方法和技术。
正则化技术:recurrent dropout,sharing the same dropout mask across all the time steps。
来源:“RNNDROP: A novel dropout for RNNS in ASR,”;
归一化技术:Batch normalization,
来源:G. Hinton, “A simple way to initialize recurrent networks of rectified linear units,”
初始化技术:前馈连接的初始化采用Glorot initialization,
来源:Y. Bengio, “Understanding the difficulty of training deep feedforward neural networks,”,
递归权重初始化采用orthogonal initialization,
来源:G. Hinton, “A simple way to initialize recurrent networks of rectified linear units,”
其它参数:gain factor γ of batch normalization was initialized to γ = 0.1 and the shift parameter β was initialized to 0
来源:Y. Bengio, “Batch-normalized joint training for dnn-based distant speech recogni-tion,” in Proc. of SLT, .
优化器:Adam
没有使用梯度截断,允许网络学习任意长度的时间依赖,对齐结果使用Kaldi s5的方法生成。特征使用39维MFCC和40维fbank特征,使用fMLLR方法进行SAT,帧长25ms,帧移10ms。大概做了25组实验,确定了初始学习率为0.0013,dropout factor为0.2,
4. 实验结果:
4.1 TIMIT结果:(NVIDIA K40 GPU,大概在5500刀)
4.2DIRHA English WSJ结果:
结论:
未来会在更大的数据集上实验,比如switchboard or LibriSpeech,以及在CTC及attention-based models上测试。
如果觉得《《Improving speech recognition by revising gated recurrent units》》对你有帮助,请点赞、收藏,并留下你的观点哦!