注意力機制在NLP問題中的應用


在這篇文章中將總結注意力機制在NLP問題中的應用。

參考論文:An Introductory Survey on Attention Mechanisms in NLP Problems

https://arxiv.org/pdf/1811.05544.pdf

1.基礎的注意力機制的形式

直觀理解:輸入兩個向量,輸出一個分數

1.1傳統的注意機制形式:

(1)計算注意力機制的分數(2)正則化(3)根據注意力機制進行整合輸入

 在步驟(1)計算注意力機制的分數時,常用的有三種方式:

a.乘法方式(Multiplicative)

乘法方式就是簡單地將兩個向量做點乘計算,得到注意力分數。由於該種計算方式比較簡單,因此常用做詞語的計算(詞語必須通過同意語料訓練,不能用來搜索知識)。

此外該種方式由於向量的長度可能存在不同,因此嘗試用中間乘一個矩陣來完成計算。

 

b.加法方式(Additive)

 加法方式通常是指將uv拼接到一起,然后通過矩陣運算,再通過非線性變換等方式進行。

顯然,加法方式比乘法方式復雜一些,因此他可以再機器學習任務中可能會學到有更強的能力。

c.全連接方式

 全連接方式顯然經過了更多的運算,因此常用有更強的能力。

 

2.討論在不同任務中注意力機制的變種

2.1舉例分析

在自然語言處理任務中,這些注意力機制往往不能滿足我們的要求。

以基於知識的問答問題為例:

 從例子中,傳統的注意力機制很難從問題找到句子(4)。

 

2.2注意力機制

本節會介紹:多維注意力機制(multi-dimensional attention),層次注意力機制(hierachical attention),自注意力機制(self attention),記憶網絡(memory-based attention), 特定任務注意力(task specific attention)

 

 (1)多維注意力機制(例如tranformer的multi-head)

出發點:捕捉“源”與“目標”在不同表示空間中的多個聯系。

 Wk表示的維度為N*N,多維注意力機制就是將單個注意力機制的輸出拼接起來。可以將其理解為在不同的層面做相似計算。

 (2)層次注意力機制

以短文本分類為例,在分類中每個詞的貢獻程度可能不同,詞可以成為相應對的clue。因為文本的組成形式為:字母(字)=>詞=>句子=>文章。在長文本中,句子也自然成為相應的clue。

層次注意的結構有從底至上(詞->句子),也有從頂至下(句子->詞)。

a.從底至上的形式(目標得到文檔級別的輸出)

以文檔分類分類為例,通常是構建詞級別和句子級別的編碼器,通常的形式如下:

 

 b.從頂至下的形式(目標是詞級別的輸出)

以語法糾錯為例,我們首先需要明白該句話的意思,來限制修改句子的大體,然后才需要關注到不同的詞。

  (3)自注意機制

傳統的注意力機制是根據patterrn u和一個sequence{Vi},從而計算u和Vi的相關分數。自注意力機制的目標就是使用sequence中的元素作為相應的pattern。

目的:(1)是抓住句子中本身存在的關系。(2)以自注意力模型以自適應形式的方式學習復雜的上下問的token表示。

self attention獲取的關系我們可以大致分為兩類:詞義間的關系、句子結構的關系。具體抓住了什么關系,我們使用自適應的形式。

(4)記憶網絡

記憶網絡中,存在一個query和一個存儲記憶信息的序列。

注意機制的形式可以被根據如下理解:

 

 記憶網絡與普通的注意力機制相比,增加了可迭代單元,即將閱讀到的信息重新增加到query中,這樣的增加機制是因為答案和問題可能是簡介相關的。此外,由於query和key都是顯示表示,因此可以結合先驗知識甚至人為設計。

以下是記憶網絡的結構:

 例子:

(5)特定任務的注意力機制

針對具體的不同任務,我們可以設計不同的注意力機制。

例如我們可以根據pagerank的思想,根據其相關鏈接的多少,提出對應的注意力機制。

....

3.注意力機制可以用來做什么

1.Ensemble

如果我們將序列中的元素看作是獨立的,則相關系數則是他們的權重。因此我們可以通過權重加權求和得到該元素的ensumble結果。

以詞向量為例,我們使用加權多個詞向量,能夠得到相應的中間詞向量來獲得更好的表征能力。

2.gating

使用注意力機制可以使用門機制的控制。

原本的GRU

注意力門控的GRU 

 3.Pre-training

預訓練模型旨在通過大規模的語料庫,來訓練詞語的表征能力。在Bert之類的模型中,顯然通過注意力機制增加了模型的表征能力。

在我們使用Bert等預訓練模型作為詞向量嵌入時,由於其多層結構,越底層提取的越是詞級別的信息,因此在具體任務中國通常可以把幾個層使用注意的形式加到一起,以獲得更好的詞語表征效果。

4.未來

注意力機制是一個很成功的機器學習方法,但它也存在一些缺點。例如序列中的元素過多時,就會導致注意分數變得平均。此外,如何設計相應的query也是目前比較困難的問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM