【AI】Transformer 是 CNN、RNN的終結者

更新於 發佈於 閱讀時間約 18 分鐘
raw-image

 

=================================================

NLP 問題從 LSTM 等 RNN 模型轉向 Transformer

=================================================

RNN的功能類似前饋神經網絡,是處理序列資料的首選方法,其特點是輸入

具有特定的順序,一次處理一個元素。

●RNN 的主要問題是什麼?它們對於 NLP 任務來說相當無效,

主要有兩個原因:

1.它們按順序逐一處理輸入資料。這種循環過程不使用為平行運算而設計的

現代圖形處理單元 (GPU),因此導致此類模型的訓練速度非常緩慢。

2.當元素彼此相距較遠時,它們會變得非常無效。這是因為訊息在每一步都會

傳遞,而鏈條越長,訊息在鏈條中失去的可能性就越大。

●在 NLP 中,從 LSTM 等循環神經網路 (RNN) 轉向 Transformers 的驅動力

在於這兩個主要問題,而 Transformers 能夠利用注意力機制的改進來評估

這兩個問題:

1.注意特定的詞語,無論它們有多長。

2.提高性能速度。 

接下來我們來看看Transformer的工作原理。

================================================

Transformer 的工作原理

================================================

●Transformer的架構

Transformer 最初設計用於序列傳導或神經機器翻譯,擅長將輸入序列轉換為

輸出序列。它是第一個完全依賴自註意力機制來計算輸入和輸出表徵的傳導模

型,無需使用序列對齊的 RNN 或卷積。

Transformer 架構的主要核心特徵在於其保留了編碼器-解碼器模型。

如果我們開始將用於語言翻譯的 Transformer 視為一個簡單的黑盒子,它將以

一種語言(例如英語)的句子作為輸入,並輸出其英語翻譯。

raw-image

然而,編碼器和解碼器實際上都是一個多層堆疊(每層的數量相同)。

所有編碼器都具有相同的結構,輸入進入每個編碼器並傳遞到下一個編碼器。

所有解碼器也具有相同的結構,並從上一個編碼器和上一個解碼器獲取輸入。

原始架構由 6 個編碼器和 6 個解碼器組成,但我們可以複製任意數量的層。

因此,我們假設每個編碼器和解碼器都有 N 層。

raw-image

現在我們對整個 Transformer 架構有了大致的了解,接下來讓我們專注於編碼

器和解碼器,以便更好地理解它們的工作流程:

 

==============================================

                                    編碼器工作流程

==============================================

編碼器是 Transformer 架構的基本元件。編碼器的主要功能是將輸入的 token

轉換為上下文相關的表示。與早期獨立處理 token 的模型不同,Transformer

編碼器會捕捉每個 token 相對於整個序列的上下文。

其結構組成如下:

raw-image

因此,讓我們將其工作流程分解為最基本的步驟:

●編碼器輸入

步驟 1 - 輸入Embedding(嵌入)

嵌入僅發生在最底層的編碼器。編碼器首先使用嵌入層將輸入標記(單字或

子單字)轉換為向量。這些嵌入捕捉標記的語義,並將其轉換為數值向量。

所有編碼器都會接收一個向量列表,每個向量的大小為 512(固定大小)。

在底部編碼器中,該向量是詞嵌入,但在其他編碼器中,該向量是其正下方

編碼器的輸出。

raw-image

步驟 2 - 位置編碼

由於 Transformer 不像 RNN 那樣具有循環機制,因此它們使用添加到輸入

嵌入中的位置編碼來提供有關序列中每個標記位置的資訊。這使它們能夠

理解句子中每個單字的位置。

為此,研究人員建議採用各種正弦和餘弦函數的組合來創建位置向量,

從而可以將該位置編碼器用於任意長度的句子。

在這種方法中,每個維度都由波的唯一頻率和偏移量表示,其值範圍

從 -1 到 1,有效地表示每個位置。

raw-image

步驟 3 - 編碼器層堆疊

