第二部:《深度學習》54/100 Position Encoding 位置編碼 📏 解決沒有順序感的問題!

更新 發佈閱讀 8 分鐘

AI時代系列(2) 機器學習三部曲: 🔹 第二部:《深度學習 —— 神經網路的革命》

54/100 第六週:📌 轉換器架構與注意力機制(Transformers & Attention)🔍

54.Position Encoding 位置編碼 📏 解決沒有順序感的問題!

________________________________________

🎯 單元導讀:

Transformer 架構雖然強大,能一次性處理整個序列,但它沒有內建「順序感」。

不像 RNN 順著時間一步步處理,Transformer 是全並行,因此無法自動理解詞語的排列順序。

為了讓模型「知道誰先誰後」,我們需要 位置編碼(Positional Encoding)——讓詞向量同時包含語意資訊與順序資訊。

________________________________________

📦 一、為什麼需要位置編碼?

模型類型 順序處理 是否有內建順序概念

🧠 RNN/LSTM ✅ 有 ✅ 內建

⚡ Transformer ✅ 並行 ❌ 無順序概念

➡️ 所以必須 額外提供位置信息 給 Transformer,讓它知道:

"the cat sat" ≠ "sat cat the"

________________________________________

✨ 二、位置編碼的兩大方法

✅ 1. 固定式位置編碼(Sinusoidal Positional Encoding)

由《Attention is All You Need》提出,透過三角函數設計使用 正弦(sin)與餘弦(cos)函數 為每個詞的位置編碼,使不同位置的向量呈現週期性變化,並且彼此之間保有相對距離資訊。

📘 特點:

不需要訓練參數

在不同長度下仍具一般化能力

支援「相對位置」的推理(如距離、周期)

________________________________________

✅ 2. 學習式位置編碼(Learnable Position Embedding)

每個位置對應一個可訓練的向量,類似詞向量 embedding

優點是能自適應數據語境,效果通常較好(如 BERT 採用)

缺點是泛化到不同長度序列較差,需預設最大長度

________________________________________

🔁 三、位置編碼如何使用?

✅ 使用步驟:

🧩 1. 將詞嵌入(Word Embedding)與位置編碼進行逐元素相加

假設輸入序列長度為 n,每個詞對應的詞向量為 x₁, x₂, ..., xₙ,位置編碼為 p₁, p₂, ..., pₙ,

則最終輸入為:

ei=xi+pi(對每個詞 i 加上位置向量)

✅ 2. 加入後送入 Transformer Encoder 中

這樣模型在處理每個詞的時候,不只是看到語意向量(embedding),還能知道「這個詞出現在句子的第幾個位置」。

_____________________________________

🔬 四、視覺化例子(Sinusoidal)

假設序列長度為 5,維度為 4,我們會得到一個位置編碼矩陣:

🔍 視覺化例子:Sinusoidal 位置編碼矩陣

假設:

📏 序列長度 = 5(共 5 個詞)

📐 嵌入維度 = 4

我們將為每個詞的位置 pos∈{0,1,2,3,4}產生一個 4 維的 位置向量 PE[pos],其中每個維度交替使用 sin 和 cos 函數。

________________________________________

📊 五、位置編碼的比較整理

  • Sinusoidal
    • 是否需訓練:❌ 否 • 可否泛化到長序列:✅ 是 • 用於哪些模型:原始 Transformer、GPT-2
  • Learnable
    • 是否需訓練:✅ 是 • 可否泛化到長序列:❌ 否(固定長度) • 用於哪些模型:BERT、T5、RoBERTa

________________________________________

💡 六、小結與學習啟示

✅ Transformer 雖可全並行處理,但需位置編碼補上「順序感」

✅ Sinusoidal 編碼支援數學泛化,Learnable 編碼則更靈活

✅ 適當設計位置表示,是語言模型成功理解結構的關鍵一環!

________________________________________

💬 問題挑戰與思考:

1️⃣ 如果不加位置編碼,Transformer 的輸出會發生什麼問題?

ANS:

