Convolutional Sequence to Sequence Learning学习心得

1 为什么使用CNN学习序列表示

  1. 和RNN相比,CNN产生的背景向量固定

并且通过stacking 可以使 contex size 更大,如下图。
Convolutional Sequence to Sequence Learning学习心得

  1. 和RNN相比,CNN产生的背景向量固定

并且通过stacking 可以使 contex size 更大,如上图。

  1. Hierarchy representation

如图1,只需要三次CNN operation ,而需要 7 次 rnn 才能覆盖整个句子;
且RNN对于句首和句尾的非线性是不一致的
Convolutional Sequence to Sequence Learning学习心得

2 为什么引入注意力机制

Cho et al.,2014 解码器中目标序列中的任意一个词只考虑了编码器最终的映状态,即attend to 输入整 个句子,而 注意力机制中cic_i是输入句子各个时刻hidden state 的加权和,weight 不同表示对当前词的关注程度不一样,故允许网络在生成目标序列的对应词时关注输入句子的不同部分

3 如何利用CNN实现序列学习

引入Multi step Attention ,即每一层使用separate Attention
使用GLU(gated Linear unit )

Gehring, Jonas, Auli, Michael, Grangier, David, and
Dauphin, Yann N. A Convolutional Encoder Model
for Neural Machine Translation. arXiv preprint
arXiv:1611.02344, 2016

具体细节可以参考:

  1. 原文
  2. 从《Convolutional Sequence to Sequence Learning》到《Attention Is All You Need》
  3. 神经网络机器翻译模型介绍-ConvS2S

Convolutional Sequence to Sequence Learning学习心得

值得一读
Bahdanau, Dzmitry, Cho, Kyunghyun, and Bengio,
Yoshua. Neural machine translation by jointly learning
to align and translate. arXiv preprint arXiv:1409.0473,
2014