Transformer的核心在如下两张图上:

1. 为什么Transformer 需要进行 Multi-head Attention?

- 将模型分为多个头,形成多个子空间,让模型去关注不同方面的信息;
- 把多头注意力看作一个ensemble,模型内部的集成,类似于CNN中使用的多个卷积核,所以很多时候可以认为多头注意力可以帮助我们捕捉到更为丰富的特征信息。
2. Transformer为什么Q和K使用不同的权重矩阵生成,为何不能使用同一个值进行自身的点乘?
如果Q,K,V都是一个值,那么就变为了Self-Attention的形式:

在实践中,Q和K的乘法是为了得到二者的相似度,一般我们的K和V是相同的,Q和K进行操作是为了得到一个attention score矩阵,这样可以得到Q关于V的表示,但一般我们在计算Q,K,V的时候会先都分别乘上一个不同的矩阵W,这么做可以增加模型的表达能力,实践中经常也会带来一定的帮助。
3. Transformer中的attention为什么要进行scaled?
softmax的计算公式如下:

- 非常大的 d k d_k dk值会将softmax推向梯度非常小的区域,梯度消失为0,造成参数更新困难
- 1 d k \frac{1}{\sqrt{d_k}} dk1 使得 D ( q k d k ) = 1 D(\frac{qk}{\sqrt{d_k}})=1 D(

本文解析Transformer模型的核心组件,包括Multi-head Attention的必要性、Q和K权重矩阵的区别、Scaled Dot-Product Attention的重要性、Attention机制相较于CNN和RNN的优势以及Attention的具体计算方式。此外,还介绍了残差网络、LayerNorm的应用场景,并探讨了Position Encoding的设计理念。
最低0.47元/天 解锁文章
202

被折叠的 条评论
为什么被折叠?



