知识蒸馏 Knowledge Distillation 论文 Generalized Knowledge Distillation (GKD) 乘法法则、全概率公式、贝叶斯定理
flyfish
代码实践
On-Policy Distillation of Language Models: Learning from Self-Generated Mistakes
设定(方便算数):市场里共有 100 个物品,分布如下
苹果(Apple):30 个 → P(Apple)=30100=0.30P(\text{Apple})=\dfrac{30}{100}=0.30P(Apple)=10030=0.30。
其中 红色苹果 24 个,非红苹果 6 个。 所以 P(Red∣Apple)=2430=0.80P(\text{Red}\mid \text{Apple})=\dfrac{24}{30}=0.80P(Red∣Apple)=3024=0.80。
其他水果(OtherFruit):20 个 → P(OtherFruit)=0.20P(\text{OtherFruit})=0.20P(OtherFruit)=0.20。
其中红色的有 8 个,故 P(Red∣OtherFruit)=820=0.40P(\text{Red}\mid \text{OtherFruit})=\dfrac{8}{20}=0.40P(Red∣OtherFruit)=208=0.40。
非水果(NonFruit):50 个 → P(NonFruit)=0.50P(\text{NonFruit})=0.50P(NonFruit)=0.50。
其中红色的有 10 个,故 P(Red∣NonFruit)=1050=0.20P(\text{Red}\mid \text{NonFruit})=\dfrac{10}{50}=0.20P(Red∣NonFruit)=5010=0.20。
检验计数和概率:24+8+10 = 42 个红色,总概率P(Red)=42/100=0.42P(\text{Red})=42/100=0.42P(Red)=42/100=0.42。
1. 乘法法则 —— 解决“同时发生”的问题
问题场景:
想知道“既是苹果,又是红色”的概率是多少。
即 交集概率 P(A∩B)P(A\cap B)P(A∩B)。
直接算交集有时不容易,于是用条件概率来“分解”。
推导过程
定义条件概率:
P(A∣B)=P(A∩B)P(B)⇒P(A∩B)=P(A∣B)P(B).P(A\mid B) = \frac{P(A\cap B)}{P(B)} \quad\Rightarrow\quad P(A\cap B)=P(A\mid B)P(B). P(A∣B)=P(B)P(A∩B)⇒P(A∩B)=P(A∣B)P(B).
对称地:
P(A∩B)=P(B∣A)P(A).P(A\cap B)=P(B\mid A)P(A). P(A∩B)=P(B∣A)P(A).
苹果例子
- A=A=A=“是苹果”
- B=B=B=“是红色”
要算 P(A∩B)=P(红色苹果)P(A\cap B)=P(\text{红色苹果})P(A∩B)=P(红色苹果)。
用乘法法则:
P(红色苹果)=P(红色∣苹果)⋅P(苹果).P(\text{红色苹果})=P(\text{红色}\mid \text{苹果}) \cdot P(\text{苹果}). P(红色苹果)=P(红色∣苹果)⋅P(苹果).
代入数据:
=0.80×0.30=0.24.=0.80\times0.30=0.24. =0.80×0.30=0.24.
结论:有 24% 的物品是红色苹果。
乘法法则解决的问题:当想要“同时发生”的概率时,可以先算一个条件概率,再乘以边缘概率。
2. 全概率公式 —— 解决“分解复杂事件概率”的问题
问题场景:
想知道“随机拿一个是红色的概率” P(B)P(B)P(B)。
但红色物体可能来自不同来源(苹果、其他水果、非水果)。
于是把复杂的事件 BBB 分解为一系列互斥情形。
推导过程
设 {Hi}\{H_i\}{Hi} 是一组互斥且完备的划分(如“是苹果 / 其他水果 / 非水果”)。
那么:
P(B)=∑iP(B∩Hi).P(B)=\sum_i P(B\cap H_i). P(B)=i∑P(B∩Hi).
再用乘法法则:
P(B)=∑iP(B∣Hi)P(Hi).P(B)=\sum_i P(B\mid H_i)\,P(H_i). P(B)=i∑P(B∣Hi)P(Hi).
苹果例子
要算 P(红色)P(\text{红色})P(红色):
P(红色)=P(红色∣苹果)P(苹果)+P(红色∣其他水果)P(其他水果)+P(红色∣非水果)P(非水果).P(\text{红色}) =P(\text{红色}\mid \text{苹果})P(\text{苹果}) +P(\text{红色}\mid \text{其他水果})P(\text{其他水果}) +P(\text{红色}\mid \text{非水果})P(\text{非水果}). P(红色)=P(红色∣苹果)P(苹果)+P(红色∣其他水果)P(其他水果)+P(红色∣非水果)P(非水果).
代入数据:
=0.80×0.30+0.40×0.20+0.20×0.50=0.42.=0.80\times0.30 + 0.40\times0.20 + 0.20\times0.50 =0.42. =0.80×0.30+0.40×0.20+0.20×0.50=0.42.
结论:有 42% 的物品是红色的。
全概率公式解决的问题:当一个事件可以由不同来源组成时(多条路径导致同一个结果),把它分解成加和。
3. 贝叶斯定理 —— 解决“逆向推理”的问题
问题场景:
看到一个物品是红色(结果/证据),想问:它是苹果的概率是多少?
即 P(苹果∣红色)P(\text{苹果}\mid \text{红色})P(苹果∣红色)。
这就是“由结果推原因”。
推导过程
乘法法则:
P(A∩B)=P(A∣B)P(B)=P(B∣A)P(A).P(A\cap B)=P(A\mid B)P(B)=P(B\mid A)P(A). P(A∩B)=P(A∣B)P(B)=P(B∣A)P(A).
整理:
P(A∣B)=P(B∣A)P(A)P(B).P(A\mid B)=\frac{P(B\mid A)P(A)}{P(B)}. P(A∣B)=P(B)P(B∣A)P(A).
再把 P(B)P(B)P(B) 用全概率公式展开:
P(A∣B)=P(B∣A)P(A)∑iP(B∣Hi)P(Hi).P(A\mid B)=\frac{P(B\mid A)P(A)}{\sum_i P(B\mid H_i)P(H_i)}. P(A∣B)=∑iP(B∣Hi)P(Hi)P(B∣A)P(A).
苹果例子
要算“看到红色 → 是苹果的概率”:
P(苹果∣红色)=P(红色∣苹果)⋅P(苹果)P(红色).P(\text{苹果}\mid \text{红色}) =\frac{P(\text{红色}\mid \text{苹果})\cdot P(\text{苹果})}{P(\text{红色})}. P(苹果∣红色)=P(红色)P(红色∣苹果)⋅P(苹果).
代入数据:
=0.80×0.300.42=0.240.42≈0.571.=\frac{0.80\times0.30}{0.42}=\frac{0.24}{0.42}\approx 0.571. =0.420.80×0.30=0.420.24≈0.571.
结论:如果看到红色,57.1% 的可能性是苹果。