CNN結構:場景分割與Relation Network


           參考第一個回答:如何評價DeepMind最新提出的RelationNetWork

           參考鏈接:Relation Network筆記  ,暫時還沒有應用到場景中

           LiFeifei阿姨的課程:CV與ML課程在線

    


   摘抄一段:


Visual reasoning是個非常重要的問題,由於ResNet等大殺器出現,visual recognition任務本身快要被解決,所以計算機視覺的研究方向逐漸往認知過程的更上游走,即邏輯推理。

於是出現了去年比較火的Visual question answering(VQA):給張圖,你可以問任意問題,人工智能系統都需要給出正確答案。這是我之前做的一個簡單的VQA demo (Demo for Visual Question Answering)。VQA任務的典型數據庫是COCO-VQA(Introducing the 2nd VQA Challenge!),今年出了第二代。大家做了半天,各種lstm, attention-based model, stacked LSTM等等,發現其實跟BOW+IMG的baseline差不了太多;VQA還是被當成個分類問題,離真正人類級別的reasoning還很遠。這里大家逐漸意識到了兩個問題,第一個是網絡本身的問題,即現有的卷積網絡並不能很好的表達因果推斷;第二個問題是,直接在自然圖片上進行問答系統的研究太難了,很難debug整個系統,於是有了下面兩個解決方向:

針對第一個問題,研究者開始在網絡設計中explicitly加入reasoning or memory module. 比如說,去年有篇比較有意思的CVPR'16論文,Neural Module Networks( arxiv.org/pdf/1511.0279) , 很好地提出了一個可以讓網絡進行compositional reasoning的模塊,概念挺漂亮。可惜的是調參能力一般,performance離我那個iBOWIMG的baseline也差得不遠(參見arxiv.org/pdf/1512.0216)。



另外,我覺得這篇論文也有一稿多投的嫌疑,因為這幾乎一模一樣的模型在作者另外一篇Learning to compose neural networks for question answeringarxiv.org/pdf/1601.0170)拿了NAACL'16的best paper 。作者Jacob我也認識,我就不多吐槽了,還好他不會看中文。。。

針對第二個問題,研究者開始通過graphics合成圖片的辦法來建立絕對可控的VQA數據庫,這樣就可以更好的分析模型的行為。Facebook AI Research幾個研究者(Larry Zitnick和Ross Girshick)帶着Feifei的學生Justin Johnson實習去年暑假搞了個合成的VQA數據庫CLEVR(CLEVR: A Diagnostic Dataset for Compositional Language and Elementary Visual Reasoning)。CLEVR有100,000圖片,~1,000,000個問題答案對。里面的每張圖片都是通過Blender渲染生成,里面的物體基本屬性是three object shapes (cube, sphere, cylinder), two absolute sizes (small and large), two materials (shiny, matte), four relationships (left, right, behind, in front)。然后問題也是通過從90個問題模板里面采樣生成。 通過各種組合可以生成海量而且可控的問題答案,如下圖所示。然后在這篇論文中,作者測試了一些VQA常用的baselines, BOW+IMG, LSTM啥的,表現都一般。那個暑假正好我也在FAIR實習,跟Larry和田總

一起做項目。Larry是非常喜歡這種Neural module network和programming sytax的路子。跟Justin和Ross以及組里其他成員去Lake Tahoe那邊hiking的時候也聊起了這個數據庫,他們說你那個simple baseline for visual question answering在這個數據庫上不管用了啊=,=!。另外,八卦下,Justin是Stanford的跳水運動員,Ross是戶外運動達人,所以整個hiking過程中我費了牛勁,也再沒見過這兩位,望其項背而不得=,=!

后來,這篇CLEVR數據庫的論文被CVPR'17收了。然后,同一堆作者再馬不停蹄再交了篇ICCV'17 submission: Inferring and executing programs for visual reasoning (arxiv.org/pdf/1705.0363)。這篇論文也搞了個compositional model for visual question answering的模型。模型有兩個模塊program generator, execution engine,第一個模塊來預測問題里面的program, 第二個模塊來執行這些預測出來的program, 然后進一步預測答案。這兩個模塊還是蠻新穎的,打破了以前做VQA就用CNN疊LSTM的簡單粗暴套路。這模型受之前那個Neural Module Network也影響挺大,也更符合CLEVR本身數據的生成過程。結合CLEVR本身的生成program, 這兩個模塊其實是可以分開進行訓練。


在Table 1里面(如下圖所示),作者測試了兩種辦法, Ours-strong是把CLEVR數據庫本身的700K的生成program全部拿來訓練(注:這篇論文的作者本來就是CLEVR的作者),然后可以得到牛逼的96.9%, 已經秒殺人類的92.6%准確度。然后Ours-semi方法,用更少量的18K和9K的program進行訓練,也可以得到95.4%和88.6%的准確度。

這個訓練過程其實蠻tricky。訓練過程給的除了question-answer pair, 還給了生成CLEVR數據庫本身的program, 這跟其他方法比較就不是這么fair了。另外,我覺得這個訓練過程,其實是在訓練一個新的網絡reverse-engineer之前CLEVR數據庫本身的生成程序。並且,這個reverse-engineering的復雜度挺低,用9k program訓練就可以達到88.6%就是個證明。換句話說,對於這種自動生成的數據庫,用好了方法和模塊結構,也許挺容易刷到高分。這就為接下來的Visual Relation Network埋下了伏筆。

說了這么大堆東西,終於輪到DeepMind的Visual Relation Network module (arxiv.org/pdf/1706.0142)登場了。模型如下圖所示,


如標題所示,模型結構確實很簡單:LSTM編碼question, 然后跟兩兩配對的spatial cell的deep feature疊加,然后后面接一些FC layers最后softmax分類到某個答案詞上面。總結起來就是這個非常簡單的兩兩配對的learnable module:



這樣簡單的模型,在CLEVR上達到了"驚人"的95.5%,比之前最好的CNN+LSTM+SA還要好差不多20%。這里作者並沒有比較前面那篇ICCV submission里的96.9%,這是為什么了,作者解釋說“ ...(ICCV method) uses additional supervisory signals on the functional programs used to generate the CLEVR questions" 。這種說法的確沒任何問題,但這卻能幫我們更好的理解模型。

這篇論文並沒有給出任何解釋模型為什么work, 以及內部到底學到了些什么東西(這是我自己很關注的一個問題)。我自己覺得這個relational module其實是implicitly學到了"the functional programs used to generate the CLEVR questions",也就是說,訓練過后這個module可以很完美地reverse engineer那個CLEVR數據本身的生成過程。如果我是這篇論文的reviewer, 我會要求作者對模型進行可視化分析,可能里面的一些hidden units就是在做visual relation detection。

Relational module種explicitly表達兩兩物體關系的做法,跟之前DeepMind的那篇Spatial Transformer (arxiv.org/pdf/1506.0202)也有共通之處:CNN網絡本身並不能很好地表達某些變換或者關系,所以需要一些特定的learnable的module結構來幫助表達和學習。可以預見這個relational module可以在很多結構化數據,如graph learning, structure learning等結構化數據上派上大用場。論文中也把模型在其他兩個數據庫任務bAbI model for language understanding(這個數據庫其實早就被刷到100%了)和dynamic physical system reasonsing進行了測試,都取得了不錯的效果。但是,這個module是真正解決了relationship detection的問題,還是僅僅只是利用short-cut來overfit數據庫,還得等到人們在其他場合,如visual relationship detection(Visual Relationship Detection with Language Priors)等測試其有效性

作者:周博磊
鏈接:https://www.zhihu.com/question/60784169/answer/180518895



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM