最大深度互資訊模型(DIM)執行圖片搜尋器
-
MINE方法:
之前看下面這句話的時候總是雲裡霧裡,好好推了下公式終於明白啦。
利用神經網路計算互資訊可以轉換為計算兩個資料集合的聯合分佈和邊緣分佈之間的散度具體推導過程:
如圖,首先,我們有:
I(X;Y) = H(X) - H(X|Y)
其中,H(X|Y) 表示給定隨機變數 Y 的條件下,隨機變數 X 的條件熵。根據條件熵的定義,我們有:
H(X|Y) = - sum_x sum_y P(x,y) log(P(x|y))
將這個公式代入上面的公式中,我們得到:
I(X;Y) = H(X) + sum_x sum_y P(x,y) log(P(x|y))
根據機率論中的乘法規則,我們有 P(x,y) = P(x|y)P(y),因此上面的公式可以寫成:
I(X;Y) = H(X) + sum_x sum_y P(x,y) log(P(x,y)/P(y))
由於 H(X) = - sum_x P(x) log(P(x)),因此上面的公式可以寫成:
I(X;Y) = - sum_x P(x) log(P(x)) + sum_x sum_y P(x,y) log(P(x,y)/P(y))
將上面的公式中的求和號用全機率公式 P(x)=sum_y P(x,y)拆開,我們得到:
I(X;Y) = - sum_x sum_y P(x,y) log(P(x)) + sum_x sum_y P(x,y) log(P(x,y)/P(y))
接下來,我們將上面的公式中的兩個求和號合併成一個求和號,得到:
I(X;Y)=sum_x sum_y P(x,y)(log(P(x,y))-log(P(x))-log(P(y)))
根據對數函式的性質,我們有 log(a/b)=log(a)-log(b),因此上面的公式可以寫成:
I(X;Y)=sum_x sum_y P(x,y)(log(P(x,y)/(P(x)*P(y))))
根據 KL 散度的定義,我們有 D_KL(P||Q)=sum_x P(x)(log(P(x)/Q(x))),因此上面的公式可以寫成:
I(X;Y)=D_KL(P(X,Y)||P(X)*P(Y))
這就是互資訊和 KL 散度之間的關係。