网易首页 > 网易号 > 正文 申请入驻

深入BERT内核:用数学解密掩码语言模型的工作原理

0
分享至

传统语言模型有个天生缺陷——只能从左往右读,就像你现在读这段文字一样,一个词一个词往下看,完全不知道后面会出现什么。人类可不是这么学语言的。看到"被告被判_",大脑会根据上下文直接联想到"有罪"或者"无罪",这就是双向理解在起作用。

Google搞出来的BERT(Bidirectional Encoder Representations from Transformers)终于让机器也有了这种能力。BERT的核心不是简单地双向阅读,而是用了一种叫掩码语言建模(Masked Language Modeling,MLM)的巧妙方法。

通过随机遮住15%的词,BERT反而比那些完整阅读文本的模型学得更好。这有点像做填空题学英语,只不过空是随机出现的,而且BERT要处理的是几十亿个句子。

这篇文章会把MLM的数学机制拆开来逐一讲解。从一个被遮住的句子开始,经过注意力计算、概率分布、梯度下降,看看这些数学操作到底怎么让BERT达到接近人类的语言理解能力。搞懂这些数学原理,对于想要调优BERT或者设计类似模型的人来说很关键。

看完之后你会明白,BERT做的不只是遮词这么简单——注意力机制里的√d_k缩放、80-10-10的掩码策略,这些看似细节的数学设计对性能影响巨大。

核心机制:掩码预测

原理很简单:随机选一些词遮起来,让模型去猜。比如这句话:

"猫坐在[MASK]上。"

人看到"猫坐在……上",马上就能想到可能是"垫子"、"地板"之类的词。这种推理来自对语法结构和词语关系的理解。BERT学的也是这套推理逻辑,只不过它靠的是数学优化而不是人的直觉。

训练分三步:

  1. 掩码:随机挑出15%的词,80%换成[MASK]标记,10%换成随机词,剩下10%保持原样
  2. 预测:把处理后的句子扔进BERT的transformer层,生成预测结果
  3. 优化:算出预测和真实答案的差距,用反向传播更新参数

这个简单粗暴的方法逼着BERT学会深层的语言规律。关键在于MLM用了双向上下文——同时看左边和右边的词,不像传统的"下一词预测"模型只能看左边。所以得到的结果就是预测准确率高了很多。

从信息论来看,MLM制造了一个理想的学习信号。遮掉一个词,就产生了明确的预测任务和已知的不确定性。模型必须从上下文里榨取尽可能多的信息来降低这个不确定性。

一个词w在上下文c中的信息量,用惊讶度(surprisal)衡量:

I(w|c) = -log P(w|c)

容易预测的词惊讶度低(信息量少),难预测的词惊讶度高。通过训练掩码标记,BERT学会建模完整的概率分布P(w|c),既能掌握常见模式也不会忽略罕见结构。

80-10-10这个掩码策略也是有讲究的。如果只用[MASK]替换,模型在训练时见到的是特殊标记,但微调和推理时永远看不到这个标记,就会产生gap。随机替换词或者保持原词,强迫BERT在有干扰的情况下也能学出好的表示。

Transformer架构

BERT通过自注意力机制来理解上下文,这个机制用数学方式编码了序列中所有词之间的关系。对于n个token的输入序列,自注意力给每个token生成三个向量:

  • Query(Q):这个token想找什么信息
  • Key(K):这个token能提供什么信息
  • Value(V):这个token提供的具体内容

这些向量通过学习的线性变换得到:

Q = XW_Q
K = XW_K
V = XW_V

X是输入嵌入矩阵,W_Q、W_K、W_V是可学习的权重矩阵。

然后注意力机制计算value的加权平均,权重表示每个token对其他token的关注程度:

Attention(Q, K, V) = softmax(QK^T / √d_k)V

拆开来看:

1、 算注意力分数(QK^T)

点积QK^T生成一个n×n的矩阵,元素(i,j)代表token i对token j的关注度。点积越大说明query和key向量在语义或句法上越相似。

2、缩放(√d_k)

除以√d_k(key维度的平方根)防止点积太大。不缩放的话,当d_k很大时,点积方差会很高,把softmax推到梯度极小的区域,训练就不稳定了。

