国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺談自然語言處理中的注意力機(jī)制

8g3K_AI_Thinker ? 來源:cc ? 2019-01-25 16:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

01

寫在前面

近些年來,注意力機(jī)制一直頻繁的出現(xiàn)在目之所及的文獻(xiàn)或者博文中,可見在NLP中算得上是個(gè)相當(dāng)流行的概念,事實(shí)也證明其在 NLP 領(lǐng)域散發(fā)出不小得作用。

這幾年的頂會(huì) paper 就能看出這一點(diǎn)。本文深入淺出地介紹了近些年的自然語言中的注意力機(jī)制包括從起源、變體到評(píng)價(jià)指標(biāo)方面。

據(jù) Lilian Weng 博主[1]總結(jié)以及一些資料顯示,Attention 機(jī)制最早應(yīng)該是在視覺圖像領(lǐng)域提出來的,這方面的工作應(yīng)該很多,歷史也比較悠久。

人類的視覺注意力雖然存在很多不同的模型,但它們都基本上歸結(jié)為給予需要重點(diǎn)關(guān)注的目標(biāo)區(qū)域(注意力焦點(diǎn))更重要的注意力,同時(shí)給予周圍的圖像低的注意力,然后隨著時(shí)間的推移調(diào)整焦點(diǎn)。

而直到 Bahdanau 等人[3]發(fā)表了論文《Neural Machine Translation by Jointly Learning to Align and Translate》,該論文使用類似 Attention 的機(jī)制在機(jī)器翻譯任務(wù)上將翻譯和對(duì)齊同時(shí)進(jìn)行。

這個(gè)工作目前是最被認(rèn)可為是第一個(gè)提出Attention 機(jī)制應(yīng)用到 NLP 領(lǐng)域中的工作,值得一提的是,該論文2015年被 ICLR 錄用,截至現(xiàn)在,谷歌引用量為5596,可見后續(xù)nlp在這一塊的研究火爆程度。

注意力機(jī)制首先從人類直覺中得到,在nlp領(lǐng)域的機(jī)器翻譯任務(wù)上首先取得不錯(cuò)的效果。簡而言之,深度學(xué)習(xí)中的注意力可以廣義地解釋為重要性權(quán)重的向量:

為了預(yù)測一個(gè)元素,例如句子中的單詞,使用注意力向量來估計(jì)它與其他元素的相關(guān)程度有多強(qiáng),并將其值的總和作為目標(biāo)的近似值。

既然注意力機(jī)制最早在 NLP 領(lǐng)域應(yīng)用于機(jī)器翻譯任務(wù),那在這個(gè)之前又是怎么做的呢?

傳統(tǒng)的基于短語的翻譯系統(tǒng)通過將源句分成多個(gè)塊然后逐個(gè)詞地翻譯它們來完成它們的任務(wù),這導(dǎo)致了翻譯輸出的不流暢。

不妨先來想想我們?nèi)祟愂侨绾畏g的?我們首先會(huì)閱讀整個(gè)待翻譯的句子,然后結(jié)合上下文理解其含義,最后產(chǎn)生翻譯。

從某種程度上來說,神經(jīng)機(jī)器翻譯(NMT)的提出正是想去模仿這一過程。而在NMT的翻譯模型中經(jīng)典的做法是由編碼器 - 解碼器架構(gòu)制定(encoder-decoder),用作 encoder 和 decoder 常用的是循環(huán)神經(jīng)網(wǎng)絡(luò)

這類模型大概過程是首先將源句子的輸入序列送入到編碼器中,提取最后隱藏狀態(tài)的表示并用于解碼器的輸入,然后一個(gè)接一個(gè)地生成目標(biāo)單詞,這個(gè)過程廣義上可以理解為不斷地將前一個(gè)時(shí)刻 t-1 的輸出作為后一個(gè)時(shí)刻 t 的輸入,循環(huán)解碼,直到輸出停止符為止。

通過這種方式,NMT解決了傳統(tǒng)的基于短語的方法中的局部翻譯問題:它可以捕獲語言中的長距離依賴性,并提供更流暢的翻譯。

但是這樣做也存在很多缺點(diǎn),譬如,RNN 是健忘的,這意味著前面的信息在經(jīng)過多個(gè)時(shí)間步驟傳播后會(huì)被逐漸消弱乃至消失。

其次,在解碼期間沒有進(jìn)行對(duì)齊操作,因此在解碼每個(gè)元素的過程中,焦點(diǎn)分散在整個(gè)序列中。對(duì)于前面那個(gè)問題,LSTM、GRU 在一定程度能夠緩解。而后者正是 Bahdanau 等人重視的問題。

02

Seq2Seq 模型

