博客專欄

EEPW首頁 > 博客 > Transformer的細(xì)節(jié)到底是怎么樣的?Transformer 18問?。?)

Transformer的細(xì)節(jié)到底是怎么樣的?Transformer 18問?。?)

發(fā)布人:數(shù)據(jù)派THU 時(shí)間:2023-07-19 來源:工程師 發(fā)布文章
6. Transformer Encoder和Transformer Decoder有哪些不同?

6.1 作用上,Transformer Encoder常用來提取特征,Transformer Decoder常用于生成式任務(wù)。Transformer Encoder和Transformer Decoder是兩條不同的技術(shù)路線,Bert采用的前者,GPT系列模型采用的是后者。

6.2 結(jié)構(gòu)上,Transformer Decoder block包括了3個(gè)子Decoder block,而Transformer Encoder block 包括2個(gè)子Encoder block,且Transformer Decoder中使用了Mask multi-head Attention。

6.3 從二者的輸入輸出角度,N個(gè)Transformer Encoder運(yùn)算完成之后,它的輸出才正式輸入進(jìn)Transformer Decoder,作為QKV中的K和V,給Transformer Decoder使用。那么TransformerEncoder最后層的輸出是如何送給Decoder呢?如圖11所示。

圖片圖11 Transformer Encoder和Transformer Decoder交互的方式

那么,為什么Encoder和Decoder必須要用這種交互的方式呢?其實(shí)也并不一定,后續(xù)有不同交互方式的提出,如圖12。

圖片

圖12 Transformer Encoder和Decoder的交互方式

7. 什么是Embedding?

7.1 Embedding在Transformer架構(gòu)中的位置如圖13所示。

7.2 提出背景: 計(jì)算機(jī)無法直接處理一個(gè)單詞或者一個(gè)漢字,需要把一個(gè)token轉(zhuǎn)化成計(jì)算機(jī)可以識(shí)別的向量,這也就是embedding過程。

7.3 實(shí)現(xiàn)方式: 最簡單的embedding操作就是one hot vector,但one hot vector有一個(gè)弊端就是沒有考慮詞語前后之間的關(guān)系,后來也就產(chǎn)生了WordEmbedding,如圖13。

圖片

圖13 Embedding的一些說明,從左往右依次為:embedding在Transformer中的位置,one hot vector,Word embedding。

8. 什么是Positional Embedding?

8.1 Positional Embedding在Transformer架構(gòu)中的位置如圖14所示。

8.2 提出背景:RNN作為特征提取器,是自帶詞的前后順序信息的;而Attention機(jī)制并沒有考慮先后順序信息,但前后順序信息對(duì)語義影響很大,因此需要通過Positional Embedding這種方式把前后位置信息加在輸入的Embedding上。

8.3 實(shí)現(xiàn)方式: 傳統(tǒng)位置編碼和神經(jīng)網(wǎng)絡(luò)自動(dòng)訓(xùn)練得到。

圖片

圖14 Positional Embedding的一些說明,從左往右依次為:positional embedding在Transformer中的位置,傳統(tǒng)位置編碼的實(shí)現(xiàn)方式,傳統(tǒng)位置編碼ei得到的圖像,每一列為一個(gè)token的位置編碼。

9. 什么是Attention?

9.1 介紹Transformer,為什么要介紹Attention呢?因?yàn)樵赥ransformer中最多的multi head attention和Mask multi head attention來自Scaled dot product attention,而scaled dot product attention來自self attention,而self attention是attention的一種,因此首先需要了解Attention,如圖15所示。

圖片

圖15 Attention與Transformer的關(guān)系

9.2 Attention到底是什么意思呢?

對(duì)于圖像而言,attention就是人們看到圖像中的核心關(guān)注的區(qū)域,是圖像中的重點(diǎn),如圖16所示。對(duì)于序列而言,Attention機(jī)制本質(zhì)上是為了找到輸入中不同token之間的相互關(guān)系,通過權(quán)重矩陣來自發(fā)地找到詞與詞之間的關(guān)系。

圖片

圖16 圖像中的attention

9.3 Attention是如何實(shí)現(xiàn)的呢?

是通過QKV實(shí)現(xiàn)的。

那么什么是QKV呢?Q是query,K是keys,V是values。如圖17所示,舉例而言,Q是大腦發(fā)出的信號(hào),我口渴了;K是環(huán)境信息,眼睛看到的世界;V是對(duì)環(huán)境中不同的物品賦予不同的比重,水的比重加大。

總之,Attention就是通過計(jì)算QK的相似度,與V相乘得到注意力數(shù)值。

圖片

圖17 Attention的實(shí)現(xiàn)方式

9.4 為什么必須要有QKV三者?

為什么不是只有Q?因?yàn)镼1與Q2之間的關(guān)系權(quán)重,不止需要a12,也需要a21。你可能會(huì)問?我們讓a12=a21不行嗎?也可以嘗試,但從原理上講效果應(yīng)該沒有a12和a21效果好。

為什么不是只有QK?求得的權(quán)重系數(shù)需要放到輸入中,可以乘Q,也可以乘K,為什么要重新乘V呢?我覺得可能是多了一組可訓(xùn)練參數(shù)WV,使網(wǎng)絡(luò)具有更強(qiáng)的學(xué)習(xí)能力。


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