AI時代系列(2) 機器學習三部曲: 🔹 第二部:《深度學習 —— 神經網路的革命》
72/100 第八週:📌 自監督學習與預訓練技術 🔁
72.對比學習(Contrastive Learning)🔍 學會分辨相似與不同!
______________________________________
🎯 單元導讀:
如果你想讓 AI 學會辨識「誰跟我像?誰跟我不一樣?」,你需要的就是——對比學習(Contrastive Learning)。
這是近年最熱門的自監督學習方法之一,尤其在圖像辨識、語言理解、多模態對齊中都大放異彩。
本課帶你掌握對比學習的核心原理、代表模型、設計技巧與實際應用。
________________________________________
🔍 一、對比學習是什麼?
✅ 定義:
對比學習是一種透過「拉近相似樣本距離、拉遠不相似樣本距離」的方式,來訓練模型學習資料間的語意或視覺關係。
📘 類比:
你學會「這兩張是同一隻狗」,「這兩張不是同一類動物」,就是對比學習的精神!
________________________________________
🧠 二、核心概念:正樣本 vs 負樣本
概念 說明
正樣本對(Positive Pair) 表示語意或來源相同的兩筆資料(如圖片增強後版本)
負樣本對(Negative Pair) 表示語意不同、來源不同的資料對
➡️ 模型要學會「把正樣本嵌入向量拉近、負樣本嵌入向量推遠」。
________________________________________
🧪 三、對比學習的代表模型
對比學習透過辨別相似與不相似樣本,讓模型學會更強的特徵表示能力,以下為其代表模型與應用概述:在圖像領域,
SimCLR 利用資料增強產生正樣本並搭配 NT-Xent 損失函數學習視覺特徵,MoCo 引入動態記憶字典穩定對比訓練,BYOL 則創新地去除負樣本,僅透過自我一致性學習特徵對齊。跨模態方面,CLIP 透過對比學習讓圖片與文字描述映射到同一語意空間,廣泛應用於圖文生成與理解;在 NLP 領域,SimCSE 利用 dropout 或 noise 產生語句變體,進行句向量的對比學習,顯著提升語言嵌入品質。這些模型構成了對比學習在不同領域的核心實踐框架。
________________________________________
📐 四、損失函數:NT-Xent Loss(常見形式)
在對比學習中,最經典的損失函數叫做 NT-Xent(標準化溫度縮放交叉熵損失),它的核心目的是:
🔹 讓相似的樣本(正樣本對)越接近,
🔹 讓不相似的樣本(負樣本)越遠離。
我們會把同一張圖片或句子透過不同的變化方式(像旋轉、裁切、加雜訊等)產生兩個版本,這兩個版本就被視為「正樣本對」。
模型會學著把這對正樣本在特徵空間裡變得越來越接近,同時把與其他不同圖片或句子的距離拉開。
在這個過程中,我們會用「相似度分數」(通常是餘弦相似度)來評估兩個樣本的接近程度,還會加上一個「溫度參數」來調整整體判斷的敏感度。
這種學習方式的好處是:即使沒有人工標註的資料,只要資料夠多、變化夠豐富,模型也能學到非常強大的語意或視覺理解能力,是現代自監督學習中非常重要的技術。
✅ 目標:最大化正樣本相似度、最小化負樣本相似度
________________________________________
🔁 五、對比學習的關鍵設計技巧
在對比學習中,有幾項關鍵技巧能顯著提升模型效果:首先,數據增強策略(如圖像裁剪、模糊、旋轉)是產生正樣本對的核心,幫助模型學會從不同視角辨識同一物件;溫度超參數則用來控制 softmax 的銳度,影響模型在相似度分布上的敏感度與訓練穩定性;批次大小越大,能同時提供更多負樣本,有利於模型學出更具鑑別力的特徵;最後,在 encoder 後加入一個小型的 投影層(MLP),能提升特徵嵌入的品質與泛化能力,是 SimCLR 等模型常用的設計。這些技巧相輔相成,共同強化對比學習的效果。
________________________________________
🌐 六、應用場景
應用任務 對比學習貢獻
🖼 圖像辨識 在無標籤資料下學出圖像語意向量(SimCLR、BYOL)
🧠 語言嵌入 提升詞句向量相似度學習效果(SimCSE)
🔤 文本檢索 對比學習可提升查詢與候選答案間的語意對齊
🧾 多模態對齊 CLIP 讓圖片與文字對齊,建立「圖像文字共享語意空間」
🤖 LLM 提示微調 強化輸入提示與輸出語句的語意對應能力
________________________________________
📚 七、小結與學習啟示
✅ 對比學習是無需標註、具泛化力強的特徵學習方法
✅ 它訓練模型建立語意上的「相近與相異」邏輯
✅ CLIP、SimCLR、SimCSE 等方法在圖像、語言、跨模態都有卓越表現
✅ 是現代 AI 預訓練的第二條主線(與 Masked LM 並列)
________________________________________
💬 問題挑戰與延伸思考:
💬 1. 為什麼對比學習中的「負樣本」數量與質量很關鍵?太少會怎樣?
在對比學習中,負樣本的角色是幫助模型學會「什麼是不相似的」。
如果負樣本太少或質量不好(如與正樣本太相近或太隨機),會產生兩大問題:
• 📉 學習效果下降:模型無法有效區分正樣本與其他無關資料,嵌入空間的鑑別能力不足。
• 🧠 過擬合正樣本:模型可能只記住特定正樣本對,而無法泛化。
因此,足夠數量且多樣性的負樣本對於穩定訓練與學習有效特徵是關鍵,有時甚至需借助大 batch size 或 memory bank(如 MoCo)來擴充負樣本數。
________________________________________
💬 2. 在語言任務中,你會如何設計「正樣本對」來進行對比訓練?
在 NLP 任務中,設計正樣本對的方法包括:
• 🌀 同一句話的不同增強版本:使用 Dropout、同義詞替換、詞序打亂等方法產生「語意不變但表現不同」的版本(如 SimCSE)。
• 🔁 問答對、摘要原文對:如問題與答案、摘要與原文,這些語意上高度相關。
• 🔍 平行語言資料:英文句子與其翻譯,如英中對照語料。
• 🗂️ 文章內上下句、段內句子:語意上常具連貫性,可作為正樣本。
這些設計有助於模型捕捉語意相近的句子表示,進而應用於相似度分析與語意理解。
________________________________________
💬 3. 如何將對比學習應用於產品推薦、相似問句判別等任務中?
對比學習可廣泛應用於各類表徵學習任務:
🛍️ 產品推薦
• 將「用戶與點擊商品」視為正樣本對,不同用戶的點擊視為負樣本。
• 模型學會將用戶與感興趣商品映射到同一特徵空間,提高推薦匹配精度。
💬 相似問句判別
• 將語意相同但表達方式不同的句子當作正樣本對(如:「怎麼申請退貨?」vs「我想退貨流程是什麼?」)。
• 使用對比學習讓模型學會語意嵌入,提升問句匹配與 FAQ 查詢準確率。
✅ 對比學習的特點是能強化嵌入向量的「語意分辨力」,非常適合無監督或弱監督的推薦、搜尋、分類任務。