news 2026/8/9 3:14:52

BERT 为什么要随机掩盖 15% 的 token 并拆分为 80%/10%/10% 三种处理?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
BERT 为什么要随机掩盖 15% 的 token 并拆分为 80%/10%/10% 三种处理?

BERT 的 15% 掩盖策略与 80/10/10 拆分:设计动机详解

一、整体策略回顾

BERT 在预训练时,对输入序列随机选择15%的 token 位置进行"掩盖",然后对这 15% 的位置做如下拆分处理:

被选中的 15% token ├── 80% → 替换为 [MASK] ├── 10% → 替换为一个随机 token └── 10% → 保持原 token 不变

这个看似复杂的策略并非随意设计,每一部分都解决了特定的训练问题。


二、为什么是 15%?

平衡训练信号与上下文质量

掩盖比例问题
太低(如 5%)训练信号太少,模型从每条样本中学到的信息不足,预训练效率低
太高(如 50%)上下文被严重破坏,模型难以推断被遮盖的词,且输入与真实文本差异过大
15%经验性平衡点:足够多的预测目标,同时保留足够的上下文信息

15% 是 BERT 原论文通过实验确定的经验值,并非理论最优。后续研究(如 RoBERTa、SpanBERT)也探索了动态掩盖、连续 span 掩盖等改进,但 15% 作为基线比例被广泛沿用。


三、80/10/10 拆分的逐项解析

1. 80% 替换为[MASK]— 主力训练信号

输入: The man went to the [MASK] to buy coffee 目标: 预测 [MASK] → "store"

作用:这是 MLM 的核心任务——根据双向上下文预测被遮盖的词,迫使模型学习语言的深层表示。

为什么不是 100%?

关键问题在于预训练与微调的不一致

预训练阶段: "The man went to the [MASK] to buy coffee" ← 含 [MASK] 微调阶段: "The man went to the store to buy coffee" ← 不含 [MASK]

如果 100% 都用[MASK],模型会过度依赖[MASK]这个特殊标记的存在。而下游任务(分类、NER、QA 等)的输入中永远不会出现[MASK],导致预训练学到的表示在微调时存在分布偏移。

2. 10% 替换为随机 token — 强迫模型保持怀疑

输入: The man went to the pineapple to buy coffee 目标: 预测 "pineapple" 位置 → "store"

作用:模型不能盲目信任输入中的每个词,必须学会判断"这个词可能是错的",并利用上下文来纠正。

解决的问题

如果只有[MASK]和保持原词两种情况,模型可能学到一种捷径:看到[MASK]就认真预测,看到正常词就直接复制。引入随机词后,模型无法确定哪些位置被篡改过,因此必须对所有位置都建立高质量的上下文表示,而不能偷懒。

模型心理活动: "这个位置是 'pineapple'?但上下文是 'went to the ___ to buy coffee', 语义上不合理,应该是 'store'。" → 学会了基于上下文的语义判断,而非机械信任输入

3. 10% 保持原词不变 — 学习"自我校准"表示

输入: The man went to the store to buy coffee 目标: 预测 "store" 位置 → "store"(即原词本身)

作用:让模型对未被修改的真实 token也产生预测梯度,学习"这个位置的信息是正确的"的表示。

解决的问题

如果被选中的 15% 位置要么变成[MASK]、要么变成随机词,模型会形成一种偏见:被选中的位置总是"有问题"的。保留 10% 原词,让模型也处理"这个位置其实是对的"的情况,使表示更加均衡。


四、三者协同的整体效果

┌─────────────────────────────────────────────────────────────┐ │ 15% 被选中的位置 │ │ │ │ 80% [MASK] → "上下文推理"能力(核心任务) │ │ 10% 随机词 → "输入不可全信"的鲁棒性 │ │ 10% 原词保留 → "输入也可能正确"的校准能力 │ │ │ │ 协同效果: 模型对每个位置都建立高质量的、不依赖特殊标记的 │ │ 上下文表示 → 缩小预训练与微调的分布差距 │ └─────────────────────────────────────────────────────────────┘
设计选择解决的问题如果不做会怎样
80%[MASK]提供主要的完形填空训练信号
10% 随机词防止模型只对[MASK]认真,对其他词偷懒模型在非[MASK]位置表示质量下降
10% 原词让模型也学习"正确输入"的表示模型对被选中位置产生"总是有问题"的偏见
整体 80/10/10缩小预训练(含噪声)与微调(无噪声)的分布差距微调性能下降,迁移效果变差

五、一句话总结

80% 的[MASK]提供核心训练信号,10% 的随机词迫使模型不盲信输入,10% 的原词保留让模型也学习正确表示——三者共同作用,让 BERT 对每个位置都生成不依赖[MASK]标记的高质量双向上下文表示,从而缩小预训练与微调之间的分布差距。

这一设计体现了 BERT 论文对"预训练-微调一致性"的深刻思考,也是其能在下游任务上取得优异迁移效果的重要细节之一。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/9 3:14:06

2026论文降重工具测评:5款打分对比与选择建议

写论文的人大概都经历过那个瞬间:查重报告弹出来,重复率数字刺眼地挂在屏幕上,接下来就是整夜整夜的改写。降重这件事,靠人工一个字一个字抠,效率低且容易把句子改得支离破碎。市面上论文降重工具不少,但宣…

作者头像 李华
网站建设 2026/8/9 3:13:04

Flask构建残障社区服务平台的技术实践

1. 项目背景与核心需求社区残障人士服务平台的开发源于一个普遍存在却常被忽视的社会痛点——残障群体在获取社区服务时面临的信息不对称和物理障碍。传统服务模式往往需要残障人士主动到指定地点登记需求,这种"被动等待"的服务机制对行动不便者极不友好。…

作者头像 李华
网站建设 2026/8/9 3:07:29

专业二手车网站建设方案解析:如何通过优化内容提升客户信任度与转化率

做二手车这一行,大家心里都跟明镜似的。这年头,车是好车,但人心是不稳的。顾客怕买到事故车、泡水车、调表车,咱们商家怕遇到难缠的投诉、无理的砍价,最后搞得两败俱伤。在这种大环境下,一个靠谱的二手车网站,就不再仅仅是一个展示车辆的网页了,它更像是一扇窗,一扇门…

作者头像 李华
网站建设 2026/8/9 3:07:20

如何3分钟内在浏览器中使用微信?wechat-need-web插件终极指南

如何3分钟内在浏览器中使用微信?wechat-need-web插件终极指南 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 还在为无法安装微信客户端而…

作者头像 李华
网站建设 2026/8/9 3:05:59

Muse Spark 1.2:本地AI绘画一站式工具部署与API集成实战

这次我们来看一个本地AI图像生成工具的新版本——Muse Spark 1.2。这个项目由国内开发者开源,核心目标是在消费级硬件上,提供一个功能全面、启动便捷、支持批量任务的AI绘画解决方案。它不是另一个复杂的WebUI框架,而是一个整合了主流模型和实…

作者头像 李华
网站建设 2026/8/9 3:05:14

Unity脚本乱码终结指南:5种方法统一编码为UTF-8无BOM

1. 项目概述:Unity开发者的编码之痛 如果你是一名Unity开发者,尤其是和团队协作或者接手过一些“祖传”项目,那么下面这个场景你一定不陌生:你兴冲冲地打开一个从同事那里拷来的C#脚本,或者从某个资源商店下载的示例代…

作者头像 李华