【NLP】Attention函数手册!

共 1252字,需浏览 3分钟

 ·

2021-04-23 17:27

作者:一元,四品炼丹师

前言

目前的诸多机器学习相关的问题,诸如推荐问题中的序列处理,时间序列的预测,文本分类等问题都会涉及到Attention函数的使用,Attention已经成为了这些问题在建模时的最为核心的模块。

而我们在实践的过程中发现,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. [机器学习]常用距离定义与计算

往期精彩回顾





  1. 适合初学者入门人工智能的路线及资料下载

  2. 机器学习及深度学习笔记等资料打印

  3. 机器学习在线手册

  4. 深度学习笔记专辑

  5. 《统计学习方法》的代码复现专辑

  6. AI基础下载

  7. 机器学习的数学基础专辑

  8. 温州大学《机器学习课程》视频

本站qq群851320808,加入微信群请扫码:

浏览 43
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

分享
举报