LSTM Neural Networks for Language Modeling

以下翻译参考http://www-i6.informatik.rwth-aachen.de/publications/download/820/Sundermeyer-2012.pdf
LSTM Neural Networks for Language Modeling
摘要
神经网络已经越来越受到语言建模任务的欢迎。尽管前馈网络仅利用固定的上下文长度来预测下一个序列词,但在概念上,标准递归神经网络可以考虑所有的前驱词。另一方面,众所周知,递归网络很难训练,因此不可能展示现有模型的全部潜力。
长期短期记忆神经网络架构解决了这些问题。在这项工作中,我们通过英语和大量法语语言建模任务来分析这种类型的网络。与标准循环神经网络LM相比,实验显示改善了8%的困惑度。此外,我们还在尖端的语音识别系统WER之上取得了显着的改进。
关键词:语言建模,递归神经网络,LSTM神经网络
1 介绍
在自动语音识别中,识别系统的语言模型(LM)是结合给定自然语言的顺式和语义约束的核心组件。虽然目前主要采用反馈模型([1])作为识别过程,但前馈神经网络模型在[2]中首次引入,已成为重新调整阶段现有技术的重要补充([3])
这两种方法都依赖于n-gram近似,其中将单词序列W1N的概率p(W1N)因式分解为使得仅使用前n-1个单词hm:= Wm-1m-n + 1来估计概率 位置m处的单词。然而,神经网络模型克服了退避模型的一个主要缺点([5]):当训练中没有观察到n-gram(h,w)时,退避模型缺乏显式估计 这个n-gram。 因此,它回落到(n-1)-gram(h,w)的估计值,其中h的最左边的单词已被去除以构造h,而γ(h)是归一化常数:p(w|h) = γ(h)p(w|h¯).
与退避模型不同,神经网络模型总是基于完整的信息来估计概率,而不管在训练中是否看到n-gram。
另一方面,当使用前馈神经网络模型时,n-gram假设仍然导致建模不准确。 根据概率论的链式规则,需要考虑所有前面的词W1m-1来预测句子的第m个词:
这可以通过用适合于序列建模的递归神经网络结构代替前馈结构来完善(见[6],[7])。
不幸的是,递归神经网络很难通过反向传播训练([8])。主要困难在于众所周知的消失梯度问题([9]),这意味着通过网络传播的梯度衰减或呈指数增长。
改进循环神经网络训练的一种方法在于利用更高阶信息的更好的优化算法(参见例如[10])。然而,这通常是以显着增加的计算成本为代价的,这使得这些方法对于训练数据量非常大的语言建模来说不那么有吸引力。
在[11]中提出了另一种称为长时间短期记忆(LSTM)的解决方案:修改了网络结构,以便明确避免梯度消失问题,而训练算法保持不变。
在这项工作中,我们将LSTM引入语言建模领域。 我们分析了它在英语和大量法语语料库中的困惑性和错误率方面的有效性。此外,我们研究了减少训练次数的技术,并比较了不同的神经网络模型的体系结构。
2 LSTM神经网络
梯度消失问题已经在[11]中详细的分析。每当神经网络的误差函数的梯度通过神经网络的一个单元传回时,它会被某个因子缩放。对于几乎所有实际相关的情况,这个因子要么大于1,要么小于1。结果,在循环神经网络中,随着时间的推移,梯度呈指数增长或衰减。(对于语言建模的角度来说,时间步长对应于一个句子中的单词位置。)因此,梯度要么支配下一个权重适应步骤,要么有效地丢失。
为了避免这种缩放效应,作者重新设计了神经网络的单位,使其相应的缩放因子固定为一个。从这个设计目标中获得的新单元类型在其学习能力上相当有限。因此,该单元被几个所谓的门控单元丰富了。最后的单元如图1所示,其中我们包含了[12]和[13]中提出的原始LSTM单元的两个修改。
这里写图片描述
图1:具备门控单元的LSTM存储单元
标准的神经网络单元i只包括输入激活ai和输出激活bi,它们在使用tanh激活函数时相关bi = tanh(ai)。
LSTM单元增加了几个中间的步骤:激活函数应用在ai后,结果再和bi相乘。然后前一个时间步长内部的激活函数值乘以由自身循环连接而增加的量bφ。最后,结果由bω缩放并馈送到另一个激活函数,产生bi。因子bi, bφ, bω ∈ (0, 1),由小的白色圆圈表示,分别由称为输入,输出和忘记门的附加单位(描绘为蓝色圆圈)控制。门控单元将先前隐藏层激活以及前一时间步长的当前层激活以及LSTM单元的内部激活。得到的值被logistic函数压缩,然后分别将其设置为b1,bφ或bω。
为简洁起见,我们省略了描述LSTM网络的相当广泛的等式。这些可以在[14]1中找到。
包括门控单元的整个LSTM单元可以被解释为计算机存储的可微分版本([14])。为此,LSTM单元有时也被称为LSTM存储单元。无论是否遵守对门控单元的建议解释,LSTM架构都能以较小的计算额外成本解决消失梯度问题。另外,它具有包含标准递归神经网络单元作为特例的理想特性。
3 神经网络语言模型
虽然到目前为止已成功应用的神经网络语言模型存在一些差异,但它们都有一些基本原则:
输入的词将通过1-k编码方式进行编码,k是该单词在词汇中的个数。
在输出层,使用softmax激活函数来产生正确的归一化概率值。
作为训练标准,使用交叉熵误差,其相当于最大似然
我们也遵循这种方法。 一般建议将神经网络的输入数据([15])进行正态化,这意味着应用线性变换以便数据具有零均值和单位方差。 当使用1-K编码时,显然不是这种情况。
放弃输入特征的稀疏性(通常被用来加速矩阵计算,参见[16]),数据可以很容易地归一化,因为存在闭合形式的1- -K编码的输入特征,其仅取决于训练数据中观察到的单词的单数计数。 相反,我们观察到收敛速度通过归一化显着减慢。当每个维度的输入数据位于相同的[0,1]范围内时,似乎就足够了。
由于输入特征与输入变量X的第i个维度高度相关(),所以对特征应用白化变换似乎更有希望。由于高维度,这几乎不可行。
关于网络拓扑结构,在文献[6]中使用了一个单一的循环隐藏层,而在[3]中则应用了一个具有两个隐藏层的体系结构,第一层具有将输入词映射到连续空间的解释。 本着相似的精神,我们坚持图2所示的拓扑结构,即将LSTM单元插入第二个递归层,并将其与标准神经网络单元的不同投影层相结合。
这里写图片描述
图2:神经网络模型架构
对于大词汇量的语言模型,训练强烈支配着softmax输出层的输入活动ai的计算,与输入层相比,它不是稀疏的:。j表示最后一个隐藏层节点的个数,是最后的隐藏层与输出层之间的权重,i=1,…,V,v是词汇的范围。
为了减少计算量,在[17]中(根据[18]中的思想),被建议将词分成一组不想交的词类。那么可以分解为以下式子:,其中和是词wm的一类。[19]中描述了如何定义一组合理的类。使用这个标识,计算复杂度可以显着降低。
4 实验结果
对于实验结果,我们集中在两个语料库:英语Treebank-3语料库和Quaero2项目的法语语料库。 详情见表1。
这里写图片描述
表1:运行词语的语料库大小; Treebank语料库的词汇大小为10 K,Quaero French为170 K; dev1被用作神经网络训练的验证数据,dev2用于优化LM尺度。
图3总结了Treebank-3语料库的结果。首先,我们训练了一个如图2所示架构的递归神经网络模型,但是省略了投影层,对于递归隐藏层,我们选择了标准的sigmoid激活函数和LSTM单元,如图3所示。我们发现模型的复杂度比标准的模型降低了8%。我们使用sigmoidal递归循环网络与rnnlm工具包得到的复杂度很相近。
这两个模型的训练时间相似或相反。但是,对于给定数量的隐藏层节点,相应的模型大小实际上是完全不同的:虽然具有150个隐藏节点的LSTM版本对应于7.6 M个参数,但sigmoidal网络仅具有3.0 M大小参数。另一方面,当增加sigmoid网络的模型大小直到达到相当数量的参数时,不能获得显着的改进(350个节点对应于7.1M个参数)。 另外,当使用投影图层并且词汇量巨大时,LSTM变体模型尺寸的开销可以忽略不计。
在第二组实验中,我们试图找出一个额外的投影层是否有进一步的改进,参见图3、不幸的是,与原始LSTM版本相比,线性层(激活函数是标识符)和sigmoid层都不会导致更低的复杂度。我们对结果的解释是这样的投影层造成了模糊的输入特征,这使得LSTM单元的学习任务变得复杂。
对于我们迄今为止所显示的结果,在训练和测试期间向网络呈现单个输入句子。 这意味着最大上下文长度被限制在大约21个单词中,这是Treebank语料库中的平均句子长度。 然而,与标准递归神经网络不同,LSTM网络可能能够利用更长的上下文大小。 因此,我们通过连续固定数量的连续句子来增加输入序列的大小。 图3(c)可以看出对性能的影响。
我们观察到,如果单个隐藏层含有LSTM单元,当从一个连接句子切换到两个连接句子时,可能会有小的改进。 对于具有S形投影层的LSTM也是如此。 有趣的是,与单句相比,线性投影层有助于输入更长的序列。
可能神经网络在输出层必须区分的不同词的数量太大,无法学习复杂的长期依赖性。 因此,我们观察到当情境长度超过特定阈值时困惑性显着增加的一般趋势,便不管任何预处理。
然而,似乎由线性层引入的输入特征的模糊对于长输入序列是有利的,并且当LSTM单元与这种类型的投影层组合时,我们获得了最好的复杂度。
最后,我们研究了LSTM网络与集群输出层之间的交互。 对于这个实验,我们使用了一个有200个隐藏节点且没有投影层的LSTM网络。
如图3(d),集群对复杂度的影响是中等的,而训练(或者测试)可能会有大的速度提升。理论上,当时加速度最大,C是类中节点的数量,V是词汇的数量。事实证明,这种行为在实践中并不完全匹配,因为类具有不同的大小。
除了比较小的英语语料库的结果之外,我们还将LSTM网络应用于大型词汇法语语音识别任务。 在Quaero研究项目中,每年都会进行评估,在广播会话Pod上评估语音识别系统。
我们采用了在2011年评估中显示出具有竞争力的法国识别系统。 该系统包括最先进的声学模型,包括交叉自适应,MLP特征和鉴别训练。Backing-off模型超过了4B训练。
从语音识别器创建的列表中,我们得到n = 1000的n个最佳列表。我们使用300个隐藏节点和27 M个运行中的训练数据训练了一个LSTM模型。 虽然Kneser-Ney(KN)支持backing-off模型的数据量超过了数百倍,但通过插值,我们在开发过程中获得了0.5%的错误率,2011年评估的测试数据中错误率提高了0.3%。
这里写图片描述
图2:Quaero French的词错率结果。
5 结论
在本文中,我们将LSTM神经网络架构应用于两种语言建模任务。 这种网络类型特别适用于语言建模,因为它在理论上允许精确建模一个单词序列的概率。 与以前的方法不同,它不受标准递归神经网络训练的概念问题的困扰。
我们探索了几种不同的神经网络拓扑结构,并分析了广泛使用一个附加隐藏投影层的重要性。 我们表明,LSTM网络可以与现有的集群技术相结合,在训练和测试时间中以较小的性能损失获得大幅提升。
这里写图片描述
图3:在Treebank语料库中的实验结果;c和d中隐藏层使用了200个节点
实验表明标准的递归循环网络架构有相对于8%的复杂度提升。最后,在全新的法语识别系统中插入具有Kneaer-Ney平滑的backing-off模型的LSTM模型获得了相对较大的改进。
对于未来的工作,分析标准和LSTM网络之间的差异以及对语音识别器识别质量的影响似乎很有意思。
6 感谢
作为Quaero计划的一部分,这项工作得到了部分实现,该计划由法国国家创新机构OSEO资助。
7 参考文献
[1] Kneser, R., and Ney, H., “Improved Backing-Off For M-Gram
Language Modeling”, Proc. of ICASSP 1995, pp. 181–184
[2] Bengio, Y., Ducharme, R., “A neural probabilistic language
model”, Proc. of Advances in Neural Information Processing Systems (2001), vol. 13., pp. 932–938.
[3] Schwenk, H., “Continuous space language models”, Computer
Speech and Language 21 (2007), pp. 492–518
[5] Oparin, I., Sundermeyer, M., Ney, H., Gauvain, J.-L., “Performance Analysis of Neural Networks in Combination with n-Gram
Language Models”, Proc. of ICASSP 2012, accepted for publication
[6] Mikolov, T., Karafiat, M., Burget, L., ´ Cernoczk ˇ y, J. H., and Khu- ´
danpur, S., “Recurrent neural network based language model”
Proc. of Interspeech 2010, pp. 1045–1048
[7] Elman, J., “Finding Structure in Time”, Cognitive Science 14
(1990), pp. 179–211
[8] Rumelhart, D. E., Hinton, G. E., Williams, R. J., “Learning representations by back-propagating errors”, Nature 323 (1986), pp.
533–536
[9] Bengio, Y., Simard, P., Frasconi, P., “Learning long-term dependencies with gradient descent is difficult” IEEE Transactions on
Neural Networks 5 (1994), pp. 157–166
[10] Martens, J., Sutskever, I., “Learning Recurrent Neural Networks
with Hessian-Free Optimization”, Proc. of the 28th Int. Conf. on
Machine Learning 2011
[11] Hochreiter, S., Schmidhuber, J., “Long Short-Term Memory”,
Neural Computation 9 (8), 1997, pp. 1735–1780
[12] Gers, F. A., “Learning to Forget: Continual Prediction with
LSTM”, Proc. of the 9th Int. Conf. on Artificial Neural Networks,
1999, pp. 850–855
[13] Gers, F. A., Schraudolph, N. N., Schmidhuber, J., “Learning Precise Timing with LSTM Recurrent Networks”, Journal of Machine Learning Research 3, 2002, pp. 115–143
[14] Graves, A., Schmidhuber, J., “Framewise Phoneme Classification
with Bidirectional LSTM and Other Neural Network Architectures”, Neural Networks, Vol. 18, Issue 5–6, 2005, pp. 602–610
[15] Bishop, C., “Neural Networks for Pattern Recognition”, Clarendon Press, Oxford, 1995
[16] Le, H. S., Allauzen, A., Wisniewski, G., Yvon, F., “Training continuous space language models: some practical issues”, Proc. of
the 2010 Conf. on Emp. Methods in NLP, pp. 778–788
[17] Morin, F., Bengio, Y., “Hierarchical Probabilistic Neural Network
Language Model”, Proc. of the 10th Int. Workshop on Artificial
Intelligence and Statistics
[18] Goodman, J., “Classes for fast maximum entropy training”, Proc.
of the ICASSP, 2001
[19] Mikolov, T., Kombrink, S., Burget, L., Cernock ˇ y, J., Khudanpur, ´
S., “Extensions of Recurrent Neural Network Language Model”,
Proc. of the ICASSP 2011, pp. 5528–5531
[20] Mikolov, T., Kombrink, S., Deoras, A., Burget, L., Cernock ˇ y,´
J., “RNNLM – Recurrent Neural Network Language Modeling
Toolkit”, Proc. of the 2011 ASRU Workshop, pp. 196–201

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值