自监督学习中的掩码语言模型(Masked Language Modeling)原理与实现
字数 1588 2025-11-11 16:48:20

自监督学习中的掩码语言模型(Masked Language Modeling)原理与实现

1. 掩码语言模型的背景与目标

掩码语言模型(Masked Language Modeling, MLM) 是自监督学习中的一种预训练任务,广泛应用于自然语言处理领域(如BERT模型)。其核心思想:通过随机掩盖输入文本中的部分词汇,让模型根据上下文预测被掩盖的词汇,从而学习语言的深层表征。

需解决的问题

  • 传统语言模型(如GPT)仅能从左到右或从右到左单向建模,无法同时利用上下文信息。
  • MLM通过双向上下文预测被掩盖的词汇,使模型能更好地理解词汇与上下文的关系。

2. MLM的基本流程

步骤1:输入文本的掩码处理

假设输入句子为:"人工智能正在改变世界"

  1. 分词:将句子转换为词序列,例如:["人工", "智能", "正在", "改变", "世界"]
  2. 随机掩码:以一定比例(如15%)随机选择部分词汇进行掩盖。掩盖方式包括:
    • 80%概率替换为特殊标记 [MASK],例如:["人工", "[MASK]", "正在", "改变", "世界"]
    • 10%概率替换为随机词汇(如"科技"),引入噪声以增强鲁棒性。
    • 10%概率保留原词(防止模型过度依赖[MASK]标记)。

步骤2:模型结构设计

MLM通常基于Transformer编码器(如BERT)实现:

  1. 输入层:将掩码后的词序列转换为词嵌入(Word Embedding)、位置嵌入(Positional Embedding)和段嵌入(Segment Embedding)的和。
  2. 双向编码:通过多层Transformer块处理输入,每个词的表征会融合所有上下文信息(包括前后词汇)。

步骤3:预测被掩盖的词汇

  1. 将被掩盖位置(如第二个词[MASK])对应的输出向量输入到分类层(全连接层+Softmax)。
  2. 分类层将向量映射到整个词表上的概率分布,例如:
    • 模型可能预测"智能"的概率为0.8,"智慧"的概率为0.1等。
  3. 损失计算:使用交叉熵损失函数,比较预测概率与真实标签(即被掩盖的原词"智能")的差异。

3. MLM的关键技术细节

(1) 掩码策略的优化

  • 比例选择:若掩码比例过高(如30%),模型缺乏足够上下文;过低(如5%)则训练效率低。BERT采用15%的平衡点。
  • 动态掩码:每次训练时随机生成掩码模式,避免模型记忆固定模式。

(2) 模型能力的平衡

  • 若所有掩码词均替换为[MASK],模型在预训练后面对真实文本(无[MASK])时可能表现不佳。因此引入随机替换和原词保留,迫使模型学会区分真实词汇与噪声。

(3) 计算效率优化

  • 仅计算被掩盖位置的损失,忽略未掩盖词的损失,加速训练。

4. MLM的优缺点分析

优点

  • 双向上下文建模,优于单向语言模型。
  • 无需标注数据,可利用海量文本进行预训练。

缺点

  • 预训练与微调的不匹配:微调时输入无[MASK]标记,而预训练时大量接触[MASK]
  • 掩码预测独立进行,忽略被掩盖词之间的依赖关系(如掩盖"北京""首都"时,模型无法直接学习两者的关联)。

5. 扩展与改进

  • 全词掩码(Whole Word Masking):直接掩盖整个词(如"人工智能"作为一个整体),避免子词碎片化带来的歧义。
  • 增强掩码策略:如SpanBERT通过掩盖连续片段(如"正在改变"),使模型学习更长范围的依赖。
  • 替代任务设计:如ELECTRA使用生成器-判别器架构,直接判断每个词是否被替换,提升训练效率。

总结

掩码语言模型通过巧妙的掩码设计,使模型在无监督条件下学习双向上下文表征,成为预训练技术的核心。其成功关键在于平衡掩码比例、引入噪声以及优化Transformer编码器的表征能力。

自监督学习中的掩码语言模型(Masked Language Modeling)原理与实现 1. 掩码语言模型的背景与目标 掩码语言模型(Masked Language Modeling, MLM) 是自监督学习中的一种预训练任务,广泛应用于自然语言处理领域(如BERT模型)。其核心思想: 通过随机掩盖输入文本中的部分词汇,让模型根据上下文预测被掩盖的词汇 ,从而学习语言的深层表征。 需解决的问题 : 传统语言模型(如GPT)仅能从左到右或从右到左单向建模,无法同时利用上下文信息。 MLM通过双向上下文预测被掩盖的词汇,使模型能更好地理解词汇与上下文的关系。 2. MLM的基本流程 步骤1:输入文本的掩码处理 假设输入句子为: "人工智能正在改变世界" 。 分词 :将句子转换为词序列,例如: ["人工", "智能", "正在", "改变", "世界"] 。 随机掩码 :以一定比例(如15%)随机选择部分词汇进行掩盖。掩盖方式包括: 80%概率替换为特殊标记 [MASK] ,例如: ["人工", "[MASK]", "正在", "改变", "世界"] 。 10%概率替换为随机词汇(如 "科技" ),引入噪声以增强鲁棒性。 10%概率保留原词(防止模型过度依赖 [MASK] 标记)。 步骤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编码器的表征能力。