如果不加入位置編碼,Transformer 雖然能計算詞與詞之間的語意關聯,但卻無法感知詞語的先後順序。例如:「狗追貓」與「貓追狗」會被視為完全一樣的輸入,導致語意理解錯誤。沒有順序概念的話,語法結構就無法被學習,輸出容易失去邏輯、語意混亂。因此,位置編碼是讓模型理解語序與結構的關鍵訊號。

________________________________________

2️⃣ 相對位置(如第3個詞 vs 第5個詞)是否也可以設計注意力權重?

ANS:

可以,這也是進階 Transformer 變體(如 Transformer-XL、T5)發展的方向。這些模型會使用相對位置編碼(Relative Positional Encoding),讓注意力機制不只是關注詞本身,也能考慮兩個詞之間的相對距離與方向(前後、間隔)。

這樣可以更靈活處理長序列,並讓模型學會「某些語意關係通常發生在某個距離內」,例如形容詞常出現在名詞前面。

________________________________________

3️⃣ 如果是圖像、音訊等非語言資料,是否也需要位置編碼?如何設計?

ANS:

是的,Transformer 在處理非語言資料時也必須引入位置資訊,因為像素或聲音的結構也依賴於空間或時間順序。

📷 圖像資料(如 Vision Transformer):會將圖片切割成小區塊(patches),並對每個 patch 加上 2D 座標位置編碼(例如行/列位置)

🔊 音訊資料:視為時間序列,通常使用與 NLP 類似的一維位置編碼或以頻譜圖形式加上時間+頻率雙軸位置資訊

📈 表格、圖結構資料:也可以加入 row/column index 或圖中節點的拓樸資訊當作位置

📌 結論:不同型態的資料也需要專屬設計的「位置引導」,才能讓 Transformer 理解資料的結構邏輯。





