- 什么是 Attention 机制
在 “编码器—解码器(seq2seq)” ⼀节⾥,解码器在各个时间步依赖相同的背景变量来获取输⼊序列信息。当编码器为循环神经⽹络时,背景变量来⾃它最终时间步的隐藏状态。
现在,让我们再次思考那⼀节提到的翻译例⼦:输⼊为英语序列 “They”“are”“watching”“.”,输出为法语序列“Ils”“regardent”“.”。不难想到,解码器在⽣成输出序列中的每⼀个词时可能只需利⽤输⼊序列某⼀部分的信息。例如,在输出序列的时间步 1,解码器可以主要依赖“They”“are” 的信息来⽣成 “Ils”,在时间步 2 则主要使⽤来⾃“watching” 的编码信息⽣成“regardent”,最后在时间步 3 则直接映射句号“.”。这看上去就像是在解码器的每⼀时间步对输⼊序列中不同时间步的表征或编码信息分配不同的注意⼒⼀样。这也是注意⼒机制的由来。