Striving for Simplicity: The All Convolutional Net
contribution
stride convoulution
替代pooling
,实现没有pooling
的 networkguided backpropagation
,可视化的新方法,可以在没有
有2种方法去掉
pooling
,并且不影响网络的性能:增大它前面一层的
convolution
层的stride,目的是起到类似pooling
的降维作用。- 这种做法有问题:虽然起到了降维的作用,但是相对于
pooling
,相当于只考虑了top-left的features,实验结果证实效果确实不好。
- 这种做法有问题:虽然起到了降维的作用,但是相对于
把这一层的
pooling
换成简单的convolution
,但要保证:(1)相同大小的 filter size 和 stride;(2)和pooling
相同大小的输出。这种没有前一种的问题,但是增加了 parameters 的数量。
作者说这可以看成是主动的学习
pooling
,而不是固定的采用max/avg
等方式。
网络结构改变的地方:
去掉
pooling
使用
3x3
的卷积核
网络的最后都会采用一个
1X1
的卷积,目的是产生 num_class 个 feature map,从而进行GAP
操作(也就是去掉了FC
)。但是效果变差了?3.2.2 CIFAR-100
- 使用
3x3
的 filter,相对于大的,
- 使用
普通的 backpropagation 与
Deconvolution
的不同主要在处理非线性变换的时候,比如ReLU
。backpropagation
是根据上面传下来的gradient
进行计算,而deconv
只是对之前存储下来的当前层的feature map
进行ReLU
操作。使用
deconv
的方法进行可视化,发现在没有pooling
的时候,效果并不是总是好的,所以提出了guided backpropagation
的方法(就是结合backpropagation
和deconv
)进行可视化。- 如何结合?
guided backpropagation:
guided backpropagation works remarkably well without switches
可视化效果更好。
to be continued……