留言
avatar-img
留言分享你的想法!
avatar-img
Hansen W的沙龍
8會員
227內容數
AIHANS沙龍是一個結合AI技術實戰、產業策略與自我成長的知識平台,主題涵蓋機器學習、生成式AI、創業經驗、財務規劃及哲學思辨。這裡不只提供系統化學習資源與實作案例,更強調理性思維與行動力的結合。無論你是AI初學者、創業者,還是追求人生升維的行者,都能在這裡找到前進的方向與志同道合的夥伴。
Hansen W的沙龍的其他內容
2025/09/19
Self-Attention 讓句中每個詞同時擔任 Q、K、V,根據上下文動態調整語意表示,能捕捉長距依賴並並行計算。應用於翻譯、對話、圖像字幕生成,提升語境理解與生成品質,是取代 RNN 的核心技術。
2025/09/19
Self-Attention 讓句中每個詞同時擔任 Q、K、V,根據上下文動態調整語意表示,能捕捉長距依賴並並行計算。應用於翻譯、對話、圖像字幕生成,提升語境理解與生成品質,是取代 RNN 的核心技術。
2025/09/19
本單元介紹 Attention 機制原理,透過 Q、K、V 設計讓模型聚焦關鍵資訊並捕捉長距依賴。Self-Attention、Cross-Attention 等類型提升語意理解,位置編碼則補足順序感。Attention 已成為 Transformer、BERT、GPT 等模型的核心技術。
2025/09/19
本單元介紹 Attention 機制原理,透過 Q、K、V 設計讓模型聚焦關鍵資訊並捕捉長距依賴。Self-Attention、Cross-Attention 等類型提升語意理解,位置編碼則補足順序感。Attention 已成為 Transformer、BERT、GPT 等模型的核心技術。
2025/09/19
本單元介紹 Transformer 為何能取代 RNN,核心在於 Self-Attention 機制能捕捉全局關係並支援並行運算,解決長距依賴與效率問題。其架構透過多頭注意力與位置編碼應用於 NLP、影像、語音、多模態與強化學習,成為深度學習的基石。
2025/09/19
本單元介紹 Transformer 為何能取代 RNN,核心在於 Self-Attention 機制能捕捉全局關係並支援並行運算,解決長距依賴與效率問題。其架構透過多頭注意力與位置編碼應用於 NLP、影像、語音、多模態與強化學習,成為深度學習的基石。
看更多
你可能也想看
Thumbnail
蝦皮分潤計畫讓我在分享旅遊文章時,也能透過推薦好物累積被動收入,貼補旅行基金。這篇文章,除了介紹計畫的操作亮點與心得,也分享我最常應用的案例:「旅行必備小物 TOP5」,包含行李鎖、免洗內衣褲、分裝瓶、折疊衣架與真空壓縮袋,幫助出國打包更輕鬆。想同時記錄旅行、分享好物又創造額外收入的你,千萬別錯過!
Thumbnail
蝦皮分潤計畫讓我在分享旅遊文章時,也能透過推薦好物累積被動收入,貼補旅行基金。這篇文章,除了介紹計畫的操作亮點與心得,也分享我最常應用的案例:「旅行必備小物 TOP5」,包含行李鎖、免洗內衣褲、分裝瓶、折疊衣架與真空壓縮袋,幫助出國打包更輕鬆。想同時記錄旅行、分享好物又創造額外收入的你,千萬別錯過!
Thumbnail
想增加被動收入?加入蝦皮分潤計畫是輕鬆上手的好方法!本文提供完整教學,包含申請流程、賺取分潤技巧,以及實際使用心得分享,助你輕鬆獲得額外收入。
Thumbnail
想增加被動收入?加入蝦皮分潤計畫是輕鬆上手的好方法!本文提供完整教學,包含申請流程、賺取分潤技巧,以及實際使用心得分享,助你輕鬆獲得額外收入。
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 在 AI說書 - 從0開始 - 127 中提及: Transformer 的關鍵參數為: 原始 Transformer 模型中,左圖的 N = 6 原始 Tran
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 在 AI說書 - 從0開始 - 127 中提及: Transformer 的關鍵參數為: 原始 Transformer 模型中,左圖的 N = 6 原始 Tran
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們已經在 AI說書 - 從0開始 - 114 建立了 Transformer 模型。 現在我們來載入預訓練權重,預訓練的權重包含 Transformer 的智慧
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們已經在 AI說書 - 從0開始 - 114 建立了 Transformer 模型。 現在我們來載入預訓練權重,預訓練的權重包含 Transformer 的智慧
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Trainin
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Trainin
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Decoder
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Decoder
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Attenti
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Attenti
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 講完 Transformer 之 Encoder 架構中的 Embedding 與 Positional Encoding 部分,現在進入 Multi-Head Att
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 講完 Transformer 之 Encoder 架構中的 Embedding 與 Positional Encoding 部分,現在進入 Multi-Head Att
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧我們在AI說書 - 從0開始 - 41中,提及 Transformer 的 Encoder 架構如下圖所示: 此外我已經在AI說書 - 從0開始 - 42中,
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧我們在AI說書 - 從0開始 - 41中,提及 Transformer 的 Encoder 架構如下圖所示: 此外我已經在AI說書 - 從0開始 - 42中,
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續AI說書 - 從0開始 - 45,我們介紹了 Google 於2017 年提出的 Transformer 架構的 Positional Encoding (PE)
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續AI說書 - 從0開始 - 45,我們介紹了 Google 於2017 年提出的 Transformer 架構的 Positional Encoding (PE)
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 在AI說書 - 從0開始 - 41中,我們提及 Transformer 的 Encoder 架構如下圖所示,同時我們羅列幾個要點於圖示右邊: 原始 Transform
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 在AI說書 - 從0開始 - 41中,我們提及 Transformer 的 Encoder 架構如下圖所示,同時我們羅列幾個要點於圖示右邊: 原始 Transform
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 繼AI說書 - 從0開始 - 39,我們陳述了 Transformer 的全貌,那 Transformer 的 Encoder 部分長怎樣呢,如下所示: 在原始
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 繼AI說書 - 從0開始 - 39,我們陳述了 Transformer 的全貌,那 Transformer 的 Encoder 部分長怎樣呢,如下所示: 在原始
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News