NLP之transformer-Task02attention&transformer

本此學習內(nèi)容由datawhale提供死讹,非常感謝datawhale。學習內(nèi)容

Attention相關原理

背景:Attention出現(xiàn)的原因是什么?

潛在的答案:基于循環(huán)神經(jīng)網(wǎng)絡(RNN)一類的seq2seq模型,在處理長文本時遇到了挑戰(zhàn),而對長文本中不同位置的信息進行attention有助于提升RNN的模型效果峡碉。

1. 什么是seq2seq模型?

eq2seq是一種常見的NLP模型結(jié)構(gòu)颂碘,全稱是:sequence to sequence异赫,翻譯為“序列到序列”。顧名思義:從一個文本序列得到一個新的文本序列头岔。

2. 基于RNN的seq2seq模型如何處理文本/長文本序列塔拳?

seq2seq基本模型

我們看到seq2seq模型里面是由encoder編碼器和decoder解碼器組成的。左邊綠色部分是輸入文本峡竣,文本通過seq2seq模型得到了一個新的文本靠抑,也就是右邊部分。

(1)編碼器的工作:

基于RNN的seq2seq模型中的編碼器在第1個時間步是如何工作:

編碼器的工作

我們只要知道适掰,我們的輸入是????hidden state#0和input#1颂碧,輸出得到了一個hidden state#1。

之后編碼器逐步得到hidden state并傳輸最后一個hidden state給解碼器类浪。

(2)編碼器的工作:

結(jié)合編碼器處理輸入序列载城,一起來看下解碼器如何一步步得到輸出序列的l。與編碼器類似费就,解碼器在每個時間步也會得到 hidden state(隱藏層狀態(tài))诉瓦,而且也需要把 hidden state(隱藏層狀態(tài))從一個時間步傳遞到下一個時間步。

右邊部分為解碼器工作

編碼器首先按照時間步依次編碼每個法語單詞力细,最終將最后一個hidden state也就是context向量傳遞給解碼器睬澡,解碼器根據(jù)context向量逐步解碼得到英文輸出。

3. seq2seq模型處理文本序列(特別是長文本序列)時會遇到什么問題眠蚂?

困難:基于RNN的seq2seq模型編碼器所有信息都編碼到了一個context向量中煞聪,便是這類模型的瓶頸。一方面單個向量很難包含所有文本序列的信息逝慧,另一方面RNN遞歸地編碼文本序列使得模型在處理長文本時面臨非常大的挑戰(zhàn)(比如RNN處理到第500個單詞的時候昔脯,很難再包含1-499個單詞中的所有信息了) 。通過attention技術(shù)馋艺,seq2seq模型極大地提高了機器翻譯的質(zhì)量栅干。歸其原因是:attention注意力機制,使得seq2seq模型可以有區(qū)分度捐祠、有重點地關注輸入序列碱鳞。

4.基于RNN的seq2seq模型如何結(jié)合attention來解決問題3并提升模型效果?

注意力模型與經(jīng)典的seq2seq模型主要有2點不同:

A. 首先踱蛀,編碼器會把更多的數(shù)據(jù)傳遞給解碼器窿给。編碼器把所有時間步的 hidden state(隱藏層狀態(tài))傳遞給解碼器,而不是只傳遞最后一個 hidden state(隱藏層狀態(tài))率拒,如下面紅色圈起來部分崩泡,顯然經(jīng)典的模型只是有hidden State3。而注意力模型是有hidden State1猬膨,hidden State2角撞,hidden State3。

注意力模型


B. 注意力模型的解碼器在產(chǎn)生輸出之前,做了一個額外的attention處理谒所。如下圖所示热康,具體為:

1.由于編碼器中每個 hidden state(隱藏層狀態(tài))都對應到輸入句子中一個單詞,那么解碼器要查看所有接收到的編碼器的 hidden state(隱藏層狀態(tài))劣领。

2.給每個 hidden state(隱藏層狀態(tài))計算出一個分數(shù)(我們先忽略這個分數(shù)的計算過程)姐军。

3.所有hidden state(隱藏層狀態(tài))的分數(shù)經(jīng)過softmax進行歸一化。

