BERT中的掩码语言模型(Masked Language Modeling)预训练任务详解
字数 1505 2025-11-14 07:13:05

BERT中的掩码语言模型(Masked Language Modeling)预训练任务详解

掩码语言模型(Masked Language Modeling, MLM)是BERT预训练的核心任务之一,其目标是通过对输入文本中的部分词汇进行随机掩码,并训练模型预测这些被掩码的词汇,从而学习上下文相关的词汇表示。以下将逐步解析MLM的原理、实现细节及其意义。


1. MLM的基本思想

在传统语言模型(如GPT)中,模型通过自左向右的生成任务学习词汇概率分布。但BERT采用双向上下文建模,即利用被掩码词汇的左右上下文信息进行预测。例如:

  • 原句:"The cat sat on the mat."
  • 掩码后:"The [MASK] sat on the mat."
    模型需要根据上下文"The""sat on the mat"预测[MASK]位置应为"cat"

2. 掩码策略与实现步骤

步骤1:选择掩码位置

  • 随机选择输入序列中15%的词汇作为待处理目标。
  • 对这15%的词汇进一步按以下规则处理:
    • 80%的概率替换为[MASK]标记(如原句中的"cat""[MASK]")。
    • 10%的概率替换为随机词汇(如"cat""dog"),增加模型对错误输入的鲁棒性。
    • 10%的概率保持不变(如"cat""cat"),迫使模型学习平衡上下文与当前位置信息。

步骤2:模型输入与编码

  • 输入序列由三部分嵌入相加构成:
    1. 词嵌入(Token Embeddings):将词汇映射为向量。
    2. 位置嵌入(Position Embeddings):标记每个词的位置信息。
    3. 段嵌入(Segment Embeddings):区分句子对(如问答任务)。
  • 输入序列首尾加入特殊标记[CLS](分类)和[SEP](分隔句子)。

步骤3:双向Transformer编码

  • 通过多层Transformer编码器处理输入序列,每个位置的输出向量包含来自所有位置的信息(双向注意力)。
  • 被掩码位置的输出向量用于预测原始词汇。

步骤4:预测与损失计算

  • 将掩码位置的输出向量通过一个全连接层+Softmax,映射到词汇表大小的概率分布。
  • 使用交叉熵损失函数,比较预测概率与真实标签(原始词汇)的差异。
  • 仅计算被掩码位置的损失,忽略未掩码位置的输出。

3. MLM的关键设计意义

  1. 双向上下文建模

    • 与单向语言模型不同,MLM允许模型同时利用左右上下文,更适用于理解类任务(如文本分类、语义匹配)。
  2. 缓解预训练-微调差异

    • 微调阶段不会出现[MASK]标记,但通过随机替换策略(10%随机词、10%原词),模型学会在缺失明确掩码时仍依赖上下文推理。
  3. 高效学习

    • 仅15%的词汇参与损失计算,节省计算资源,同时保证模型学习到足够信息。

4. 实例演示

假设输入句子为"The cat sat on the mat.",掩码处理过程如下:

  1. 随机选择15%的词汇(假设选中"cat")。
  2. 按80%概率将其替换为[MASK]"The [MASK] sat on the mat."
  3. 模型编码后,对[MASK]位置的输出向量进行预测,计算与"cat"的交叉熵损失。

5. 局限性

  • 独立性假设:多个掩码位置同时预测时,模型假设掩码之间相互独立,忽略被掩码词之间的依赖关系(后续模型如XLNet通过排列语言模型改进)。
  • 训练效率:仅15%的词汇产生损失,需更多训练步骤收敛。

通过MLM任务,BERT能够学习深层的语言表示,为下游任务提供强大的语义基础。

BERT中的掩码语言模型(Masked Language Modeling)预训练任务详解 掩码语言模型(Masked Language Modeling, MLM)是BERT预训练的核心任务之一,其目标是通过对输入文本中的部分词汇进行随机掩码,并训练模型预测这些被掩码的词汇,从而学习上下文相关的词汇表示。以下将逐步解析MLM的原理、实现细节及其意义。 1. MLM的基本思想 在传统语言模型(如GPT)中,模型通过自左向右的生成任务学习词汇概率分布。但BERT采用 双向上下文建模 ,即利用被掩码词汇的左右上下文信息进行预测。例如: 原句: "The cat sat on the mat." 掩码后: "The [MASK] sat on the mat." 模型需要根据上下文 "The" 和 "sat on the mat" 预测 [MASK] 位置应为 "cat" 。 2. 掩码策略与实现步骤 步骤1:选择掩码位置 随机选择输入序列中 15%的词汇 作为待处理目标。 对这15%的词汇进一步按以下规则处理: 80%的概率替换为 [MASK] 标记 (如原句中的 "cat" → "[MASK]" )。 10%的概率替换为随机词汇 (如 "cat" → "dog" ),增加模型对错误输入的鲁棒性。 10%的概率保持不变 (如 "cat" → "cat" ),迫使模型学习平衡上下文与当前位置信息。 步骤2:模型输入与编码 输入序列由三部分嵌入相加构成: 词嵌入(Token Embeddings) :将词汇映射为向量。 位置嵌入(Position Embeddings) :标记每个词的位置信息。 段嵌入(Segment Embeddings) :区分句子对(如问答任务)。 输入序列首尾加入特殊标记 [CLS] (分类)和 [SEP] (分隔句子)。 步骤3:双向Transformer编码 通过多层Transformer编码器处理输入序列,每个位置的输出向量包含来自所有位置的信息(双向注意力)。 被掩码位置的输出向量用于预测原始词汇。 步骤4:预测与损失计算 将掩码位置的输出向量通过一个全连接层+Softmax,映射到词汇表大小的概率分布。 使用 交叉熵损失函数 ,比较预测概率与真实标签(原始词汇)的差异。 仅计算被掩码位置的损失 ,忽略未掩码位置的输出。 3. MLM的关键设计意义 双向上下文建模 : 与单向语言模型不同,MLM允许模型同时利用左右上下文,更适用于理解类任务(如文本分类、语义匹配)。 缓解预训练-微调差异 : 微调阶段不会出现 [MASK] 标记,但通过随机替换策略(10%随机词、10%原词),模型学会在缺失明确掩码时仍依赖上下文推理。 高效学习 : 仅15%的词汇参与损失计算,节省计算资源,同时保证模型学习到足够信息。 4. 实例演示 假设输入句子为 "The cat sat on the mat." ,掩码处理过程如下: 随机选择15%的词汇(假设选中 "cat" )。 按80%概率将其替换为 [MASK] : "The [MASK] sat on the mat." 模型编码后,对 [MASK] 位置的输出向量进行预测,计算与 "cat" 的交叉熵损失。 5. 局限性 独立性假设 :多个掩码位置同时预测时,模型假设掩码之间相互独立,忽略被掩码词之间的依赖关系(后续模型如XLNet通过排列语言模型改进)。 训练效率 :仅15%的词汇产生损失,需更多训练步骤收敛。 通过MLM任务,BERT能够学习深层的语言表示,为下游任务提供强大的语义基础。