AI時代系列(2) 機器學習三部曲: 🔹 第二部:《深度學習 —— 神經網路的革命》
75/100 第八週:📌 自監督學習與預訓練技術 🔁
75.自監督在 NLP 的應用 🤓 單詞遮蔽、語序打亂、片段排序皆可訓練!
______________________________________
🎯 單元導讀:
自監督學習不只用在電腦視覺,也早已成為 自然語言處理(NLP)預訓練模型的核心法則。
從 BERT 到 T5,NLP 的大模型都是透過「無需人工標註」的方式來學習語意、語境與句法規則。
本課帶你認識 NLP 領域中最常見的自監督訓練任務類型、背後邏輯與實際應用場景。
________________________________________
🧠 一、NLP 中的自監督任務範例
自監督語言模型透過多種預訓練任務來學習語意與結構知識。最常見的是
📕單詞遮蔽(MLM),如 BERT 與 RoBERTa,透過隨機遮住句中詞語讓模型預測原詞;
🔀語序打亂(SOP)則讓模型判斷片段語序是否合理,應用於 ALBERT 和 ELECTRA;
📦句子關係預測(NSP)幫助模型理解語句連貫性,為 BERT 所採用。
🧩句子排序(Permutation LM),如 XLNet,打亂單詞順序後要求模型重建,是偏向生成的預訓練方式;
✂️Span Prediction 則遮住一整段片語,讓模型學會填補區段內容,應用於 SpanBERT 和 T5;🧾
文本自重建則在原文中加入雜訊(如刪除、重排),再訓練模型還原原始文本,為 T5 與 BART 的關鍵技術。
這些任務共同構成了現代語言模型強大語言理解與生成能力的基礎。
________________________________________
🛠 二、代表模型與其訓練任務
幾個主流語言模型的自監督訓練方法與特色:BERT 結合 Masked LM 和 NSP,專注於語義理解任務如分類與問答;RoBERTa 移除 NSP,使用更大量語料與訓練步數,加強語意學習能力;ALBERT 改用 Sentence Order Prediction,強化句間邏輯判斷;XLNet 則透過 Permutation LM 打亂詞序進行預測,避免遮詞帶來的信息斷裂;T5 採用 Text-to-Text 框架,將所有任務統一成「填空題」格式,適用範圍最廣;而 BART 結合雜訊處理與編碼-解碼架構,兼具語意理解與文本生成能力,特別適合摘要與翻譯任務。這些模型各有優勢,構成了 NLP 領域多樣且強大的應用基礎。
________________________________________
✨ 三、自監督學習對 NLP 的貢獻
面向 自監督學習的貢獻
🚫 無需標註 在大規模未標記語料中學習語意與結構
📚 學語言常識 學到詞彙關聯、語法規則、上下文邏輯
🔁 遷移能力強 經微調後可應用於分類、摘要、翻譯、問答、對話等多種任務
🧠 語意嵌入優 可產生高質量的 token / sentence embedding
________________________________________
🧩 四、延伸應用任務
下游任務 微調後應用方式
文本分類 用 [CLS] 向量 + softmax
命名實體辨識(NER) 對每個 token 進行標註
文本摘要 Encoder-Decoder 模型(如 T5/BART)生成摘要
文本翻譯 自監督學到雙語對齊語意空間
問答任務 找出上下文中答案位置
多輪對話 透過上下文記憶學習對話連貫性
________________________________________
🧪 五、小實驗:T5 的自監督「填空式」訓練例子
php-template
Input: 填空任務:The <extra_id_0> is playing in the <extra_id_1>.
Target: <extra_id_0> cat <extra_id_1> garden
這個範例展現了 T5 模型的自監督學習方式,稱為「填空式任務(span corruption)」。輸入句 The <extra_id_0> is playing in the <extra_id_1>. 中,部分詞語被特殊標記 <extra_id_0> 和 <extra_id_1> 所遮蔽,目標輸出則是 <extra_id_0> cat <extra_id_1> garden,表示模型需學會將遮蔽區域還原為正確的詞語。這種設計不只訓練模型理解語意,也強化其句子重建與生成能力,是 T5 將所有任務轉化為「文字輸入 → 文字輸出」格式的核心特徵,具備高度彈性與廣泛應用潛力。
T5 把所有任務(分類、翻譯、摘要)都格式化成這樣的「填空生成」,實現任務統一化設計。
________________________________________
📚 六、小結與啟示
✅ NLP 領域的自監督學習是一場從「填空、打亂、遮蔽」中學語言的革命
✅ 它讓模型從大量語料中學習常識、語意、邏輯,是現代 NLP 大模型成功的根基
✅ 這些任務不需人工標註,卻能建立強大的預訓練能力、為各種應用打下基礎
________________________________________
💬 問題挑戰與思考:
1️⃣ 為什麼 Masked LM 不適合用於生成任務?有什麼改進模型?
Masked Language Model(MLM)(如 BERT)在訓練時會遮蔽輸入中的某些詞,讓模型在完整的上下文下預測這些詞語。這意味著它依賴「雙向上下文」,也就是已知整個句子來推斷其中部分內容。
📉 因此,MLM 不適合用於生成任務,因為生成任務是「逐步往後預測」的過程(從左到右),例如寫文章、摘要、翻譯時模型並不知道後面的內容,無法用已知上下文來預測未來詞。
✅ 為了解決這個問題,出現了兩類改進模型:
• 自回歸模型(Autoregressive LM):如 GPT,從前往後預測下一個字,適合自然語言生成。
• Encoder-Decoder 架構:如 T5、BART,透過編碼輸入、解碼輸出,支援理解與生成任務。
• Permutation LM(XLNet):透過打亂預測順序模擬多種上下文組合,結合雙向資訊與自回歸能力。
________________________________________
2️⃣ 請設計一個中文的句子遮蔽訓練任務(給原句與遮蔽方式)
原句:小明今天早上去圖書館看書。
遮蔽後輸入:小明今天 <extra_id_0> 去 <extra_id_1> 看書。
目標輸出:<extra_id_0> 早上 <extra_id_1> 圖書館
這是 T5 或 BART 常用的「Span Corruption」遮蔽方式,讓模型學習語意結構與上下文還原能力。
________________________________________
3️⃣ 你會怎麼讓一個模型學會「段落順序的邏輯性」?
可設計如下自監督任務來學習段落邏輯順序:
📚 段落排序任務(Paragraph Ordering Prediction)
• 給一篇文章拆成三段,打亂順序,讓模型預測正確順序。
• 搭配 編碼器模型(如 BERT) 或序列輸出模型(如 T5),設計輸入為「段落A|段落C|段落B」,輸出為「A→B→C」。
• 或採用分類方式,判斷「這組段落是否為正確順序」。