感谢伯禹平台举办的活动,本文记录学习Sequence to Sequence模型,包含如下:
1.Encoder-Decoder结构
传统的RNN模型一般是给定输入,然后会有一个对应的输出,对于自然语言处理中的生成任务来说,输出不限定长度的序列有点难以处理,这时候encoder-decoder结构就可以很好的解决这个问题。如下图所示:
encoder部分和decoder部分都是RNN网络,其中Encoder部分将输入的序列编码成一个向量,即隐藏层的输出hidden_state,再将这个hidden_state输入decoder中逐步生成序列,直到输出停止符号, 这种结构可以有效的解决不定长的输出问题,但是在生成序列的时候每一步都是用的encoder结构输出的hidden_state作为背景变量C来输入,但是翻译的过程中,一个目标词可能只对应输入序列的个别词,这时候,带有注意力机制的Encoder-Decoder结构就可以有效的解决这个问题
2.Encoder-Decoder with attention结构
attention机制就是在Decoder中生成每一个新的状态时,每一步都会采