数学上,如果query和key是均值0方差1的随机变量,它们的点积方差就是d_k。除以√d_k把方差归一化回1。

3、Softmax

softmax把分数转成概率分布:

softmax(z_i) = exp(z_i) / Σ_j exp(z_j)

保证每个token的注意力权重加起来是1,形成有效的概率分布。指数函数放大了分数之间的差异,让模型能聚焦在相关token上,同时弱化无关的。

4、加权聚合

最后把注意力权重乘以value矩阵V,得到加权和。每个token的输出表示都融合了其他所有token的信息,按相关性加权。



BERT不是算一个注意力函数,而是并行算h个(BERT-base是12个头,BERT-large是16个)。每个头学习关注输入的不同方面:

head_i = Attention(QW_Q^i, KW_K^i, VW_V^i)

输出拼接后做线性变换:

MultiHead(Q, K, V) = Concat(head_1, ..., head_h)W_O

为什么要多头?每个头可以关注不同类型的关系:

  • 有的头专注句法关系(主谓一致)
  • 有的头专注语义关系(同义反义)
  • 还有的头关注位置模式

这种并行机制让BERT能同时建模多种语言结构。



跟按顺序处理的RNN不同,transformer一次性处理所有token。为了让模型知道词的顺序,BERT在输入嵌入里加入了位置编码:

Input = Token_Embedding + Position_Embedding + Segment_Embedding

BERT用的是可学习的位置嵌入,不是原始Transformer论文里的正弦编码。每个位置(BERT里是0到511)都有一个d维向量可以学习,直接加到token嵌入上。

结果就是一个向量同时包含了位置和token的身份信息——既知道这个词是什么,也知道它在句子里的位置。



MLM预测头:从表示到概率

过完L层transformer(BERT-base是12层,BERT-large是24层)之后,每个token都有一个上下文化的表示h_i ∈ R^d。对于被掩码的token,需要把这些表示转成词汇表上的概率分布。

预测头包含三步变换:

带激活的全连接层

h_mlm = GELU(h_i W_1 + b_1)

GELU(Gaussian Error Linear Unit)激活函数引入非线性:

GELU(x) = x · Φ(x)

Φ(x)是标准正态分布的累积分布函数。GELU比ReLU的梯度更平滑,训练更稳。

层归一化

h_norm = LayerNorm(h_mlm)

层归一化通过归一化激活值来稳定训练:

LayerNorm(x) = γ(x - μ)/σ + β

μ和σ是跨特征计算的均值和标准差,γ和β是可学习参数。

输出投影

logits = h_norm W_vocab + b_vocab

把归一化后的表示投影到词汇表大小V(BERT一般是30,000),给每个可能的token生成一个logit。



用softmax把logit转成概率:

P(w_i | context) = exp(logit_i) / Σ_{j=1}^V exp(logit_j)

softmax有几个关键特性:

  1. 输出范围:所有概率都在(0, 1)之间
  2. 归一化:概率总和是1
  3. 单调性:logit越高概率越大
  4. 敏感性:指数放大了logit之间的差异

分母(配分函数)保证归一化,但计算开销很大——每次预测要对30,000多项求和。训练时这个成本避不开,但推理时可以用分层softmax之类的技术加速。



损失函数

对每个掩码token,用交叉熵衡量BERT预测分布和真实分布的差距(真实分布把全部概率放在正确token上):

L_token = -log P(w_true | context)

这个损失函数特性很好:

  • 范围:L_token ∈ [0, ∞)
  • 最小值:当P(w_true | context) = 1时达到
  • 梯度:直接关联到预测误差

负对数概率处理了预测接近1时softmax指数增长的问题。模型给正确token分配高概率时,log P接近0,损失就低。反之概率低时,-log P变大,给学习提供强信号。

对于B个序列的batch,每个序列有M个掩码token,总MLM损失是:

L_MLM = (1/BM) Σ_{b=1}^B Σ_{m=1}^M -log P(w_m^b | context_b)

这个平均操作保证损失大小不依赖batch大小或掩码率,让不同配置下的训练都稳定。

反向传播时计算损失相对于所有参数θ的梯度:

∇_θ L_MLM = (1/BM) Σ_{b=1}^B Σ_{m=1}^M ∇_θ (-log P(w_m^b | context_b))

