11.1
序列中的注意力机制
1.注意力机制是一个将编码器-解码器结构从固定长度的内部表征中解放出来的方法。它通过保持LSTM编码器对输入序列每一步的中间输出结果,然后训练模型学习如何选择性地关注输入,并将它们与输出序列中的项联系起来。换句话说,输出序列中的每一项都取决于输入序列中被选中的项。
2.论文中提出的模型在翻译的时候每生成一个词,就会在源句子中的一系列位置中搜索最相关信息集中的地方。然后他会基于上下文向量以及这些源文本中的位置和之前生成的目标来预测下一个目标词。该模型将输入语句编码成向量序列,并在解码翻译的时候适应性地选择这些向量的子集。这使得神经翻译模型不必再将各种长度的源句子中的所有信息压缩成一个固定长度的向量。
3.虽然这样做会增加模型的计算负担,但是会形成目标性更强、性能更好的模型。此外,模型还能够展示在预测输出序列的时候,如何将注意力放在输入序列上。这会帮助我们理解和分析模型到底在关注什么,以及他在多大程度上关注特定的输入-输出对。
根据这个思想来对应到注意力机制在目标检测中如何发挥相应的作用。
3.论文提出的方法能够直观地观察到生成序列中的每个词与输入序列中的一些词的(软)对齐关系,这可以通过对标注权重的可视化来实现。每个图中矩阵的每一行代表与标注相关联的权重。由此我们可以看出在生成目标词时,源句子中的哪一个位置受到了重视。
吼吼,重点来了,图像图像!
使用大幅图片时的问题
应用在计算机视觉问题中的卷积神经网络也面临类似问题,用特别大的图片训练模型会很困难。由此引发的结果就是在做出预测之前,图像会被大量观察,得到其近似表示。
人类感知的一个重要特点就是不会倾向于一次性处理场景的全貌,而是选择性地将注意力聚焦于视觉空间中的某些部分来获取所需信息,并且结合不同时间点的局部信息来构建整个场景的内部表征,以此指导随后的眼动和决策。
做的尝试,可否将这些思想应用在自己的框架上。
这一部分给出了一些将注意力机制与循环神经网络结合起来用于序列预测的具体栗子。
文本翻译这个栗子我们在前面已经提过。给定一个法语句子的输入序列,将它翻译并输出英文句子。注意力机制用于观察输入序列中与输出序列每一个词相对应的具体单词。
生成每个目标词时,我们让模型搜索一些输入单词或由编码器计算得到的单词标注,进而扩展基本的编码器-解码器结构。这让模型不再必须将整个源句子编码成一个固定长度的向量,还能让模型仅聚焦于和下一个目标词相关的信息。
图像描述中的注意力机制:与glimpse方法不同,基于序列的注意力机制可以应用在计算机视觉上,来帮助找出方法,使输出序列时更好地利用卷积神经网络来关注输入的图片,例如在典型的图像描述任务中。给定一幅输入图像,输出对该图像的英文描述。注意力机制用于关注与输出序列中的每一个词相关的局部图像。
我们还展示了如何使用学得的注意力机制为模型生成过程提供更多可解释性,演示了学得的对齐与人类直觉一致性很高。
我们提出了一个基于LSTM的神经模型,它能够将两个句子读取成一个句子来进行语义蕴含分析,而不是把每个句子都独立地编码成一个语义向量。然后,我们用逐词注意力机制来扩展该模型,以鼓励对成对单词和词组是否存在蕴含关系作出推理。
语音识别中的注意力机制:给定一个英文语音片段作为输入,输出一个音素序列。注意力机制被用来关联输出序列中的每一个音素和输入序列中特定的语音帧。
提出一个新型的基于混合attention机制的端到端可训练的语音识别结构,为了在解码的时候在输入序列中选择下一个位置,它同时结合了内容信息和位置信息。该模型令人满意的一点是它能够识别比训练所用的语料更长的语音。
文本摘抄中的注意力机制:给定一段英文文章作为输入序列,输出一段英文文本来总结输入序列。注意力机制被用来关联摘要文本中的每一个词语与源文本中的对应单词。
提出一个基于neutral attention机制的模型用于抽象摘要,该模型在最近神经机器翻译的进展基础上发展而来。我们将该概率模型与一个能够生成准确抽象摘要的生成算法结合起来。
所以注意力机制的本质作用是实现输出和输入更精确的对应,从而让实际的预测在t-1的输出后可以根据注意力生成的关联性预测t时的输出,提升预测的性能。