关于反卷积为何有效的一些思考
关于反卷积为什么有效的一些思考
Visualizing and Understanding Convolution Networks论文思考记录
序言
Fully convolution network for semantic segmentation以及Learning Deconvolution network for semantic segmentation两篇论文中都涉及反卷积的操作,在阅读完了A guide to convolution arithmetic for deep learning中的反卷积部分后,弄清楚了反卷积的操作过程,然而对为什么反卷积有效依然有很大的疑惑,FCN中简单的使用反卷积进行32倍,16倍,8倍的上采样原理实在诡异,DeconvNet的反卷积也是如此。通过这篇论文我有了一些新的认识。
反卷积实现中间层特征图映射
作者使用unpooling,rectification,decon将中间层的特征图一步一步映射到原图空间。从操作上来看和DeconvNet没什么区别,作者通过这组操作得到了令人印象深刻的结果,特征图映射后效果如下:
可以发现中间层特征图映射之后确实得到了有用的信息,低层特征映射到原图空间后,发现是一些颜色,边角等信息,再往后出现了一些纹理信息如Layer3,高层特征图如Layer4映射到原图空间后得到了语义很强的信息,如Layer4中的小狗轮廓,Layer5的人脸轮廓等,这些语义性强的高层信息可以很好地表征物体所属的类别,另外,高层特征图提取到的信息不含有背景信息(卷积神经网络不感兴趣的背景被过滤掉了)。作者的可视化结果证明了高层特征图拥有一定重建待识别物体轮廓的能力,也就是说,通过某些操作,高层特征图可以还原物体的位置信息。这在一定程度上证明了语义分割的可行性。
反卷积为什么有效
假设有如下卷积运算:
从此处可以看出,反卷积并不能还原出原始输入,仅仅只是根据卷积核的信息,推算出最可能的**输入图。
假设卷积核
那么显然x11,x22相对来说是更重要的特征点(3,4相对较大),它们在计算y时会趋向于给出更大的贡献,反卷积正是考虑了这一点,根据卷积核的信息(即计算对应y时的贡献)来反推可能的输入**图,得到的输入**图可以反映出相对的**程度(输入图值越大证明这个点的贡献越高,反卷积认为这个点是最应该**的,是最重要的特征点,因为只要这个点**,再结合它的最大贡献,可以更大可能使输出图**),这也可以在一定程度上解释为什么FCN使用双线性插值初始化,中间大,四角逐渐减小的卷积核满足贡献关系,越往中心的点越可能与多个输出结果相关,具有更大的贡献度,因此双线性插值初始化是合适的。
【推荐】企业SaaS应用开发实战,快速构建企业运营/运维系统
【推荐】ActiveReports 报表控件,全面满足 .NET开发需求
· 紫光集团股权大调整:清华系转让36%股权 赵伟国仍持股49%
· 难度高用处大!水下机器人:探索海洋非它不可
· 微信七年,十面埋伏
· 华尔街将苹果目标股价上至250美元:苹果手机保有量将破7亿
· 百度视频完成B轮1亿美元融资
» 更多新闻…
· 一个故事看懂“区块链”
· 被踢出去的用户
· 成为一个有目标的学习者
· 历史转折中的“杭派工程师”