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