iT邦幫忙

2024 iThome 鐵人賽

DAY 29
0

Transformer 模型詳細介紹

Transformer 是一種基於注意力機制 (Attention Mechanism) 的神經網絡模型,首次由 Vaswani 等人在 2017 年的論文《Attention is All You Need》中提出。Transformer 模型被廣泛應用於自然語言處理 (NLP) 領域,特別是機器翻譯、文本生成等任務中。與傳統的遞歸神經網絡 (RNN) 和長短期記憶網絡 (LSTM) 相比,Transformer 模型的並行性更好,能夠有效處理長距離依賴問題。

Transformer 主要由兩個部分組成:

  1. 編碼器 (Encoder):將輸入序列進行編碼,轉換為固定大小的表示。
  2. 解碼器 (Decoder):根據編碼器的輸出和前一時間步的輸出來生成最終的輸出序列。

1. Transformer 的核心概念

Transformer 模型的核心組件包括:

1.1 自注意力機制 (Self-Attention Mechanism)

注意力機制 是 Transformer 的關鍵創新,它允許模型在計算每個單詞的表示時,同時關注輸入序列中的所有單詞。這使得模型可以捕捉到序列中任意兩個單詞之間的關係,而不是僅依賴於前後鄰近的單詞。

自注意力的計算過程如下:

  1. 查詢 (Query)鍵 (Key)值 (Value):每個輸入都會生成一個查詢向量 ( Q )、鍵向量 ( K ) 和值向量 ( V ),這些向量用於計算注意力分數。

  2. 注意力分數:對於每個查詢,計算它與所有鍵之間的點積,然後使用 Softmax 將分數轉換為概率分佈。
    [
    \text{Attention}(Q, K, V) = \text{Softmax}\left(\frac{Q K^T}{\sqrt{d_k}}\right) V
    ]
    其中,( d_k ) 是鍵向量的維度,用於縮放點積的結果。

  3. 多頭注意力 (Multi-Head Attention):為了讓模型在不同子空間中學習不同的關聯,Transformer 使用多個注意力頭,每個頭進行獨立的注意力計算,然後將結果進行拼接。

1.2 位置編碼 (Positional Encoding)

Transformer 並不像 RNN 那樣依賴於序列的順序信息,為了讓模型捕捉序列的位置信息,Transformer 引入了位置編碼。這是一種加在輸入向量上的附加信息,通過正弦和餘弦函數生成。

[
PE_{(pos, 2i)} = \sin\left(\frac{pos}{10000^{2i/d}}\right)
]
[
PE_{(pos, 2i+1)} = \cos\left(\frac{pos}{10000^{2i/d}}\right)
]

1.3 前饋網絡 (Feed-Forward Network, FFN)

每個編碼器層和解碼器層中都包含一個兩層的全連接網絡。這個前饋網絡是獨立應用於每個位置的,它可以捕捉更多的非線性關係。

1.4 殘差連接 (Residual Connection) 和層正規化 (Layer Normalization)

Transformer 在每個子層中使用了殘差連接,即將子層的輸入直接加到輸出上,然後進行層正規化,這樣可以幫助梯度傳遞,避免梯度消失問題。


2. Transformer 的架構

Transformer 的架構由多個編碼器和解碼器堆疊而成。

2.1 編碼器 (Encoder)

每個編碼器層包含兩個子層:

  1. 多頭自注意力機制:計算序列中每個單詞之間的依賴關係。
  2. 前饋神經網絡:將每個位置的表示進行非線性轉換。

2.2 解碼器 (Decoder)

解碼器層類似於編碼器層,但它有三個子層:

  1. 遮蔽的多頭自注意力機制:僅考慮已生成的單詞,防止未來的信息影響當前預測。
  2. 多頭注意力機制:從編碼器的輸出中捕捉依賴關係。
  3. 前饋神經網絡:與編碼器類似,進行非線性轉換。

3. Transformer 的應用場景

  • 機器翻譯:Transformer 被最早應用於機器翻譯任務,並取得了顯著的效果。
  • 文本摘要:從長文本中提取重要信息。
  • 文本生成:如 GPT 系列,用於生成自然語言文本。
  • 問答系統:理解用戶問題並生成對應的答案。

上一篇
DAY28 長短期記憶網絡28/30
下一篇
DAY30 Generative AI 30/30
系列文
機器學習與深度學習背後框架與過程論文與實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言