基于自监督学习的掩码语言模型(Masked Language Modeling, MLM)预训练算法
字数 2052 2025-12-11 07:45:47

基于自监督学习的掩码语言模型(Masked Language Modeling, MLM)预训练算法

题目描述

掩码语言模型(Masked Language Modeling, MLM)是自然语言处理中一种重要的自监督学习算法,旨在通过预测文本中被随机遮盖的词汇,来学习语言的通用表示。它的核心思想是:从一段文本中随机遮盖一部分词汇,然后训练模型根据周围的语境来预测被遮盖的词汇。这个过程不依赖于人工标注的标签,因此是一种高效利用大规模无标注文本的方法,是预训练语言模型(如BERT、RoBERTa等)的核心训练目标。

解题过程详解

第一步:任务定义与模型目标

  • 任务定义:给定一个输入句子序列,我们随机遮盖其中一定比例的词汇,形成一个带有“空缺”的句子。模型的目标是基于被遮盖位置周围的完整语境,准确预测出每个被遮盖位置上的原始词汇。
  • 学习目标:通过这个“完形填空”式的任务,模型被迫理解词汇间的语义、语法、句法和语境信息,从而学习到高质量、上下文相关的文本表示。

第二步:输入文本的预处理与掩码

  1. 文本分词:首先,将原始文本(如“人工智能正在改变世界”)输入模型。模型使用其对应的分词器(如WordPiece、BPE)将句子切分成一系列子词单元,例如:[“人”, “##工”, “智”, “##能”, “正”, “在”, “改”, “变”, “世”, “界”]

  2. 添加特殊标记:在序列的开头和结尾分别添加特殊标记[CLS](用于表示整个序列的语义)和[SEP](用于分隔句子)。

  3. 随机掩码:这是算法的关键步骤。对上述序列,随机选择约15%的词汇位置进行掩码处理。但请注意,掩码策略并非简单地全部替换为[MASK],而是采用以下三种方式之一,这增加了学习的难度和鲁棒性:

    • 80%的概率,将选中的词替换为特殊的[MASK]标记。
    • 10%的概率,将选中的词替换为随机一个词。
    • 10%的概率,保持原词不变。

    举例:假设我们选择“智”这个词进行掩码,则它可能变为:

    • [MASK](概率80%):人 工 [MASK] 能 正 在 ...
    • 随机词如“力”(概率10%):人 工 力 能 正 在 ...
    • 原词“智”(概率10%):人 工 智 能 正 在 ...

    这种随机性防止模型过度依赖[MASK]标记,并鼓励其从任何输入中推断正确的语义。

第三步:模型结构与编码

  1. 嵌入层:处理后的标记序列被转换为词嵌入向量(Word Embeddings),并与位置嵌入(Position Embeddings,指示词在序列中的位置)和分段嵌入(Segment Embeddings,用于区分句子对任务,在单个句子任务中通常相同)相加,形成每个词汇的初始向量表示。
  2. 深度Transformer编码器:这个初始化后的向量序列被送入一个多层Transformer编码器。Transformer利用自注意力机制,计算序列中每个词与其他所有词的关联强度,并据此动态地为每个位置聚合全局的上下文信息。经过多层的这种计算,每个位置(特别是被掩码的位置)的输出向量h_i都蕴含了其周围丰富的语境信息。

第四步:预测与损失计算

  1. 预测头:对于每个被掩码的位置i,我们从其对应的最终隐藏状态h_i出发,通常经过一个线性变换层和一个Softmax函数,将其映射到整个词汇表上,得到一个概率分布P(w|h_i)。这个分布表示模型预测当前位置是词汇w的概率。
  2. 损失函数:算法的目标是最大化模型预测出正确的原始词汇的概率。具体地,对于所有被掩码的位置,计算交叉熵损失。假设某个被掩码位置的原始词是w_true,模型预测其为w_true的概率是P(w_true|h_i),则损失为:
    Loss = -log(P(w_true|h_i))
    模型在训练时,会通过梯度下降优化算法,最小化所有被掩码位置的损失总和。

第五步:训练与学习成果

  • 在包含海量文本(如Wikipedia、新闻语料等)的数据集上,模型会重复上述步骤数百万次。每一次,它都像在做一次“填空测验”,通过不断纠错,学习词汇在不同上下文中的用法、同义词、反义词、语法规则等复杂的语言知识。
  • 最终,模型学到的参数,特别是Transformer编码器的参数,就构成了一种强大的、通用的“语言理解器”。这个预训练好的模型,其输出的上下文向量(即隐藏状态)可以作为下游任务(如文本分类、问答、命名实体识别)的强大特征输入。通过简单的微调,即在预训练模型顶部添加一个与任务相关的小型输出层,并利用少量标注数据进行训练,就能在这些任务上取得优异的性能。

总结:MLM算法通过“掩码-预测”这一简单而强大的自监督任务,使模型在大量无标签文本中学习了深层次的语言模式,是现代预训练语言模型成功的基石。它的关键在于巧妙的任务设计、随机的掩码策略以及强大的Transformer编码器的结合。

基于自监督学习的掩码语言模型(Masked Language Modeling, MLM)预训练算法 题目描述 掩码语言模型(Masked Language Modeling, MLM)是自然语言处理中一种重要的自监督学习算法,旨在通过预测文本中被随机遮盖的词汇,来学习语言的通用表示。它的核心思想是:从一段文本中随机遮盖一部分词汇,然后训练模型根据周围的语境来预测被遮盖的词汇。这个过程不依赖于人工标注的标签,因此是一种高效利用大规模无标注文本的方法,是预训练语言模型(如BERT、RoBERTa等)的核心训练目标。 解题过程详解 第一步:任务定义与模型目标 任务定义 :给定一个输入句子序列,我们随机遮盖其中一定比例的词汇,形成一个带有“空缺”的句子。模型的目标是基于被遮盖位置周围的完整语境,准确预测出每个被遮盖位置上的原始词汇。 学习目标 :通过这个“完形填空”式的任务,模型被迫理解词汇间的语义、语法、句法和语境信息,从而学习到高质量、上下文相关的文本表示。 第二步:输入文本的预处理与掩码 文本分词 :首先,将原始文本(如“人工智能正在改变世界”)输入模型。模型使用其对应的分词器(如WordPiece、BPE)将句子切分成一系列子词单元,例如: [“人”, “##工”, “智”, “##能”, “正”, “在”, “改”, “变”, “世”, “界”] 。 添加特殊标记 :在序列的开头和结尾分别添加特殊标记 [CLS] (用于表示整个序列的语义)和 [SEP] (用于分隔句子)。 随机掩码 :这是算法的关键步骤。对上述序列,随机选择约15%的词汇位置进行掩码处理。但请注意,掩码策略并非简单地全部替换为 [MASK] ,而是采用以下三种方式之一,这增加了学习的难度和鲁棒性: 以 80% 的概率,将选中的词替换为特殊的 [MASK] 标记。 以 10% 的概率,将选中的词替换为 随机 一个词。 以 10% 的概率, 保持 原词不变。 举例 :假设我们选择“智”这个词进行掩码,则它可能变为: [MASK] (概率80%): 人 工 [MASK] 能 正 在 ... 随机词如“力”(概率10%): 人 工 力 能 正 在 ... 原词“智”(概率10%): 人 工 智 能 正 在 ... 这种随机性防止模型过度依赖 [MASK] 标记,并鼓励其从任何输入中推断正确的语义。 第三步:模型结构与编码 嵌入层 :处理后的标记序列被转换为词嵌入向量(Word Embeddings),并与位置嵌入(Position Embeddings,指示词在序列中的位置)和分段嵌入(Segment Embeddings,用于区分句子对任务,在单个句子任务中通常相同)相加,形成每个词汇的初始向量表示。 深度Transformer编码器 :这个初始化后的向量序列被送入一个多层Transformer编码器。Transformer利用 自注意力机制 ,计算序列中每个词与其他所有词的关联强度,并据此动态地为每个位置聚合全局的上下文信息。经过多层的这种计算,每个位置(特别是被掩码的位置)的输出向量 h_i 都蕴含了其周围丰富的语境信息。 第四步:预测与损失计算 预测头 :对于每个被掩码的位置 i ,我们从其对应的最终隐藏状态 h_i 出发,通常经过一个线性变换层和一个Softmax函数,将其映射到整个词汇表上,得到一个概率分布 P(w|h_i) 。这个分布表示模型预测当前位置是词汇 w 的概率。 损失函数 :算法的目标是 最大化 模型预测出正确的原始词汇的概率。具体地,对于所有被掩码的位置,计算交叉熵损失。假设某个被掩码位置的原始词是 w_true ,模型预测其为 w_true 的概率是 P(w_true|h_i) ,则损失为: Loss = -log(P(w_true|h_i)) 模型在训练时,会通过梯度下降优化算法,最小化所有被掩码位置的损失总和。 第五步:训练与学习成果 在包含海量文本(如Wikipedia、新闻语料等)的数据集上,模型会重复上述步骤数百万次。每一次,它都像在做一次“填空测验”,通过不断纠错,学习词汇在不同上下文中的用法、同义词、反义词、语法规则等复杂的语言知识。 最终,模型学到的 参数 ,特别是Transformer编码器的参数,就构成了一种强大的、通用的“语言理解器”。这个预训练好的模型,其输出的上下文向量(即隐藏状态)可以作为下游任务(如文本分类、问答、命名实体识别)的强大特征输入。通过简单的 微调 ,即在预训练模型顶部添加一个与任务相关的小型输出层,并利用少量标注数据进行训练,就能在这些任务上取得优异的性能。 总结 :MLM算法通过“掩码-预测”这一简单而强大的自监督任务,使模型在大量无标签文本中学习了深层次的语言模式,是现代预训练语言模型成功的基石。它的关键在于巧妙的任务设计、随机的掩码策略以及强大的Transformer编码器的结合。