知識蒸餾 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)=∑i?P(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% 的可能性是蘋果。