Momenta公号现推出
CVPR 2017精彩看点系列总结
每日一篇推送,每天收获一点
炎炎夏日,Momenta Paper Reading依旧与你同在
在刚刚结束的CVPR 2017上,来自Momenta的十余位研发人员亲赴夏威夷,见证这场学术盛会。与会期间,高级研究员们与众多学术大牛面对面交流,收获良多。回国后纷纷将学术心得整理成文,以飨读者。这一期带来分享的是Momenta高级研究员王晋玮,他将为大家解读论文,主动卷积:为图像分类任务学习卷积的形状。
在卷积神经网络中,最常采用矩形的卷积核来学习图像的空间特征。然而,图像中具有表示能力的特征通常并不都是矩形的,最终模型需要为此付出额外的计算和优化代价。是否可以在学习卷积核的权值参数的同时,学习卷积核的形状呢?这篇文章提出了一种叫做“主动卷积单元(ACU)”的结构实现了这一目的。
事实上,2014年发表的Deformable Part Models are Convolutional Neural Networks一文中,作者即通过一个非常稀疏的卷积操作来取代经典物体检测框架DPM中的“锚(Anchor)”,但这一卷积操作是固定的,不可以根据训练数据进行学习。而在2015年发表的Spatial Transform Network一文中,作者则通过额外的定位模型预测生成采样网格,再对特征图进行采样得到新的特征图,从中提取了对当前学习的任务最为有用的部分:
和Spatial Transform Network相关的方向逐渐成为视觉领域深度学习的研究热点,包括近期MSRA提出的Deformable Convolution Network和CVPR 2017的多篇文章。而这篇文章提出的ACU则通过为每个卷积核学习一系列采样位置,实现可以学习卷积核形状的卷积操作:
上图中,x为卷积核中的一系列采样位置,而w则是对应的一系列权值。计算卷积结果时,卷积核在输入的特征图上滑动,通过双线性插值得到每个采样位置对应的采样值,再与权值相乘并累加后得到最终的输出。可见,ACU与传统的卷积操作最大的不同在于采样位置的引入。显然,ACU是传统卷积操作的一种推广:它不再局限于离散的像素点,而是可以对输入特征图进行空间上连续的采样,以获取更好的表示能力;同时它可以表示所有传统的卷积操作,例如3*3的卷积,甚至有孔洞的卷积(dilated convolution),只要将采样位置固定在一系列对应的位置即可。
ACU的计算过程包括两个部分,即将采样位置的双线性插值和传统卷积的计算过程。这两个过程的前向传播和反向传播过程都比较容易实现,因此整个ACU的前向传播过程可以表示为:
而反向传播过程则可以表示为:
值得注意的是,当采样点恰好落在输入特征图的格点上时,输出对采样位置的偏导将不存在。不过作者的实验结果表明,如果对采样位置选取合适的学习率,这一现象最终不会引发问题。同时,作者通过归一化梯度的方式来避免训练过程中采样位置的学习过程的不稳定,即使用采样位置的梯度计算更新的方向,而采用固定的更新幅度。另外,由于网络初始化时卷积的权值尚没有实际含义,也就没有必要学习采样位置,因此作者选择使用标准的矩形卷积核来初始化采样位置,并在最初的若干轮迭代过程中固定采样位置,之后再同步更新采样位置和权值。
作者搭建了一个比较简单的Baseline模型,并在CIFAR10和CIFAR100上进行传统卷积核和ACU的对比实验。实验验证ACU在两个数据集上均带来了一定程度的准确率提升:
同时,一些卷积层也学习到了与传统的矩形卷积核明显不同的采样位置:
可见,conv2/1、conv3/1和conv3/2都学习到了和3*3的矩形卷积核显著不同的形状。值得注意的是,conv3/2甚至学出了和3*3并且dilation=2的卷积核非常相似的形状。
另外,作者还搭建了具有残差连接的Baseline模型,同样取得了一定的准确度提升。同时,作者也使用AlexNet和自行搭建的ResNet-26在Place365上进行了对比实验:
与Spatial Transform Network等文章不同的是,这篇文章并没有针对不同的输入数据生成不同采样位置,而是为卷积核学习了固定的采样位置。因此前者意在视觉任务中引入类似注意力的机制,而本文则意在学习表达能力更强的卷积操作。一方面,更好的卷积操作可以带来更高的准确率;另一方面,卷积核形状的学习结果也可以为我们提供优化模型的一些思路。
Q&A:
Q:学习到的卷积核的形状是否有实际的含义?
A:是的,它应当与训练数据集中的某些关键的特征有关。如果用同样的数据和模型多次训练后得到的卷积核的形状应当是大致相同的。
Q: 相比于传统的卷积操作,ACU加入了采样,对卷积的运算效率是否有影响?
A: 是的,有一定程度的影响。在作者的实现结果中,训练耗时大约是原先的2倍,而推理的耗时大约是原先的1.6倍。
Q: 为何在学习采样位置时仅采用梯度计算得到的更新方向而采用固定的更新幅度,而不是完全由梯度确定更新方向和幅度?
A: 梯度的幅度可能会比较大,但大幅度更新采样位置是不合理的,例如一次更新采样位置跨越了多个格点,这会造成采样位置的学习过程不稳定。事实上,在一个格点内部对损失函数用一阶近似是基本合理的,但在多个格点之间仍采用一阶近似可能会出现问题。
Q: 实验中发现conv3/2学习出了类似3*3 dilation=2的卷积核的形式,是否意味着传统形式的卷积神经网络中将conv3/2设定为3*3 dilation=2可以获得更好的效果?
A: 是的,我们有在这种设定下进行实验。实验结果显示这样设定确实比将conv3/2设定为3*3 dilation=1可以获得更高的准确率,但和ACU相比仍然稍低。
Momenta CVPR干货系列:
敬请期待,后续还有解读来袭
Momenta,打造自动驾驶大脑。
Momenta致力于打造自动驾驶大脑,核心技术是基于深度学习的环境感知、高精度地图、驾驶决策算法。产品包括不同级别的自动驾驶方案,以及衍生出的大数据服务。
Momenta有世界知名的深度学习专家,图像识别领域先进的框架Faster R-CNN和ResNet的作者, ImageNet 2015、ImageNet 2017、MS COCO Challenge 2015等多项比赛冠军。团队来源于清华大学、麻省理工学院、微软亚洲研究院等,有深厚的技术积累和极强的技术原创力。
编辑标题:“GH+姓名+职位”
做你自己的伯乐,来实习,拿4096现金大奖!
领取专属 10元无门槛券
私享最新 技术干货