首頁/人工智慧

Embedding 模型比較

2025年07月18日 人工智慧 Embedding NLP Word2Vec Transformer BERT GPT

Embedding 是把文字(字、詞、句子)轉成一串數字(向量),語意相近的內容,在向量空間裡的距離也會比較近。這份筆記整理幾個常見的 embedding 模型,從早期的靜態詞向量,到後來能理解上下文的 Transformer 系列。

架構與訓練方式

模型 架構 訓練方式 上下文理解
Word2Vec 淺層神經網路(CBOW/Skip-Gram) 預測窗口內的周圍詞 無,只看局部窗口
GloVe 詞共現矩陣分解 統計全語料的詞共現次數後做矩陣分解 無,看整體語料統計
Item2Vec 雙塔模型(推薦系統用) 模仿 Word2Vec,用行為序列(例如購物紀錄)預測 無,只看局部行為
FastText Word2Vec 變種,多算子詞(n-gram) 用子詞而不是整個詞來訓練 無,但處理罕見詞比較好
ELMo 堆疊雙向 LSTM,正向反向各自訓練 分別訓練「從左到右」「從右到左」的語言模型 強,序列級、動態詞向量
GPT 單向 Transformer Decoder 自回歸預測下一個詞 單向,只看得到前面出現過的詞
BERT 雙向 Transformer Encoder Masked Language Model + Next Sentence Prediction 雙向,看得到整句前後文

優缺點與適合場景

模型 優點 缺點 適合場景
Word2Vec 訓練快、效果穩定 一個詞只有一個向量,處理不了多義詞 輕量級 NLP 任務、當作其他模型的前處理
GloVe 有考慮全語料的統計資訊,語義表達不錯 共現矩陣佔記憶體,向量訓練完就固定不變 語義相似度計算、分類前的特徵抽取
Item2Vec 能處理使用者與商品之間的關係 只看局部行為,抓不到複雜的交互 商品推薦、行為序列建模
FastText 沒看過的詞(OOV)也能算出向量,比 Word2Vec 更穩 長距離的語義理解還是弱 文字分類、低資源語言
ELMo 動態詞向量,同一個詞在不同句子裡向量不同,能處理多義詞 訓練慢,長文本不好擴展 需要上下文的 NLP 任務、特徵抽取
GPT 生成能力強,容易微調到各種下游任務 只看得到前面的詞,用不到後面的上下文 文字生成、問答、對話
BERT 雙向理解,各種分類/理解任務表現都不錯 訓練成本高,推理速度比較慢 文字分類、命名實體辨識、問答

演進關係

傳統詞向量發展 上下文感知發展 推薦系統的延伸 Word2Vec CBOW/Skip-Gram FastText 子詞(n-gram) GloVe 共現矩陣分解 Item2Vec 行為序列(推薦) ELMo 雙向 LSTM,動態向量 Transformer 架構出現 Attention 取代遞迴 GPT 單向 Decoder BERT 雙向 Encoder 借用想法 技術上延伸 借用想法,不同領域
  • Word2Vec 是很多方法的起點。

  • FastText、GloVe 都是從 Word2Vec 的想法延伸出來的。

  • Item2Vec 借用 Word2Vec 的技巧,把它用在推薦系統上。

  • 傳統的靜態詞向量沒辦法處理多義詞、抓不到長距離語境,這是 ELMo 想解決的問題,也間接帶出後來的 Transformer。

  • Transformer 出現後分成兩支:GPT 是單向、BERT 是雙向。