相对于正确token的logit的梯度特别简单:

∂L/∂logit_true = P_predicted - 1

错误token的:

∂L/∂logit_wrong = P_predicted

梯度就是预测误差——预测概率和真实概率的差,这个干净的梯度结构让训练既稳定又高效。

优化

BERT用Adam优化器,它维护梯度及其平方的滑动平均:

m_t = β_1 m_{t-1} + (1-β_1)g_t
v_t = β_2 v_{t-1} + (1-β_2)g_t^2

g_t是第t步的梯度,β1=0.9,β2=0.999是衰减率。

这些平均值需要做偏差修正:

m̂_t = m_t / (1 - β_1^t)
v̂_t = v_t / (1 - β_2^t)

参数更新用自适应学习率:

θ_t = θ_{t-1} - α · m̂_t / (√v̂_t + ε)

α是基础学习率,ε=10^-8防止除零。

Adam的自适应学习率能处理不同参数梯度的不同尺度,这对训练BERT这种有110M(base)或340M(large)参数的深度网络很关键。

BERT用两阶段学习率调度:

  1. 线性预热:前10,000步把学习率从0升到α_max
  2. 线性衰减:剩余步骤把学习率从α_max降到0

数学表达:

α(t) = α_max · min(t/t_warmup, (t_total - t)/(t_total - t_warmup))

预热避免训练初期梯度不稳时做大幅参数更新。末期衰减让模型细粒度收敛到最优解。

预测掩码词

走一遍完整流程看看这些数学组件怎么配合工作。



输入句子

原始:"The quick brown fox jumps over the lazy dog"
掩码:"The quick brown [MASK] jumps over the lazy dog"

步骤1:分词和嵌入

BERT的tokenizer把句子转成token ID:

[101, 1996, 4248, 2829, 103, 14523, 2058, 1996, 13971, 3899, 102]

101是[CLS],103是[MASK],102是[SEP]。

每个token ID转成768维嵌入(BERT-base)。加上位置嵌入和段嵌入:

X = Token_Emb + Pos_Emb + Seg_Emb

位置4的[MASK] token包含:

  • Token嵌入:token 103的学习向量
  • 位置嵌入:位置4的学习向量
  • 段嵌入:段A(第一句)的向量

步骤2:自注意力计算

第一层注意力里,每个token和所有其他token计算注意力。对[MASK] token:

Q_mask = X_mask W_Q
K_all = X_all W_K

[MASK]和各个上下文token的注意力分数:

scores = Q_mask · K_all^T / √64

(BERT-base有12个头,d_k = 64,每个头维度是768/12=64)

softmax之后,假设得到注意力权重:

  • "brown"(左边):0.35
  • "jumps"(右边):0.40
  • 其他token:0.25

这些权重乘以value向量:

output_mask = 0.35·V_brown + 0.40·V_jumps + 0.25·V_others

这个输出进入下一层,"brown"和"jumps"的信息被整合进[MASK]表示。

步骤3:层层堆叠

这个过程在12层transformer里重复。每层都细化表示,整合越来越抽象的上下文信息。到最后一层,[MASK]表示h_mask包含了丰富的局部上下文(相邻词)和全局上下文(句子结构)信息。

步骤4:预测

MLM头转换最终隐藏状态:

h_mlm = GELU(h_mask W_1 + b_1)
h_norm = LayerNorm(h_mlm)
logits = h_norm W_vocab + b_vocab

假设前5个logit是:

  • "fox":8.2
  • "animal":6.1
  • "creature":5.8
  • "dog":4.3
  • "cat":4.1

softmax之后(简化显示):

P("fox" | context) = exp(8.2) / Z ≈ 0.73
P("animal" | context) = exp(6.1) / Z ≈ 0.15
P("creature" | context) = exp(5.8) / Z ≈ 0.11
...

Z = Σ exp(logit_i)是配分函数。

步骤5:计算损失

正确token是"fox",所以:

L = -log P("fox" | context) = -log(0.73) ≈ 0.31

损失梯度反向传播更新所有参数,让模型在将来类似上下文中提高P("fox" | context)。

MLM为什么有效

传统从左到右的语言模型只能基于前面的token:

P(w_i | w_1, ..., w_{i-1})

MLM同时用两个方向:

