五、卷积神经网络CNN4(1*1卷积作用)

1x1卷积作用

1×1 的卷积大概有两个方面的作用:
        1. 实现跨通道的交互和信息整合。
        2. 进行卷积核通道数的降维和升维。

下面详细解释一下:
1. 1×1 的卷积层(可能)引起人们的重视是在 NIN 的结构中,论文中的想法是利用 MLP 代替传统的线性卷积核,从而提高网络的表达能力。文中同时利用了跨通道 pooling的角度解释,认为文中提出的 MLP 其实等价于在传统卷积核后面接 cccp 层,从而实现多个feature map 的线性组合,实现跨通道的信息整合。而 cccp 层是等价于 1×1 卷积的,因此细看NIN 的 caffe 实现,就是在每个传统卷积层后面接了两个 cccp 层(其实就是接了两个 1×1 的卷积层)。
2. 进行降维和升维引起人们重视的(可能)是在 GoogLeNet 里。对于每一个 Inception 模块(如下图),原始模块是左图,右图中是加入了 1×1 卷积进行降维的。虽然左图的卷积核都比较小,但是当输入和输出的通道数很大时,乘起来也会使得卷积核参数变的很大,而右图加入 1×1 卷积后可以降低输入的通道数,卷积核参数、运算复杂度也就跟着降下来了。以GoogLeNet 的 3a 模块为例,输入的 feature map 是 28×28×192,3a 模块中 1×1 卷积通道为 64,3×3 卷 积 通 道 为 128,5×5 卷 积 通 道 为 32 , 如 果 是 左 图 结 构 , 那 么 卷 积 核 参 数 为1×1×192×64+3×3×192×128+5×5×192×32,而右图对 3×3 和 5×5 卷积层前分别加入了通道数为
96 和 16 的 1×1 卷积层,这样卷积核参数就变成了 1×1×192×64+(1×1×192×96+3×3×96×128)
+(1×1×192×16+5×5×16×32),参数大约减少到原来的三分之一。同时在并行 pooling 层后面加入 1×1 卷积层后也可以降低输出的 feature map 数量,左图 pooling 后 feature map 是不变的,再加卷积层得到的 feature map,会使输出的 feature map 扩大到 416,如果每个模块都这样,网络的输出会越来越大。而右图在pooling后面加了通道为32的1×1卷积,使得输出的feature map数降到了 256。GoogLeNet 利用 1×1 的卷积降维后,得到了更为紧凑的网络结构,虽然总共有22 层,但是参数数量却只是 8 层的 AlexNet 的十二分之一(当然也有很大一部分原因是去掉了全连接层)。

MSRA 的 ResNet 同样也利用了 1×1 卷积,并且是在 3×3 卷积层的前后都使用了,不仅进行了降维,还进行了升维,使得卷积层的输入和输出的通道数都减小,参数数量进一步减少,如下图的结构。(不然真不敢想象 152 层的网络要怎么跑起来 TAT)

卷积核一定越大越好?

AlexNet 中用到了一些非常大的卷积核,比如 11×11、5×5 卷积核,之前人们的观念是,卷积核越大,receptive field(感受野)越大,看到的图片信息越多,因此获得的特征越好。虽说如此,但是大的卷积核会导致计算量的暴增,不利于模型深度的增加,计算性能也会降低。于是在 VGG(最早使用)、Inception 网络中,利用 2 个 3×3 卷积核的组合比 1 个 5×5 卷积核的效果更佳,同时参数量(3×3×2+1 VS 5×5×1+1)被降低,因此后来 3×3 卷积核被广泛应用在各种模型中。
多个小的卷积核叠加使用要远比一个大的卷积核单独使用效果要好的多,在连通性不变的情况下,大大降低了参数个数和计算复杂度。当然,卷积核也不是越小越好,对于特别稀疏的数据比如下图所示,当使用比较小的卷积核的时候可能无法表示其特征,如果采用较大的卷积核则会导致复杂度极大的增加。总而言之,我们应该选择多个相对小的卷积核来进行卷积。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

满满myno

非常感谢对我创作的支持,爱你呦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值