博客專欄

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

        Transformer的細節(jié)到底是怎么樣的?Transformer 18問!(2)

        發(fā)布人:數(shù)據(jù)派THU 時間: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個子Decoder block,而Transformer Encoder block 包括2個子Encoder block,且Transformer Decoder中使用了Mask multi-head Attention。

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

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

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

        圖片

        圖12 Transformer Encoder和Decoder的交互方式

        7. 什么是Embedding?

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

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

        7.3 實現(xiàn)方式: 最簡單的embedding操作就是one hot vector,但one hot vector有一個弊端就是沒有考慮詞語前后之間的關(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機制并沒有考慮先后順序信息,但前后順序信息對語義影響很大,因此需要通過Positional Embedding這種方式把前后位置信息加在輸入的Embedding上。

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

        圖片

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

        9. 什么是Attention?

        9.1 介紹Transformer,為什么要介紹Attention呢?因為在Transformer中最多的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到底是什么意思呢?

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

        圖片

        圖16 圖像中的attention

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

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

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

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

        圖片

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

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

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

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


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



        關(guān)鍵詞: AI

        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 湘西| 甘洛县| 寻甸| 平原县| 喜德县| 海阳市| 略阳县| 乐亭县| 涡阳县| 天水市| 屏南县| 广昌县| 济源市| 内乡县| 怀宁县| 明光市| 安化县| 平江县| 乐清市| 光泽县| 达尔| 资中县| 达拉特旗| 阜康市| 长乐市| 南木林县| 张家界市| 德阳市| 肃宁县| 乐平市| 石屏县| 鲜城| 衡南县| 温泉县| 淅川县| 东乡族自治县| 从江县| 隆子县| 甘泉县| 呼图壁县| 卓资县|