如何評價深度學習之父Hinton發布的Capsule論文?
論文地址:https://arxiv.org/abs/1710.09829
相關問題:如何看待Capsule的第二篇論文Matrix Capsules with EM Routing?
可以參見我最新寫的專欄文章 淺析深度學習之父Hinton的最新大作CapsNets
把正文搬運到這裡。
盯Hinton的capsule論文很久了,早在吳恩達的課程客串里他就談到了capsule的概念,今天終於出來了。作為一個半吊子深度學習科研人員,談談自己的看法。這篇文章研讀了幾遍,大概知道方法,對具體調參機理和方法還是雲里霧裡。
先說結論,同意匿名答主對Hinton的一些批判,也非常佩服匿名答主的分析和勇氣。但是覺得capsule的價值更在於理念上的突破,而不是技術上的突破,在performance上可以暫時不用這麼苛刻。
確實,目前的實驗方法和結果都難以讓人信服,就好像是藍圖構想宇宙飛船飛越銀河系,結果只是紙飛機放飛到庭院。mnist數據集規模而且pattern太簡單,baseline的CNN只有3層,體現不出當前最先進深度學習模型的優越之處。
但是覺得還是要批判的看這個問題,capsule的提出確實更加符合大腦的信息處理邏輯:信息的處理是立體的向量的,而不是平面的標量的。比如說人臉識別,CNN能準確識別具有五官的物體是人臉,然而如果把五官在空間里隨意堆砌,CNN還是會把它識別為人臉;如果用capsule把一定空間聯繫的feature當作一個高級的feature group,就不會發生把隨便五官堆砌的物體識別成人臉。從演算法上講這個原因是因為在CNN簡單粗暴的用max-pooling來收集突出特性,丟掉特性比如鼻子耳朵之間的空間聯繫; 而capsule將會保留這些特性之間的聯繫。從本質上講,這是演算法在認知上的進步,不僅僅單純的用bag of words 用一個袋子去裝特性,而是用一個空間結構去表現特性。所以本質上,是cognitive deep learning.
這篇文章主要兩個貢獻
1. 提出了捕捉空間結構信息的capsule概念,用向量輸出代替標量輸出
「A capsule is a group of neurons whose activity vector represents the instantiation
parameters of a specific type of entity such as an object or object part.」2.動態路由的概念「Dynamic Routing」,用routing-by-agreement取代max-pooling.
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.
capsule構建的深度學習模型如圖。
可以看到大概結構上和CNN區別不大,除了把filter變成了capsule。第一層 conv1的計算不涉及到capsule,直接用的256個9x9的filter來提取第一次初始信息,它計算的結果最後是作為原始數據,來給第一個capsule層primarycaps使用。primarycaps層里有32個6x6的capsule, 每個capsule是6x6x8尺寸。同樣的6x6網格里,各個feature分享相同的權值,保留了深度學習的優越性。
每個capsule的輸出與輸入是一個卷積的關係,可以這麼算出來
capsule的輸出作為更高級的capsule層的輸入。激活更高級層的方式是"協議路由routing-by-agreement",計算方法就是累積加和
得到了高級別的capsule層後,又回到了經典深度學習全連接層的做法,FC ReLU.
作者說,capsule深度學習網路CapsNets,在應對一些仿射變換的數據,如下圖,比如說被拉伸了,壓縮了,局部變形了,具有更好的魯棒性,相比傳統的CNN的66%的準確率,CapsNets能達到79%的準確率。個人認為這也是在意料中的,空間聯繫等信息的保留後構建的信息空間,自然要比傳統的CNN不保留空間聯繫的信息空間,要信息豐富。
然後作者還用一個case study來證明了CapsNets的另外一個好處,就是之處capsule的深度模型本質上是一種並行注意力模型,能把信息提取的注意力集中到下一層里更加活躍的capsule,而忽略掉不活躍的capsule。緊接著,他的例子我覺得也是合理的,通過分割重合的數字,來證明CapsNets的好處:基於空間的理解,知道局部與局部之間的聯繫,從而更好的把屬於一個聯繫體里的物體區分,比如說多目標識別。作者聲稱CapsNets的表現已經達到目前表現最好的注意力模型的表現級別 5%錯誤率。具體對比和解釋看下圖。
就寫到這兒了,過幾天再分析下它的局限性。知識水平有限,歡迎指正和交流。本人是做機器人的學習的,才開始用深度學習構建機器人的思考決策模型,歡迎同行交流和引用文章, 研究主頁Rui Liu - Robot Knowledge。 歡迎同行關注和投稿我的機器學習專欄 機器學習深度學習--學術水準的理解 和機器學習應用專欄 機器人的知識學習(robot knowledge)
本文所有圖片來自Hinton的原文[1710.09829] Dynamic Routing Between Capsules
致敬深度學習之父 Hinton, 期待此理念的後續發展,期待各路大神各顯神通。
版權所有,謝絕轉載。
前不久公布的一個youtube視頻詳細介紹了Capsule,裡面用一個識別船和房子的例子清晰的解讀了capsule的工作原理。 連Hinton老爺子本人都說,自己解釋的有這個視頻清楚就好了。(This is an amazingly good video. I wish I could explain capsules that well.)
這裡是帶字幕的中文解讀
【乾貨】Hinton最新 Capsule Networks 視頻教程分享和PPT解讀(附pdf下載)
What are your thoughts about Hinton』s capsule network method?
看不下去了,實在不忍心讓知乎民科繼續懟hinton了....大家就進這裡面看吧,關注這個問題的應該英文也沒太大問題了
贊那個民科的還真是清一色的小粉紅和機器學習一點關係都沒有的程序員....
我認識的data scientist和教授都對這篇文章持肯定態度,有異議的也沒說這篇文章ridiculous,倒是知乎直接說godfather怎樣怎樣了……真的很生氣,民科說下自己的觀點還行,但能不能有點底線了?!
小粉紅們對待科學研究還得tm的站個隊,政治參與科研,也真是噁心。
看了論文,可以得出結論:Hinton的水平不過如此而已。
所謂的capsule為dl又貢獻了一個花里胡哨的trick概念。說它是trick,因為hinton沒有說為什麼routing演算法為什麼需要那麼幾步,循環套著循環,有什麼理論依據嗎?還是就是湊出來的?
論文的實驗也十分難以令人信服。作為深度學習的研究者,hinton應該有豐富的各種問題的大規模數據集,為什麼偏偏就選擇一個前深度學習時代的數據量小的mnist數據集做實驗?是不是跑了大規模數據不work? baseline的cnn只有3層,這不是dl強烈批判的淺度學習模型嗎? 演算法收不收斂?參數怎麼調的?hinton號稱得到了state of the art的性能,然而很容易就知道mnist的state of the art是0.23,比hinton的結果0.25要好很多,hinton有不誠實的嫌疑。
順便吐槽一下現在nips論文水平的低劣,如果不是hinton掛名,這樣的文章有可能發表嗎?
論文最後的討論用了一個毫無依據的類比,說capsule當前的十分類似rnn早期階段,暗示capsule將來可能的成功。然而論文的方法和實驗難以讓人信服,這種佈道性的類比充滿了投機色彩。
針對這篇十分初級且看不到任何明顯優點的研究,各種ai領域的科技媒體集體進行了一次炒作,希望看官們秉持批判性思維,不要輕易入坑,成為別人的學術跟班。
推薦閱讀:
※如何評價卡內基梅隆大學的開源項目 OpenPose?
※如何評價人們對電腦在圍棋上戰勝人類的時間預測?
※如何評價amd的Radeon開放計算平台直接將CUDA編譯代碼直接轉換過來。?
※resnet(殘差網路)的F(x)究竟長什麼樣子?
※卷積神經網路可以用於小目標檢測嗎?
TAG:人工智慧 | 機器學習 | 計算機科學 | 深度學習DeepLearning |