摘要: 本文對「範例卷積神經網絡」的訓練方法僅作了簡單簡單的概述,所以如果想要獲得更多、更真實的信息,請閱讀論文原文。本文簡要介紹了「變分信息最大化」,並將其運用到了「範例卷積神經網絡」的案例中。我們在案例中只使用了一個數量適中的訓練圖像集,「範例卷積神經網絡」恰恰利用了這一點,把數據分佈表示爲一個經驗分佈(離散有限可能性的分佈)。
「範例卷積神經網絡」和信息最大化
本文由圖普科技編譯自《Exemplar CNNs and Information Maximization》。
前幾周,我針對一篇題爲《Unsupervised Learning by Predicting Noise》的論文寫了自己的解讀和看法。在文章中,我提到了解讀這一方法的另一個角度——信息最大化,即尋找有限熵數據的非線性表徵,同時最大程度地保留輸入的信息。
在那篇文章中,我簡單地提了一下「Exemplar-CNNs」的方法。這一方法也能被理解爲「卷積神經網絡範例」。我是從下面這篇論文中瞭解到這個方法的:
《 Discriminative Unsupervised Feature Learning with Exemplar Convolutional Neural Networks》Dosovitskiy, Fischer, Springenberg, Riedmiller & Brox (2014)
在此之前我從沒見過「範例」與「卷積神經網絡」的組合,所以我認爲這可能是論文所做的的「首創」。
本文內容摘要:
-
本文對「範例卷積神經網絡」的訓練方法僅作了簡單簡單的概述,所以如果想要獲得更多、更真實的信息,請閱讀論文原文。
-
本文簡要介紹了「變分信息最大化」,並將其運用到了「範例卷積神經網絡」的案例中。
-
我們在案例中只使用了一個數量適中的訓練圖像集,「範例卷積神經網絡」恰恰利用了這一點,把數據分佈表示爲一個經驗分佈(離散有限可能性的分佈)。
-
假設我們離散了分佈,使之變得不連續,那麼「範例卷積神經網絡」就能夠被推導成爲「種子圖像」和其表徵之間的互信息的一個下界。
「範例卷積神經網絡」概述
在前面提到的論文中,Dosovistkiy等人採用的方法其實很簡單。從一個未經標記的數據庫中取出適量有趣的圖像,把這些圖像稱爲「種子圖像」或者是「範例」。你需要對每一個圖像進行各種各樣的轉換,你可以更改「種子圖像」的顏色,或者把它旋轉至不同的方向。而這些轉換後的圖像集合就是一個「代理圖像集」。下圖就是對一隻鹿的「種子圖像」進行各種轉換之後得到的圖像集:
每一張範例圖像都需要經過轉換,形成一個「代理圖像集」。所以,你有多少張「種子圖像」,就會有多少個「代理圖像集」。完成以後,你就可以開始一個卷積網絡的訓練了。你需要讓它通過一張轉換後的圖像,推測其「種子圖像」的各項指數。所以,如果你有8000個「種子圖像」,你就需要解決8000個圖像分類的問題。那麼相應地,你的卷積網絡也就具備了8000維度的分類功能。
當然了,「種子圖像」數量越多,網絡訓練的難度就越大,到最後網絡掌握的分類功能的維度也就越高。論文的作者們表示,8000個「種子圖像」尚在網絡分類功能可處理的範圍之內,而且這8000個圖像的訓練就已足夠讓我們達到比較理想的效果了。
下面我想補充的是——我們在「範例卷積神經網絡」中建立的「馬爾科夫鏈」的圖像模型視圖。
變分信息最大化的視圖
「信息最大化」能夠根據信息測量變量的不同,採取不同的方式來進行表徵學習。爲了進一步瞭解「範例卷積神經網絡」,我們來看下圖的「馬爾科夫鏈」:
上圖中的X表示「種子圖像」,Tαx表示轉換後的圖像(隨機抽樣變換參數α),Z=g(Tαx;Θ)表示採用了隨機圖像並計算了其表徵的一個映射。所以,從Tαx到的Z箭頭事實上是一個確定性映射。
如果我們把z看作是x的表徵,那麼實現「互信息」║[X,Z]的最大化就是有意義的。這個「互信息」有一個下界,這個下界就是標準的「變分下限」。
如果我們的變分集Q涵蓋了真實情境Px∣z,那麼這一下界就是確定的。
「範例卷積神經網絡」的特別之處就在於,它利用了「分佈Px實際上是N觀測值的一個經驗分佈」這一事實。這是當我們推導一個損失函數時,通常被我們否定的一種情況,只有在最後才能代替經驗分佈,構造一個無偏估計值。這裏,我們很大程度上是依靠這樣一個事實——我們只有N觀測值,而且N與數據維度D相比較小。用N來模擬離散分佈,比模擬圖像分佈要簡單得多。
如果我們有N的「種子圖像」Xn,那麼我們就可以勉強用X來表示下面的經驗分佈:
假如Z的分佈被稍稍地離散了,那麼賦予Z的情境也會被離散,只是離散的比例不同。
因此,在這種情況下,一個僅根據不同比例離散分佈的變分集合Q就變得非常必要了:
上面公式中,W代表的是q的參數,πn(Z,W)表示形成了一個有效的離散概率分佈。這樣纔會使得。如果我們讓離散比例πn(Z,W)靈活地任意變化,變分集合Q就能意識到其後部內容,而我們對「互信息」的限制就會比較嚴格。使用上面對qΘ的定義,我們可以把下界表達爲:
從x可以得到其表徵z,使用其中的原理,我們可以依據轉換參數α的期望值,寫出以下表達式:
表達式左邊的部分看上去很像是「範例卷積神經網絡」學習的「N式」分類問題:我們可以把其中的πn看作是「N式」的分類器,這個分類器需要一張任意轉換過的圖像,然後估測出「代理集合」n。上面的方程式事實上是這個分類器的「損失函數」。
爲獲得真正的「範例卷積神經網絡」方程式,我們需要做的最後一件事是進一步限制Q。因此,我們只能讓離散比例π符合以下的邏輯迴歸式:
如果我們把這些值重新代入之前得出的方程式,那麼我們就會得到論文中提到的「多項損失函數」(與論文中的方程式5相對比):
因此,我們已經證明了「範例卷積神經網絡」進行優化的目標函數,實際上是限制「種子圖像」和轉換後圖像的表徵g(Tαx)間的「互信息」的一個下界。
這個「互信息」下界的限制有多嚴格?
「互信息」的下界限制其實可能並不是那麼的嚴格,因爲π(z,Θ)僅受限於線性分類器。但是如果我們決心嚴格限制互信息,那麼這個下界是完全可能更加嚴格的。確實,如果我們不考慮最後一層g,而是把一些中間的隱藏層視作表徵,把上面的一些層視作是q的一部分,那麼這個所謂的下界限制就仍然是有效的,而且中間層的限制就會更嚴格。
那些非寬鬆的界限並不一定就是故障所在,相反,它可能還是一個特色。僅考慮q的邏輯迴歸模型,實際上是一個比信息優化更嚴格的目標函數。就像我之前經常提到的,「互信息」本身對錶徵的可逆再參量化並不敏感,因此它不能夠自己找到已還原了的表徵。所以,僅考慮下界的問題可能更適用於這個案例。你不僅需要用z來保留關於x的信息,還需要一個線性可辨性的格式,如果你之後想要把表徵用於線性分類器的話,那麼這個線性可辨性就是一個相當有用的屬性。
到底什麼東西才能被用作表徵?
最後,一個這樣的問題出現了——到底什麼樣的函數或映射應該被用作表徵呢?關於這個問題,你有三個選項:
-
作者是把g(x,Θ)的層用作表徵本身的。這在我看來是有些難以理解的,因爲這個函數從未經過一個真實圖像補丁的訓練,它只受過轉換過的圖像補丁Tαx的訓練。我認爲作者這一做法的原因是,儘管受到種子補丁的訓練較少,但是這個函數已經經過大量轉換過的圖像的訓練,所以它是完全有能力成爲表徵的。作者還提出,最後一層最終將會被訓練得越來越不容易受轉換圖像的影響。
-
你可以使用一個隨機表徵g(Tαx,Θ),但是過不久這個表徵就會顯得很累贅,不好處理。因爲你必須每次都抽樣檢查α,對它進行評估,並且整合α上面建立的所有表徵。
-
你可以使用的方法。如果g是轉換圖像的不變量,那麼它就能表示成。實際上,如果g不是轉換圖像的不變量,那可能更有可能是不變的。
最後,就像我在前面說的,你可以把g的中間層當作表徵,而不是最後一層。你還是可以訓練那些中間層,讓他們實現信息最大化,事實上那些中間層的界限還更嚴格一些。其實作者也是這樣做的:他們集合了各個層的特徵,然後考慮了所有中間層之上的一個線性SVM。
總結
「範例卷積神經網絡」是「自監督學習」的一個絕佳例子。採用一個未經標記的數據庫,並在此之上建立一個代理的監督式學習任務來幫助表徵學習。像我在本文中說的,「範例卷積神經網絡」還能被理解爲——尋找一個信息最大化的表徵。
相對簡單的用於變分界限的變分分佈可能是個非常有益的東西,而設立嚴格的界限可能反而會讓事情變得更糟。誰知道呢?但是在這個框架內建立「範例卷積神經網絡」,確實讓我們更好地理解了其工作原理。
轉貼自: 趣讀
留下你的回應
以訪客張貼回應