跨语言词嵌入与多语言BERT(XLM-R)的对齐原理
跨语言词嵌入使模型能在多语言间迁移知识。请解释跨语言词嵌入的对齐方法(基于映射/联合训练/联合编码),以及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问题)