Transformer 編碼器由一堆相同的層組成(原始 Transformer 模型中有 6 個)。

編碼器層用於將所有輸入序列轉換為連續的抽象表示,該表示封裝了從整個序列中學習到

的資訊。此層包含兩個子模組:

(1)多頭注意力機制。

(2)完全連接的網路。

此外,它在每個子層周圍加入了殘差連接,然後進行層規範化。

raw-image

步驟 4 多頭自註意力機制

在編碼器中,多頭注意力機制利用了一種稱為「自註意力」的特殊注意力機制。

這種方法使模型能夠將輸入中的每個單字與其他單字關聯起來。

例如,在一個給定的例子中,模型可能會學習將“are”與“you”聯繫起來。

這種機制允許編碼器在處理每個 token 時專注於輸入序列的不同部分。

它根據以下因素計算注意力分數(Q,K,V):

(1)Q (Question) :查詢是一個向量,它代表注意力機制中輸入序列中的特定單字或標記。

(2)K (Key) : 在注意力機制中也是一個向量,對應輸入序列中的每一個單字或

token。

(3)V (Value) : 每個值都與一個Key相關聯,並用於建立注意力層的輸出。

當 Q 和K 匹配良好時,這基本上意味著它們具有較高的注意力得分V,相應的

值會在輸出中得到強調。

第一個自注意力模組使模型能夠從整個序列中捕獲上下文資訊。它並非執行

單一的注意力函數,而是將Q、K和 V 進行 h 次線性投影。在每個投影版本

的Q、K和 V 上,注意力機制都會並行執行,產生 h 維的輸出值。

raw-image


【TIPS】Attension與 CrossAttention之比較

在深度學習中,自注意力關注單一序列內的關係,而交叉注意力則將兩個不同序列之間的

元素關聯起來 ,通常用於在機器翻譯等任務中將解碼器的輸出與編碼器的輸入對齊。

raw-image


●矩陣乘法 (MatMul) - 查詢和鍵的點積

一旦Q、K和 V 向量通過線性層,就會在 Q 和 K 之間執行點積矩陣乘法,

從而建立分數矩陣。

分數矩陣決定了每個單字對其他單字的強調程度。因此,每個單字都會被賦予

一個相對於同一時間步長內其他單字的分數 V。

分數 V 越高,表示關注度越高。該程序有效地將 Q 映射到其對應的 K。

raw-image


●降低注意力分數的幅度

然後,透過將分數除以 Q 和 K 向量維度的平方根來縮小分數。執行此步驟是

為了確保梯度更穩定,因為 V 的乘積可能會導致過大的效應。

raw-image


● 將Softmax 應用於調整後的分數

softmax函數應用於調整後的分數 V 以獲得注意力權重。

這會產生介於0到1之間的機率值。

softmax函數會強調較高的分數,同時削弱較低的分數,

從而增強模型有效確定哪些單字應該獲得更多注意力的能力。

raw-image


●將Softmax 結果與值向量結合

注意力機制的下一步是將來自softmax函數的權重乘以 V 值向量,得到輸出向量。

在這個過程中,只有那些softmax分數高的單字才會保留。最後,這個輸出向量

會被輸入到線性層進行進一步處理。

raw-image

最後我們就得到了Attention機制的輸出!

那麼,您可能想知道為什麼它被稱為多頭注意力?

請記住,在所有流程開始之前,我們會將 Q、K和 V值分解 h 次。這個過程被

稱為自注意力機制 (self-attention),它在每個較小的階段或「頭部」中分別進

行。每個頭部獨立運作,產生一個輸出向量。

這個整合最終會經過一個線性層,就像一個過濾器,對它們的整體性能進行

微調。其奧妙之處在於每個頭部學習的多樣性,從而以穩 K 且多方面的理解編碼器。

 

●標準化和殘差連接

編碼器層中的每個子層之後都會進行標準化步驟。此外,每個子層的輸出都會

添加到其輸入(殘差連接),以幫助緩解梯度消失問題,從而實現更深層的模

