DPO演算法

Bronya_Silverwing發表於2024-11-22

KL散度:

KL散度 (Kullback-Leibler Divergence)

KL散度是資訊理論中的一個重要概念,用於衡量兩個機率分佈之間的差異。它評估分佈 \(P\) 在多大程度上與分佈 \(Q\) 不一致。

定義

離散分佈下的公式:

\[D_{\text{KL}}(P \| Q) = \sum_{x} P(x) \log \frac{P(x)}{Q(x)} \]

連續分佈下的公式:

\[D_{\text{KL}}(P \| Q) = \int P(x) \log \frac{P(x)}{Q(x)} dx \]

公式解釋

  • \(P(x)\):真實分佈或目標分佈(資料生成分佈)。
  • \(Q(x)\):近似分佈或模型分佈(假設的分佈)。
  • \(\log \frac{P(x)}{Q(x)}\):對 \(Q(x)\) 偏離 \(P(x)\) 的“懲罰”。

性質

  1. 非負性

    \[D_{\text{KL}}(P \| Q) \geq 0 \]

    且當且僅當 \(P(x) = Q(x)\) 對所有 \(x\) 成立時取零。

  2. 方向性

    \[D_{\text{KL}}(P \| Q) \neq D_{\text{KL}}(Q \| P) \]

直觀理解

KL散度衡量使用分佈 \(Q\) 來近似分佈 \(P\) 所需的額外資訊量。例如:

  • 如果 \(Q\) 非常接近 \(P\),額外成本(KL散度)會很小。
  • 如果 \(Q\)\(P\) 偏差較大,KL散度值會增大。

應用場景

  1. 機器學習

    • 用於最大似然估計,最佳化模型分佈 \(Q\) 以最小化 KL散度。
    • 變分推斷中,衡量變分分佈與目標後驗分佈的差異。
  2. 自然語言處理

    • 評估兩個文字分佈的相似性。
  3. 資訊理論

    • 度量兩個信源之間的資訊量差異。
  4. 機率分佈對比

    • 分析實驗資料分佈 \(P\) 和模型預測分佈 \(Q\) 的差異。

與交叉熵的關係

KL散度可以透過交叉熵和熵來表達:

\[D_{\text{KL}}(P \| Q) = H(P, Q) - H(P) \]

其中:

  • \(H(P, Q)\):交叉熵。
  • \(H(P)\):熵。

總結

KL散度是一種衡量機率分佈差異的重要工具,但由於其不對稱性限制,有時會結合對稱度量(如 JS散度)使用。

相關文章