设为首页收藏本站

VALSE

查看: 2616|回复: 0

【VALSE前沿技术选介16-01期】

[复制链接]
发表于 2016-2-25 23:52:54 | 显示全部楼层 |阅读模式
http://mp.weixin.qq.com/s?__biz= ... 35DhiZo93MFZ6VX0#rd

【VALSE前沿技术选介16-01期】2016-02-20 Winsty [url=]VALSE[/url]
【创刊号卷首语】

VALSE的各位读者,大家好!感谢大家过去一年来的持续关注和对VALSE的支持,祝大家猴年生活更美满,科研事业更精彩!在新的一年里,VALSE将继续围绕“打造视觉与学习领域国内外华人首要学术交流平台”这一目标,为大家提供学术交流舞台和各种机会,推介最新的产学研干货。

作为VALSE的又一个重要“产品”,今天我们正式推出《VALSE前沿技术选介》(VALSE Frontier Technology Recommendation and Review)。通过这一新的“媒介”,每周将对少量实效性较高的优秀学术论文进行简要介绍和评述,为广大VALSER们提供方便、快捷的享受更多学术盛宴的机会。

《VALSE前沿技术选介》初期将以邀稿为主,中后期欢迎大家积极参与,踊跃投稿,我们会通过合适的机制择优发布在VALSE公众号、QQ群、微信群和网站等平台上。

【VALSE前沿技术选介16-01期】

    今天给大家带来的第一篇Paper是来自于Google Deepmind的"Exploiting Cyclic Symmetry in Convolutional Neural Networks" (http://arxiv.org/abs/1602.02660),2月8日上传于Arxiv。

    在传统的CNN中,通过Pooling操作可以达到translation invariance,然而对于rotation,并没有很好的办法解决。最常用的办法就是data augmentation,即通过枚举不同的rotation强制使CNN学到这种性质。然而这种方法并不能保证泛化性能,同时为了达到相同的效果还需要容量更大的网络。本文主要想解决的问题是如何将rotation equivariance/invariance的性质在CNN的结构中保持。

    首先,介绍一下Equivariance和Invariance的定义:对于一个输入x和一个函数f()和某种变换T,如果存在某种对应的变换T’,f(Tx) = T’f(x),则称f对T equivariance;如果f(x) = f(Tx),则称f对T invariance。对于普通的分类问题而言,更多需要的是invariance,即输入变化,最终的输出label不会变化;然而对分割等结构化输出任务而言,更需要的是equivariance,直观的解释就是输入一个旋转过的图片,则输出的分割也应相应旋转。更多的性质和讨论可以参见文中的引用 (“Understanding Image Representation by Measuring Their Equivariance and Equivalence” Arxiv 2014)

    文章中提出了4种可以插入在现有CNN框架中操作来从网络结构的层面保证equivariance:
  • Cyclic Slicing:将输出结果旋转作为新的样本
  • Cyclic Pooling:如果该操作插入在conv层后,则将Slicing后的一组样本逆旋转通过Pooling操作变为一个样本;如果该操作插入在fc层后,则直接将Slicing后的一组样本进行Pooling。注意在fc层进行这样的Pooling操作,可以达到invariance的性质
  • Cyclic Stacking:将Slicing后的一组样本逆旋转后在channel方向拼接。
  • Cyclic Rolling:将Slicing后的一组样本permute后stacking,具体比较难用文字描述,见下表和下图。


这四种操作正式的描述在下表中:

实际使用中,Slicing和Pooling会成对出现(注意Pooling可能在fc后),Rolling和Stacking可以插入在Slicing和Pooling中间。见下图:

实验部分不赘述,一些简单的结论如下:
  • 即使在做了data augmentation的情况下,这四种操作仍然能够改进结果。
  • 实验结果看来,Cyclic Pooling做好的setting是average pooling后不加activation function
  • 在Slicing和Pooling中间再加入Rolling对结果改进较小。


简单点评:如果问题中对于旋转不敏感的话,本文中的方法十分值得一试,简单而且通用,适合插入在任何已有的CNN结构中。然而缺陷也很明显,本文方法的适用范围只有4个方向的旋转以及翻转,对更复杂的变换就无能为力了。对于更复杂的情况,个人推荐去年来自VGG的一篇NIPS:“Spatial Transformer Networks”


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Vision And Learning SEminar    

GMT+8, 2020-10-25 15:42 , Processed in 0.053373 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表