不對稱的KL散度所表示的分佈間差異有什麼不同?機器之心Pro2018-02-27 16:47:42

眾所周知,多被用於量化分佈間的差異的 KL 散度是不對稱的。今天我們來聊一聊,兩個分佈的一對 KL 散度之間究竟有什麼不同。為了討論這個知識點,我們需要掌握(或者暫且當做已知)的先決知識點有:1 自資訊:符合分佈 P 的某一事件 x 出現,傳達這條資訊所需的最少資訊長度為自資訊,表達為

不對稱的KL散度所表示的分佈間差異有什麼不同?

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

不對稱的KL散度所表示的分佈間差異有什麼不同?

4 KL 散度:用分佈 P 的最佳資訊傳遞方式來傳達分佈 Q,比用分佈 Q 自己的最佳資訊傳遞方式來傳達分佈 Q ,平均多耗費的資訊長度為 KL 散度,表達為

不對稱的KL散度所表示的分佈間差異有什麼不同?

不對稱的KL散度所表示的分佈間差異有什麼不同?

KL 散度衡量了兩個分佈之間的差異。

不對稱的KL散度所表示的分佈間差異有什麼不同?

注意,如果表達成

不對稱的KL散度所表示的分佈間差異有什麼不同?

形式,要傳達的資訊所屬的分佈在括號內;如果表達成

不對稱的KL散度所表示的分佈間差異有什麼不同?

形式,要傳達的資訊所屬的分佈在前。新增知識點:

不對稱的KL散度所表示的分佈間差異有什麼不同?

不對稱的KL散度所表示的分佈間差異有什麼不同?

有什麼不一樣?公式

不對稱的KL散度所表示的分佈間差異有什麼不同?

裡一共涉及了兩個分佈:

要傳達的資訊來自哪個分佈 ,答案是 Q

資訊傳遞的方式由哪個分佈決定,答案是 P

由 KL 散度的公式可知,分佈 Q 裡可能性越大的事件,對

不對稱的KL散度所表示的分佈間差異有什麼不同?

影響力越大。如果想讓

不對稱的KL散度所表示的分佈間差異有什麼不同?

儘量小,就要優先關注分佈 Q 裡的常見事件(假設為 x ),確保它們在分佈 P 裡不是特別罕見。因為一旦事件 x 在分佈 P 裡罕見,意味著在設計分佈 P 的資訊傳遞方式時,沒有著重最佳化傳遞 x 的成本,傳達事件 x 所需的成本,

不對稱的KL散度所表示的分佈間差異有什麼不同?

會特別大。所以,當這一套傳遞方式被用於傳達分佈 Q 的時候,我們會發現,傳達常見事件需要的成本特別大,整體成本也就特別大。類似地,想讓

不對稱的KL散度所表示的分佈間差異有什麼不同?

特別小,就要優先考慮分佈 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 兩個峰值區域中的任意一個。最後,直覺上,因為

不對稱的KL散度所表示的分佈間差異有什麼不同?

其中多項式的第二項 H(P) 與分佈 Q 完全無關,所以這時候,

不對稱的KL散度所表示的分佈間差異有什麼不同?

等價於

不對稱的KL散度所表示的分佈間差異有什麼不同?

即,最佳化 KL 散度與最佳化交叉熵是等價的。但是,反過來的

不對稱的KL散度所表示的分佈間差異有什麼不同?

就沒有這等好事了。 以上,就是,KL 散度如何衡量分佈間的差異,以及不對稱的 KL 散度在衡量差異的時候會有什麼不同了。歡迎提問,以及拍磚。