【NLP】Attention函数手册!
作者:一元,四品煉丹師
前言
目前的諸多機器學習相關的問題,諸如推薦問題中的序列處理,時間序列的預測,文本分類等問題都會涉及到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,該方法曾經出現在一些推薦相關的問題建模中,可以取得非常不錯的效果。
參考文獻
Attention基本公式及其變種
Attention? Attention!
[機器學習]常用距離定義與計算
總結
以上是生活随笔為你收集整理的【NLP】Attention函数手册!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腾讯视频如何移出其他观看腾讯视频的设备
- 下一篇: 钉钉电脑版怎么创建共享文件 钉钉文件共享