ResNet 论文中的一个关于 1x1 conv 的细节

早上拓哥考了我几个问题,记录一下:

: 立峰, 说一下 1x1 卷积层的作用。

: 我第一次碰见1x1 卷积层是在深层 resnet中的 bottle-neck 结构(见下图)。 对神经网络,我们假设 deep is better, 但是网络深度增加参数量爆炸,这种瓶颈设计在大幅增加网络深度时节省了参数。所以 1x1 卷积层的主要作用就是: 进行 feature map 的维度调整 。bottle-neck主要是利用 1x1 卷积层降低网络参数量,而1x1卷积层 更常见的用途是: 对不同层的 feature map 进行 skip connection时往往会遭遇 channel 数不匹配的情况,所以会经常用到 1x1 conv layer 进行 channle 维度的调整。

此图来源:戳这里

ResNet 论文中的一个关于 1x1 conv 的细节_第1张图片

后面我们引申出一个问题: 为什么 VGGResNet 浅很多,两者的参数量却相当?
讨论结果: 两个原因,一是因为 ResNet省略了全连接层,,二是因为 ResNet采用了 bottle-neck 结构。

:对不同层的 feature map 进行 skip connection时也会碰到 spatial size 不匹配的情况,1x1 卷积层可以解决这个问题吗?

: 理论上是可以的(stride >1 即可 ),但是我没见过。

: 不不不, ResNet 中就有。

(拓哥给我看了一下pytorchResNet 的源码)

: 我擦, 还真是,我以前咋没在论文中看到呢?(应该是忘了)

拓:论文中有提到过,你看:

ResNet 论文中的一个关于 1x1 conv 的细节_第2张图片

: 啊,看来我思维定势了。这是一个收获,谢谢。


作 者: 月牙眼的楼下小黑
联 系: zhanglf_tmac (Wechat)
声 明: 欢迎转载本文中的图片或文字,请说明出处


你可能感兴趣的:(ResNet 论文中的一个关于 1x1 conv 的细节)