NLP-transformer部分知识点
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初始化,再缩放回来;
下一篇:
你知道大数据中的五种采集方式吗?