Seq2Seq架构下,通常将源序列编码为一个固定长度的向量。使用一个固定长度的向量可能是改善这个基本encoder-decoder架构性能的瓶颈。把整个输入编码为一个固定大小的向量,然后用这个向量解码,这意味着这个向量理论上能包含原来输入的所有信息,会对encoder和decoder有更高的要求,尤其在机器翻译等信息不变的任务上。因为这种模型相当于让我们“看了一遍中文后就直接写出对应的英文翻译”那样,要求有强大的记忆能力和解码能力,事实上普通人完全不必这样,我们还会反复翻看对比原文,这就导致了下面的技巧。
注意力机制能够为解码器提供额外的上下文信息,减轻了编码器的负担,因此在NLP、图像标题生成等领域广泛应用。注意力机制这种思想是通用的,这里给出几篇经典的论文:
【1】
2015--ICLR--NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE
提出整体软注意力机制。
论文笔记(attention 1)----NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE
https://blog.csdn.net/hx14301009/article/details/80451125
【2】
2015--JMLR--Show, Attend and Tell: Neural Image Caption Generation with Visual Attention
提出软确定性注意机制和硬随机注意机制。
【3】
DRAW: A recurrent neural network for image generation
提出一种选择性注意力机制预测对齐位置和窗口大小。
【4】
2015--EMNLP--Effective Approaches to Attention-based Neural Machine Translation
基于【1】改进了整体注意力机制,基于【2,3】提出局部注意力机制。
论文笔记(Attention 2)-----Effective Approaches to Attention-based Neural Machine Translation