4.將每個 hidden state(隱藏層狀態(tài))乘以所對應的分數(shù)尖淘,從而能夠讓高分對應的? hidden state(隱藏層狀態(tài))會被放大奕锌,而低分對應的? hidden state(隱藏層狀態(tài))會被縮小。

5.將所有hidden state根據(jù)對應分數(shù)進行加權(quán)求和村生,得到對應時間步的context向量

attention處理

所以惊暴,attention可以簡單理解為:一種有效的加權(quán)求和技術(shù),其藝術(shù)在于如何獲得權(quán)重趁桃。

--------

現(xiàn)在缴守,讓我們把所有內(nèi)容都融合到下面的圖中,來看看結(jié)合注意力的seq2seq模型解碼器全流程镇辉,動態(tài)圖展示的是第4個時間步:

1.注意力模型的解碼器 RNN 的輸入包括:一個word embedding 向量屡穗,和一個初始化好的解碼器 hidden state,圖中是hinith_{init}hinit忽肛。

2.RNN 處理上述的 2 個輸入村砂,產(chǎn)生一個輸出和一個新的 hidden state,圖中為h4屹逛。

3.注意力的步驟:我們使用編碼器的所有 hidden state向量和 h4 向量來計算這個時間步的context向量(C4)础废。

4.我們把 h4 和 C4 拼接起來,得到一個橙色向量罕模。

5.我們把這個橙色向量輸入一個前饋神經(jīng)網(wǎng)絡(這個網(wǎng)絡是和整個模型一起訓練的)评腺。

6根據(jù)前饋神經(jīng)網(wǎng)絡的輸出向量得到輸出單詞:假設輸出序列可能的單詞有N個,那么這個前饋神經(jīng)網(wǎng)絡的輸出向量通常是N維的淑掌,每個維度的下標對應一個輸出單詞蒿讥,每個維度的數(shù)值對應的是該單詞的輸出概率。

在下一個時間步重復1-6步驟抛腕。

------------------------

transformer 相關原理

Transformer最開始提出來解決機器翻譯任務芋绸,因此可以看作是seq2seq模型的一種。

transformer模型結(jié)構(gòu)

由于時間關系担敌,這里先把重要的圖放上摔敛,下次再補回。因為之前學過全封,有點印象马昙。

encoder-decoder


6層編碼和6層解碼器


Self-Attention 的計算過程和邏輯


多頭注意力機制


2層Transformer示意圖
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末桃犬,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子行楞,更是在濱河造成了極大的恐慌疫萤,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件敢伸,死亡現(xiàn)場離奇詭異,居然都是意外死亡恒削,警方通過查閱死者的電腦和手機池颈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钓丰,“玉大人躯砰,你說我怎么就攤上這事⌒。” “怎么了琢歇?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長梦鉴。 經(jīng)常有香客問我李茫,道長,這世上最難降的妖魔是什么肥橙? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任魄宏,我火速辦了婚禮,結(jié)果婚禮上存筏,老公的妹妹穿的比我還像新娘宠互。我一直安慰自己,他們只是感情好椭坚,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布予跌。 她就那樣靜靜地躺著,像睡著了一般善茎。 火紅的嫁衣襯著肌膚如雪券册。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天垂涯,我揣著相機與錄音汁掠,去河邊找鬼。 笑死集币,一個胖子當著我的面吹牛考阱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鞠苟,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼乞榨,長吁一口氣:“原來是場噩夢啊……” “哼秽之!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起吃既,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤考榨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鹦倚,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體河质,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年震叙,在試婚紗的時候發(fā)現(xiàn)自己被綠了掀鹅。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡媒楼,死狀恐怖乐尊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情划址,我是刑警寧澤扔嵌,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站夺颤,受9級特大地震影響痢缎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜世澜,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一牺弄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宜狐,春花似錦势告、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至俭驮,卻和暖如春回溺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背混萝。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工遗遵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人逸嘀。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓车要,卻偏偏與公主長得像,于是被迫代替她去往敵國和親崭倘。 傳聞我的和親對象是個殘疾皇子翼岁,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容