为了克服传统神经网络语言模型(NNLM)只能建模固定长度上下文的局限,递归神经网络语言模型(Recurrent Neural Network Language Model, RNNLM)被提出。RNNLM 由 Tomas Mikolov 等人在 2010 年提出,其核心思想是通过递归连接隐藏层,使得网络在处理当前输入词时,能够同时参考前一时刻的隐藏状态,从而理论上具备建模任意长度上下文依赖的能力。在 RNNLM 中,每个时间步输入当前词的嵌入表示,并结合前一时刻的隐藏层状态,通过共享的隐藏权重矩阵更新新的隐藏状态,进而预测下一个词的概率分布。与 NNLM 的静态上下文窗口不同,RNNLM 的隐藏层作为一种动态记忆,可以不断累积和更新序列信息,因此更加灵活,能够捕捉到语言中远距离的依赖关系。RNNLM 的出现显著提升了语言建模的表达能力,使得模型能够更自然地处理复杂的语言现象,例如主谓一致、跨句关系等。然而,RNNLM 也存在明显的效率问题。由于递归连接的特性,每一步的隐藏状态更新都依赖前一步的计算结果,导致训练过程必须严格顺序进行,难以并行加速。同时,RNNLM 在每一个时间步都需要进行大规模矩阵乘法运算,尤其在输出层面对大词表进行归一化时,计算量和存储需求依然非常巨大。此外,传统的基本 RNN 结构在实际应用中还容易遭遇梯度消失或梯度爆炸的问题,使得模型在处理很长序列时训练变得困难。 | 为了克服传统神经网络语言模型(NNLM)只能建模固定长度上下文的局限,递归神经网络语言模型(Recurrent Neural Network Language Model, RNNLM)被提出。RNNLM 由 Tomas Mikolov 等人在 2010 年提出,其核心思想是通过递归连接隐藏层,使得网络在处理当前输入词时,能够同时参考前一时刻的隐藏状态,从而理论上具备建模任意长度上下文依赖的能力。在 RNNLM 中,每个时间步输入当前词的嵌入表示,并结合前一时刻的隐藏层状态,通过共享的隐藏权重矩阵更新新的隐藏状态,进而预测下一个词的概率分布。与 NNLM 的静态上下文窗口不同,RNNLM 的隐藏层作为一种动态记忆,可以不断累积和更新序列信息,因此更加灵活,能够捕捉到语言中远距离的依赖关系。RNNLM 的出现显著提升了语言建模的表达能力,使得模型能够更自然地处理复杂的语言现象,例如主谓一致、跨句关系等。然而,RNNLM 也存在明显的效率问题。由于递归连接的特性,每一步的隐藏状态更新都依赖前一步的计算结果,导致训练过程必须严格顺序进行,难以并行加速。同时,RNNLM 在每一个时间步都需要进行大规模矩阵乘法运算,尤其在输出层面对大词表进行归一化时,计算量和存储需求依然非常巨大。此外,传统的基本 RNN 结构在实际应用中还容易遭遇梯度消失或梯度爆炸的问题,使得模型在处理很长序列时训练变得困难。 |