一文徹底搞懂 Transformer - 總體架構

一、RNN 編碼器 - 解碼器架構

序列到序列模型(Seq2Seq):Seq2Seq 模型的目標是將一個輸入序列轉換成另一個輸出序列,這在多種應用中都具有廣泛的實用價值,例如語言建模、機器翻譯、對話生成等。

RNN 編碼器 - 解碼器架構:Transformer 出來之前,主流的序列轉換模型都基於複雜的循環神經網絡(RNN),包含編碼器和解碼器兩部分。當時表現最好的模型還通過注意力機制將編碼器和解碼器連接起來。

在 Seq2Seq 框架中,RNN 的作用主要體現在兩個方面:編碼和解碼。

編碼器: RNN 接收輸入序列,並逐個處理序列中的元素(如單詞、字符或時間步),同時更新其內部狀態以捕獲序列中的依賴關係和上下文信息。這種內部狀態,通常被稱爲 “隱藏狀態”,能夠存儲並傳遞關於輸入序列的重要信息。**

RNN 編碼器 - 解碼器架構

解碼器: RNN 使用編碼階段生成的最終隱藏狀態(或整個隱藏狀態序列)作爲初始條件,生成輸出序列。在每一步中,解碼器 RNN 都會根據當前狀態、已生成的輸出和可能的********下一個元素候選來預測下一個元素。

因此,循環神經網絡(RNN)、特別是長短時記憶網絡(LSTM)和門控循環單元網絡(GRU),已經在序列建模和轉換問題中牢固確立了其作爲最先進方法的地位。

同時,RNN 存在一個顯著的缺陷:處理長序列時,會存在信息丟失。

編碼器在轉化序列x1, x2, x3, x4爲單個向量c時,信息會丟失。因爲所有信息被壓縮到這一個向量中,長序列時,信息必然會丟失。

二、Transformer 總體架構

Transformer 起源: Google Brain 翻譯團隊通過論文《Attention is all you need》提出了一種全新的簡單網絡架構——Transformer,它完全基於注意力機制,摒棄了循環和卷積操作。

注意力機制: 一種允許模型在處理信息時專注於關鍵部分,忽略不相關信息,從而提高處理效率和準確性的機制。它模仿了人類視覺處理信息時選擇性關注的特點。

當人類的視覺機制識別一個場景時,通常不會全面掃描整個場景,而是根據興趣或需求集中關注特定的部分,如在這張圖中,我們首先會注意到動物的臉部,正如注意力圖所示,顏色更深的區域通常是我們最先注意到的部分,從而初步判斷這可能是一隻狼。

注意力計算 Q、K、V: 注意力機制通過查詢(Q)匹配鍵(K)計算注意力分數(向量點乘並調整),將分數轉換爲權重後加權值(V)矩陣,得到最終注意力向量。

注意力分數是量化注意力機制中信息被關注的程度,反映了信息在注意力機制中的重要性。

Transformer 本質: Transformer 是一種基於自注意力機制的深度學習模型,爲了解決 RNN 無法處理長序列依賴問題而設計的。

Transformer 總體架構: Transformer 也遵循編碼器 - 解碼器總體架構,使用堆疊的自注意力機制和逐位置的全連接層,分別用於編碼器和解碼器,如圖中的左半部分和右半部分所示。

Transformer 核心組件: Transformer 模型包含輸入嵌入、位置編碼、多頭注意力、殘差連接和層歸一化、帶掩碼的多頭注意力以及前饋網絡等組件。

Transformer 的核心組件

Transformer 數據流轉: 可以概括爲四個階段,Embedding(嵌入)、Attention(注意力機制)、MLPs(多層感知機)和 Unembedding(從模型表示到最終輸出)。

Transformer 注意力層: 在 Transformer 架構中,有 3 種不同的注意力層(Self Attention 自注意力、Cross Attention 交叉注意力、Causal Attention 因果注意力)

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/DenAOo2flPF3S9NSB4qe-Q