iT邦幫忙

2025 iThome 鐵人賽

DAY 10
0

BERT與Masked Language Model

BERT (Bidirectional Encoder Representations from Transformers) 是 Google 在 2018 年提出的語言模型,它的誕生是 NLP 領域的一個里程碑。BERT 的強大之處在於,它徹底改變了我們訓練和使用語言模型的方式。

  1. BERT簡介
    BERT是基於Transformer的Encoder架構。他具有雙向上下文理解的優勢。這是它與傳統模型最大的不同。相較於只從左到右閱讀的單向模型,BERT在處理一個詞時,能同時考慮到它左邊和右邊的所有上下文資訊。而為了實現雙向理解,BERT在預訓練階段採用了兩個獨特的任務:Masked Language Model (MLM) 和 Next Sentence Prediction (NSP)。

  2. Masked Language Model (MLM)
    MLM是BERT的核心訓練任務,它就像一個「填空遊戲」,讓模型能從雙向語境中學習。它的運作方式為:
    模型會隨機將輸入句子中約 15% 的詞語遮蔽(mask)。而模型的任務是根據被遮蔽詞語前後的上下文,來準確預測這些詞語是什麼。

舉例:
輸入: "The cat sat on the [MASK]."
模型會根據前面的 "The cat sat on" 和後面的 "." 來判斷,最有可能被遮蔽的詞是 "mat"。
MLM透過強迫模型同時學習左側與右側的語境資訊,從而獲得了深層的雙向語義理解能力。

  1. Next Sentence Prediction (NSP)
    除了MLM之外,BERT的原始設計為了幫助模型理解句子間的關聯性還加入了一個輔助任務NSP。它的運作方法為,模型會給出兩句話A和B,並判斷B是否為A的下一句。
    舉例:
    Case 1:
    A: "I went to the store."
    B: "I bought some milk." → 模型判斷為 真
    在這個case中,B句為去了商店做了什麼,可推測是A句去了商店的的下一步,二者有關,因此結果為true。

Case 2:
A: "I went to the store."
B: "The sky is blue." → 模型判斷為 假
而很明顯,在case 2中,AB兩句為完全不同的事情,顯而易見的是flase的結果。

  1. Pre-training 與 Fine-tuning
    BERT 的訓練模式是「先學通用知識,再做專業應用」,這是一個經典的遷移學習 (Transfer Learning) 範例。

第一階段:Pre-training(預訓練)
在這一階段的目的是:在海量的無標註語料(如維基百科、書籍)上進行訓練。而他是怎麼訓練的呢?
透過同時執行MLM和NSP任務,模型獲得了豐富的通用語言表示,能夠理解詞彙、語法和常識。

第二階段:Fine-tuning(微調)
而透過運訓練有了初步完整體系的模型,第二步便是將預訓練好的模型通用知識,應用到一個特定的、有標註數據的下游任務上。透過在BERT模型的頂部加上一個簡單的輸出層(例如分類器),並用少量任務相關的數據進行訓練。這個過程非常高效,計算成本也低。

  1. BERT 的下游任務應用
    透過BERT預訓練的通用知識,可以輕鬆地被微調並用以解決各種NLP實際問題。諸如:
  • 文本分類 (Text Classification)
    情感分析、垃圾郵件檢測、主題分類。
    應用:將句首的特殊符號 [CLS] 所輸出的向量,視為整個句子的語義表示,然後接一個分類器來進行分類。

  • 命名實體識別 (NER)
    在文本中識別出人名、地名、組織名等實體。
    應用:BERT 對每一個輸入詞(Token)都會產生一個輸出向量,將這些向量分別送入分類器,來判斷該詞的實體類型。

  • 問答系統 (Question Answering, QA)
    根據一篇給定的文章和一個問題,找出答案片段。
    應用:BERT 會將問題和文章串接起來,然後預測答案在文章中的起始位置和結束位置。

  • 句子配對 (Sentence Pair Tasks)
    判斷兩句話是否語意相似或邏輯相關。
    應用:將兩句話用 [SEP] 分隔,輸入 BERT 模型,並利用 [CLS] 輸出來進行分類。


上一篇
Day 8:Attention 概念
下一篇
Day 11:GPT 系列與自回歸模型
系列文
LLM入門學習12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言