型。此過程也將在前饋神經網路之後重複進行。

raw-image


●前饋神經網絡

標準化殘差輸出的旅程將繼續,因為它將透過逐點前饋網路進行導航,

這是進一步細化的關鍵階段。

想像一下,這個網路是由兩個線性層組成的,中間嵌入一個 ReLU 活化函數,

作為橋樑。處理完成後,輸出會走上一條熟悉的路徑:它會回環並與逐點前饋

網路的輸入合併。

這次重聚之後,雙方將進行新一輪的正常化,以確保一切都調整好,並為

下一步同步進行。

raw-image

編碼器輸出

最終編碼器層的輸出是一組向量,每個向量都以上下文理解來表示輸入

序列。此輸出隨後被用作 Transformer 模型中解碼器的輸入。

這種仔細的編碼為解碼器鋪平了道路,引導它在解碼時注意輸入中的正確單字。

你可以把它想像成建造一座塔,上面可以堆疊 N 個編碼器層。堆疊中的每一層

都有機會探索和學習注意力機制的不同方面,就像知識層一樣。這不僅是理解,

還能顯著增強 Transformer 網路的預測能力。

 

===================================================

                                          解碼器工作流程

===================================================

●解碼器的功能

主要在於產生文字序列。與編碼器類似,解碼器也配備了一組類似

的子層。它擁有兩個多頭注意力層和一個逐點前饋層,並且每個子層還包括一個

周圍的殘差連接及標準化步驟。

raw-image

這些組件的功能類似於編碼器的層,但有一個不同之處:解碼器中的每個多頭

注意層都有其獨特的使命。

解碼器過程的最後涉及一個線性層,作為分類器,頂部有一個softmax函數來

計算不同單字的機率。

Transformer 解碼器具有專門設計的結構,透過逐步解碼編碼資訊來產生

此輸出。

值得注意的是,解碼器以自回歸的方式運行,並以起始標記啟動其進程。

它巧妙地使用先前生成的輸出列表作為輸入,並與編碼器的輸出(其中包含

來自初始輸入的注意力資訊)協同工作。

這種連續的解碼過程一直持續到解碼器到達一個關鍵時刻:產生一個標記,

標誌著輸出創建結束。 

●解碼器輸入

步驟 1. 輸出嵌入

在解碼器的起始行,該過程與編碼器的過程相同。在這裡,輸入首先經過一個

嵌入層

步驟 2. 位置編碼

嵌入之後,與編碼器類似,輸入經過位置編碼層。此序列旨在產生位置嵌入。

然後將這些位置嵌入引入解碼器的第一個多頭注意層,在那裡精確計算特定於

解碼器輸入的注意分數。

步驟 3. 解碼器層堆疊

解碼器由一堆相同的層組成(原始 Transformer 模型中為 6 層)。每層包含三個

主要子組件:

步驟 4. 掩蔽自註意力機制

這類似於編碼器中的自註意力機制,但有一個關鍵的區別:它阻止位置關注

後續位置,這意味著序列中的每個單字不受未來標記的影響。

例如,在計算單字「are」的注意力分數時,重要的是「are」不會被序列中的

後續單字「you」所影響。

raw-image


步驟 5. 編碼器-解碼器多頭注意力或交叉注意力

在解碼器的第二個多頭注意力層中,我們看到了編碼器和解碼器元件之間獨特的

相互作用。在這裡,編碼器的輸出同時充當查詢和鍵的角色,而解碼器第一個多

頭注意力層的輸出則充當值。

這種設定有效地將編碼器的輸入與解碼器的輸入對齊,使解碼器能夠識別和強調

編碼器輸入中最相關的部分。

接下來,第二層多頭注意力的輸出將透過逐點前饋層進行細化,從而進一步增強

處理。

raw-image

在這個子層中,查詢來自上一個解碼器層,鍵和值來自編碼器的輸出。這使得解

碼器中的每個位置都能專注於輸入序列中的所有位置,從而有效地將來自編碼器

的信息與解碼器中的信息整合在一起。