在介紹注意力模型之前,不得不先學(xué)習(xí)一波 Encoder-Decoder 框架,雖然說注意力模型可以看作一種通用的思想,本身并不依賴于特定框架(比如文章[15]:Learning Sentence Representation with Guidance of Human Attention),但是目前大多數(shù)注意力模型都伴隨在 Encoder-Decoder 框架下。

Seq2seq 模型最早由 bengio 等人[17]論文《Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation》。

隨后 Sutskever 等人[16]在文章《Sequence to Sequence Learning with Neural Networks》中提出改進(jìn)模型即為目前常說的 Seq2Seq 模型。

從廣義上講,它的目的是將輸入序列(源序列)轉(zhuǎn)換為新的輸出序列(目標(biāo)序列),這種方式不會(huì)受限于兩個(gè)序列的長度,換句話說,兩個(gè)序列的長度可以任意。

以 NLP 領(lǐng)域來說,序列可以是句子、段落、篇章等,所以我們也可以把它看作處理由一個(gè)句子(段落或篇章)生成另外一個(gè)句子(段落或篇章)的通用處理模型。

對(duì)于句子對(duì),我們期望輸入句子 Source,期待通過 Encoder-Decoder 框架來生成目標(biāo)句子Target。

Source 和 Target 可以是同一種語言,也可以是兩種不同的語言,若是不同語言,就可以處理翻譯問題了。

若是相同語言,輸入序列 Source 長度為篇章,而目標(biāo)序列 Target 為小段落則可以處理文本摘要問題 (目標(biāo)序列 Target 為句子則可以處理標(biāo)題生成問題)等等等。

seq2seq 模型通常具有編碼器 - 解碼器架構(gòu):

編碼器 encoder: 編碼器處理輸入序列并將序列信息壓縮成固定長度的上下文向量(語義編碼/語義向量 context)。期望這個(gè)向量能夠比較好的表示輸入序列的信息。

解碼器 decoder: 利用上下文向量初始化解碼器以得到變換后的目標(biāo)序列輸出。早期工作僅使用編碼器的最后狀態(tài)作為解碼器的輸入。

編碼器和解碼器都是循環(huán)神經(jīng)網(wǎng)絡(luò),比較常見的是使用 LSTM 或 GRU。

編碼器 - 解碼器模型

03

NLP 中注意力機(jī)制的起源

前面談到在 Seq2Seq 結(jié)構(gòu)中,encoder 把所有的輸入序列都編碼成一個(gè)統(tǒng)一的語義向量 context,然后再由 decoder 解碼。而 context 自然也就成了限制模型性能的瓶頸。

譬如機(jī)器翻譯問題,當(dāng)要翻譯的句子較長時(shí),一個(gè) context 可能存不下那么多信息。除此之外,只用編碼器的最后一個(gè)隱藏層狀態(tài),感覺上都不是很合理。

實(shí)際上當(dāng)我們翻譯一個(gè)句子的時(shí)候,譬如:Source: 機(jī)器學(xué)習(xí)-->Target: machine learning。當(dāng)decoder要生成"machine"的時(shí)候,應(yīng)該更關(guān)注"機(jī)器",而生成"learning"的時(shí)候,應(yīng)該給予"學(xué)習(xí)"更大的權(quán)重。

所以如果要改進(jìn)Seq2Seq結(jié)構(gòu),一個(gè)不錯(cuò)的想法自然就是利用 encoder 所有隱藏層狀態(tài)解決 context 限制問題。

Bahdanau等人[3]把 attention 機(jī)制用到了神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯(NMT)上。傳統(tǒng)的 encoder-decoder 模型通過 encoder 將 Source 序列編碼到一個(gè)固定維度的中間語義向量 context,然后再使用 decoder 進(jìn)行解碼翻譯到目標(biāo)語言序列。

前面談到了這種做法的局限性,而且,Bahdanau 等人[3]在其文章的摘要中也說到這個(gè) context 可能是提高這種基本編碼器 - 解碼器架構(gòu)性能的瓶頸,那 Bahdanau 等人又是如何嘗試緩解這個(gè)問題的呢? 別急,讓我們來一探究竟。

作者為了緩解中間向量 context 很難將 Source 序列所有重要信息壓縮進(jìn)來的問題,特別是對(duì)于那些很長的句子。提出在機(jī)器翻譯任務(wù)上在 encoder–decoder 做出了如下擴(kuò)展:將翻譯和對(duì)齊聯(lián)合學(xué)習(xí)。

這個(gè)操作在生成 Target 序列的每個(gè)詞時(shí),用到的中間語義向量context是Source序列通過 encoder 的隱藏層的加權(quán)和,而傳統(tǒng)的做法是只用 encoder 最后一個(gè)時(shí)刻輸出作為 context,這樣就能保證在解碼不同詞的時(shí)候,Source 序列對(duì)現(xiàn)在解碼詞的貢獻(xiàn)是不一樣的。

