Encoder-Decoder模型
1. 起源:
paper:Sequence to Sequence Learning with Neural Network
2014年,Sutskever提出的简单Enc-Dec模型
解决sequence to sequence转换的问题,采用了编码和解码的结构
如下图示例,其中,编码是将source sequence(x1,x2,x3,x4,...)转化为一个固定长度的context vector(c),解码是将该context vector转化为target sequence(y1,y2,y3,...)
Encoder最后一个时间步的状态作为整个句子的中间语义context vector
context vector直接作为Decoder的初始状态。
2. 应用:
机器翻译:待翻译的文本序列-->翻译文本序列
语音识别:声学特征序列-->识别文本序列
问答系统:问题描述单词序列-->生成答案单词序列
文本摘要:文本序列-->摘要序列
3. 进展:
从简单的Encoder-Decoder到Attention-based Encoder-Decoder
下图为简单的Encoder-Decoder,Decoder部分的输入为Encoder部分编码的固定长度向量(c=hT),不利于处理长时输入。
下图为简单的Attention-based Encoder-Decoder,Encoder部分和上面一致,Decoder部分引入Attention机制, 使得c更灵活,这时候c就是由h1,...,hT加权求和获得,
且每个hi前面的权重系数Wi不一样,增加模型的灵活性。
4. 参考资料
[1] http://blog.****.net/mounty_fsc/article/details/78498517
[2] Sutskever I, Vinyals O,Le Q V. Sequence to sequence learning with neural networks[J]. 2014,4:3104-3112
[3] BahdanauD,Cho K, Bengio Y. Neural Machine Translation byJointly Learning to Align and Translate[J]. Computer Science, 2014.