CNN结构:场景分割与Relation Network

           参考第一个回答:如何评价DeepMind最新提出的RelationNetWork
git

           参考连接:Relation Network笔记  ,暂时尚未应用到场景中
github

           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和田总 spa

一块儿作项目。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, 这两个模块实际上是能够分开进行训练。.net


在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
相关文章
相关标签/搜索