NLP预训练模型【4】 -- 注意力机制
p{text-indent:2em}
NLP预训练模型【4】 – 注意力机制
1. 什么是 $ Attention $ 机制
在” $ seq2seq $ ”一节⾥,解码器在各个时间步依赖相同的背景变量来获取输⼊序列信息。当编码器为循环神经网络时,背景变量来自它最终时间步的隐藏状态。
现在,让我们再次思考那一节提到的翻译例⼦:输⼊为英语序列“They”“are”“watching”“.”,输出为法语序列“Ils”“regardent”“.”。不难想到,解码器在⽣成输出序列中的每一个词时可能只需利用输⼊序列某一部分的信息。例如,在输出序列的时间步1,解码器可以主要依赖“They”“are”的信息来⽣成“Ils”,在时间步2则主要使用来自“watching”的编码信息⽣成“regardent”,最后在时间步3则直接映射句号“.”。这看上去就像是在解码器的每一时间步对输⼊序列中不同时间步的表征或编码信息分配不同的注意力一样。这也是注意力机制的由来。
仍然以循环神经网络为例,注意力机制通过对编码器所有时间步的隐藏状态做加权平均来得到背景变量。解码器在每一时间步调整这些权重, ...