在seq2seq结构中,encoder把所有的输入序列都编码成一个统一的语义向量context,然后再由decoder解码。
但是由于context包含原始序列中的所有信息,它的长度就成了限制模型性能的瓶颈,如机器翻译问题,当要翻译的句子比较长时,一个context可能存不了那么多信息,就会造成精度下降。除此之外,如果按照上述方式实现,只用到了编码器的最后一个隐藏层状态,信息利用率低。
所以要改进seq2seq结构,最好的切入角度就是:利用encoder所有隐藏层状态解决context长度限制的问题 -- attention。
接下来了解一下attention注意力机制基本思路。