【伯禹学习深度学习打卡笔记】
将注意机制添加到sequence to sequence 模型中,以显式地使用权重聚合states。下图展示encoding 和decoding的模型结构,在每一个encoder的时间步t,,选择这个时间步有关的编码器的信息。
引入注意力机制的Seq2seq模型笔记
图1 具有注意力机制的seq-to-seq模型解码的第二步
此刻attention layer保存着encodering看到的所有信息——即encoding的每一步输出。在decoding阶段,解码器的tt时刻的隐藏状态被当作query,encoder的每个时间步的hidden states作为key和value进行attention聚合. Attetion model的输出当作成上下文信息context vector,并与解码器输入DtD_t拼接起来一起送到解码器。

引入注意力机制的Seq2seq模型笔记
图二 具有注意机制的seq-to-seq模型中层结构(整体架构)

  • 在第t个时间步,Decoder得到这一步(实际上是上一步的)Hidden state作为Query;
  • Encoder的所有的、每一步的outputs(Enc_outputs),作为key和value;
  • 上面两个一起进行Attention,通过加权求和,得到经过选择的value组合,再作为Content vector;
  • Content vector与第t个时间步的Decoder输入Dt拼接起来,作为当前Decoder的输入,再预测当前时刻的输出Enc_outputs(也就是t+1时刻可能的token)

相关文章: