△ LSTM网络
应用于文本的卷积神经网络只在两个维度上进行操作,卷积层只需要在时序维度上移动即可。图8展示了应用于自然语言处理的卷积神经网络的典型结构。
△ 卷积神经网络
与循环神经网络相比,卷积神经网络的一个优点是具有更好的并行性。
因为卷积操作中每个时间步的状态只依赖于局部上下文,而不是循环神经网络中那样依赖于所有过去的状态。卷积神经网络可以使用更大的卷积层涵盖更广泛的上下文内容。卷积神经网络也可以和长短期记忆网络进行组合和堆叠,还可以用来加速长短期记忆网络的训练。
循环神经网络和卷积神经网络都将语言视为一个序列。但从语言学的角度来看,语言是具有层级结构的:词语组成高阶的短语和小句,它们本身可以根据一定的产生规则递归地组合。这激发了利用结构递归神经网络,以树形结构取代序列来表示语言的想法,如图9所示。
△ 结构递归神经网络
结构递归神经网络自下而上构建序列的表示,与从左至右或从右至左对序列进行处理的循环神经网络形成鲜明的对比。树中的每个节点是通过子节点的表征计算得到的。一个树也可以视为在循环神经网络上施加不同的处理顺序,所以长短期记忆网络则可以很容易地被扩展为一棵树。
不只是循环神经网络和长短期记忆网络可以扩展到使用层次结构,词嵌入也可以在语法语境中学习,语言模型可以基于句法堆栈生成词汇,图形卷积神经网络可以树状结构运行。
2.8 里程碑八:2014序列到序列模型(Sequence-to-sequencemodels)
2014年,Sutskever等人提出序列到序列学习,即使用神经网络将一个序列映射到另一个序列的一般化框架。在这个框架中,一个作为编码器的神经网络对句子符号进行处理,并将其压缩成向量表示;然后,一个作为解码器的神经网络根据编码器的状态逐个预测输出符号,并将前一个预测得到的输出符号作为预测下一个输出符号的输入。如图10所示。
△ 序列到序列模型
机器翻译是这一框架的*手级应用。2016年,谷歌宣布他们将用神经机器翻译模型取代基于短语的整句机器翻译模型。谷歌大脑负责人Jeff Dean表示,这意味着用500行神经网络模型代码取代50万行基于短语的机器翻译代码。
由于其灵活性,该框架在自然语言生成任务上被广泛应用,其编码器和解码器分别由不同的模型来担任。更重要的是,解码器不仅可以适用于序列,在任意表示上均可以应用。比如基于图片生成描述(如图11)、基于表格生成文本、根据源代码改变生成描述,以及众多其他应用。