想想前面那個(gè)例子:Source: 機(jī)器學(xué)習(xí)-->Target: machine learning (假如中文按照字切分)。

decoder 在解碼"machine"時(shí),"機(jī)"和"器"提供的權(quán)重要更大一些,同樣,在解碼"learning"時(shí),"學(xué)"和"習(xí)"提供的權(quán)重相應(yīng)的會(huì)更大一些,這在直覺也和人類翻譯也是一致的。

通過這種 attention的 設(shè)計(jì),作者將 Source 序列的每個(gè)詞(通過encoder的隱藏層輸出)和 Target 序列 (當(dāng)前要翻譯的詞) 的每個(gè)詞巧妙的建立了聯(lián)系。

想一想,翻譯每個(gè)詞的時(shí)候,都有一個(gè)語義向量,而這個(gè)語義向量是Source序列每個(gè)詞通過 encoder 之后的隱藏層的加權(quán)和。

由此可以得到一個(gè) Source 序列和 Target序列的對(duì)齊矩陣,通過可視化這個(gè)矩陣,可以看出在翻譯一個(gè)詞的時(shí)候,Source 序列的每個(gè)詞對(duì)當(dāng)前要翻譯詞的重要性分布,這在直覺上也能給人一種可解釋性的感覺。

論文中的圖也能很好的看出這一點(diǎn):

生成第t個(gè)目標(biāo)詞

更形象一點(diǎn)可以看這個(gè)圖:

現(xiàn)在讓我們從公式層面來看看這個(gè)東東 (加粗變量表示它們是向量,這篇文章中的其他地方也一樣)。 假設(shè)我們有一個(gè)長度為n的源序列x,并嘗試輸出長度為m的目標(biāo)序列y:

作者采樣bidirectional RNN作為encoder(實(shí)際上這里可以有很多選擇),具有前向隱藏狀態(tài)和后向隱藏狀態(tài)。為了獲得詞的上下文信息,作者采用簡單串聯(lián)方式將前向和后向表示拼接作為encoder的隱藏層狀態(tài),公式如下:

對(duì)于目標(biāo)(輸出)序列的每個(gè)詞(假設(shè)位置為t),decoder網(wǎng)絡(luò)的隱藏層狀態(tài):

其中,語義向量 是源(輸入)序列的隱藏狀態(tài)的加權(quán)和,權(quán)重為對(duì)齊分?jǐn)?shù):

(注意:這里的score函數(shù)為原文的a函數(shù),原文的描述為:is an alignment model)

對(duì)齊模型基于(在i時(shí)刻的輸入)和(在t時(shí)刻的輸出)的匹配程度分配分?jǐn)?shù)

在Bahdanau[3]的論文中,作者采用的對(duì)齊模型為前饋神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)與所提出的系統(tǒng)的所有其他組件共同訓(xùn)練。因此,score函數(shù)采用以下形式,tanh用作非線性激活函數(shù),公式如下:

其中和都是在對(duì)齊模型中學(xué)習(xí)的權(quán)重矩陣。對(duì)齊分?jǐn)?shù)矩陣是一個(gè)很好的可解釋性的東東,可以明確顯示源詞和目標(biāo)詞之間的相關(guān)性。

對(duì)齊矩陣?yán)?/p>

而decoder每個(gè)詞的條件概率為:

g為非線性的,可能是多層的輸出概率的函數(shù),是RNN的隱藏狀態(tài), 為語義向量。

04

NLP中的注意力機(jī)制

隨著注意力機(jī)制的廣泛應(yīng)用,在某種程度上緩解了源序列和目標(biāo)序列由于距離限制而難以建模依賴關(guān)系的問題。現(xiàn)在已經(jīng)涌現(xiàn)出了一大批基于基本形式的注意力的不同變體來處理更復(fù)雜的任務(wù)。讓我們一起來看看其在不同NLP問題中的注意力機(jī)制。

其實(shí)我們可能已經(jīng)意識(shí)到了,對(duì)齊模型的設(shè)計(jì)不是唯一的,確實(shí),在某種意義上說,根據(jù)不同的任務(wù)設(shè)計(jì)適應(yīng)于特定任務(wù)的對(duì)齊模型可以看作設(shè)計(jì)出了新的attention變體,讓我們?cè)倩剡^頭來看看這個(gè)對(duì)齊模型(函數(shù)):。再來看看幾個(gè)代表性的work。

Citation[5]等人提出Content-base attention,其對(duì)齊函數(shù)模型設(shè)計(jì)為:

Bahdanau[3]等人的Additive(*),其設(shè)計(jì)為:

