2.7 里程碑七:2013RNN/CNN用于NLP的神经网络
2013和2014年是自然语言处理领域神经网络时代的开始。其中三种类型的神经网络应用最为广泛:循环神经网络(recurrentneural networks)、卷积神经网络(convolutionalneural networks)和结构递归神经网络(recursiveneural networks)。
循环神经网络是NLP领域处理动态输入序列最自然的选择。Vanilla循环神经网络很快被经典的长短期记忆网络(long-shorttermmemory networks,LSTM)代替,该模型能更好地解决梯度消失和梯度爆炸问题。
在2013年之前,人们仍认为循环神经网络很难训练,直到Ilya Sutskever博士的论文改变了循环神经网络这一名声。双向的长短期记忆记忆网络通常被用于同时处理出现在左侧和右侧的文本内容。LSTM 结构如图7所示。
△LSTM网络
应用于文本的卷积神经网络只在两个维度上进行操作,卷积层只需要在时序维度上移动即可。图8展示了应用于自然语言处理的卷积神经网络的典型结构。
△卷积神经网络
与循环神经网络相比,卷积神经网络的一个优点是具有更好的并行性。
因为卷积操作中每个时间步的状态只依赖于局部上下文,而不是循环神经网络中那样依赖于所有过去的状态。卷积神经网络可以使用更大的卷积层涵盖更广泛的上下文内容。卷积神经网络也可以和长短期记忆网络进行组合和堆叠,还可以用来加速长短期记忆网络的训练。
循环神经网络和卷积神经网络都将语言视为一个序列。但从语言学的角度来看,语言是具有层级结构的:词语组成高阶的短语和小句,它们本身可以根据一定的产生规则递归地组合。这激发了利用结构递归神经网络,以树形结构取代序列来表示语言的想法,如图9所示。
△结构递归神经网络
结构递归神经网络自下而上构建序列的表示,与从左至右或从右至左对序列进行处理的循环神经网络形成鲜明的对比。树中的每个节点是通过子节点的表征计算得到的。一个树也可以视为在循环神经网络上施加不同的处理顺序,所以长短期记忆网络则可以很容易地被扩展为一棵树。
不只是循环神经网络和长短期记忆网络可以扩展到使用层次结构,词嵌入也可以在语法语境中学习,语言模型可以基于句法堆栈生成词汇,图形卷积神经网络可以树状结构运行。