Attention函数手册!

目标检测与深度学习

共 1121字,需浏览 3分钟

 ·

2021-04-25 11:33

前言

我们在实践的过程中发现,attention计算方式的不同对于不同的问题会有些许影响,有的时候影响还很大,所以在本文我们看看有哪些常用的attention函数。

权重函数

我们用Q,K,V分别表示Query,Key和Value。

我们将权重函数分为两个模块函数以及函数。

1.A(Q,K)计算方式


1.Concat策略

其中,表示连接的意思,该策略简单,在一些博客中说此类策略在大数据问题中效果较好,该计算方式来源于论文《NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE》

2.Minus

3.Add

4.Dot Product

Dot Product的形式最为简单,很多时候我们也经常会使用该函数作为Baseline,但是它的问题也很明显,虽然降低了模型计算复杂度,但是有时会因为相乘得到过大的值影响模型的效果。

5.Bilinear Dot

Bilinear Dot可以认为是Dot Product的扩展形式,有些情况下,Bilinear Dot的效果和Dot Product稍微好一些。

6.Scaled-dot Product

其中是特征的维度。

7.Content-Based

使用cosine距离替代了直接相乘,该计算方式来源于论文《Neural Turing Machines》。

8.扩展

从上面的诸多计算中,我们发现就像是在计算之间的距离,所以很多基于距离的函数都是可以套过来尝试一下的,下面是一些距离的列表,有兴趣的朋友可以比较一下。

2.f()计算

目前最常使用的计算方式主要有下面两种。

1.softmax函数

softmax函数是使用最多的函数也是最为常见的函数,在实践中往往也可以取得不错的效果。

2.TopN softmax

同样地,也是先使用softmax函数进行计算,然后取softmax最大的N个值进行保留,将其它的值全部设置为0,该方法曾经出现在一些推荐相关的问题建模中,可以取得非常不错的效果。

参考文献
  1. Attention基本公式及其变种
  2. Attention? Attention!
  3. [机器学习]常用距离定义与计算

✄------------------------------------------------


双一流高校研究生团队创建

专注于计算机视觉原创并分享相关知识☞

闻道有先后,术业有专攻,如是而已╮(╯_╰)╭


浏览 48
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报