Luong[4]等人文獻(xiàn)包含了幾種方式:

以及Luong[4]等人還嘗試過location-based function:

這種方法的對(duì)齊分?jǐn)?shù)僅從目標(biāo)隱藏狀態(tài)學(xué)習(xí)得到。

Vaswani[6]等人的Scaled Dot-Product(^):

細(xì)心的童鞋可能早就發(fā)現(xiàn)了這東東和點(diǎn)積注意力很像,只是加了個(gè)scale factor。當(dāng)輸入較大時(shí),softmax函數(shù)可能具有極小的梯度,難以有效學(xué)習(xí),所以作者加入比例因子

Cheng[7]等人的Self-Attention(&)可以關(guān)聯(lián)相同輸入序列的不同位置。 從理論上講,Self-Attention可以采用上面的任何 score functions。在一些文章中也稱為“intra-attention” 。

Hu[7]對(duì)此分了個(gè)類:

前面談到的一些Basic Attention給人的感覺能夠從序列中根據(jù)權(quán)重分布提取重要元素。而Multi-dimensional Attention能夠捕獲不同表示空間中的term之間的多個(gè)交互,這一點(diǎn)簡單的實(shí)現(xiàn)可以通過直接將多個(gè)單維表示堆疊在一起構(gòu)建。

Wang[8]等人提出了coupled multi-layer attentions,該模型屬于多層注意力網(wǎng)絡(luò)模型。作者稱,通過這種多層方式,該模型可以進(jìn)一步利用術(shù)語之間的間接關(guān)系,以獲得更精確的信息。

05

Hierarchical Attention

再來看看Hierarchical Attention,Yang[9]等人提出了Hierarchical Attention Networks,看下面的圖可能會(huì)更直觀:

Hierarchical Attention Networks

這種結(jié)構(gòu)能夠反映文檔的層次結(jié)構(gòu)。模型在單詞和句子級(jí)別分別設(shè)計(jì)了兩個(gè)不同級(jí)別的注意力機(jī)制,這樣做能夠在構(gòu)建文檔表示時(shí)區(qū)別地對(duì)待這些內(nèi)容。

Hierarchical attention 可以相應(yīng)地構(gòu)建分層注意力,自下而上(即,詞級(jí)到句子級(jí))或自上而下(詞級(jí)到字符級(jí)),以提取全局和本地的重要信息。

自下而上的方法上面剛談完。那么自上而下又是如何做的呢?讓我們看看Ji[10]等人的模型:

Nested Attention Hybrid Model

和機(jī)器翻譯類似,作者依舊采用encoder-decoder架構(gòu),然后用word-level attention對(duì)全局語法和流暢性糾錯(cuò),設(shè)計(jì)character-level attention對(duì)本地拼寫錯(cuò)誤糾正。

06

Self-Attention

那Self-Attention又是指什么呢?

Self-Attention(自注意力),也稱為intra-attention(內(nèi)部注意力),是關(guān)聯(lián)單個(gè)序列的不同位置的注意力機(jī)制,以便計(jì)算序列的交互表示。它已被證明在很多領(lǐng)域十分有效比如機(jī)器閱讀,文本摘要或圖像描述生成。

比如Cheng[11]等人在機(jī)器閱讀里面利用了自注意力。當(dāng)前單詞為紅色,藍(lán)色陰影的大小表示激活程度,自注意力機(jī)制使得能夠?qū)W習(xí)當(dāng)前單詞和句子前一部分詞之間的相關(guān)性。

當(dāng)前單詞為紅色,藍(lán)色陰影的大小表示激活程度

比如Xu[12]等人利用自注意力在圖像描述生成任務(wù)。注意力權(quán)重的可視化清楚地表明了模型關(guān)注的圖像的哪些區(qū)域以便輸出某個(gè)單詞。

我們假設(shè)序列元素為,其匹配向量為。讓我們?cè)賮砘仡櫹虑懊嬲f的基本注意力的對(duì)齊函數(shù),attention score通過計(jì)算得到,由于是通過將外部u與每個(gè)元素匹配來計(jì)算注意力,所以這種形式可以看作是外部注意力。

當(dāng)我們把外部u替換成序列本身(或部分本身),這種形式就可以看作為內(nèi)部注意力(internal attention)。

我們根據(jù)文章[7]中的例子來看看這個(gè)過程,例如句子:"Volleyball match is in progress between ladies"。

句子中其它單詞都依賴著"match",理想情況下,我們希望使用自注意力來自動(dòng)捕獲這種內(nèi)在依賴。

換句話說,自注意力可以解釋為,每個(gè)單詞去和V序列中的內(nèi)部模式匹配,匹配函數(shù)