P(w_i | w_1, ..., w_{i-1}, w_{i+1}, ..., w_n)

双向上下文让预测准确率大幅提升。看这个例子:

"河的[MASK]被淹没了。"

单向模型看不到"淹没","bank"(银行/河岸)就很模糊。双向上下文里BERT看到"淹没"就能正确预测是"河岸"。

MLM逼着BERT学习能泛化语义和句法属性的密集向量表示。语义相似的token应该有相似的表示,这样才能在相似上下文里做出相似预测。这个预测目标创造了一个语义空间:

  • 同义词聚在一起
  • 不同句法类别(名词、动词)在不同区域
  • 关系(king-queen、man-woman)表现为一致的向量偏移

MLM预训练产生的通用表示可以用在下游任务上。预训练过程中模型学到:

  • 句法:语法结构和词语关系
  • 语义:词义和上下文依赖
  • 世界知识:训练数据里包含的事实和关系

微调特定任务时,模型能利用这些学到的表示,需要的任务数据比从头训练少很多。

总结

BERT的掩码语言建模在数学上是一套精巧的语言表示学习机制。自注意力通过查询-键空间的相似度计算,用值向量的加权平均学习上下文关系。多头注意力并行学习不同的语言表示。MLM目标逼着模型基于双向上下文预测掩码token,通过交叉熵损失和梯度下降优化不断改进。

理解这些数学原理不只是学术练习——它让实践者能在模型架构、训练流程、微调策略上做出明智决策。不管是针对特定领域调整BERT,开发新的预训练目标,还是debug训练不稳定,扎实的数学基础都很有价值。

自然语言理解不断突破边界,BERT体现的原则——基于注意力的上下文聚合、自监督学习、迁移学习——仍然是核心。未来的架构可能规模更大训练更快,但会建立在BERT奠定的数学基础上。

参考文献

  1. Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2018). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv preprint arXiv:1810.04805.
  2. Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., … & Polosukhin, I. (2017). Attention is all you need. Advances in neural information processing systems, 30.
  3. Liu, Y., Ott, M., Goyal, N., Du, J., Joshi, M., Chen, D., … & Stoyanov, V. (2019). RoBERTa: A Robustly Optimized BERT Pretraining Approach. arXiv preprint arXiv:1907.11692.
  4. Lan, Z., Chen, M., Goodman, S., Gimpel, K., Sharma, P., & Soricut, R. (2019). ALBERT: A Lite BERT for Self-supervised Learning of Language Representations. arXiv preprint arXiv:1909.11942.
  5. Clark, K., Luong, M. T., Le, Q. V., & Manning, C. D. (2020). ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators. arXiv preprint arXiv:2003.10555.


https://avoid.overfit.cn/post/dc093dcb26fe4e00b7d43c4715c91546

作者:Harish K

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
山东一民企拒绝当地政府入股,被一纸通知强行接管!

山东一民企拒绝当地政府入股,被一纸通知强行接管!

霹雳炮
2025-11-02 20:49:43
内蒙古唯一,是她!

内蒙古唯一,是她!

北疆新闻
2025-11-02 21:46:23
莫斯科大规模停电,地铁停运、交通瘫痪

莫斯科大规模停电,地铁停运、交通瘫痪

桂系007
2025-11-01 21:30:11
预测60亿票房不变,《澎湖海战》抵制是拦路虎,统一台湾势不可挡

预测60亿票房不变,《澎湖海战》抵制是拦路虎,统一台湾势不可挡

电影票房预告片
2025-11-02 13:19:11
带小三孕检碰到原配后续:女生长的很漂亮,男子涉嫌事实重婚罪

带小三孕检碰到原配后续:女生长的很漂亮,男子涉嫌事实重婚罪

鋭娱之乐
2025-11-01 12:46:10
全红婵全运首金现两动容时刻!手缠胶布,颁奖抚摸金牌,一路不易

全红婵全运首金现两动容时刻!手缠胶布,颁奖抚摸金牌,一路不易

篮球资讯达人
2025-11-03 01:05:28
锂电池的吹哨者?中信建投电新首席再发朋友圈...

锂电池的吹哨者?中信建投电新首席再发朋友圈...

金石随笔
2025-11-03 00:25:08
西甲最新积分战报:皇马造惨案,大黑马超越巴萨,皇家社会绝杀

