解碼器的作用主要是制作文本序列。與編碼器類似,解碼器也配備了一組類似的子層。它具有兩個(gè)Multi-Headattention層,一個(gè)點(diǎn)前饋層,并且在每個(gè)子層之后都包含剩余連接和層歸一化。
這些組件的功能類似于編碼器的層,但有所不同:解碼器中的每個(gè)Multi-Headattention層都有其獨(dú)特的任務(wù)。
解碼器的最后一個(gè)過程包括一個(gè)線性層,作為分類器,頂部是一個(gè)softmax函數(shù)來計(jì)算不同單詞的概率。
Transformer解碼器具有專門設(shè)計(jì)用于通過逐步解碼編碼信息來生成此輸出的結(jié)構(gòu)。
重要的是解碼器以自回歸的方式運(yùn)行,用開始token啟動(dòng)其進(jìn)程。它巧妙地使用先前生成的輸出列表作為輸入,與編碼器的輸出串聯(lián),編碼器的輸出包含來自初始輸入的豐富的attention信息。
這種連續(xù)的解碼一直持續(xù)到解碼器到達(dá)關(guān)鍵時(shí)刻:生成標(biāo)志其輸出創(chuàng)建結(jié)束的token。
步驟1 -輸出嵌入
在解碼器的起跑線上,這個(gè)過程反映了編碼器的過程。這里,輸入首先通過嵌入層。
步驟2 -位置編碼
在嵌入之后,再次像解碼器一樣,輸入經(jīng)過位置編碼層。這個(gè)序列被設(shè)計(jì)用來產(chǎn)生位置嵌入。
然后將這些位置嵌入引入解碼器的第一個(gè)Multi-Head attention層,在那里精心計(jì)算特定于解碼器輸入的注意分?jǐn)?shù)。
步驟3 -解碼器層堆棧
解碼器由一堆相同的層組成(在原來的Transformer模型中是6層)。每一層有三個(gè)主要的子組件:
步驟3.1Masked Self-Attention機(jī)制
這類似于編碼器中的Self-Attention機(jī)制,但有一個(gè)關(guān)鍵的區(qū)別:它防止位置關(guān)注后續(xù)位置,這意味著序列中的每個(gè)單詞都不受未來標(biāo)記的影響。
例如,當(dāng)計(jì)算單詞“are”的attention得分時(shí),重要的是“are”不會(huì)偷看到序列中后面的單詞“you”。
這種屏蔽確保了對(duì)特定位置的預(yù)測(cè)只能依賴于在它之前位置的已知輸出。
步驟3.2 -編碼器-解碼器Multi-Head attention或交叉attention
在解碼器的第二個(gè)Multi-Head attention層中,我們看到編碼器和解碼器組件之間的獨(dú)特相互作用。在這里,編碼器的輸出充當(dāng)查詢和鍵的角色,而解碼器的第一個(gè)Multi-Head attention層的輸出充當(dāng)值。
這種設(shè)置有效地將編碼器的輸入與解碼器的輸入對(duì)齊,使解碼器能夠識(shí)別并強(qiáng)調(diào)編碼器輸入中最相關(guān)的部分。
在此之后,來自第二層Multi-Head attention的輸出然后通過點(diǎn)前饋層進(jìn)行細(xì)化,進(jìn)一步增強(qiáng)處理。
在這個(gè)子層中,查詢來自前一個(gè)解碼器層,鍵和值來自編碼器的輸出。這允許解碼器中的每個(gè)位置參與輸入序列中的所有位置,從而有效地將來自編碼器的信息與解碼器中的信息集成在一起。
步驟3.3前饋神經(jīng)網(wǎng)絡(luò)
與編碼器類似,每個(gè)解碼器層包括一個(gè)完全連接的前饋網(wǎng)絡(luò),分別并相同地應(yīng)用于每個(gè)位置。
步驟4線性分類器和Softmax用于生成輸出概率
數(shù)據(jù)通過Transformer模型的旅程在其通過最終的線性層時(shí)達(dá)到高潮,該線性層的功能是分類器。
這個(gè)分類器的大小對(duì)應(yīng)于所涉及的類的總數(shù)(詞匯表中包含的單詞數(shù))。例如,在一個(gè)有1000個(gè)不同的類代表1000個(gè)不同單詞的場(chǎng)景中,分類器的輸出將是一個(gè)有1000個(gè)元素的數(shù)組。
然后將該輸出引入softmax層,該層將其轉(zhuǎn)換為概率分?jǐn)?shù)的范圍,每個(gè)分?jǐn)?shù)位于0到1之間。這些概率得分中最高的是key,它對(duì)應(yīng)的索引直接指向模型預(yù)測(cè)的序列中的下一個(gè)單詞。
歸一化和剩余連接
每個(gè)子層(Masked Self-Attention、編碼器-解碼器attention、前饋網(wǎng)絡(luò))之后是一個(gè)歸一化步驟,每個(gè)子層周圍還包括一個(gè)殘余連接。
解碼器的輸出
最后一層的輸出被轉(zhuǎn)換成一個(gè)預(yù)測(cè)序列,通常是通過一個(gè)線性層,然后是一個(gè)softmax來生成詞匯表的概率。
解碼器在其操作流程中,將新生成的輸出合并到其不斷增長(zhǎng)的輸入列表中,然后繼續(xù)進(jìn)行解碼過程。這個(gè)循環(huán)不斷重復(fù),直到模型預(yù)測(cè)到一個(gè)特定的token,表示完成。
預(yù)測(cè)概率最高的token被分配為結(jié)束類,通常由結(jié)束token表示。
再次記住,解碼器并不局限于單層。它可以由N層組成,每一層都建立在從編碼器及其前一層接收的輸入上。這種分層架構(gòu)允許模型分散其焦點(diǎn),并在其attention head中提取不同的attention模式。
這種多層次的方法可以顯著提高模型的預(yù)測(cè)能力,因?yàn)樗鼘?duì)不同的attention組合有了更細(xì)致的理解。
最終的架構(gòu)是類似于這樣的(來自原始論文)
-
解碼器
+關(guān)注
關(guān)注
9文章
1165瀏覽量
41825 -
模型
+關(guān)注
關(guān)注
1文章
3504瀏覽量
50193 -
Transformer
+關(guān)注
關(guān)注
0文章
151瀏覽量
6458
原文標(biāo)題:Transformer架構(gòu)詳細(xì)解析——解碼器
文章出處:【微信號(hào):SSDFans,微信公眾號(hào):SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄

大眾中控為什么改家用需要解碼器!解碼器是什么# 硬聲創(chuàng)作季
網(wǎng)格環(huán)境中基于移動(dòng)Agent的工作流架構(gòu)研究
基于DTMF的解碼器設(shè)計(jì)
基于DTMF的解碼器設(shè)計(jì)
解碼器的工作原理

工作流程圖怎么用?有哪些繪制工作流程圖的軟件
PyTorch教程10.6之編碼器-解碼器架構(gòu)

PyTorch教程-10.6. 編碼器-解碼器架構(gòu)
基于transformer的編碼器-解碼器模型的工作原理

基于 RNN 的解碼器架構(gòu)如何建模

基于 Transformers 的編碼器-解碼器模型

神經(jīng)編碼器-解碼器模型的歷史

NX CAD軟件:數(shù)字化工作流程解決方案(CAD工作流程)

Transformer架構(gòu)中編碼器的工作流程

評(píng)論