很自然的選擇為V中其它單詞 ,這樣遍可以計(jì)算成對(duì)注意力得分。為了完全捕捉序列中單詞之間的復(fù)雜相互作用,我們可以進(jìn)一步擴(kuò)展它以計(jì)算序列中每對(duì)單詞之間的注意力。這種方式讓每個(gè)單詞和序列中其它單詞交互了關(guān)系。

另一方面,自注意力還可以自適應(yīng)方式學(xué)習(xí)復(fù)雜的上下文單詞表示。譬如經(jīng)典文章[14]:A structured self-attentive sentence embedding。

這篇文章提出了一種通過引入自關(guān)注力機(jī)制來提取可解釋句子嵌入的新模型。 使用二維矩陣而不是向量來代表嵌入,矩陣的每一行都在句子的不同部分,想深入了解的可以去看看這篇文章,另外,文章的公式感覺真的很漂亮。

值得一提還有2017年谷歌提出的Transformer[6],這是一種新穎的基于注意力的機(jī)器翻譯架構(gòu),也是一個(gè)混合神經(jīng)網(wǎng)絡(luò),具有前饋層和自注意層。

論文的題目挺霸氣:Attention is All you Need,毫無疑問,它是2017年最具影響力和最有趣的論文之一。那這篇文章的Transformer的廬山真面目到底是這樣的呢?

這篇文章為提出許多改進(jìn),在完全拋棄了RNN的情況下進(jìn)行seq2seq建模。接下來一起來詳細(xì)看看吧。

Key, Value and Query

眾所周知,在NLP任務(wù)中,通常的處理方法是先分詞,然后每個(gè)詞轉(zhuǎn)化為對(duì)應(yīng)的詞向量。接著一般最常見的有二類操作:

第一類是接RNN(變體LSTM、GRU、SRU等),但是這一類方法沒有擺脫時(shí)序這個(gè)局限,也就是說無法并行,也導(dǎo)致了在大數(shù)據(jù)集上的速度效率問題。

第二類是接CNN,CNN方便并行,而且容易捕捉到一些全局的結(jié)構(gòu)信息。很長一段時(shí)間都是以上二種的抉擇以及改造,直到谷歌提供了第三類思路:純靠注意力,也就是現(xiàn)在要講的這個(gè)東東。

將輸入序列編碼表示視為一組鍵值對(duì)(K,V)以及查詢 Q,因?yàn)槲恼耓6]取K=V=Q,所以也自然稱為Self Attention。

K, V 像是 key-value 的關(guān)系從而是一一對(duì)應(yīng)的,那么上式的意思就是通過Q中每個(gè)元素query,與K中各個(gè)元素求內(nèi)積然后 softmax 的方式,來得到Q中元素與V中元素的相似度,然后加權(quán)求和,得到一個(gè)新的向量。

其中因子為了使得內(nèi)積不至于太大。以上公式在文中也稱為點(diǎn)積注意力(scaled dot-product attention):輸出是值的加權(quán)和,其中分配給每個(gè)值的權(quán)重由查詢的點(diǎn)積與所有鍵確定。

而Transformer主要由多頭自注意力(Multi-Head Self-Attention)單元組成。那么Multi-Head Self-Attention又是什么呢?以下為論文中的圖:

Multi-head scaled dot-product attention mechanism

Multi-Head Self-Attention不是僅僅計(jì)算一次注意力,而是多次并行地通過縮放的點(diǎn)積注意力。 獨(dú)立的注意力輸出被簡單地連接并線性地轉(zhuǎn)換成預(yù)期的維度。

論文[6]表示,多頭注意力允許模型共同關(guān)注來自不同位置的不同表示子空間的信息。 只有一個(gè)注意力的頭,平均值就會(huì)抑制這一點(diǎn)。

是需要學(xué)習(xí)的參數(shù)矩陣。既然為seq2seq模式,自然也包括encoder和decoder,那這篇文章又是如何構(gòu)建這些的呢?莫急,請(qǐng)繼續(xù)往下看。

Encoder

The transformer's encoder

編碼器生成基于自注意力的表示,其能夠從可能無限大的上下文中定位特定信息。值得一提的是,上面的結(jié)構(gòu)文章堆了六個(gè)。

每層都有一個(gè)多頭自注意力層

每層都有一個(gè)簡單的全連接的前饋網(wǎng)絡(luò)

每個(gè)子層采用殘差連接和層規(guī)范化。 所有子層輸出相同維度dmodel = 512。

Decoder

The transformer's decoder.

解碼器能夠從編碼表示中檢索。上面的結(jié)構(gòu)也堆了六個(gè)。

每層有兩個(gè)多頭注意機(jī)制子層。

每層有一個(gè)完全連接的前饋網(wǎng)絡(luò)子層。

