當前位置:
首頁 > 新聞 > 如何理解KL散度的不對稱性

如何理解KL散度的不對稱性

眾所周知,多被用於量化分布間的差異的 KL 散度是不對稱的。今天我們來聊一聊,兩個分布的一對 KL 散度之間究竟有什麼不同。

為了討論這個知識點,我們需要掌握(或者暫且當做已知)的先決知識點有:

1 自信息:符合分布 P 的某一事件 x 出現,傳達這條信息所需的最少信息長度為自信息,表達為

如何理解KL散度的不對稱性

2 熵:從分布 P 中隨機抽選一個事件,傳達這條信息所需的最優平均信息長度為香農熵,表達為

如何理解KL散度的不對稱性

3 交叉熵:用分布 P 的最佳信息傳遞方式來傳達分布 Q 中隨機抽選的一個事件,所需的平均信息長度為交叉熵,表達為

如何理解KL散度的不對稱性

4 KL 散度:用分布 P 的最佳信息傳遞方式來傳達分布 Q,比用分布 Q 自己的最佳信息傳遞方式來傳達分布 Q,平均多耗費的信息長度為 KL 散度,表達為 D_p(Q) 或 D_KL(Q||P),KL 散度衡量了兩個分布之間的差異。

如何理解KL散度的不對稱性

注意,如果表達成 D_p(Q) 形式,要傳達的信息所屬的分布在括弧內;如果表達成 D_KL(Q||P) 形式,要傳達的信息所屬的分布在前。

新增知識點:D_P(Q)與 D_Q(P) 有什麼不一樣?

公式 D_P(Q) 里一共涉及了兩個分布:

  • 要傳達的信息來自哪個分布,答案是 Q

  • 信息傳遞的方式由哪個分布決定,答案是 P

由 KL 散度的公式可知,分布 Q 里可能性越大的事件,對 D_P(Q) 影響力越大。如果想讓D_P(Q) 盡量小,就要優先關注分布 Q 里的常見事件(假設為 x),確保它們在分布 P 里不是特別罕見。

因為一旦事件 x 在分布 P 里罕見,意味著在設計分布 P 的信息傳遞方式時,沒有著重優化傳遞 x 的成本,傳達事件 x 所需的成本,log(1/P(x)) 會特別大。所以,當這一套傳遞方式被用於傳達分布 Q 的時候,我們會發現,傳達常見事件需要的成本特別大,整體成本也就特別大。

類似地,想讓 D_P(Q) 特別小,就要優先考慮分布 P 里那些常見的事件們了。這時,分布 Q 里的常見事件,就不再是我們的關注重點。

下面讓我們舉一個實際的例子,來自《Deep Learning》一書第 3 章。

假設存在一個真實分布 P,由兩個高斯分布混合而成,用藍線表示。

如何理解KL散度的不對稱性

現在,在不知道分布 P 的信息的情況下,我們做出了一個常見的假設:假設數據符合高斯分布。

當我們嘗試用一個普通的高斯分布 Q 來近似分布 P,換言之,嘗試讓 Q 盡量「貼近」P 的時候,可以選擇的目標函數有:

如何理解KL散度的不對稱性

選擇不同的目標函數,會產生完全不同的 Q。

如何理解KL散度的不對稱性

如果我們選擇目標函數 1,結果會像左圖一樣。在優化過程中,重要的是分布 P 中的*常見事件*,也就是藍線的兩峰,我們要優先確保它們在分布 Q 里不是特別罕見(信息長度不是特別長)。由於分布 P 里有兩個峰值區域,分布 Q 無法偏向任何一個峰值,拉鋸的結果是,Q 選擇了橫亘在分布 P 兩個峰值中間。

如果我們選擇目標函數 2,結果會像右圖一樣,重要的是分布 P 中的*罕見事件*(信息長度特別長的那些事件),也就是藍線的谷底,我們優先確保它們在分布 Q 里不是特別常見。左圖裡那種,分布 Q 橫亘在分布 P 兩個峰值中間,是我們最不希望發生的、KL 散度格外大的情況。相反,只有一個峰值的分布 Q 最終會選擇貼合分布 P 兩個峰值區域中的任意一個。

最後,直覺上,因為 D_Q(P)=H_Q(P)-H(P),其中多項式的第二項 H(P) 與分布 Q 完全無關,所以這時候,arg min D_Q(P) 等價於 arg min H_Q(P)。即,優化 KL 散度與優化交叉熵是等價的。但是,反過來的 D_P(Q)=H_P(Q)-H(Q) 就沒有這等好事了。

以上,就是,KL 散度如何衡量分布間的差異,以及不對稱的 KL 散度在衡量差異的時候會有什麼不同了。

歡迎提問,以及拍磚。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

專訪AAAI 2018最佳論文作者,記憶增強蒙特卡洛樹搜索細節解讀
既能欺騙機器,也能迷惑人類:Goodfellow等人提出新一代對抗樣本

TAG:機器之心 |