通过带注释的转换器工作,我看到编码器(掩码填充)和解码器(掩码填充+未来位置)中的每一层都被屏蔽了。为什么不能在编码器和解码器的第一层简化为一个掩码?
为什么转换器在每一层都屏蔽而不是只在输入层屏蔽?
数据挖掘
神经网络
nlp
变压器
2022-02-24 03:17:49
1个回答
如果仅在第一层应用掩码,则后续层中的自注意力将带来来自未来令牌的每个位置信息。
让我们用数字来分解它:
在层,如果应用了因果掩蔽,则位置处的输出包含有关层的信息在位置, 那是,.
如果没有应用因果屏蔽,则在位置处的输出包含有关层的信息在长度序列中的所有位置,也就是位置
如果在第 1 层(第一层)而不是在第 2 层或第 3 层应用因果掩蔽,我们得到对于第 3 层的位置 t,我们将有:,这意味着该位置包含来自未来令牌的信息,如.
注意:原始答案是错误的,已完全编辑。要检查原始答案,请参阅发布时间线。