與編碼器類似,每個(gè)子層采用殘差連接和層規(guī)范化。

與encoder不同的是,第一個(gè)多頭注意子層被設(shè)計(jì)成防止關(guān)注后續(xù)位置,因?yàn)槲覀儾幌M陬A(yù)測當(dāng)前位置時(shí)查看目標(biāo)序列的未來。最后來看一看整體架構(gòu):

The full model architecture of the transformer.

07

Memory-based Attention

那Memory-based Attention又是什么呢?我們先換種方式來看前面的注意力,假設(shè)有一系列的鍵值對(duì) 存在內(nèi)存中和查詢向量q,這樣便能重寫為以下過程:

這種解釋是把注意力作為使用查詢q的尋址過程,這個(gè)過程基于注意力分?jǐn)?shù)從memory中讀取內(nèi)容。聰明的童鞋肯定已經(jīng)發(fā)現(xiàn)了,如果我們假設(shè),這不就是前面談到的基礎(chǔ)注意力么?

然而,由于結(jié)合了額外的函數(shù),可以實(shí)現(xiàn)可重用性和增加靈活性,所以Memory-based attention mechanism可以設(shè)計(jì)得更加強(qiáng)大。

那為什么又要這樣做呢?在nlp的一些任務(wù)上比如問答匹配任務(wù),答案往往與問題間接相關(guān),因此基本的注意力技術(shù)就顯得很無力了。

那處理這一任務(wù)該如何做才好呢?這個(gè)時(shí)候就體現(xiàn)了Memory-based attention mechanism的強(qiáng)大了,譬如Sukhbaatar[19]等人通過迭代內(nèi)存更新(也稱為多跳)來模擬時(shí)間推理過程,以逐步引導(dǎo)注意到答案的正確位置:

在每次迭代中,使用新內(nèi)容更新查詢,并且使用更新的查詢來檢索相關(guān)內(nèi)容。一種簡單的更新方法為相加。那么還有其它更新方法么?

當(dāng)然有,直覺敏感的童鞋肯定想到了,光是這一點(diǎn),就可以根據(jù)特定任務(wù)去設(shè)計(jì),比如Kuma[13]等人的工作。這種方式的靈活度也體現(xiàn)在key和value可以自由的被設(shè)計(jì),比如我們可以自由地將先驗(yàn)知識(shí)結(jié)合到key和value嵌入中,以允許它們分別更好地捕獲相關(guān)信息。看到這里是不是覺得文章灌水其實(shí)也不是什么難事了。

08

Soft/Hard Attention

最后想再談?wù)凷oft/Hard Attention,是因?yàn)樵诤芏嗟胤蕉伎吹搅诉@個(gè)名詞。

據(jù)我所知,這個(gè)概念由《Show, Attend and Tell: Neural Image Caption Generation with Visual Attention》提出,這是對(duì)attention另一種分類。

SoftAttention本質(zhì)上和Bahdanau等人[3]很相似,其權(quán)重取值在0到1之間,而Hard Attention取值為0或者1。

09

Global/Local Attention

Luong等人[4]提出了Global Attention和Local Attention。Global Attention本質(zhì)上和Bahdanau等人[3]很相似。

Global方法顧名思義就是會(huì)關(guān)注源句子序列的所有詞,具體地說,在計(jì)算語義向量時(shí),會(huì)考慮編碼器所有的隱藏狀態(tài)。

而在Local Attention中,計(jì)算語義向量時(shí)只關(guān)注每個(gè)目標(biāo)詞的一部分編碼器隱藏狀態(tài)。

由于Global方法必須計(jì)算源句子序列所有隱藏狀態(tài),當(dāng)句子長度過長會(huì)使得計(jì)算代價(jià)昂貴并使得翻譯變得不太實(shí)際,比如在翻譯段落和文檔的時(shí)候。

10

評(píng)價(jià)指標(biāo)

在看一些帶有attention的paper時(shí),常常會(huì)伴隨著為了說明自己文章attention是work的實(shí)驗(yàn),但實(shí)際上嘗試提供嚴(yán)格數(shù)學(xué)證明的文章極少。

Hu[7]把Attention的評(píng)價(jià)方式分為兩類,Quantitative(定量指標(biāo))和Qualitative(定性指標(biāo))。

定量指標(biāo)顧名思義就是對(duì)attention的貢獻(xiàn)就行量化,這一方面一般會(huì)結(jié)合下游任務(wù),最常見的當(dāng)屬機(jī)器翻譯,我們都知道機(jī)器翻譯的最流行評(píng)價(jià)指標(biāo)之一是BLEU。

我們可以在翻譯任務(wù)設(shè)計(jì)attention和不加attention進(jìn)行對(duì)比,對(duì)比的指標(biāo)就是BLEU,設(shè)置我們可以設(shè)計(jì)多種不同的attention進(jìn)行對(duì)比。

