Kernel 1x1 卷积

Posted Arrow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kernel 1x1 卷积相关的知识,希望对你有一定的参考价值。

Kernel 1x1 卷积

1. 1x1卷积与3x3卷积的直观对比

  • 使用Kernel大小为3x3的卷积
  • 使用Kernel大小为1x1的卷积

2. 1x1卷积的功能

  • 1×1卷积核本质:就是多个feature map对应像素的线性组合,可以实现feature map在通道个数上的变化。所以进一步可以起到降维(或者升维)的作用,起到减少参数的目的。
    • 比如当前特征图为 w × h × m w \\times h \\times m w×h×m即图像大小为 w × h w \\times h w×h,特征层数为 m m m,然后对其进行 1 × 1 1 \\times 1 1×1的卷积运算,特征层数为 n n n,那么只要 n < m n<m n<m这样就能起到降维的目的,减少之后步骤的运算量。
  • 可以控制特征层的数量:从而实现升维或降维
  • 加入非线性:卷积层之后经过激励层,1*1的卷积在前一层的学习表示上添加了非线性激励( non-linear activation ),提升网络的表达能力
  • 减少计算量:实例说明如下:
    • 假如输入大小为28 x 28 x 192,输出大小为28 x 28 x 32

    • 上图的计算量为:28 x 28 x 192 x 5 x 5 x 32 = 120,422,400次

    • 上图的计算量为:28 x 28 x 192 x 1 x 1 x 16 + 28 x 28 x 16 x 5 x 5 x 32 = 12,443,648次
      -由此可见,实现相同的目标,引入1x1 卷积的计算量是不引入的1/10.

3. 1x1卷积与全连接的比较

  • 是否改变图像空间结构
    • 全连接层会破坏图像的空间结构,而1*1卷积层不会破坏图像的空间结构,全连通就相当于每个像素点都一样对待,但是卷积是将一个区域单独对待,所以会保留图像局部特征
  • 输入尺寸是否可以任意
    • 全连接层的输入尺寸是固定的,因为全连接层的参数个数取决于图像大小。而卷积层的输入尺寸是任意的,因为卷积核的参数个数与图像大小无关

以上是关于Kernel 1x1 卷积的主要内容,如果未能解决你的问题,请参考以下文章

1*1卷积核的作用

1x1卷积

CNN基础为什么要用较小的卷积核

PyTorch实现SqueezeNet的Fire模块

PyTorch实现SqueezeNet的Fire模块

CNN基础为什么要用较小的卷积核