INFO: Sutskever2014_Sequence to Sequence Learning with Neural Networks
ABSTRACT
- Use one LSTM to read the input sequence, one timestep at a time, to obtain large fixed-dimensional vector representation, and then to use another LSTM to extract the output sequence from that vector. The second LSTM is essentially a recurrent neural network language model except that it is conditioned on the input sequence.
- It is not clear how to apply an RNN to problems whose input and the output sequences have different lengths with complicated and non-monotonic relationships.
- Reversing the input sentences results in LSTMs with better memory utilization.
(Instead of mapping the sentence a, b, c to the sentence α, β, γ, the LSTM is asked to map c, b, a to α, β, γ, where α, β, γ is the translation of a, b, c.)
RELEVANT INFORMATION:
- Encoder - Decoder:
- Encoder-Decoder并不是一个具体的模型,而是一类框架。Encoder和Decoder部分可以是任意的文字,语音,图像,视频数据,模型可以采用CNN,RNN,BiRNN、LSTM、GRU等等。所以基于Encoder-Decoder,我们可以设计出各种各样的应用算法。
- Encoder-Decoder框架有一个最显著的特征就是它是一个End-to-End学习的算法;这样的模型往往用在机器翻译中,比如将法语翻译成英语。这样的模型也被叫做 Sequence to Sequence learning。
- 局限性:编码和解码之间的唯一联系就是一个固定长度的语义向量c。也就是说,编码器要将整个序列的信息压缩进一个固定长度的向量中去。但是这样做有两个弊端:
- 语义向量c无法完全表示整个序列的信息。
- 先输入的内容携带的信息会被后输入的信息稀释掉/覆盖,且输入序列越长就越严重,使得在解码的时候一开始就没有获得输入序列足够的信息, 那么解码的准确度自然也就要打个折扣。
ENCODER-DECODER 模型
- Attention Model
- 为了弥补上述基本Encoder-Decoder模型的局限性,近两年NLP领域提出Attention Model(注意力模型),典型的例子就是在机器翻译的时候,让生成词不是只能关注全局的语义编码向量c,而是增加了一个“注意力范围”,表示接下来输出词时候要重点关注输入序列中的哪些部分,然后根据关注的区域来产生下一个输出。
- 相比于之前的Encoder-Decoder模型,Attention模型最大的区别就在于它不再要求编码器将所有输入信息都编码进一个固定长度的向量之中。相反,此时编码器需要将输入编码成一个向量的序列,而在解码的时候,每一步都会选择性的从向量序列中挑选一个子集进行进一步处理。
ATTENTION 模型