0.Transformer如何并行化的?
Transformer的并行化我认为主要体现在self-attention模块,在Encoder端Transformer可以并行处理整个序列,并得到整个输入序列经过Encoder端的输出,在self-attention模块,对于某个序列,self-attention模块可以直接计算
的点乘结果,而RNN系列的模型就必须按照顺序从
计算到
。
1.self-attention公式中的归一化有什么作用?
首先说明做归一化的原因,随着 的增大,
点积后的结果也随之增大,这样会将softmax函数推入梯度非常小的区域,使得收敛困难(可能出现梯度消失的情况)(为了说明点积变大的原因,假设q和k的分量是具有均值0和方差1的独立随机变量,那么它们的点积
均值为0,方差为
),因此为了抵消这种影响,我们将点积缩放
,