MaskConnect: 探究网络结构搜索中的Module间更好的连接

加入极市 专业CV交流群,与 6000+来自腾讯,华为,百度,北大,清华,中科院 等名企名校视觉开发者互动交流!更有机会与 李开复老师 等大牛群内互动!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。 关注  极市平台  公众号  , 回复  加群, 立刻申请入群~

简介

深度学习结构设计已经取得了很大的进步,最近也有很多人提出设计有效的卷积神经网络Module或者Block然后堆叠形成完整的网络,比如VGG,ResNet,DenseNet等等。然而目前如何合并和聚集这些modules/blocks间的特征仍然是手工设计的,比如DenseNet和ResNet每个building block只是后一个和前一个相连,通过恒等映射、卷积或者池化等等。

MaskConnect是ECCV 2018的工作,论文题目是《MaskConnect: Connectivity Learning by Gradient Descent》,主要的思想是想自动学习建立网络中不同modules之间的连接,而且这个连接关系可以和网络的参数一起通过loss来学习得到,而并非手工设计,同时在两个经典的结构ResNet和ResNeXt上进行了大量的实验,实验表明通过学习连接,网络可以在任务上得到更好的准确率,同时在特定条件下能够有效的减少参数。

具体的做法是通过connectivity masks—学习到的二值参数来作为“switches”来决定最终网络的连接情况,值得注意的是,这些masks可以和网络本身的参数一起联合优化。另外,一个有趣的事情是,作者发现同时他们能够发现网络本身冗余或者不必要的module,在优化结束之后,可以将其prune掉来减少参数,降低延时。

方法

(一)Formulation

作者首先将网络分成L个modules(对于ResNet来说,每个module就是一个residual block, 对于ResNeXt来说,每个module是由多个并行的分支组成)。定义Xj为第j-th个module的输入,j=1,2,3…L.

现在引入可学习的masks来定义网络中的连接,对于module j可以从之前的一个或者多个module来接受输入,k = 1,2,…,j-1.

使用上面的m_{j}来表示j-th module的二值mask向量。

因此第j个module的输出就是上面的式子,之后再经过一些常规操作如卷积。当不同的modules之前的feature map大小不一样时,使用zero-padding来增加feature tensors的维度至最大的feature map尺寸.

在实验中,每个module被允许能够接受K个之前的module作为输入(1 < K < (j-1)),这个K也是一项超参,特殊情况,如果一个module k对于所有的j来说都没有后续的module接受它作为输出,即m_{k}=0,那么在优化之后,就会将这个module prune掉来减少参数数量和加速。

(二)学习连接

学习算法叫做MaskConnect,因为这些mask(二进制参数)需要学习得到,因此作者定义了一种改版的反向传播,来训练带有二值参数的神经网络。因此,借鉴了《Binaryconnect: Training deep neural net- works with binary weights during propagations.》中提出的方法。

训练过程中的源码如下(这里以ResNet为例):

随后作者将MaskConnect分别应用到ResNet和ResNeXt上,如下图所示:

其中红色实线连接为MaskConnect学习到的连接。

实验

作者在CIFAR-10, CIFAR-100和ImageNet上进行了实验,其中K是上面提到的超参控制接受之前module的输入数量,如下是利用ResNet作为backbone。

此外,还进行了调整ResNet上K值的ablation study.

在K=10的时候得到最好的准确率。可以看出,当K值很小的时候,准确率也是很低的,但是算法对K值并没有也别敏感,当K从7变化到13时,准确率都是接近最高值。

在ImageNet上也进行了实验:

总结

这篇文章是首次提出学习神经网络中不同module间的连接关系,这个问题被表达成连接参数和网络参数一起优化的问题,并且通过实验在ResNet和ResNeXt上发现通过MaskConnect的结果比固定的module连接准确率确实高,同时也可以使一些没用的module进行prune. 未来的工作可以会探索参数化更复杂的不同module间的更好的feature聚合。

-End-

*延伸阅读

CV细分方向交流群

添加极市小助手微信 (ID : cv-mart) ,备注: 研究方向-姓名-学校/公司-城市 (如:目标检测-小极-北大-深圳),即可申请加入 目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割等极市技术交流群 (已经添加小助手的好友直接私信) ,更有每月 大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流 一起来让思想之光照的更远吧~

△长按添加极市小助手

△长按关注极市平台

觉得有用麻烦给个在看啦~