---
title: "KL散度（KL Divergence）"
slug: kl-divergence
language: zh-TW
source: https://aiterms.tw/terms/kl-divergence
updated_at: 2026-04-29
tags: [機器學習, 深度學習, 模型評估, 統計方法, 生成式AI, 模型訓練, 自然語言處理]
ipas_term: false
---

# KL散度（KL Divergence）

> **兩個機率分佈看起來都像，但到底差多少，能不能用一個數字說清楚？**
>
> 你可以把它想成拿真實分佈當標準，算另一個分佈偏離了多少資訊。
>
> KL散度（Kullback-Leibler Divergence）衡量兩個機率分佈的差異，數值越大代表分佈差異越大，常用於評估模型預測分佈與真實分佈的接近程度。

### 容易混淆
> **交叉熵**
> 交叉熵常在訓練時直接用，和 KL 散度只差一個與模型無關的常數。
>
> **JS 散度**
> JS 散度是對稱版本，KL 散度是不對稱版本，方向一換數字就可能不同。

### 記住這句就好
> 越小越像，但方向不能亂換。

### 實際案例
> **語言模型訓練**
> 模型輸出的下一個字分佈越接近真實語料，KL 散度就越低。
>
> **變分自編碼器**
> VAE 會用 KL 把潛在分佈拉回設定的先驗分佈，避免空間太亂。

### 算法與應用
> KL 散度不是距離，因為它不對稱，也不符合三角不等式。實務上，它最常出現在分類損失、分佈對齊、知識蒸餾和變分推斷裡。當某一邊的機率為 0 時，數值可能爆大，這也是為什麼常要做平滑。

### 情境判斷
> **Q1（直覺題）：** 如果你現在遇到一個 語言模型訓練 的場景，這個概念會是第一個想到的工具嗎？
> → 看情況，但如果任務目標和這個概念的用途一致，就很可能是。核心還是先確認你要解決的是分類、分群、壓縮、檢索，還是最佳化。
>
> **Q2（判斷題）：** 如果你把它和 JS 散度 一起用，結果反而變不穩，通常該怎麼想？
> → 看情況。先檢查資料分布、特徵定義和模型假設是否相容，很多時候不是概念本身有問題，而是使用條件不對，像距離尺度沒對齊、標註規則不一致，或輸入格式不合。

### iPAS 考題
> **出題方向：** 這類概念常考定義、差異和實務用法。
> **題目** 關於 KL 散度，下列何者正確？
> → **答案：B。** KL 散度衡量的是兩個機率分佈的差異，數值越小代表越接近。A 錯在它不是對稱距離，C 錯在它常用來衡量分佈差異，D 錯在方向是有意義的。

### 常見問題
> **Q：KL散度 最容易跟 交叉熵 混淆嗎？**
> 交叉熵常在訓練時直接用，和 KL 散度只差一個與模型無關的常數。
>
> **Q：什麼情況會用到 KL散度？**
> 你可以把它想成拿真實分佈當標準，算另一個分佈偏離了多少資訊。 實務上只要你要處理和這個概念相符的任務，就會用到它。
>
> **Q：初學者最常錯在哪裡？**
> JS 散度是對稱版本，KL 散度是不對稱版本，方向一換數字就可能不同。

### 相關術語
> - **熵**：讀完這個後，接著看它，可以把 KL散度 放回更完整的系統脈絡裡。
> - **交叉熵損失**：讀完這個後，接著看它，可以把 KL散度 放回更完整的系統脈絡裡。
> - **機率分佈**：讀完這個後，接著看它，可以把 KL散度 放回更完整的系統脈絡裡。
> - **資訊理論**：讀完這個後，接著看它，可以把 KL散度 放回更完整的系統脈絡裡。

---

來源：https://aiterms.tw/terms/kl-divergence
快查頁：https://aiterms.tw/terms/kl-divergence
最後更新：2026/04/29
深度解說：https://aiterms.tw/learning/what-is-kl-divergence