定性指標(biāo)評(píng)價(jià)是目前應(yīng)用最廣泛的評(píng)價(jià)技術(shù),因?yàn)樗唵我仔校阌诳梢暬?/p>

具體做法一般都是為整個(gè)句子構(gòu)建一個(gè)熱力圖,其熱力圖強(qiáng)度與每個(gè)單詞接收到的標(biāo)準(zhǔn)化注意力得分成正比。

也就是說,詞的貢獻(xiàn)越大,顏色越深。其實(shí)這在直覺上也是能夠接收的,因?yàn)橥嚓P(guān)任務(wù)的關(guān)鍵詞的attention權(quán)值肯定要比其它詞重要。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 自然語言處理
    +關(guān)注

    關(guān)注

    1

    文章

    630

    瀏覽量

    14665
  • nlp
    nlp
    +關(guān)注

    關(guān)注

    1

    文章

    491

    瀏覽量

    23280

原文標(biāo)題:自然語言處理中注意力機(jī)制綜述

文章出處:【微信號(hào):AI_Thinker,微信公眾號(hào):人工智能頭條】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    方舟現(xiàn)已正式開源官方Skills倉庫Moark Skills

    方舟現(xiàn)已正式開源官方 Skills 倉庫 Moark Skills,首批上線圖像生成、OCR、文檔內(nèi)容提取和文本合規(guī)審查四個(gè)技能模塊。開發(fā)者和用戶只需將技能文件導(dǎo)入 OpenClaw,Agent 即可通過自然語言直接調(diào)用這些能力,省去從零對(duì)接各類 API 的重復(fù)工作。
    的頭像 發(fā)表于 03-03 16:47 ?1015次閱讀
    模<b class='flag-5'>力</b>方舟現(xiàn)已正式開源官方Skills倉庫Moark Skills

    自然語言處理NLP的概念和工作原理

    自然語言處理 (NLP) 是人工智能 (AI) 的一個(gè)分支,它會(huì)教計(jì)算機(jī)如何理解口頭和書面形式的人類語言自然語言處理將計(jì)算
    的頭像 發(fā)表于 01-29 14:01 ?357次閱讀
    <b class='flag-5'>自然語言</b><b class='flag-5'>處理</b>NLP的概念和工作原理

    自然場景下注意力如何耳周腦電可靠監(jiān)測

    HUIYING自然聽覺注意力概述聽覺注意力是大腦在復(fù)雜聽覺場景中選擇相關(guān)信息、抑制無關(guān)信息的重要認(rèn)知功能。傳統(tǒng)研究多在實(shí)驗(yàn)室內(nèi)使用笨重設(shè)備與人工刺激進(jìn)行,限制了其生態(tài)效度。本研究采用語音包絡(luò)跟蹤、被
    的頭像 發(fā)表于 12-05 18:03 ?3925次閱讀
    <b class='flag-5'>自然</b>場景下<b class='flag-5'>注意力</b>如何耳周腦電可靠監(jiān)測

    語言模型如何處理上下文窗口中的輸入

    本博客介紹了五個(gè)基本概念,闡述了大語言模型如何處理上下文窗口中的輸入。通過明確的例子和實(shí)踐獲得的見解,本文介紹了多個(gè)與上下文窗口有關(guān)的基本概念,如詞元化、序列長度和注意力等。
    的頭像 發(fā)表于 12-03 13:48 ?591次閱讀
    大<b class='flag-5'>語言</b>模型如何<b class='flag-5'>處理</b>上下文窗口中的輸入

    云知聲論文入選自然語言處理頂會(huì)EMNLP 2025

    近日,自然語言處理(NLP)領(lǐng)域國際權(quán)威會(huì)議 ——2025 年計(jì)算語言學(xué)與自然語言處理國際會(huì)議(EMNLP 2025)公布論文錄用結(jié)果,云知
    的頭像 發(fā)表于 11-10 17:30 ?800次閱讀
    云知聲論文入選<b class='flag-5'>自然語言</b><b class='flag-5'>處理</b>頂會(huì)EMNLP 2025

    小白學(xué)大模型:大模型加速的秘密 FlashAttention 1/2/3

    在Transformer架構(gòu)注意力機(jī)制的計(jì)算復(fù)雜度與序列長度(即文本長度)呈平方關(guān)系()。這意味著,當(dāng)模型需要處理更長的文本時(shí)(比如從幾千個(gè)詞到幾萬個(gè)詞),計(jì)算時(shí)間和所需的內(nèi)存會(huì)急
    的頭像 發(fā)表于 09-10 09:28 ?4796次閱讀
    小白學(xué)大模型:大模型加速的秘密 FlashAttention 1/2/3

    HarmonyOSAI編程自然語言代碼生成

    安裝CodeGenie后,在下方對(duì)話框內(nèi),輸入代碼需求描述,將根據(jù)描述智能生成代碼,生成內(nèi)容可一鍵復(fù)制或一鍵插入至編輯區(qū)當(dāng)前光標(biāo)位置。 提問示例 使用ArkTs語言寫一段代碼,在頁面中間部分
    發(fā)表于 09-05 16:58

    【HZ-T536開發(fā)板免費(fèi)體驗(yàn)】5- 無需死記 Linux 命令!用 CangjieMagic 在 HZ-T536 開發(fā)板上搭建 MCP 服務(wù)器,自然語言輕松控板

    引言:為什么需要 “自然語言控板”? 痛點(diǎn)引入 :嵌入式開發(fā),開發(fā)者常需通過 SSH 等工具登錄開發(fā)板,手動(dòng)輸入復(fù)雜的 Linux 命令(如ls -l、gpio readall、ifconfig等
    發(fā)表于 08-23 13:10

    如何在NVIDIA Blackwell GPU上優(yōu)化DeepSeek R1吞吐量

    開源 DeepSeek R1 模型的創(chuàng)新架構(gòu)包含多頭潛在注意力機(jī)制 (MLA) 和大型稀疏混合專家模型 (MoE),其顯著提升了大語言模型 (LLM) 的推理效率。
    的頭像 發(fā)表于 08-12 15:19 ?4262次閱讀
    如何在NVIDIA Blackwell GPU上優(yōu)化DeepSeek R1吞吐量

    人工智能浪潮下,制造企業(yè)如何借DeepSeek實(shí)現(xiàn)數(shù)字化轉(zhuǎn)型?

    DeepSeek,憑借其強(qiáng)大的深度學(xué)習(xí)和自然語言處理能力,能夠理解復(fù)雜問題并提供精準(zhǔn)解決方案。它不僅能夠作為學(xué)習(xí)、工作、生活的助手,滿足用戶在不同場景下的需求,更能在制造業(yè)中發(fā)揮重要作用。通過自然語言交互,用戶無需學(xué)習(xí)復(fù)雜的操作
    的頭像 發(fā)表于 05-29 16:17 ?649次閱讀

    云知聲四篇論文入選自然語言處理頂會(huì)ACL 2025

    近日,第63屆國際計(jì)算語言學(xué)年會(huì)ACL 2025(Annual Meeting of the Association for Computational Linguistics,簡稱ACL)論文接收
    的頭像 發(fā)表于 05-26 14:15 ?1310次閱讀
    云知聲四篇論文入選<b class='flag-5'>自然語言</b><b class='flag-5'>處理</b>頂會(huì)ACL 2025

    經(jīng)顱電刺激適應(yīng)癥之tDCS治療注意力缺陷ADHD

    ADHD是常見神經(jīng)行為障礙,癥狀包括注意力不集中、多動(dòng)和沖動(dòng),兒童和青少年患病率為5%-7.2%,成人在1%-10%,男孩多于女孩,成年后部分癥狀會(huì)持續(xù),引發(fā)多種并發(fā)癥,給個(gè)人、家庭和社會(huì)帶來
    的頭像 發(fā)表于 04-22 19:49 ?143次閱讀
    經(jīng)顱電刺激適應(yīng)癥之tDCS治療<b class='flag-5'>注意力</b>缺陷ADHD

    自然語言處理的發(fā)展歷程和應(yīng)用場景

    你是否曾經(jīng)對(duì)著手機(jī)說:“嘿,Siri,今天天氣怎么樣?”或者在出國旅行時(shí),打開翻譯軟件,對(duì)著菜單說:“請(qǐng)把這道菜翻譯成英文”。
    的頭像 發(fā)表于 04-17 11:40 ?1327次閱讀

    自然語言提示原型在英特爾Vision大會(huì)上首次亮相

    在英特爾Vision大會(huì)上,Network Optix首次展示了自然語言提示原型,該方案將重新定義視頻管理,為各行各業(yè)由AI驅(qū)動(dòng)的洞察和效率提速。
    的頭像 發(fā)表于 04-09 09:30 ?958次閱讀

    ?VLM(視覺語言模型)?詳細(xì)解析

    視覺語言模型(Visual Language Model, VLM)是一種結(jié)合視覺(圖像/視頻)和語言(文本)處理能力的多模態(tài)人工智能模型,能夠理解并生成與視覺內(nèi)容相關(guān)的自然語言。以下
    的頭像 發(fā)表于 03-17 15:32 ?8823次閱讀
    ?VLM(視覺<b class='flag-5'>語言</b>模型)?詳細(xì)解析