• 【深度学习】CNN 中 1x1 卷积核的作用


    【深度学习】CNN 中 1x1 卷积核的作用

    最近研究 GoogLeNet 和 VGG 神经网络结构的时候,都看见了它们在某些层有采取 1x1 作为卷积核,起初的时候,对这个做法很是迷惑,这是因为之前接触过的教材的例子中最小的卷积核是 3x3 ,那么,1x1 的卷积核有什么意义呢?

    最初应用 1x1 卷积核的神经网络是 Network In Network,然后 GoogLeNet 和 VGG 也不约而同的更正了。

    他们在论文中解释,大概有下面 2 个意义。

    1、增加网络的深度

    这个就比较好理解了,1x1 的卷积核虽小,但也是卷积核,加 1 层卷积,网络深度自然会增加。

    其实问题往下挖掘,应该是增加网络深度有什么好处?为什么非要用 1x1 来增加深度呢?其它的不可以吗?

    其实,这涉及到感受野的问题,我们知道卷积核越大,它生成的 featuremap 上单个节点的感受野就越大,随着网络深度的增加,越靠后的 featuremap 上的节点感受野也越大。因此特征也越来越抽象。

    但有的时候,我们想在不增加感受野的情况下,让网络加深,为的就是引入更多的非线性。

    而 1x1 卷积核,恰巧可以办到。

    我们知道,卷积后生成图片的尺寸受卷积核的大小和跨度影响,但如果卷积核是 1x1 ,跨度也是 1,那么生成后的图像大小就并没有变化。

    但通常一个卷积过程包括一个激活函数,比如 Sigmoid 和 Relu。

    所以,在输入不发生尺寸的变化下,却引入了更多的非线性,这将增强神经网络的表达能力。

    2、升维或者是降维

    大家可以看下面这张图:
    在这里插入图片描述

    我们可以直观地感受到卷积过程中:卷积后的的 featuremap 通道数是与卷积核的个数相同的

    所以,如果输入图片通道是 3,卷积核的数量是 6 ,那么生成的 feature map 通道就是 6,这就是升维,如果卷积核的数量是 1,那么生成的 feature map 只有 1 个通道,这就是降维度。

    值得注意的是,所有尺寸的卷积核都可以达到这样的目的。

    那为什么要用 1x1 呢

    原因就是数据量的大小,我们知道在训练的时候,卷积核里面的值就是要训练的权重,3x3 的尺寸是 1x1 所需要内存的 9 倍,其它的类似。所以,有时根据实际情况只想单纯的去提升或者降低 feature map 的通道,1x1 无疑是一个值得考虑的选项。

  • 相关阅读:
    基因组注释
    GapCloser
    Endnote参考文献格式修改
    多行变单行
    AD的基因组【转载】
    ROC曲线
    自我觉察-4:觉察“不浪费食物”和“胃过饱食”的信念
    自我觉察6-我的价值感?
    表观遗传、开放染色质测序、ATAC-seq、ChIP-seq简介
    ADNI(Alzheimer`s disease neuroimaging initiative)介绍
  • 原文地址:https://www.cnblogs.com/xiaoboge/p/10492475.html
Copyright © 2020-2023  润新知