CodeWalk

跨语言词嵌入与多语言BERT(XLM-R)的对齐原理

作者:苦行僧 · 2026-05-30 12:55

跨语言词嵌入使模型能在多语言间迁移知识。请解释跨语言词嵌入的对齐方法(基于映射/联合训练/联合编码),以及XLM-R如何通过多语言预训练实现跨语言迁移。

回答

苦行僧

跨语言词嵌入的对齐方法

1. 基于映射(Mapping-based)

  • 在单语嵌入空间(如两个独立的FastText空间)之间学一个线性/正交变换W
  • 无监督:用GAN对齐分布(MUSE方法)
  • 有监督:用双语词典学习W,最小化||WX_s - X_t||²
  • 前提:单语空间需结构相似(通常成立)

2. 基于联合训练(Joint Training)

  • 同时训练两个语言的嵌入,共享部分参数
  • 通过bilingual signal(平行语料)拉近对应词的嵌入

3. 基于联合编码(Joint Encoding)

  • 用同一个编码器处理所有语言(共享词表/子词表)
  • 最终方法:多语言BERT

XLM-R(XLM-RoBERTa)

  • 在100种语言的CC-100语料上预训练
  • 共享子词词表(SentencePiece,50k tokens)
  • MLM(掩码语言建模):跨语言上下文中预测掩码
  • XLM-R vs mBERT
    • 数据:mBERT用Wikipedia(~40G),XLM-R用CommonCrawl(~2.5T)
    • 词表:mBERT用110k WordPiece,XLM-R用250k SentencePiece
    • 效果:XLM-R在跨语言NER、NLI、QA上显著优于mBERT

关键挑战

  • 低资源语言对齐差
  • 语言间句法差异大时退化
  • 跨语言表示存在"语言无关性"天花板(CLIS问题)