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