如何評價Tishby的打開深度學習黑箱的Information Bottleneck理論?

11/24/2017 update

一篇提交ICLR的論文提出了反對的聲音

On the information bottleneck theory of deep learning

*******************************************************************************

這一理論 Tishby教授已經研究很久了。近期似乎有了較大進展。同時由於Hinton的評論,受到了更大關注。

揭開深度學習黑箱:希伯來大學計算機科學教授提出「信息瓶頸」 | Career Engine

「耶路撒冷希伯來大學的計算機與神經科學家 Naftali Tishby 提出了一項名為「信息瓶頸」(Information Bottleneck)的新理論,有望最終打開深度學習的黑箱,以及解釋人腦的工作原理。這一想法是指神經網路就像把信息擠進瓶頸一樣,只留下與一般概念最為相關的特徵,去掉大量無關的噪音數據。深度學習先驅 Geoffrey Hinton 則在發給 Tishby 的郵件中評價道:「信息瓶頸極其有趣,估計要再聽 10000 遍才能真正理解它,當今能聽到如此原創的想法非常難得,或許它就是解開謎題的那把鑰匙。」「」

英文原版報道在這裡,含YouTube演講視頻鏈接

New Theory Cracks Open the Black Box of Deep Learning | Quanta Magazine

主要論文

https://arxiv.org/pdf/1703.00810.pdf


說一下我自己的實驗結果:六月份第一次看到了這篇paper,覺得很厲害,細讀了一遍,然後重現了一下實驗結果(MLP)。然後,又補充做了一個實驗,在MNIST的classifier model(2conv+2fc+softmax)上,觀測現象。

結果:

六七層的MLP,在optimization的過程中,mutual information(MI) between input and hidden layer 和 MI between hidden layer and output 的變化和paper里的折線圖是一致的,我覺得paper里的解釋很完善,很佩服這個理論模型。尤其作者指出,學習過程中,hidden layer 先 努力的抓取label 的信息,中後期,label的信息抓取夠了,開始shrink瘦身,儘可能減少和input之間的MI,最後達到 最高的 expressive efficiency。

嘗試拓展:

這個理論在六七層mlp上真的好用,我嘗試看看小型的ConvNet里,是不是也有如此的現象。我用 2ConvNet + 2FullyC + softmax (https://www.tensorflow.org/get_started/mnist/pros) 去classify MNIST handwriting images,train完後accuracy 99%差不多。 paper里提到在mnist做了實驗,並且提到對於large scale and real world problem,關鍵在於找到 專業的mutual information estimator。但是paper並沒有提到他用了啥樣的estimator。所以我繼續使用定義里的那種計算方式。發現optimization 的過程中,並沒有MLP上那麼明顯的變化規律。 尤其是,沒出現「瘦身」的過程。討論了一下,我們覺得,ConvNet和每個hidden layer僅有十多個units的MLP相比,ConvNet的hidden layer維度高的太多。映射過於稀疏,ConvNet的輸出很容易出現與input一一對應的現象,也就是說 MI(hidden, input) = entropy(hidden) = entropy(input), 沒有出現多對一的映射,這樣也就沒有出現明顯的扔去冗餘信息的過程。

總結:

這個理論在解釋 層數少 每層units少的MLP上,還是很有美感的。 但是面對維度很高的CNN,還是比較吃力。一方面需要合適的 mutual information estimator,否則需要更多多的數據(不太現實)。期待作者完善理論~~~


在理論神經科學裡 information bottleneck 是一種早就存在的方法了,當時就是 Tishby 提出的,這裡他只是把 information bottleneck 的問題應用在深度學習上了(見他2000年的論文[physics/0004057] The information bottleneck method)。當時這個是一個基於資訊理論的優化方式,具體的說,假如一個signal的information source是X,這個signal是Y(Y可能是X加上noise),一個信號處理器的輸出是Z,那麼Z應該優化MI(X;Z)-beta MI(Y;Z)。這裡MI是香農的mutual information。和資訊理論很多在神經科學/深度學習方面的應用一樣,這個理論做的testable prediction比較少。樓主提到的這篇paper,和Tishby等人稍微之前一點發的[1503.02406] Deep Learning and the Information Bottleneck Principle,最有趣的恐怕不是這個優化的函數本身,而是優化過程中的dynamics。其中就是前面幾位都提到的「先學習再壓縮」。

Tishby的方法就是,假如把一個學習中的deep network的輸出Y畫在MI(X;Z) - MI(Y;Z) 的平面圖上,那輸出應該是先沿著MI(X;Z) 的方向運動,增加輸出和信號源的mutual info,然後再向MI(Y;Z) 的反方向運動,進行「compression」。這個可視化方法本身可能有些用處,Tishby用來證明這個先學習再壓縮的模型不是很有代表性。尤其是他用的模型樣本量對變數的比例都很高,這個和實際應用中的深度網路是不符的。

總而言之,我覺得是個很有意思的點子,但是現在似乎對理解神經網路或者幫助開發神經網路演算法沒有什麼幫助,是否能推廣到 deep learning的一般情況,還是取決於各種具體情況也不是很明確。Info bottleneck method在研究神經網路的圈子裡也出現了一段時間,並沒有成為特別主流的方法,可能也是在側面說明了他的局限性吧。


信息瓶頸分兩步:先擬合(Fitting),再壓縮(Compression)

擬合就是把所有信息都記住( @sli.zh 提到的先把書讀厚)

壓縮就是把無關信息都忘掉( @sli.zh 提到的再把書讀薄)

這樣一記一忘之後留下來的就是知識!

這就是人類從信息中提取知識的過程,

也是人類學習的方式,

原來深度學習也是這樣學習的,

信息瓶頸嘗試從理論上證明上述過程。

比如看到上面這段話(信息)

看完只記得一記一忘(知識)

那就是完成了學習過程,逃,:)


更新,看到這個IB之後第一反應是可以利用M(X;T)做個正則。今天發現ICLR17一篇accepted已經做了。哎…

關於diss IB的,可以看下openreview上的replies。參見:

https://openreview.net/forum?id=ry_WPG-A-

裡面提到一篇論文正在看,感覺很有吸引力


問幾個問題。。

沒人覺得這篇文章寫的很有問題嗎

比如SGD的diffusion是在parameter space上,和diffusion帶來多餘信息是兩個概念。。。。


說明在模型收斂後多訓一段時間有可能會提高泛化能力。


以前看到的某文章寫到,讀書的過程就是,先把書讀厚(抓信息),再把書讀薄(壓縮信息)。真佩服當年那個筆者的洞察力。


不知道有沒有考慮先驗知識在學習中的作用。

比如分析一個燈光下的物體,我們能輕易地利用已有經驗把影子從圖中排除掉。

也就是先利用一次已學得的知識,再將圖作為學習內容。


推薦閱讀:

量子不確定性原理是技術限制嗎?
為何鮮見量子力學教材中詳細介紹退相干?
費米面處有平庸電子態的拓撲金屬如果有超導,可以實現拓撲超導嗎?
電場和磁場是什麼關係?
現代科學理論只能適用人類已知範圍么?

TAG:理論物理 | 資訊理論 | 深度學習DeepLearning |