1. Scaled Dot-Product Attention中为什么要除以
- 计算公式:
- 在softmax中起到temperature的作用,即使分布趋于平滑,增加可能性
- 为什么是
而不是 3、4、5等 随便一个数。。。
-
解释一下上述引用内容
-
一个比较强的假设:q、k属于多维独立同分布(标准正太分布N~(0,1))随机变量
-
则
,
-
同时根据 独立同分布随机变量 和 的方差等于方差的和,可以得到
-
-
可以发现点积后,均值不变,但是方差发生明显变化;为了使模型在一个统一的标准正太分布中学习,上述式子除以
即可满足要求;
-
2. transformer encoder对单词进行embedding时,为什么乘以(来自知乎)
- 假设embedding table是用 Xavier初始化,即
- 从onehot -> embedding,相当于从上述总体分布采样了
个样本,合起来称为该总体的一组子样本;
- 记某组子样本(
维)的均值、样本方差分别为
、
,可得
- 所以
,乘以
以达到统一的标准正态分布的目的(知乎@王四喜)
- 那么为什么不直接用
进行初始化?
- 知乎@Towser解释:因为transformer中可以设置tied-embedding的存在(减少参数),此时 比如 decoder最后输出softmax前,需要做一次线性映射(Linear)到词汇空间,linear的weight即来自于embedding的weight;线性层需要用到Xavier初始化,因此embedding层也就先用Xavier初始化,再缩放回来;