Resnext论文学习

0.摘要

作者有几种通过思想十分的好值得借鉴:
1.vgg和inception等网络中,都是block的组合,这是一种十分简洁的组网方式
2.提出了基数的概念:用来和衡量拆分、转换和聚合模块的复杂度

论文思路:
1.结构类似于inception+resnet还有点mobile net的味道
2.但是他觉得inception中的block要人工设计太麻烦,而且要很多超参数
3.作者觉得他的基数比深度d和宽度w更具体,更可以度量,再深度和宽度饱和后可以使用基数来提高精度(我只认同一半)
4.牺牲掉x通道进行卷积,转而使用n个x/n个通道进行卷积来获得参数上的缩小,和mobilenet一样。
5.Alex认 为group conv的方式能够增加 filter之间的对角相关性,而且能够减少训练参数,不容易过拟合,这类似于正则的效果

我的改进
分组卷积会带来全channel特征提前到损失,可以约定几个feature map来记录

1.拆分、转换和聚合(split-transform-merge)

1.1从传统的神经元中获得灵感

Resnext论文学习_第1张图片
split-transform-merge也就是拆分、转换和聚合,这中模式和神经元的工作很相似:
1.分裂:向量X被切成低维嵌入,在上面,它是一维维子空间
2.变换:对低维表示进行变换,神经元是进行了简单的线性组合
3.聚合:所有嵌入中的转换按∑求和

1.2分组卷积

比如当输入通道为256,输出通道也为256,kernel size为3×3,不做
Group conv参数为256×3×3×256。实施分组卷积时,若group为8,每个group的input channel和output channel均为32,参数为8×32×3×3×32,是原来的八分之一
Resnext论文学习_第2张图片
当把组数为输入通道数,而且输出也是输入通道数的时候就变成了mobilenet
Resnext论文学习_第3张图片

1.3 ResNext模块结构

Resnext论文学习_第4张图片
输入通道大小为256,用1*1卷积核,输出的通道为4.基数为32
上为ResNext,可以看出来内部的每一条都是一样的,a和b的结构与类似,只是b是现concat再进行1*1卷积,而c只是描述起来不同,但是实质上一样的模块32*4=128

Resnext论文学习_第5张图片
相应的在3x3卷积和5x5卷积前面、3x3池化后面添加1x1卷积,将信息聚集且可以有效减少参数量。下一层block就包含1x1卷积,3x3卷积,5x5卷积,3x3池化(使用这样的尺寸不是必需的,可以根据需要进行调整)。这样,网络中每一层都能学习到“稀疏”(3x3、5x5)或“不稀疏”(1x1)的特征,既增加了网络的宽度,也增加了网络对尺度的适应性;

1.4网络结构

Resnext论文学习_第6张图片
C=32”表示分组卷积为32组,d=4为卷积核的个数

2.实验结果

Resnext论文学习_第7张图片
此时的resnet50和resnext50的计算复杂度都是一样的

Resnext论文学习_第8张图片
第一个是基准模型,增加深度和宽度的分别是第三和第四个,可以看到误差分别降低了0.3%和0.7%。但是第五个加倍了Cardinality,则降低了1.3%,第六个Cardinality加到64,则降低了1.6%。显然增加Cardianlity比增加深度或宽度更有效。

你可能感兴趣的:(论文学习,网络,卷积,深度学习,神经网络)