卷积网络小细节

【1】全连接层换成卷积

好处:全连接层使得输入维度固定,替换成卷积可以输入任意大小的数据,适合检测分割等任务。

第一个全连接层的输入是7*7*512, 输出是4096. 这可以用一个卷积核大小7*7, 步长(stride)为1, 没有填补(padding), 输出通道数4096的卷积层等效表示, 其输出为1*1*4096, 和全连接层等价. 后续的全连接层可以用1x1卷积等效替代.


【2】inception中的1x1卷积核使用

好处(转):

(1)卷积层共有的一个功能,可以实现通道方向的降维和增维,至于是降还是增,取决于卷积层的通道数(滤波器个数),在Inception v1中1*1卷积用于降维,减少weights大小和feature map维度。

(2)1*1卷积特有的功能,由于1*1卷积只有一个参数,相当于对原始feature map做了一个scale,并且这个scale还是训练学出来的,无疑会对识别精度有提升。

(3)增加了网络的深度

(4)增加了网络的宽度

(5)同时使用了1*1,3*3,5*5的卷积,增加了网络对尺度的适应性


假设previous layer的大小为28*28*192

a.weights.size() = 1*1*192*64+3*3*192*128+5*5*192*32=387072

a.feature map.size() = 28*28*64+28*28*128+28*28*32+28*28*192=28*28*416

b.weights.size() = 1*1*192*64+(1*1*192*96+3*3*96*128)+(1*1*192*16+5*5*16*32)+1*1*192*32=163328

b.feature map.size() = 28*28*64+28*28*128+28*28*32+28*28*32=28*28*256

在参数和特征图上都相应减少了

猜你喜欢

转载自blog.csdn.net/yysstrp/article/details/80060581
今日推荐