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

2020-12-04 機器之心Pro

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

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

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

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

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

4 KL 散度:用分布 P 的最佳信息傳遞方式來傳達分布 Q,比用分布 Q 自己的最佳信息傳遞方式來傳達分布 Q,平均多耗費的信息長度為 KL 散度,表達為 D_p(Q) 或 D_KL(Q||P),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,由兩個高斯分布混合而成,用藍線表示。

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

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

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

如果我們選擇目標函數 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 散度在衡量差異的時候會有什麼不同了。

歡迎提問,以及拍磚

相關焦點

  • KL散度在各領域不同的使用情況
    在2007年的一篇論文中,來自西班牙和義大利的研究人員提出了一種基於KL距離的新標準,用於區分相應的不具有動態分布的模型。 統計學 KL散度在統計學中的應用可就太多了,但是作者重點討論了它作為測量近似求解法失敗的工具。
  • 愛銳學習 | 從物理角度直觀理解數學中的梯度、散度與旋度
    對於每一個做數值模擬的研究生而言,特別害怕老闆提問的就是:難道各位老闆不明白:雖然我們都學過高數,但是早就已經忘光了,那些複雜的偏微分方程,哪那麼容易就能理解!好在帕坦卡被折磨了數年之後,總算還是大致摸清了方程背後的意義!
  • 【漲知識】嘗試理解「梯度、散度、旋度」,歡迎拍磚!
    散度:散度是一個標量, 它可理解為通過單位體積閉曲面的通量, 即通量體密度或通量源強度。因此,散度可用於描述矢量場中某點通量對體積的變化率。由此可知, 標量場的梯度場(或位場)對應於散度源(或通量源)。(3)標量場的梯度是矢量函數,矢量場的散度是標量函數,矢量場的旋度是矢量函數,這些函數分別表示梯度場、散度場和旋度場。
  • 多變量微積分-二十五講-散度定理
    散度定理,又稱為高斯散度定理、高斯公式、高斯-奧斯特羅格拉德斯基公式或高-奧公式,是指在向量分析中,一個把向量場通過曲面的流動(即通量)與曲面內部的向量場的表現聯繫起來的定理
  • 梯度、散度和旋度
    散度,就是通量密度,理解散度要與通量聯繫起來。(散度為標量理解為密度是可行的,但是旋度是矢量,不能等價於密度,只是一種類比吧) 環量表示把某一物理量沿著一條閉曲線的路徑積分,舉個例子,水裡有個漩渦(圖1),沿著圓周關於速度的線積分就是環量,環量除以圓面積,然後讓面積無限小,比值就是旋度。
  • 數學中的梯度、散度與旋度到底是幹嘛用的?
    對於每一個做數值模擬的研究生而言,特別害怕老闆提問的就是:難道各位老闆不明白:雖然我們都學過高數,但是早就已經忘光了,那些複雜的偏微分方程,哪那麼容易就能理解!好在帕坦卡被折磨了數年之後,總算還是大致摸清了方程背後的意義!
  • 散度終結篇:對散度定理最詳細的解讀
    在物理術語中,向量場的散度是向量場通量在給定點上像源的程度。它是對其「輸出度」的一種局部度量——在某種程度上,從一個無限小的空間區域輸出的場向量要多於進入該空間的場向量。通量流出的點具有正的散度,常被稱為場的「源」。通量向內的一個點具有負的散度,常被稱為場的「匯」。
  • 基礎向-今天談談散度與旋度
    今天介紹的散度以及旋度也跟哈密頓算子有關,簡單來說,散度就是與哈密頓算子的點乘,旋度就是與哈密頓算子的叉乘。既然這裡說到了點乘與叉乘的概念,那麼顯而易見,這裡與算子相乘的函數不再是昨天說的數值函數,而是向量函數,例如:那麼我們就可以得到散度的公式:通過上式可以看出,散度是一個標量,那麼它有什麼意義呢?
  • 全面形象化的解釋散度和通量的物理意義
    散度,通量是高等數學和大學物理,電磁學的重要內容,難以理解,本篇用通俗的語言來解釋它的物理意義。散度,高斯定理非常重要,要學好一個太陽發出耀眼的光芒太陽在向外輻射能量,我們用向量A來表示能量的方向和大小d在太陽表面用一條封閉的曲線圈起來,那麼通過該曲線的能量就是所有向量A的疊加但是A的方向不一定在曲線的法線方向
  • ICLR2020|谷歌最新研究:用「複合散度」量化模型合成泛化能力
    如何系統的設計一個最佳的合成泛化實驗?(雷鋒網)論文連結:https://openreview.net/forum?id=SygcCnNKwr來自谷歌的研究人員在「測量合成泛化:真實數據的綜合方法」論文中,試圖引入了最大和最全面的基準來解決這個問題。
  • 散度divF的含義:環量等於divF通過邊界曲面的通量
    以下內容摘自一本教材,對你進一步理解散度的含義有很大幫助,請參考,首先定義與速度有關的向量場由環流量下的斯託克斯定理得到環量密度:散度divF散度是一個矢量,環流量除以圓盤面積時,就得到環流量的密度,放入流體中的小輪子始終圍繞著中心軸旋轉
  • 梯度,散度,旋度的基石:帶你走進向量場
    如下就是比較高級的了,有很多向量,數學上叫他向量場,首先輸入一個坐標值,將坐標值帶入到函數式子中,而向量又是這個函數值來決定,所以形成了如下無數多的向量,有二維的向量場,那就存在三維的,知識再二維的基礎上增加了一個坐標軸我們來詳細解說下向量場:P,Q都是標量函數,將取決於X,Y值,而這些標量的函數決定了每個坐標點的向量,理解了把
  • 圖解梯度、散度與旋度(1)
    實際上基於非原創性的理由Gibbs 並不情願出版這本教材, 後來是由他的學生E. B. Wilson 整理之後才成為正式的教科書。(2) 高斯(Karl Friedrich Gauss, 1777∼1855) : 提出散度定理。(3) M.Ostogradsky (1801∼1861) : 1831年研究熱傳導方程(heat equation) 時也導出散度定理。
  • 【散度定理】圖解高等數學-下 28
    散度定理二維平面 Green 定理 - 散度法向形式說的是, 在向量場中穿過簡單閉曲線的向外流量可以通過下式做積分求得散度:
  • 機器學習中各種熵的定義及理解
    而筆者對熵的理解是:「拒絕學習、拒絕提升的人是沒有未來的,也只有努力才能變成自己想成為的人」。下圖是對熵的一個簡單描述:熵可以理解為是一種對無序狀態的度量方式。那麼熵又是如何被用在機器學習中呢?在機器學習領域中,量化與隨機事件相關的預期信息量以及量化概率分布之間的相似性是常見的問題。
  • 個人理解的麥克斯韋電磁場方程之美
    本文作者在另一篇文章:清晰理解散度裡面已經解釋過,散度的含義就是指在圖六的帶電球體外面,假設有一個單位體積元,穿過這個體積元的電力線數目會隨著這個體積元離開帶電球體的距離的變化而成比例的變化。散度這個概念,把我們這種只能意會而不能言傳的感覺完美地表示了出來。
  • 教程|如何使用純NumPy代碼從頭實現簡單的卷積神經網絡
    本文是該系列的第一篇文章,介紹了 KL 散度(KL divergence)的基本數學概念和初級應用。作者已將相關代碼發布在 GitHub 上。代碼:https://github.com/thushv89/nlp_examples_thushv_dot_com/blob/master/kl_divergence.ipynb基礎概念首先讓我們確立一些基本規則。
  • 左右腦功能層級結構的不對稱性規律
    該論文基於靜息態功能磁共振影像,結合最新的功能連接梯度(gradient)分析方法,首次揭示了左右半腦內部的功能層級模式、及其不對稱性與性別差異。人腦的左右半球是兩個相互連接又相對獨立的功能模塊,半腦內的功能層級結構是半腦內信息加工的重要內部組織特性,其左右腦差異可能為大腦認知加工過程的偏側化現象提供了部分支撐。但迄今為止,缺乏針對左右腦功能層級結構差異的實證研究。
  • 十二、梯度和散度--流體力學理論知識
    這次我們通過介紹梯度和散度,來掌握一些公式化簡的技巧。1. 梯度算子          什麼叫梯度算子? 散度         散度(divergence)可用於表徵空間各點矢量場發散的強弱程度,物理上,散度的意義是場的有源性對於一個矢量場
  • 一張圖看懂梯度、散度、旋度、Jacobian、Hessian和Laplacian
    圖中的粗實線箭頭表示了兩種二階微分運算,它們可以由兩個一階微分運算組合而成,即:圖中的虛線箭頭表示了一種不涉及微分的運算(跡)。在微分運算之後接上「跡」運算,可能得到另一種微分運算,如:二、入迷圖中恰好有一個為「逐行散度」運算準備的空位,我們把它補充到圖中。向量 Laplacian 的結果,恰好等於「散度的梯度」與「旋度的旋度」之差。為了體現出這種關係,我把「從向量到向量」的三種二階微分運算改用橙紅色箭頭表示。