步驟 6 前饋神經網絡

與編碼器類似,每個解碼器層都包含一個完全連接的前饋網絡,分別且相同地應

用於每個位置。

步驟 7 線性分類器和 Softmax 產生輸出機率

資料通過變換器模型的旅程最終通過最後一個線性層,該層起到分類器的作用。

此分類器的大小對應於所涉及的類別總數(詞彙表中包含的單字數)。

例如,在 1000 個不同的類別代表 1000 個不同單字的場景中,分類器的輸出

將是一個包含 1000 個元素的陣列。

然後將該輸出引入softmax層,將其轉換為一系列機率分數,每個分數介於0到

1之間。這些機率分數中的最高值是 K,其對應的索引直接指向模型預測為序列

中的下一個單字。

raw-image

●標準化和殘差連接

每個子層(掩蔽自注意力、編碼器-解碼器注意力、前饋網路)後面都有一個標準化

步驟,每個子層還包括一個周圍的殘差連接。

●解碼器的輸出

最後一層的輸出被轉換成預測序列,通常透過線性層然後是softmax來產生詞

彙的機率。

解碼器在其操作流程中,將新產生的輸出合併到其不斷增長的輸入清單中,然後

繼續解碼過程。此循環重複進行,直到模型預測出特定的標記,並發出完成訊號。

預測機率最高的標記被指定為結論類,通常由結束標記表示。

再次提醒,解碼器並不局限於單層。它可以由 N 層構成,每一層都基於從編碼器

及其前幾層接收到的輸入建構。這種分層架構允許模型分散關注點,並在其注意

力頭中提取不同的注意力模式。

這種多層次的方法可以顯著增強模型的預測能力,因為它對不同的注意力組合有

了更細緻的理解。

最終的架構如下圖(來自原始論文)

raw-image


===============================================

●結論

總而言之,Transformers 已經成為人工智慧 NLP 領域的一項重大突破。

這些模型透過其獨特的自註意力機制有效地管理序列數據,其性能超越了傳統的

RNN。它們能夠更有效率地處理長序列,並實現資料並行處理,從而顯著加快了

訓練速度。

谷歌的 BERT 和 OpenAI 的 GPT 系列等先驅模型體現了 Transformers 在增強搜

尋引擎和生成類人文本方面的變革性影響。

因此,它們已成為現代機器學習中不可或缺的一部分,推動了人工智慧的發展,

並開闢了技術進步的新途徑。 

本文摘譯自 https://www.datacamp.com/tutorial/how-transformers-work

 

========================================


【視頻】Illustrated Guide to Transformers Neural Network:

A step by step explanation


【視頻】How Attention Mechanism Works in Transformer Architecture

 

【視頻】Cross Attention - Method Explanation - Math Explained


【視頻】Coding a Transformer from scratch on PyTorch,

with full explanation, training and inference.

【TIPS】此一視頻的完整程式碼請見 :

 https://github.com/hkproj/pytorch-transformer?tab=readme-ov-file



raw-image








