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

網格環境中基于移動Agent的工作流架構研究
基于DTMF的解碼器設計
基于DTMF的解碼器設計
工作流程圖怎么用?有哪些繪制工作流程圖的軟件
PyTorch教程-10.6. 編碼器-解碼器架構
基于transformer的編碼器-解碼器模型的工作原理

基于 RNN 的解碼器架構如何建模

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

Transformer架構中編碼器的工作流程

評論