久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Multi-Head-Attention的作用

 漢無(wú)為 2023-09-25

導(dǎo)語(yǔ)

      如果有人問(wèn)你,,Multi-Head-Attention的作用是什么?這個(gè)八股文一般的問(wèn)題相信大家也都司空見(jiàn)慣了,《Attention Is All You Need》這篇文章中作者解釋的原話是:將隱狀態(tài)向量分成多個(gè)頭,,形成多個(gè)子語(yǔ)義空間,可以讓模型去關(guān)注不同維度語(yǔ)義空間的信息,。不過(guò)真的是這樣的嗎,?如果是,這些子語(yǔ)義空間,、不同維度的語(yǔ)義空間信息到底指的是什么,?

       本文欲對(duì)工作、學(xué)術(shù)中有可能出現(xiàn)的一些Multi-Head-Attention的疑問(wèn)進(jìn)行探討,,盡可能的用通俗 的語(yǔ)言和可視化的方法展現(xiàn)出Multi-Head-Attention的內(nèi)部運(yùn)作邏輯,,涉及問(wèn)題點(diǎn):

  1.        如何理解Self-Attention?Attention矩陣怎么讀,?為什么要scale,?為什么要用Self-Attention?(基礎(chǔ)知識(shí)鋪墊)

  2.        Multi-Head-Attention的作用到底是什么,?(本文的核心討論點(diǎn))

1.Self-Attention

圖片

1.1 Attention矩陣應(yīng)該怎么讀,?

一些文章里漫天飛舞的Attention矩陣的熱力圖,看的懵懵的,,到底應(yīng)該怎么理解,?比如'王者榮耀怎么玩’這句話某一頭的Attention矩陣熱力圖如下所示,該怎么理解,? 

圖片

圖片

圖片

Word2Vec

以ELMo為首的雙向LSTM,、RNN類(lèi)語(yǔ)言模型,LSTM擁有長(zhǎng)短時(shí)記憶門(mén)和循環(huán)輸入序列計(jì)算的機(jī)制,,可以關(guān)注到第i個(gè)單詞前的i-1個(gè)單詞的信息,,對(duì)文本進(jìn)行前向和后向的建模后,將前,、后向得到的隱狀態(tài)embedding拼接起來(lái)就可以得到第i個(gè)單詞的表達(dá),,這其實(shí)也做到了前后向信息的交互。

圖片

圖片

圖片

圖片

圖片

圖片

圖片

圖片

圖片

多頭注意力圖解

圖片

圖片

4條query的第1層attention pattern

對(duì)同樣的4條query最后一層的多頭attention熱力圖也做了一個(gè)輸出,,如下:

圖片

4條query的第4層attention pattern

圖片

圖片

4條query的12個(gè)頭的attention pattern

可以看到,,第1~6、8,、10~12head的pattern在破壞了語(yǔ)法/句法/詞法前后都幾乎沒(méi)有任何改變:

圖片

4條query的1~6頭的attention pattern

只有7,、9發(fā)生了明顯預(yù)期的語(yǔ)法/詞法層面的注意力改變。詞法層面,,可以看到拆開(kāi)了“怎么”,、“王者”這樣的常見(jiàn)詞組,第7、9head詞語(yǔ)之間的注意力依然保持原來(lái)的相對(duì)水準(zhǔn)沒(méi)太大變化:

圖片

4條query的第7,、9頭的attention pattern

句法層面,,對(duì)于'王者榮耀怎么玩', '怎么玩王榮者耀'這兩句互為倒裝句的query:

圖片

可以看到第7個(gè)head,這兩句倒裝句的倒裝主體之內(nèi)的注意力是差不多的,,即紅框和綠框中的pattern在倒裝后依然后相似的pattern,,但是第9個(gè)head在倒裝后上下黃框和綠框之間的pattern就發(fā)生了比較明顯的變化。

筆者大量采樣query,,破壞語(yǔ)法/詞法結(jié)構(gòu)后觀察多頭pattern熱力圖,,發(fā)現(xiàn)這個(gè)規(guī)律非常明顯,因此可以說(shuō)明該BERT底層第7個(gè)head記錄下了語(yǔ)法和詞法層面的pattern,,第9個(gè)head只有詞法層面的pattern,。

那對(duì)于第1、3,、4,、5、11,、12這些頭就可以直接將其剪枝刪除掉或者只保留一個(gè)嗎,?很遺憾,筆者目前也沒(méi)辦法給出一個(gè)結(jié)論,,筆者更傾向于它們其實(shí)都有作用,,只能讓下游任務(wù)模型自己去甄別這些pattern。目前已經(jīng)有論文證明在機(jī)器翻譯等場(chǎng)景下剪枝掉某些head效果會(huì)更好:論文地址,。

2.2 可疑的大多數(shù)

