BERT的MLM任务采用80% 10% 10%的策略的原因

BERT 在预训练的 Masked Language Model(MLM)任务中,采用了 80% MASK + 10% random word + 10% unchanged 的策略,这个设计是 有目的地平衡预训练和下游任务差异,以提升模型泛化能力。

一、MLM 简述

BERT 的 MLM(Masked Language Modeling)任务是这样设计的:

从输入句子中随机选取 15% 的 token 作为“预测目标”,然后对这些目标 token 进行如下处理:

  • 80%:替换为 [MASK] token

  • 10%:替换为随机的其他 token

  • 10%:保持原样,不做替换

例如,句子:

The cat sat on the mat.

可能会被处理成:

The [MASK] sat on the mat.       # 80%
The dog sat on the mat.         # 10%
The cat sat on the mat.         # 10%

二、为什么不是 100% MASK?

如果我们把所有目标 token 都替换成 [MASK],模型训练就会学会过度依赖这个“信号”:只要看到 [MASK],就知道是要预测这个位置。这样做会造成两个问题:

1. 与真实使用场景不一致(训练 / 推理不匹配)

在实际下游任务(如情感分类、问答等)中,并不会出现 [MASK] 这个 token。

  • 如果训练时全部使用 [MASK],模型会过拟合在特殊 token 上,泛化能力差。

  • 采用部分原词/随机词,可以增强模型对上下文细微差异的建模能力。

2. 提高模型的鲁棒性和语义理解能力

  • 10% 随机词替换 迫使模型学习对“错误语境”的容忍性,防止只依赖邻近 token

  • 10% 保持原样 提供“对比学习”的效果,增强模型对本身 token 的表征能力

三、这 80/10/10 比例的设计初衷

处理方式比例作用
替换为 [MASK]80%提供明确监督信号,集中学习预测能力
替换为随机 token10%提高泛化与鲁棒性,防止过拟合 [MASK]
保留原 token10%模拟真实场景,不依赖特殊标记 [MASK]

这种比例是在论文实验中验证过效果最好的折中方案。

四、论文原文解释

来自《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》原文:

"We always mask 15% of all WordPiece tokens in each sequence at random. Of the 15% of tokens selected for masking, 80% are replaced with [MASK], 10% are replaced with a random token, and 10% are left unchanged."

并解释:

"This helps the model to learn the actual language representations rather than just relying on the [MASK] token."

五、类似策略在其他模型中的演化

  • RoBERTa:保持相同策略,但训练数据和 batch 更大,更长训练时间。

  • ELECTRA:完全去掉 [MASK],采用替换检测(Replaced Token Detection)。

  • T5:使用文本 span 替换,不使用单个 token 的 [MASK]

这些都是为了进一步缩小“预训练与下游任务”的分布差异。

总结

BERT 采用 80% [MASK] + 10% random + 10% unchanged,是为了:

  1. 模拟真实语言环境,避免模型只学会猜 [MASK]

  2. 提高泛化能力与鲁棒性

  3. 提供更丰富的学习信号,提高语义建模能力

这种比例已被实践验证,在 NLP 预训练中是个极具代表性的设计。如果你有兴趣,我还可以展示一下用 PyTorch 实现这个 masking 策略的代码。是否需要?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

00&00

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值