说一下Transformer:
Transformer是由encoder模块各decoder模块构成的,这两个模块都是由6各相同的子模块组成。
1.它的encoder模块首先是embedding层,然后是基于三角函数的绝对位置编码
2.接下来进入第一个子模块,首先是多头自注意力机制,Transformer将512维的embedding转换成8*64的embedding,通过计算各单词之间的注意力权重加权生成新的向量表示,然后进行残差连接和层归一化操作,接下来将embeding送入前馈神经网络层,最后将embedding再进行残差连接和层归一化操作,送入到第二个相同的子模块。
3.decoder模块中是掩码自注意力机制,在交互时,由当前时刻输入的embedding提供query向量,由encoder提供key,value向量,通过cross attention操作得到当前单词的上下文表示。
self-attention计算过程:
1.将单词转化成embedding向量
2.将各单词的embedding向量通过不同的线性变换生成query,key,value向量
3.通过self-attention公式计算各单词之间的注意力权重,然后加权各单词的embedding向量
解释self-attention公式:
s o f t m a x ( q u e r y ∗