• 1x1卷积的作用


    1. 压缩通道
      例子:
      对于下面这种32通道的数据,如果用1个1x1x32的卷积核与其做卷积运算,得到的就是1个6x6的矩阵
      在这里插入图片描述
      同理,如果用N个1x1x32的卷积核与其做卷积运算,得到的就是N个6x6的矩阵。

    也就是说我们可以通过改变1x1卷积核的个数来改变最后输出的通道数

    1. 控制特征图的深度
      1x1的卷积核由于大小只有1x1,所以并不需要考虑像素跟周边像素的关系,它主要用于调节通道数,对不同的通道上的像素点进行线性组合,然后进行非线性化操作,可以完成升维和降维的功能,如下图所示,选择2个1x1大小的卷积核,那么特征图的深度将会从3变成2,如果使用4个1x1的卷积核,特征图的深度将会由3变成4,
      在这里插入图片描述
    2. 减少参数
      前面所说的降维,其实也是减少了参数,因为特征图少了,参数也自然跟着就减少,相当于在特征图的通道数上进行卷积,压缩特征图,二次提取特征,使得新特征图的特征表达更佳。接着再通过两个例子来看看它是如何减少参数的。
      在GoogleNet的3a模块中,假设输入特征图的大小是2828192,1x1卷积通道为64,3x3卷积通道为128,5x5卷积通道为32:
      在这里插入图片描述

    在这里插入图片描述

    上面的卷积核参数计算如下:
    192 × (1×1×64) +192 × (3×3×128) + 192 × (5×5×32) = 387072
    而下面的3x3卷积层前加入通道数为96的1x1的卷积,5x5的特征图后面加入通道数为16的1x1的卷积,参数的计算如下:
    192 × (1×1×64) +(192×1×1×96+ 96 × 3×3×128)+(192×1×1×16+16×5×5×32)= 157184

    1. 实现了跨通道的信息组合,并增加了非线性特征
      使用11卷积核,实现降维和升维的操作其实就是channel间信息的线性组合变化,33,64channels的卷积核前面添加一个11,28channels的卷积核,就变成了33,28channels的卷积核,原来的64个channels就可以理解为跨通道线性组合变成了28channels,这就是通道间的信息交互。因为1*1卷积核,可以在保持feature map尺度不变的(即不损失分辨率)的前提下大幅增加非线性特性(利用后接的非线性激活函数),把网络做的很deep,增加非线性特性。
  • 相关阅读:
    [1153]mysql中between的边界范围
    为OneFlow添加新的前端语言
    linux 环境下安装docker 以及docker-compose
    图文带你彻底弄懂MySQL事务原子性之UndoLog
    Java项目:在线健身房管理系统(java+SpringBoot+JSP+HTML+maven+mysql)
    Cadence 设计快速入门
    UNIAPP利用canvas绘制图片和文字,并跟随鼠标移动
    25 avl树
    【数据结构】树和二叉树以及经典例题
    基于SpringBoot的企业客户管理系统的设计与实现【附PPT|万字文档(LW)和搭建文档】
  • 原文地址:https://blog.csdn.net/weixin_49148527/article/details/127697181