PyTorch快餐教程2019 (2) - Multi-Head Attention

PyTorch快餐教程2019 (2) - Multi-Head Attention

上一节我们为了让一个完整的语言模型跑起来,可能给大家带来的学习负担过重了。没关系,我们这一节开始来还上节没讲清楚的债。

还记得我们上节提到的两个Attention吗?
两种Attention机制

上节我们给大家一个印象,现在我们正式开始介绍其原理。

Scaled Dot-Product Attention

首先说Scaled Dot-Product Attention,其计算公式为:
$
Attention(Q,K,V)=softmax(frac{QK^T}{sqrt{d_k}})V
$

Q乘以K的转置,再除以$d_k$的平方根进行缩放,经过一个可选的Mask,经过softmax之后,再与V相乘。
用代码实现如下:

def attention(query, key, value, mask=No

猜你喜欢

转载自yq.aliyun.com/articles/721927