留言
avatar-img
留言分享你的想法!
avatar-img
跨元探索的沙龍
86會員
107內容數
跨領域探索分享
跨元探索的沙龍的其他內容
2025/08/18
1.到 https://www.python.org/downloads/ 下載 python-3.13.7-amd64.exe 安裝 2.到 https://www.jetbrains.com/pycharm/download/?section=windows    安裝 Pychar
Thumbnail
2025/08/18
1.到 https://www.python.org/downloads/ 下載 python-3.13.7-amd64.exe 安裝 2.到 https://www.jetbrains.com/pycharm/download/?section=windows    安裝 Pychar
Thumbnail
2025/08/17
1.到 https://python.com 下載 python-3.13.7-amd64.exe 安裝   2.到 https://pycharm.com 下載 pycharm-2025.2.0.1.exe 安裝   3. 到桌面點擊圖標開啟 python 4. 進入設定 (例如
Thumbnail
2025/08/17
1.到 https://python.com 下載 python-3.13.7-amd64.exe 安裝   2.到 https://pycharm.com 下載 pycharm-2025.2.0.1.exe 安裝   3. 到桌面點擊圖標開啟 python 4. 進入設定 (例如
Thumbnail
2025/08/08
當OpenAI 、Google Gemini 等AI大咖,還在忙於軟體更新迭代升級相互較勁時, 給消費者的感覺 : 不就是一個傳統「Photoshop圖形處理+ SQL資料庫+谷歌搜尋 引擎+影音辨識+程式自動除錯+電玩」的冠名AI整合體。   當下所有的AI 大語言模型 ,例如Open
Thumbnail
2025/08/08
當OpenAI 、Google Gemini 等AI大咖,還在忙於軟體更新迭代升級相互較勁時, 給消費者的感覺 : 不就是一個傳統「Photoshop圖形處理+ SQL資料庫+谷歌搜尋 引擎+影音辨識+程式自動除錯+電玩」的冠名AI整合體。   當下所有的AI 大語言模型 ,例如Open
Thumbnail
看更多
你可能也想看
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
科技發達,AI智能也越來越發達。 蠢孩子,我每篇小說的圖片都是用AI製作的唷!!
Thumbnail
科技發達,AI智能也越來越發達。 蠢孩子,我每篇小說的圖片都是用AI製作的唷!!
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 77 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 77 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 76 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 76 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 75 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 75 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
在科技發展的浪潮中,生成式AI無疑是引領未來的關鍵力量。透過深度學習技術,AI系統能夠從大量資料中發掘規律,並創造出全新的內容,無論是文字、圖像、音頻還是視頻,都可以在AI的加持下重新定義。
Thumbnail
在科技發展的浪潮中,生成式AI無疑是引領未來的關鍵力量。透過深度學習技術,AI系統能夠從大量資料中發掘規律,並創造出全新的內容,無論是文字、圖像、音頻還是視頻,都可以在AI的加持下重新定義。
Thumbnail
數位化時代中,人工智能(AI)已成為推動創新和進步的關鍵力量。本文探討AI的現狀、挑戰以及未來可能性,並提出負責任地發展和使用AI的思考。
Thumbnail
數位化時代中,人工智能(AI)已成為推動創新和進步的關鍵力量。本文探討AI的現狀、挑戰以及未來可能性,並提出負責任地發展和使用AI的思考。
Thumbnail
AI 是人工智能 (Artificial Intelligence) 的縮寫。它指一種模擬、模仿人類智能的技術與系統。主要使機器能夠執行需要人類智慧才能完成的任務。應用於各領域,包括自動駕駛車輛、語音助手、推薦系統、金融分析、醫學診斷、工業自動化等。不僅可提高效率和準確性,還可解決複雜的問題和挑戰。
Thumbnail
AI 是人工智能 (Artificial Intelligence) 的縮寫。它指一種模擬、模仿人類智能的技術與系統。主要使機器能夠執行需要人類智慧才能完成的任務。應用於各領域,包括自動駕駛車輛、語音助手、推薦系統、金融分析、醫學診斷、工業自動化等。不僅可提高效率和準確性,還可解決複雜的問題和挑戰。
Thumbnail
對於熱衷於語言科技的你, 大語言模型(LLMs)在自然語言處理(NLP)領域的發展無疑是一個革命性的進展。 從傳統的規則系統到基於深度學習的方法, LLMs展現了在理解、生成和翻譯人類語言方面的巨大突破。 這不僅是技術上的飛躍, 更是開啟了新的應用和可能性。 下面將介紹這一變革帶來的三大
Thumbnail
對於熱衷於語言科技的你, 大語言模型(LLMs)在自然語言處理(NLP)領域的發展無疑是一個革命性的進展。 從傳統的規則系統到基於深度學習的方法, LLMs展現了在理解、生成和翻譯人類語言方面的巨大突破。 這不僅是技術上的飛躍, 更是開啟了新的應用和可能性。 下面將介紹這一變革帶來的三大
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News