Striving for Simplicity: The All Convolutional Net

  • contribution

    • stride convoulution替代pooling,实现没有pooling的 network

    • guided 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的不同主要在处理非线性变换的时候,比如ReLUbackpropagation是根据上面传下来的gradient进行计算,而deconv只是对之前存储下来的当前层的feature map进行ReLU操作。

  • 使用deconv的方法进行可视化,发现在没有pooling的时候,效果并不是总是好的,所以提出了guided backpropagation的方法(就是结合backpropagationdeconv)进行可视化。

    • 如何结合?
  • guided backpropagation:

    • guided backpropagation works remarkably well without switches

    • 可视化效果更好。

to be continued……