如何評價Hinton在加拿大多倫多大學關於用「capsule」作為下一代CNN的演講?
懟了一下現在基於CNN的圖像識別,最後一條鬼臉就是針對pooling的:
演講視頻在此,比較長 http://www.bilibili.com/video/av13578720
有答主說其實很早就提出了
先問了,再慢慢看
在deeplearning.ai吳恩達與Hinton的採訪中,談到了關於capsule的話題,記錄一點。Hinton談到其有幾個關鍵點,其一是如何表示多維實體,且可通過少數backdoor activities表示多維實體。所以idea是,在圖像的每個區域,假設存在最多某一種特別特徵,然後利用一堆神經元,其活動會代表特徵的不同方面。比如在區域中什麼是xy坐標,其在哪個方向,顏色亮度等。所以可利用一堆神經元表示同一目標的不同維度。其為一種不同於傳統神經網路的表示方法。即在表示中,partition the representation to different subsets to represent。將subset叫作capsule,idea是一個capsule可以表示an instance of a feature但 only one,且其表示特徵的所有不同properties。即其為a feature that has a lot of properties,相對於傳統神經網路僅有one scale of property。基於此可以做routine by agreement。例如做分割,存在可能是嘴可能是鼻子,想知道是否應該將其組合在一起成為一個整體臉,於是有a capsule for a mouth和a capsule for a nose,要決定是否將其組合,讓它們vote for what the parameters should be a face,如果嘴和鼻處在正確的關係,它們就好agree。這是一種不同於通常在神經網路做filtering的方式,Hinton認為routine by agreement對於讓神經網路從有限數據更好泛化是很關鍵的,其能很好地get the changes in viewpoint。其想法正在Toronto和Google Brain團隊進行中。
非常同意Hinton的觀點,卷積神經網路中的Pooling層,普遍採用的最大池化或平均池化,除了降低問題維度外,只具有非常初級的平移不變性,而生物對圖像的處理,相信應該具有比較完備的旋轉、平移、放縮的不變性,CNN顯然不具備這點功能。如果確實在意旋轉、平移、放縮的不變性,需要在卷積神經網路中加入一到多層的Spatial Transform層。
人腦確實是按功能來分區,功能區又可以分為小的分區,可以認為是區域內Dense Connect,而區域間稀疏連接,Capsule模型可以很好的表現這種特徵。
另外,人腦中神經活動具有時序特徵,突觸連接權值有興奮、保持、抑制、復原的動態過程,比較遺憾,這些特徵Hinton沒有提到。也許這些是Spike神經網路學派的觀點,這些號稱第3代神經網路技術在深度學習學術界不流行的原因。
太繁瑣複雜了,根本不耐草,以前不就本來可以搞出identity mapping沒work么,其實連根線就好了
現有的模型之所以是現在這個樣子,其實完全是受摩爾定律限制的,完全是經驗注意、實用主義。Convolution和Pooling先不說其在深度學習上面的作用,其在計算機視覺學科誕生之初乃至更早的信號處理領域,幾乎就是最常用兩種運算了。隨著摩爾定律的推動,在運算量不超出現有硬體體系限制的條件下,人們發現把這些簡單的運算堆積起來可以做到不錯的信號建模效果,於是模型就做成了現在這個樣子。
Hinton提出的新模型,很可能在現有硬體性能前提下難以實現,或者難以高效的實現。因此在現階段可能並不具備實際指導意義。
另外,像Resnet和Densenet這類設計討巧、簡單暴力的網路結構的誕生,也極大的證明了經驗主義和實用主義在現階段是佔主導地位的。
搞複雜它。。。
怎麼搞?
暴力。
池化僅應使用在網路的靠近輸入層的地方,1-2層池化就夠了。spike神經元沒有什麼意義。另外個人覺得卷積操作也不需要,改為應用「注意力機制」。詳細展開請參考我的一篇乎文:https://zhuanlan.zhihu.com/p/28629034
想法雖老但很好,希望能早日實現。
我覺得拋棄CNN是Hinton神話的終結。在他的學生在CNN領域獲得成功前,Hinton在理論方面已經日薄西山,販賣當時已經過時15年的東西(當然這只是個人感覺)。我對於現在的capsule,也暫且持保留意見。
--- 補充 9/21/2017 ---
正文還沒有登出,只能看到Google Brain上的摘要。其中一段是:
To achieve these results we use an iterative routing-by-agreement mechanism: A lower-level capsule prefers to send its output to higher level capsules whose activity vectors have a big scalar product with the prediction coming from the lower-level capsule. The final version of the paper is under revision to encorporate reviewers comments.
這種學習方法,類似於Hebbian,只不過是在Capsule之間,而不是傳統Hebbian的神經元之間。可以說是一種創新。我在研究中,也發現了這種學習方法的用途。但是不知道Hinton等人具體進展到哪裡了。打算等具體文章發表,再做一些進一步的評論。
不是8月17日吧,視頻介紹從油管轉過來的,油管上是4個月前就有了
推薦閱讀:
※用c++實現神經網路一般用什麼庫?
※如何評價 Caffe2go?
※caffe用別人的model和prototxt測試,batch_size如何選擇?
TAG:機器學習 | 圖像識別 | 神經網路 | 深度學習DeepLearning |