之前我们已经了解过n-gram语言模型和前馈神经网络语言(NNLM),今天我们简单地看一下循环神经网络语言模型。那么首先看一下为什么要把RNN用到语言模型中呢?
首先循环神经网络语言模型(RNNLM)是想要解决前馈神经网络模型窗口固定的问题。其次,前馈神经网络模型假设每个输入都是独立的,但是这个假设并不合理。循环神经网络的结构能利用文字的这种上下文序列关系,更好地对语句之间的关系进行建模。在某种程度上也能很好地进行上下文的联系,但由于RNN可能有的长距离梯度消失问题,这个上下文的记忆能力也是有限的。在这里只是简单介绍RNNLM,不做过多研究。
RNNLM简单介绍
这个过程基本与之前介绍的RNN类似,贴两张网图,分别展示了RNNLM的结构图和训练过程:
其实可以看出还是由之前我们所了解的RNN演变而来,可以看之前的笔记回顾:干货!RNN、LSTM、GRU学习笔记。RNNLM简化图如下: