- 生成式AI教程
- 生成式AI - 首頁
- 生成式AI基礎
- 生成式AI基礎
- 生成式AI發展史
- 機器學習與生成式AI
- 生成式AI模型
- 判別式模型與生成式模型
- 生成式AI模型型別
- 機率分佈
- 機率密度函式
- 最大似然估計
- 生成式AI網路
- GAN的工作原理?
- GAN - 架構
- 條件GAN
- StyleGAN和CycleGAN
- 訓練GAN
- GAN應用
- 生成式AI Transformer
- 生成式AI中的Transformer
- 生成式AI中Transformer的架構
- Transformer中的輸入嵌入
- 多頭注意力機制
- 位置編碼
- 前饋神經網路
- Transformer中的殘差連線
- 生成式AI自編碼器
- 生成式AI中的自編碼器
- 自編碼器型別及應用
- 使用Python實現自編碼器
- 變分自編碼器
- 生成式AI與ChatGPT
- 一個生成式AI模型
- 生成式AI雜項
- 生成式AI在製造業中的應用
- 生成式AI為開發者
- 生成式AI在網路安全中的應用
- 生成式AI在軟體測試中的應用
- 生成式AI在市場營銷中的應用
- 生成式AI在教育領域的應用
- 生成式AI在醫療保健領域的應用
- 生成式AI為學生
- 生成式AI在工業領域的應用
- 生成式AI在電影領域的應用
- 生成式AI在音樂領域的應用
- 生成式AI在烹飪領域的應用
- 生成式AI在媒體領域的應用
- 生成式AI在通訊領域的應用
- 生成式AI在攝影領域的應用
- 生成式AI資源
- 生成式AI - 有用資源
- 生成式AI - 討論
生成式AI中的Transformer架構
基於Transformer的大型語言模型(LLM)在情感分析、機器翻譯、文字摘要等各種任務中都優於之前的迴圈神經網路(RNN)。
Transformer的獨特能力源於其架構。本章將用簡單的術語解釋原始Transformer模型的主要思想,以便更容易理解。
我們將重點關注構成Transformer的關鍵元件:**編碼器**、**解碼器**以及連線它們的獨特**注意力機制**。
Transformer在生成式AI中如何工作?
讓我們瞭解Transformer的工作原理:
- 首先,當我們向Transformer提供一個句子時,它會特別關注句子中重要的詞語。
- 然後,它同時考慮所有單詞,而不是一個接一個地考慮,這有助於Transformer找到句子中單詞之間的依賴關係。
- 之後,它找到句子中單詞之間的關係。例如,假設一個句子是關於恆星和星系的,那麼它就知道這些詞語是相關的。
- 完成之後,Transformer利用這些知識來理解完整的故事以及單詞之間是如何連線的。
- 有了這種理解,Transformer甚至可以預測下一個詞可能是什麼。
生成式AI中的Transformer架構
Transformer有兩個主要組成部分:**編碼器**和**解碼器**。以下是Transformer的簡化架構:
如圖所示,在Transformer的左側,輸入進入編碼器。輸入首先被轉換為輸入嵌入,然後經過注意力子層和前饋網路(FFN)子層。類似地,在右側,目標輸出進入解碼器。
輸出也首先被轉換為輸出嵌入,然後經過兩個注意力子層和一個前饋網路(FFN)子層。在這個架構中,沒有RNN、LSTM或CNN。遞迴也被拋棄,並被注意力機制取代。
讓我們詳細討論Transformer的兩個主要組成部分,即編碼器和解碼器。
Transformer編碼器堆疊的一層
在Transformer中,編碼器處理輸入序列並將其分解成一些有意義的表示。Transformer模型編碼器的層是**層堆疊**,其中每個編碼器堆疊層具有以下結構:
這種編碼器層的結構對於Transformer模型的所有層都是相同的。每個編碼器堆疊層包含以下兩個子層:
- 多頭注意力機制
- 前饋網路(FFN)
正如我們在上圖中看到的,在兩個子層(即多頭注意力機制和前饋網路)周圍都有一個殘差連線。這些殘差連線的作用是將子層的未經處理的輸入**x**傳送到層歸一化函式。
這樣,每一層的歸一化輸出就可以計算如下:
層歸一化(x + 子層(x))
我們將在後續章節中詳細討論子層(即多頭注意力和FNN)、輸入嵌入、位置編碼、歸一化和殘差連線。
Transformer解碼器堆疊的一層
在Transformer中,解碼器接收編碼器生成的表示並對其進行處理以生成輸出序列。這就像翻譯或文字續寫。與編碼器一樣,Transformer模型解碼器的層也是**層堆疊**,其中每個解碼器堆疊層具有以下結構:
與編碼器層一樣,解碼器層的結構對於Transformer模型的所有N=6層都是相同的。每個解碼器堆疊層包含以下三個子層:
- 掩碼多頭注意力機制
- 多頭注意力機制
- 前饋網路(FFN)
與編碼器相反,解碼器有一個第三個子層稱為掩碼多頭注意力,其中,在給定位置,後續的詞語會被掩碼。這個子層的優點是Transformer根據其推斷進行預測,而無需檢視整個序列。
與編碼器一樣,所有子層周圍都有一個殘差連線,並且每一層的歸一化輸出可以計算如下:
層歸一化(x + 子層(x))
正如我們在上圖中看到的,在所有解碼器塊之後還有一個最終的線性層。這個線性層的作用是將資料對映到所需的輸出詞彙量大小。然後將softmax函式應用於對映後的資料,以生成目標詞彙量的機率分佈。這將產生最終的輸出序列。
結論
本章詳細解釋了生成式AI中Transformer的架構。我們主要關注它的兩個主要部分:編碼器和解碼器。
編碼器的作用是透過檢視所有單詞之間的關係來理解輸入序列。它使用自注意力和前饋層來建立輸入的詳細表示。
解碼器接收輸入的詳細表示並生成輸出序列。它使用掩碼自注意力來確保按正確的順序生成序列,並利用編碼器-解碼器注意力來整合來自編碼器的資訊。
透過探索編碼器和解碼器的工作方式,我們看到了Transformer如何從根本上改變了自然語言處理(NLP)領域。正是編碼器和解碼器的結構使得Transformer在各個行業如此強大和有效,並改變了我們與AI系統互動的方式。