注意力分数
注意力分数和注意力权重的区别:
扩展到高维
这里,q的数量和key-value对的数量可以不一致。q,k,v的维度都可以不同,最后得到的结果和v的维度一样。关键在于注意力分数a的设置。
加性注意力
h是超参数。Wk是从k映射到h维,Wq是从q映射到h。q,k,v这三个向量的维度可以不一样
scaled 点积注意力
q,k都是相同的维度,这里除以d还是为了减少输入长度的影响(类似于归一化)
有多个query,这里,每一行表示第i个query的权重是什么样子的,softmax也是对每一行做softmax,然后再和v相乘。
总结
- 注意力分数是query和key的相似度,注意力权重是分数softmax的结果。
- 两种常见的分数计算:
- 将query和key合并起来进入一个单输出单隐藏层的MLP
- 直接将query和key做内积
代码
在这里插入代码片