對(duì)于大多數(shù)沒(méi)怎么發(fā)生變化的pattern,,實(shí)在太奇怪了。筆者懷疑大部分head只是學(xué)習(xí)到了position embedding主導(dǎo)的相關(guān)信息,,即對(duì)于任何的query,,只要是這個(gè)位置,attention pattern是差不多的,,果然當(dāng)筆者把position embedding去掉后,,記錄了詞法、語(yǔ)法層面的第7,、9head的pattern幾乎沒(méi)怎么變,,而那些之前大部分一成不變的pattern,除了第5,、12head外都發(fā)生了劇烈的變化,,有的甚至開(kāi)始凸顯出了詞法信息和語(yǔ)法信息(比如4、6head):

圖片

刪除position embedding后的attention pattern

2.3 多頭注意力初步的結(jié)論

這里可以得到一個(gè)結(jié)論,,多頭attention的有些頭的功能是不一樣的,,有的頭可能沒(méi)啥信息(如第5head),有的頭pattern由位置信息主導(dǎo),有的頭由語(yǔ)法信息主導(dǎo),,有的頭由詞法信息主導(dǎo),,而能夠捕捉到語(yǔ)法/句法/詞法信息的頭其實(shí)是非常少的(這一點(diǎn)已被大量學(xué)術(shù)論文證明,筆者的句法破壞實(shí)驗(yàn)也驗(yàn)證了這一點(diǎn)),,但是為了保證這些pattern能夠被抽取出來(lái),,需要讓其有一定的頭的基數(shù),因?yàn)閱晤^很容易就變成自己注意力全在自己身上了,,這一點(diǎn)也可以從'以上pattern中大部分pattern都是自己關(guān)注自己’這個(gè)現(xiàn)象身上得到佐證。假如將12頭強(qiáng)行變成2頭,,注意力pattern就會(huì)變成如下這種自己注意自己的pattern,,因?yàn)?2個(gè)頭大部分pattern都是自己關(guān)注自己,向量拼接起來(lái)后token間的向量相似度會(huì)被大部分分量所裹挾,,因此也變成自己關(guān)注自己,。

圖片

將12個(gè)頭變成2個(gè)頭的attention矩陣熱力圖

從1.4和1.5我們可以知道,bert本身是不期望self-attention收斂到某一種固定pattern上的,,它期望可以捕捉到一些多樣化的pattern,,bert這類(lèi)語(yǔ)言模型,token的注意力很容易只看到自己,,出現(xiàn)只關(guān)注自己的pattern,,如下圖所示:

圖片

只注意到自己的單一注意力pattern

而我們更期望還能捕捉出這類(lèi)多樣的pattern出來(lái):

圖片

多樣的注意力pattern

注意!這里并不是說(shuō)這種pattern就一定好,,也不是說(shuō)那種位置信息主導(dǎo)的pattern就一定不好,,只是說(shuō)我們期望捕捉更多的模式,從而利于下游多樣的任務(wù)微調(diào)時(shí),,一旦這類(lèi)pattern有用就可以激活出來(lái)讓下游任務(wù)可以學(xué)習(xí)到,,所以Transformer的角色定位是特征抽取器。所以多頭對(duì)一個(gè)向量切分不同的維度來(lái)捕捉不同的pattern,,這里就可以解釋論文里原話中的不同維度的語(yǔ)義信息,。

從另一個(gè)方面來(lái)解釋?zhuān)囝^的核心思想就是ensemble,如隨機(jī)森林一樣,,將特征切分,,每個(gè)head就像是一個(gè)弱分類(lèi)器,讓最后得到的embedding關(guān)注多方面信息,,不要過(guò)擬合到某一種pattern上,,這一點(diǎn)上面的實(shí)驗(yàn)圖像可以很清晰的看出來(lái)。

2.4 多多益善,?

那這樣來(lái)說(shuō),,頭是不是越多越好呢?答案是否定的,已有論文證明,,頭數(shù)不是越多越好,,論文實(shí)驗(yàn)結(jié)果如下:

圖片

頭數(shù)實(shí)驗(yàn)

可以看到8/16個(gè)頭時(shí),PPL/BLEU最好,,4/32個(gè)頭次之,,1個(gè)頭最差。頭確實(shí)不是越多越好,,頭太多了,,每個(gè)qkv分到的維度就會(huì)降低,表達(dá)能力也就變差,,也未必能更好的捕捉到語(yǔ)法/句法/詞法信息,。

2.5 其它層也有話要說(shuō)!

為了進(jìn)一步驗(yàn)證BERT多層,、多頭之間的變化,,筆者對(duì)10w條長(zhǎng)度相同的query繪制了1~4層的多頭Attention矩陣熱力圖,將其多頭Attention矩陣求平均后繪制出如下熱力圖,,從上到下依次是1~4層,,從左到右依次是1~12個(gè)head: 

圖片

大量query下4層的attention pattern均值

