Transformer是《Attention Is All You Need》提出来的,结构如下所示:
讲解Transformer的文章很多,这里不再重复,可以参考文献1和文献2
本文只想讲一些在看Transformer这篇文章时遇到的一些问题,并写下我对这些问题的理解。
问题一:为什么要除以 d k \sqrt{d_k} dk ?
当 d k d_k dk增大时,意味着q和k之间的点乘操作会增加,只要 q i k i q_ik_i qiki稍微比其它值大一点,经过softmax之后绝大部分值就会变得很小,接近于0,使得其梯度很小。
我们假设q和k的分布均服从标准正太分布,即其均值为0,方差为1,当进行点乘操作后:
分布变成均值为0,方差为 d k d_k dk【利用均值和方差的性质即可推得】,当 d k d_k