西甲最新积分战报:皇马造惨案,大黑马超越巴萨,皇家社会绝杀

足球狗说
2025-11-02 06:43:23
乌军将大规模莫斯科,无人机和导弹全面出动!

乌军将大规模莫斯科,无人机和导弹全面出动!

知兵
2025-10-31 21:38:48
不是胰脏癌!坣娜真正死因曝光..老公心碎发声:在床边抱着她离世

不是胰脏癌!坣娜真正死因曝光..老公心碎发声:在床边抱着她离世

ETtoday星光云
2025-10-31 11:22:10
“性交易”上瘾!为图刺激,参加三届奥运的她,成了头牌应召女郎

“性交易”上瘾!为图刺激,参加三届奥运的她,成了头牌应召女郎

青史楼兰
2025-08-18 10:33:56
竞聘结束,足协官宣,名帅上任,41岁,国足名宿,曾留洋效力鲁能

竞聘结束,足协官宣,名帅上任,41岁,国足名宿,曾留洋效力鲁能

乐聊球
2025-10-18 14:50:04
高三男孩喀纳斯湖失踪,母亲守岸7天后直言放弃,意外竟在此时发生

高三男孩喀纳斯湖失踪,母亲守岸7天后直言放弃,意外竟在此时发生

古怪奇谈录
2025-10-16 10:53:42
这是85岁的李讷近照,注意看她的坐姿,终于知道她为何没去纪念堂

这是85岁的李讷近照,注意看她的坐姿,终于知道她为何没去纪念堂

文史微鉴
2025-10-13 09:56:25
安世立下规矩,日本欧洲全线停产,荷兰承认误判:强抢是无奈之举

安世立下规矩,日本欧洲全线停产,荷兰承认误判:强抢是无奈之举

来科点谱
2025-11-02 21:14:48
20集大剧,段奕宏领衔,全网口碑炸裂,这部刑侦悬疑剧杀疯了!

20集大剧,段奕宏领衔,全网口碑炸裂,这部刑侦悬疑剧杀疯了!

喜欢历史的阿繁
2025-11-02 13:39:42
开往伦敦列车大规模砍人案:2持刀男火车上“见人就刺”,9人重伤

开往伦敦列车大规模砍人案:2持刀男火车上“见人就刺”,9人重伤

吃瓜体
2025-11-02 11:19:17
确认开始!大批上海人收到官方短信!多区发布公告

确认开始!大批上海人收到官方短信!多区发布公告

鲁中晨报
2025-11-02 11:11:15
杰伦·杜伦在活塞胜独行侠比赛中,打出了职业生涯最佳表现之一

杰伦·杜伦在活塞胜独行侠比赛中,打出了职业生涯最佳表现之一

好火子
2025-11-03 01:38:58
曾经的中产标配,如今暴跌66%,又土又贵的女装,成了时代的弃儿

曾经的中产标配,如今暴跌66%,又土又贵的女装,成了时代的弃儿

青眼财经
2025-10-28 10:34:29
2025-11-03 02:35:00
deephub incentive-icons
deephub
CV NLP和数据挖掘知识
1817文章数 1432关注度
往期回顾 全部

教育要闻

保存!2026山东综合评价报考80问,政策解读!

头条要闻

马来西亚首富之子买上海大平层 449平米1.17亿元

头条要闻

马来西亚首富之子买上海大平层 449平米1.17亿元

体育要闻

这个日本人,凭啥值3.25亿美元?

娱乐要闻

陈道明被王家卫说他是阴阳同体的极品

财经要闻

段永平捐了1500万元茅台股票!本人回应

科技要闻

10月零跑突破7万辆,小鹏、蔚来超4万辆

汽车要闻

神龙汽车推出“发动机终身质保”政策

态度原创

家居
房产
健康
旅游
军事航空

家居要闻

吸睛艺术 富有传奇色彩

房产要闻

中粮(三亚)国贸中心ITC首期自贸港政策沙龙圆满举行

核磁VS肌骨超声,谁更胜一筹?

旅游要闻

这道金黄的绝美秋景里藏着古韵京华

军事要闻

俄在日本海演习击沉假想敌潜艇

无障碍浏览 进入关怀版