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-Decoder模型_第1张图片
    Encoder最后一个时间步的状态作为整个句子的中间语义context vector
    context vector直接作为Decoder的初始状态。

2. 应用:

机器翻译:待翻译的文本序列-->翻译文本序列

语音识别:声学特征序列-->识别文本序列

    问答系统:问题描述单词序列-->生成答案单词序列

    文本摘要:文本序列-->摘要序列

3. 进展:

    从简单的Encoder-Decoder到Attention-based Encoder-Decoder

    下图为简单的Encoder-Decoder,Decoder部分的输入为Encoder部分编码的固定长度向量(c=hT),不利于处理长时输入。

Encoder-Decoder模型_第2张图片

下图为简单的Attention-based Encoder-Decoder,Encoder部分和上面一致,Decoder部分引入Attention机制, 使得c更灵活,这时候c就是由h1,...,hT加权求和获得,
且每个hi前面的权重系数Wi不一样,增加模型的灵活性。

Encoder-Decoder模型_第3张图片


4. 参考资料

[1] http://blog.csdn.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.

你可能感兴趣的:(机器学习,语音识别)