Cross Attention:解码器序列用作查询(Q),编码器序列提供键(K)和值(V),
用于在编码器-解码器两个不同序列之间进行注意力转移。
Self Attention:查询(Q)、键(K)和值(V)均来自编码器同一序列,实现编码器序列内部的注意力计算。
疑问解答
:
Cross Attention、Multi-Head Attention实际上说的是也同一件事,从不同维度解答两个不同序列之间如何进行注意力转移。
图上标注Multi-Head Attention强调需要多个头进行注意力转移计算。
Transformer第二个注意力(Cross Attention)
更严谨的描述应该为:编码器-解码器两个序列通过Multi-Head Cross Attention(多头交叉注意力)进行注意力转移。
疑问三:
图中编码器明明写的也是Masked Multi-Head Attention,怎么就说是Causal Attention?
解码器的Causal Attention
先了解四个概念:P
redict The Next Word
、
Masked Language Model、
Autoregressive
、
Causal Attention
P
redict The Next Word(
预测下一个词):
模
型通常需要基于已经生成的词来预测下一个词。这种特性要求模型在预测时不能“看到”未来的信息,以避免预测受到未来信息的影响。
预测下一个词
Masked Language Model
(
掩码
语言模型
)
:
遮盖一些词语来让模型学习预测被遮盖的词语,从而帮助模型学习语言规律。
掩码语言模型
Autoregressive
(
自回归
)
:
在生成序列的某个词时,解码器会考虑已经生成的所有词,包括当前正在生成的这个词本身。
为了保持自回归属性,即模型在生成序列时只能基于已经生成的信息进行预测,我们需要防止解码器中的信息向左流动。
换句话说,当解码器在生成第t个词时,它不应该看到未来(即第t+1, t+2,...等位置)的信息。
Causal Attention(因果注意力)
:
为了
确保模型在生成序列时,只依赖于之前的输入信息,而不会受到未来信息的影响。Causal Attention通过掩盖(mask)未来的位置来实现这一点,使得模型在预测某个位置的输出时,只能看到该位置及其之前的输入。
Causal Attention(因果注意力)
疑问解答
:
Causal Attention、Mask Multi-Head Attention实际上说的是也同一件事,
解码器中Self Attention如何结合Causal Attention来保持自回归属性。
Mask Multi-Head Attention强调
使用了多个独立的注意力头,每个头都可以学习不同的注意力权重,从而增强模型的表示能力。而Causal Attention则强调了模型在预测时只能依赖于已经生成的信息,不能看到未来的信息。
Transformer第三个注意力(Causal Attention)
更严谨的描述应该为:解码器的单个序列通过Multi-Head Cross
Self
Attention(多头因果自注意力)进行注意力计算。