KL散度(KL Divergence)是什麼?

KL散度(Kullback-Leibler Divergence)衡量兩個機率分佈的差異,數值越大代表分佈差異越大,常用於評估模型預測分佈與真實分佈的接近程度。|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

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 錯在方向是有意義的。

常見問題

KL散度 最容易跟 交叉熵 混淆嗎?

交叉熵常在訓練時直接用,和 KL 散度只差一個與模型無關的常數。

什麼情況會用到 KL散度?

你可以把它想成拿真實分佈當標準,算另一個分佈偏離了多少資訊。 實務上只要你要處理和這個概念相符的任務,就會用到它。

初學者最常錯在哪裡?

JS 散度是對稱版本,KL 散度是不對稱版本,方向一換數字就可能不同。