1x1卷积(Conv 1*1)的作用

一文读懂卷积神经网络中的1x1卷积核
1x1卷积(Conv 1*1)的作用

Conv 1×1 一般只改变输出通道数,而不改变输出的宽度和高度;
而Pooling 操作一般只改变输出的宽和高,而不改变通道数。

一、来源

Conv 1 × 1 是 Network in Network 的简称。

对于单通道图像,其作用仅是进行线性运算;
在这里插入图片描述
对于多通道图像,Conv 1×1 会遍历图像的所有位置,将每个位置处所有通道的值作为其输入,与1×1 卷积核中对应通道的值进行线性运算。本质上可以视为一个全连接神经网络。
输出通道数为卷积核的个数。
如下图,2232与2个1132卷积,得到222
在这里插入图片描述

二、作用

1. 添加非线性特性

即保持特征图尺寸不发生变化且维持上一层的通道数,在增加网络的深度的同时令网络能够学习更为复杂的函数(特征信息)。
在这里插入图片描述
filters是滤波器(卷积核)的个数

2. 对通道数实现升维/降维

设卷积核大小为 5 × 5 × 192 ,以 降维减少计算量 为例。

未使用 Conv 1×1 的情况下,
在这里插入图片描述
输出大小为 28 × 28 × 32 ,其中每个值均需要经过 5 × 5 × 192 次乘法,忽略加法的情况下,该层计算量为:
28 × 28 × 32 × 5 × 5 × 192 ≈ 120 m

使用 Conv 1×1 构建瓶颈层(bottleneck)的情况下,

在这里插入图片描述
Conv 1×1 层:28 × 28 × 16 × 192 ≈ 2.4 m ;
Conv 1×1 层:28 × 28 × 32 × 5 × 5 × 16 ≈ 10.0 m 。

总参数量为 12.4 m。与上一种方式相比,在保证输入和输出的维度相同的情况下,参数量大幅减少。

这就是Conv 1×1 的降维作用。

Conv 1×1 一般只改变输出通道数,而不改变输出的宽度和高度;
而Pooling 操作一般只改变输出的宽和高,而不改变通道数。

3. 实现跨通道的信息交互与整合

Conv 1×1 所实现的通道数增加/减少,本质上其实是通道之间信息的线性组合,这些组合能够使得网络提取更加丰富的高级特征,如上一部分中 28×28×192 的输入经过1×1×192×16 的卷积操作后输出为28×28×16,即该层输入中的原192 个特征经过 跨通道线性组合 变成了输出中的 16 个特征。这就是通道间的信息交互。

一文读懂卷积神经网络中的1x1卷积核

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值