自监督学习中的掩码语言模型(Masked Language Modeling)原理与实现
字数 1588 2025-11-11 16:48:20
自监督学习中的掩码语言模型(Masked Language Modeling)原理与实现
1. 掩码语言模型的背景与目标
掩码语言模型(Masked Language Modeling, MLM) 是自监督学习中的一种预训练任务,广泛应用于自然语言处理领域(如BERT模型)。其核心思想:通过随机掩盖输入文本中的部分词汇,让模型根据上下文预测被掩盖的词汇,从而学习语言的深层表征。
需解决的问题:
- 传统语言模型(如GPT)仅能从左到右或从右到左单向建模,无法同时利用上下文信息。
- MLM通过双向上下文预测被掩盖的词汇,使模型能更好地理解词汇与上下文的关系。
2. MLM的基本流程
步骤1:输入文本的掩码处理
假设输入句子为:"人工智能正在改变世界"。
- 分词:将句子转换为词序列,例如:
["人工", "智能", "正在", "改变", "世界"]。 - 随机掩码:以一定比例(如15%)随机选择部分词汇进行掩盖。掩盖方式包括:
- 80%概率替换为特殊标记
[MASK],例如:["人工", "[MASK]", "正在", "改变", "世界"]。 - 10%概率替换为随机词汇(如
"科技"),引入噪声以增强鲁棒性。 - 10%概率保留原词(防止模型过度依赖
[MASK]标记)。
- 80%概率替换为特殊标记
步骤2:模型结构设计
MLM通常基于Transformer编码器(如BERT)实现:
- 输入层:将掩码后的词序列转换为词嵌入(Word Embedding)、位置嵌入(Positional Embedding)和段嵌入(Segment Embedding)的和。
- 双向编码:通过多层Transformer块处理输入,每个词的表征会融合所有上下文信息(包括前后词汇)。
步骤3:预测被掩盖的词汇
- 将被掩盖位置(如第二个词
[MASK])对应的输出向量输入到分类层(全连接层+Softmax)。 - 分类层将向量映射到整个词表上的概率分布,例如:
- 模型可能预测
"智能"的概率为0.8,"智慧"的概率为0.1等。
- 模型可能预测
- 损失计算:使用交叉熵损失函数,比较预测概率与真实标签(即被掩盖的原词
"智能")的差异。
3. MLM的关键技术细节
(1) 掩码策略的优化
- 比例选择:若掩码比例过高(如30%),模型缺乏足够上下文;过低(如5%)则训练效率低。BERT采用15%的平衡点。
- 动态掩码:每次训练时随机生成掩码模式,避免模型记忆固定模式。
(2) 模型能力的平衡
- 若所有掩码词均替换为
[MASK],模型在预训练后面对真实文本(无[MASK])时可能表现不佳。因此引入随机替换和原词保留,迫使模型学会区分真实词汇与噪声。
(3) 计算效率优化
- 仅计算被掩盖位置的损失,忽略未掩盖词的损失,加速训练。
4. MLM的优缺点分析
优点:
- 双向上下文建模,优于单向语言模型。
- 无需标注数据,可利用海量文本进行预训练。
缺点:
- 预训练与微调的不匹配:微调时输入无
[MASK]标记,而预训练时大量接触[MASK]。 - 掩码预测独立进行,忽略被掩盖词之间的依赖关系(如掩盖
"北京"和"首都"时,模型无法直接学习两者的关联)。
5. 扩展与改进
- 全词掩码(Whole Word Masking):直接掩盖整个词(如
"人工智能"作为一个整体),避免子词碎片化带来的歧义。 - 增强掩码策略:如SpanBERT通过掩盖连续片段(如
"正在改变"),使模型学习更长范围的依赖。 - 替代任务设计:如ELECTRA使用生成器-判别器架构,直接判断每个词是否被替换,提升训练效率。
总结
掩码语言模型通过巧妙的掩码设计,使模型在无监督条件下学习双向上下文表征,成为预训练技术的核心。其成功关键在于平衡掩码比例、引入噪声以及优化Transformer编码器的表征能力。