這種大量數(shù)據(jù)矩陣平均的情況,如果某一頭的均值attention還能保持一個(gè)明顯的pattern,,那就說(shuō)明對(duì)于任何一個(gè)query,,該層該頭的pattern是差不多的,因此該頭的pattern是以位置信息為主導(dǎo)的,,幾乎不包含語(yǔ)義信息,,因?yàn)椴徽撋秖uery,在這個(gè)位置的pattern都一個(gè)樣,。反之如果該層該頭熱力圖出現(xiàn)大片同色系區(qū)域,,則可以一定程度上說(shuō)明該層該頭有可能記錄了大量的語(yǔ)義、語(yǔ)法,、詞法信息,,因?yàn)檫@些信息有可能出現(xiàn)在該query的任意位置,因此每個(gè)位置平均值大概率就是趨于相同,。

可以看到,,對(duì)于第1、3,、4,、5、11,、12這些頭基本pattern是很固定的,,而且隨著層數(shù)的增加,,pattern越來(lái)越固定,而2,、7,、8、9,、10的pattern在某幾層或者全部層都比較多樣化(接近于同色系),,這也可以說(shuō)明,為什么需要多層的Transformer堆疊,,因?yàn)橛行┬畔⒖赡茉谀骋粚又袩o(wú)法捕捉到,,需要在其它層捕捉。

最后,,基本所有head在最后一層都變得很固定(顏色很深,,pattern很明顯),隨著層數(shù)的加深,,頭和頭之間的差異越來(lái)越小,。

已有論文對(duì)層和多頭pattern之間的關(guān)系做了探討:論文地址,,這篇文章對(duì)12層的BERT繪制了層數(shù)和頭pattern分布的關(guān)系,,如下圖所示,不同的顏色代表不同的層,,同一顏色的分布代表了同一層的頭差距,。比如:

  • (1)我們可以先看看第一層,也就是黑色,。在上下左右都有黑色的點(diǎn)出現(xiàn),,分布是比較分散稀疏的。

  • (2)再看看第六層淺紫色的點(diǎn),,相對(duì)來(lái)說(shuō)分布比較集中了,。

  • (3)再看看第十二層,深紅色,,基本全部集中在下方,,分布非常集中。

由此可以得到這邊論文的結(jié)論:頭之間的差距隨著所在層數(shù)變大而減少,。換句話說(shuō),,頭之間的方差隨著所在層數(shù)的增大而減小。筆者這里的觀察實(shí)驗(yàn)也論證了這一點(diǎn),,隨著層數(shù)的增加,,pattern在慢慢固定且趨同。

圖片

Attention pattern和層數(shù)之間的分布關(guān)系

圖片3. 總結(jié)

在此,,筆者可以得到一些對(duì)Multi-Head-Attention的結(jié)論:

  • (1)對(duì)于大部分query,,每個(gè)頭都學(xué)習(xí)了某種固定的pattern模式,,而且12個(gè)頭中大部分pattern是差不多的,但是總有少數(shù)的pattern才能捕捉到語(yǔ)法/句法/詞法信息,。

  • (2)越靠近底層的attention,,其pattern種類(lèi)越豐富,關(guān)注到的點(diǎn)越多,,越到頂層的attention,,各個(gè)head的pattern趨同。

  • (3)head數(shù)越少,,pattern會(huì)更傾向于token關(guān)注自己本身(或者其他的比較單一的模式,,比如都關(guān)注CLS)。

  • (4)多頭的核心思想應(yīng)該就是ensemble,,如隨機(jī)森林一樣,,將特征切分,每個(gè)head就像是一個(gè)弱分類(lèi)器,,讓最后得到的embedding關(guān)注多方面信息,,不要過(guò)擬合到某一種pattern上。

  • (5)已有論文證明head數(shù)目不是越多越好,,bert-base上實(shí)驗(yàn)的結(jié)果為8,、16最好,太多太少都會(huì)變差,。

  • (6)multi-head-attention中大部分頭沒(méi)有捕捉到語(yǔ)法/句法信息,,但是筆者這里沒(méi)辦法做出斷言說(shuō)它們是沒(méi)有用的,具體還是要看下游任務(wù)對(duì)其的適配程度,。個(gè)人傾向于大部分pattern只是不符合人類(lèi)的語(yǔ)法,,在不同的下游任務(wù)中應(yīng)該還是有用武之地的。

———————————————————————————————


【AI科研看愛(ài)加】也歡迎各領(lǐng)域科研愛(ài)好者或AI愛(ài)好者們加入到愛(ài)加大家庭中來(lái),,共同運(yùn)營(yíng)與維護(hù)這個(gè)公益性AI公眾號(hào),,讓我們站在各研究領(lǐng)域、學(xué)習(xí)領(lǐng)域或者工作領(lǐng)域,,共同講好AI故事,、傳播AI聲音,受益于更多對(duì)AI有興趣的伙伴們.

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多