日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

图解Transformer模型(Multi-Head Attention)

發(fā)布時間:2023/12/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 图解Transformer模型(Multi-Head Attention) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文內(nèi)容主要源于Attention is all you need:?https://arxiv.org/abs/1706.03762

由于本人最近在研究文本的判別式模型,如文本分類任務(wù),所以學(xué)習(xí)了Transformer,并根據(jù)自己的理解制作了PPT介紹總結(jié)Transformer中幾個比較重要的部分.

文章內(nèi)容為本人制作的PPT,同時在需要解釋的slide寫上了補充說明;

主要內(nèi)容包括

1.Transformer的提出背景;

2.Transformer的Encoder(Scaled Dot-Product Attention,Multi-head-Attention)較為詳細(xì)的圖解,部分圖引自《Attention is all you need》一文;

3.雖然本人主要是應(yīng)用于判別式模型,但是最后簡單介紹了包含Decoder部分,梳理了Transformer的整個流程;

Slide 1

Slide 2

Slide 3

?

slide 4,其實很明顯,Multi-Head Attention是Transformer最突出的貢獻(xiàn),所以直入主題:

slide5 Multi-Head Attention的核心組件-Scaled Dot-Product Attention,以實例"華南"一詞的Scaled Dot-Product Attention過程為例逐一圖解每個模塊的對應(yīng)工作

(1)此處僅以"華南"為例,圖解Scaled Dot-Product Attention是如何避免通過Reccurent model來捕獲上下文信息,具體做法就是如圖通過當(dāng)前Q與每個K(包括自己)的MatMul;

(2)同時此處為什么要進(jìn)行放縮(Scale),對應(yīng)圖中有解釋;

(3)Mask具體操作如圖中文本框解釋,作用于紅框步驟中,將(1)(2)步驟的計算結(jié)果score針對性的屏蔽Mask)

具體屏蔽的是文本向量化過程中,由于文本長度小于Fix_length的Padding部分,在Padding部分對應(yīng)index的score設(shè)為-inf

最后的效果就是使得經(jīng)過softmax之后,Padding部分給予的attention權(quán)重為近似0.

這種類似的操作在Decoder部分也使用了,目的是為了Decoder只關(guān)注早于當(dāng)前輸出位置的部分!

slide 6-理解了Scaled-Dot Product Attention ,繼續(xù)了解Multi-Head Attention,先看其中的Multi-Head是什么意思?

如圖藍(lán)框部分為Multi-Head部分的解釋,實際上n個head 就是進(jìn)行n次linear映射出不同的子區(qū)域表征空間,更加全面的挖掘不同位置在不同子空間下的信息,同時此設(shè)計出于并行計算的考慮。

slide 7 Multi-Head Attention中的Scaled Dot-Product Attention部分(前面詳細(xì)圖解)

slide 8 經(jīng)過Multi-Head映射多個子空間→Scaled Dot-Product Attention

接下來:

1.將n_Head個子空間得到的編碼信息融合(本文中concat拼接)

2.拼接后,Linear回與Transformer模型空間維度(d_model)一致,方便如下圖與原始輸入INPUTS進(jìn)行Resnet以及LayerNormalization

slide 9

Multi-Head Attention部分已經(jīng)圖解解釋完了,Encoder部分后續(xù)還經(jīng)過一個Feed Forward,其實就是兩層Linear以及在第一層加入了ReLu激活函數(shù),就不繼續(xù)講了。

接下來簡單講下Transformer中是如何應(yīng)用在生成式模型,如機器翻譯任務(wù):

在slide中,以中文:"我是中國人" 翻譯為 英文為例

1.編碼部分(Encoder):

1.1輸入文本:"我是中國人" 直接INPUTS ,此處圖中為了簡潔,省略了word_embedding以及position_embedding過程

1.2綠色框"Encoder"部分對應(yīng)單個transformer模型的Encoder部分,Encoder的最終輸出結(jié)果為"K","V"

2.解碼部分(Decoder):

2.1初始狀態(tài):輸出結(jié)果僅包含輸出起始標(biāo)志"Start of result"

2.2綠色框"Decoder"部分對應(yīng)單個transformer模型的Decoder部分,注意transformer結(jié)構(gòu)框圖中,在Decode-Encoder Attention部分,即Decoder部分的第二次Multi-Head Attention:其K V 輸出是采用Encoder的輸出,目的是利用Encoder編碼好的K V,幫助Decoder在合適的位置處放置更多的"注意力"(Attention)

2.3Transformer中的Decoder部分的第一個Multi-Head Attention ,也進(jìn)行了Masked操作,此操作實現(xiàn)及原因在前文提到解釋過,上翻!

2.4Decoder部分整體是一個自回歸過程,即在Decoder過程中:是一個詞一個詞預(yù)測出來的,當(dāng)前預(yù)測的結(jié)果output1,會作為Decoder的輸入,參與下一個詞的預(yù)測,如當(dāng)前slide預(yù)測結(jié)果為"I",在下一個預(yù)測,見slide10

slide 10

依此循環(huán),直至預(yù)測出結(jié)束標(biāo)識符,完成整個模型的任務(wù)。

?

至此,大概介紹了Transformer的結(jié)構(gòu),主要是Encoder部分的Multi-Head Attention部分,同時也簡單梳理了整個結(jié)構(gòu)。

希望有所收獲的讀者能點個“喜歡” 給個贊,謝謝支持!

另外如有誤解之處還請原諒指出,謝謝!

總結(jié)

以上是生活随笔為你收集整理的图解Transformer模型(Multi-Head Attention)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。