△ 基于图像生成标题(Vinyalset al., 2015)
序列到序列的学习甚至可以应用到自然语言处理领域常见的结构化预测任务中,也就是输出具有特定的结构。为简单起见,输出就像选区解析一样被线性化(如图12)。在给定足够多训练数据用于语法解析的情况下,神经网络已经被证明具有产生线性输出和识别命名实体的能力。
△ 线性化选区解析树(Vinyalset al., 2015)
序列的编码器和解码器通常都是基于循环神经网络,但也可以使用其他模型。新的结构主要都从机器翻译的工作中诞生,它已经成了序列到序列模型的培养基。近期提出的模型有深度长短期记忆网络、卷积编码器、Transformer(一个基于自注意力机制的全新神经网络架构)以及长短期记忆依赖网络和的 Transformer 结合体等。
2.9 里程碑九:2015注意力机制和基于记忆的神经网络
注意力机制是神经网络机器翻译(NMT)的核心创新之一,也是使神经网络机器翻译优于经典的基于短语的机器翻译的关键。序列到序列学习的主要瓶颈是,需要将源序列的全部内容压缩为固定大小的向量。注意力机制通过让解码器回顾源序列的隐藏状态,以此为解码器提供加权平均值的输入来缓解这一问题,如图13所示。
△ 注意力机制
之后,各种形式的注意力机制涌现而出。注意力机制被广泛接受,在各种需要根据输入的特定部分做出决策的任务上都有潜在的应用。它已经被应用于句法分析、阅读理解、单样本学习等任务中。它的输入甚至不需要是一个序列,而可以包含其他表示,比如图像的描述(图14)。
注意力机制一个有用的附带作用是它通过注意力权重来检测输入的哪一部分与特定的输出相关,从而提供了一种罕见的虽然还是比较浅层次的,对模型内部运作机制的窥探。
△ 图像描述模型中的视觉注意力机制指示在生成”飞盘”时所关注的内容
注意力机制不仅仅局限于输入序列。自注意力机制可用来观察句子或文档中周围的单词,获得包含更多上下文信息的词语表示。多层的自注意力机制是神经机器翻译前沿模型Transformer的核心。
注意力机制可以视为模糊记忆的一种形式,其记忆的内容包括模型之前的隐藏状态,由模型选择从记忆中检索哪些内容。与此同时,更多具有明确记忆单元的模型被提出。
他们有很多不同的变化形式,比如神经图灵机(NeuralTuring Machines)、记忆网络(MemoryNetwork)、端到端的记忆网络(End-to-endMemory Newtorks)、动态记忆网络(DynamicMemoryNetworks)、神经可微计算机(NeuralDifferentiable Computer)、循环实体网络(RecurrentEntityNetwork)。
记忆的存取通常与注意力机制相似,基于与当前状态且可以读取和写入。这些模型之间的差异体现在它们如何实现和利用存储模块。
比如说,端到端的记忆网络对输入进行多次处理并更新内存,以实行多次推理。神经图灵机也有一个基于位置的寻址方式,使它们可以学习简单的计算机程序,比如排序。
基于记忆的模型通常用于需要长时间保留信息的任务中,例如语言模型构建和阅读理解。记忆模块的概念非常通用,知识库和表格都可以作为记忆模块,记忆模块也可以基于输入的全部或部分内容进行填充。
2.10里程碑十:2018预训练语言模型
预训练的词嵌入与上下文无关,仅用于初始化模型中的第一层。近几个月以来,许多有监督的任务被用来预训练神经网络。相比之下,语言模型只需要未标记的文本,因此其训练可以扩展到数十亿单词的语料、新的领域、新的语言。预训练的语言模型于 2015年被首次提出,但直到最近它才被证明在大量不同类型的任务中均十分有效。语言模型嵌入可以作为目标模型中的特征,或者根据具体任务进行调整。如下图所示,语言模型嵌入为许多任务的效果带来了巨大的改进。