KL Divergence/zh

    From Marovi AI
    This page is a translated version of the page KL Divergence and the translation is 100% complete.
    Other languages:
    Article
    Topic area Information Theory
    Prerequisites Cross-Entropy Loss, Softmax Function


    概述

    Kullback-Leibler散度(常縮寫為KL散度,記作$ D_{\mathrm{KL}}(P \parallel Q) $)是衡量一個概率分佈$ P $與第二個參考分佈$ Q $在同一結果空間上差異程度的度量。它起源於信息論,用於量化在使用為$ Q $優化的編碼來編碼來自$ P $的樣本時所需的額外比特數的期望值。在現代機器學習中,它是使用最廣泛的概念之一:隱式地出現在每個分類器的Cross-Entropy Loss中,顯式地出現在變分自編碼器變分推斷中,並在策略優化方法(如PPO)中作為正則化項,以及在基於人類反饋的強化學習過程中作為KL懲罰項使用。

    KL散度是非負的,當且僅當兩個分佈幾乎處處相等時取零,並且關於其參數是不對稱的。這種不對稱性並非需要修補的缺陷,而是其大部分表達能力的來源——因為選擇哪個分佈放在第一個位置編碼了一項關於哪個方向上的誤差應被懲罰的建模決策。由於KL不是度量(不滿足對稱性和三角不等式),因此被稱為散度;它是被稱為f-散度的更廣泛家族的典型代表。

    定義

    對於支撐集相同的兩個離散分佈 $ P $$ Q $

    $ {\displaystyle D_{\mathrm{KL}}(P \parallel Q) = \sum_{x \in \mathcal{X}} P(x) \log \frac{P(x)}{Q(x)}.} $

    對於具有密度 $ p $$ q $ 的連續分佈,

    $ {\displaystyle D_{\mathrm{KL}}(P \parallel Q) = \int p(x) \log \frac{p(x)}{q(x)} \, dx.} $

    對數的底決定了單位:底數2給出比特,自然對數給出nats。按照約定 $ 0 \log 0 = 0 $,但若存在任何 $ x $ 使得 $ P(x) > 0 $$ Q(x) = 0 $,則散度為無窮大。這一絕對連續性要求在實踐中具有重要後果,是下文討論的平滑技巧的動機所在。

    KL散度也可等價地寫成交叉熵與之差:

    $ {\displaystyle D_{\mathrm{KL}}(P \parallel Q) = H(P, Q) - H(P),} $

    這是看清以下事實的最清晰方式:當$ P $為數據分佈時,相對於模型$ Q $最小化交叉熵恰好等價於最小化 $ D_{\mathrm{KL}}(P \parallel Q) $——因為熵項 $ H(P) $ 不依賴於模型,在求梯度時會消失。

    性質

    最常被引用的性質是非負性,有時稱為Gibbs不等式:

    $ {\displaystyle D_{\mathrm{KL}}(P \parallel Q) \geq 0,} $

    當且僅當 $ P = Q $ 幾乎處處成立時取等號。這可由Jensen不等式應用於凸函數 $ -\log $ 推得。KL散度還在配對 $ (P, Q) $ 上是聯合凸的,這使得在許多情形下,對任一參數的最小化問題都是良定的。

    然而,它既不對稱,也不滿足三角不等式。一般而言,

    $ {\displaystyle D_{\mathrm{KL}}(P \parallel Q) \neq D_{\mathrm{KL}}(Q \parallel P),} $

    並且這兩種順序之間的差距可以任意大。KL散度的鏈式法則表明,對於聯合分佈,

    $ {\displaystyle D_{\mathrm{KL}}(P(X, Y) \parallel Q(X, Y)) = D_{\mathrm{KL}}(P(X) \parallel Q(X)) + \mathbb{E}_{P(X)}\big[D_{\mathrm{KL}}(P(Y \mid X) \parallel Q(Y \mid X))\big],} $

    這一分解是大多數變分界限背後的主力工具。

    信息論直觀解釋

    最清晰的解釋來自編碼理論。假設Alice從分佈$ P $抽取符號,而Bob設計一個編碼,但Bob只知道另一個分佈$ Q $。Bob會給每個符號分配大約 $ -\log Q(x) $ 比特的碼長。因此Alice消息的期望長度為 $ H(P, Q) $,而最優長度(由匹配$ P $的編碼可達)為 $ H(P) $。兩者之差 $ D_{\mathrm{KL}}(P \parallel Q) $ 即為每個符號所浪費的期望比特數,並且這種浪費必然是非負的。

    第二種解釋來自假設檢驗。若樣本來自$ P $,問Neyman-Pearson檢驗區分$ P $$ Q $的速度有多快,則第二類錯誤率的漸近指數(Stein引理)恰好為 $ D_{\mathrm{KL}}(P \parallel Q) $。因此,從樣本效率的意義上看,KL散度是分佈之間天然的可區分性度量。

    正向KL與反向KL

    在將近似分佈 $ Q_\theta $ 擬合到目標 $ P $ 時,把哪個參數放在第一位會在性質上改變所得擬合結果。最小化正向(或矩投影)形式

    $ {\displaystyle D_{\mathrm{KL}}(P \parallel Q_\theta)} $

    會重罰 $ P $ 有質量而 $ Q_\theta $ 沒有的任何區域,因為被積函數包含以 $ P $ 加權的 $ \log(P/Q_\theta) $。其結果是覆蓋型或求均值型行為:$ Q_\theta $ 會擴展以覆蓋 $ P $ 的所有模態,即便要把質量放在低概率區域。對參數族進行極大似然估計恰好等價於最小化關於經驗分佈的正向KL

    最小化反向(或信息投影)形式

    $ {\displaystyle D_{\mathrm{KL}}(Q_\theta \parallel P)} $

    則會懲罰 $ Q_\theta $ 把質量放在 $ P $ 沒有質量之處。其結果是尋模型行為:$ Q_\theta $ 傾向於鎖定在 $ P $ 的某一個模態而忽略其餘。這是在變分推斷ELBO是反向KL界)以及策略優化中KL懲罰項里所使用的形式——在那裏,保持接近參考策略比覆蓋參考策略可能產生的所有行為更重要。

    實際啟示是:兩種順序回答的是不同的問題;籠統地說一個方法"最小化KL"而不指明具體形式,其歧義性會影響最終結果。

    在機器學習中的應用

    KL散度是大部分監督學習背後的隱式目標。使用Cross-Entropy LossSoftmax Function輸出上訓練分類器,差一個常數即等價於最小化經驗標籤分佈與模型預測分佈之間的正向KL。同一觀察擴展到語言建模——下一個token的交叉熵就是相對於下一個token經驗分佈的正向KL;也擴展到知識蒸餾——學生模型被訓練以最小化相對於教師softened預測分佈的KL。

    變分推斷與變分自編碼器中,證據下界包含一個反向KL項 $ D_{\mathrm{KL}}(q_\phi(z \mid x) \parallel p(z)) $,將近似後驗拉向先驗。在策略優化中,信賴域方法(TRPO)和截斷式代理目標(PPO)都使用新舊策略之間的KL約束或懲罰來防止破壞性的更新步。在基於人類反饋的強化學習中,相對於經監督微調的參考策略的KL項可阻止優化器漂向對獎勵模型的剝削。

    KL還出現在模型選擇中(Akaike信息準則是基於KL對樣本外擬合的估計),以及互信息中——互信息本身就是一個KL散度:$ I(X; Y) = D_{\mathrm{KL}}(P(X, Y) \parallel P(X) P(Y)) $

    相關散度

    若干變體處理了特定的不足。Jensen-Shannon散度

    $ {\displaystyle D_{\mathrm{JS}}(P, Q) = \tfrac{1}{2} D_{\mathrm{KL}}(P \parallel M) + \tfrac{1}{2} D_{\mathrm{KL}}(Q \parallel M),\quad M = \tfrac{1}{2}(P + Q)} $

    是對稱的、始終有限的,並且上界為 $ \log 2 $;其平方根是真正的度量。Renyi散度 $ D_\alpha(P \parallel Q) $ 以可調階數 $ \alpha $ 推廣了KL,並在 $ \alpha \to 1 $ 時還原為KL。KL與JS都屬於f-散度家族,這也是f-GAN目標的自然框架。基於最優傳輸的距離(如Wasserstein距離)是完全不同的另一類,即使支撐集不重合也保持有限且信息量充足,而這恰恰是KL變為無窮大的情形。

    估計與計算考量

    實踐中反覆出現三個問題。首先,絕對連續性要求:任何採樣點 $ x $ 若滿足 $ Q(x) = 0 $ 都會使估計趨向無窮。從業者通過平滑 $ Q $標籤平滑、Laplace平滑、加性噪聲)來規避,或在支撐集可能不重合時改用JS或Wasserstein。其次,從樣本得到的KL插入式估計在高維下有偏且方差很大;最近鄰估計與變分下界(如用於互信息的Donsker-Varadhan估計和MINE估計)是常用替代。第三,當 $ P $$ Q $ 都是高斯分佈時,KL有解析閉式,被廣泛用於VAE編碼器與Laplace近似中:

    $ {\displaystyle D_{\mathrm{KL}}(\mathcal{N}(\mu_1, \Sigma_1) \parallel \mathcal{N}(\mu_2, \Sigma_2)) = \tfrac{1}{2}\Big[\operatorname{tr}(\Sigma_2^{-1} \Sigma_1) + (\mu_2 - \mu_1)^\top \Sigma_2^{-1} (\mu_2 - \mu_1) - k + \log \tfrac{\det \Sigma_2}{\det \Sigma_1}\Big],} $

    其中 $ k $ 為維數。這一閉式表達式是變分機制中如此普遍採用高斯假設的原因之一。

    局限性

    KL散度不是距離,因此不應被當作距離來對待。其不對稱性令期望 $ D_{\mathrm{KL}}(P \parallel Q) $ 表現得像範數的從業者大感意外;而三角不等式的不成立則使任何通過加性組合KL項來界定誤差的嘗試都失效。當支撐集不同時出現的無窮散度病態是對抗性場景中的嚴重問題——在那裏,生成器與數據可能生活在不重合的低維流形上。基於樣本的估計受維數災難之苦,樸素的蒙特卡洛估計在 $ P $$ Q $ 相距較遠時可能有無界方差。這些都不會使KL成為錯誤的工具,但每一種失敗模式都促成了一種特定的替代方案(基於Wasserstein、JS或混合準則的Loss Functions),在各自的適用範圍內更可取。

    參考文獻

    [1] [2] [3] [4] [5] [6]

    1. Kullback, S. and Leibler, R. A. On Information and Sufficiency. Annals of Mathematical Statistics, 1951.
    2. Cover, T. M. and Thomas, J. A. Elements of Information Theory, 2nd edition. Wiley, 2006.
    3. MacKay, D. J. C. Information Theory, Inference, and Learning Algorithms. Cambridge University Press, 2003.
    4. Kingma, D. P. and Welling, M. Auto-Encoding Variational Bayes. Template:Cite arxiv
    5. Schulman, J. et al. Proximal Policy Optimization Algorithms. Template:Cite arxiv
    6. Ouyang, L. et al. Training Language Models to Follow Instructions with Human Feedback. Template:Cite arxiv