揭秘Inception网络核心:“1×1卷积”的作用

目录

1  维度降低(Dimension Reduction)

1.1  概念解释:

1.2  例子分析(重要!):

2  减少参数(Parameter Reduction)

2.1  概念解释:

2.2  例子分析:

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

3.1  概念解释:

3.2  例子分析:

4  激活函数引入的非线性

4.1  概念解释:

4.2  例子分析:

5  应用示例:Inception网络中的1*1卷积

5.1  降低计算成本

例子分析:

5.2  辅助特征整合

例子分析:


1  维度降低(Dimension Reduction)

1.1  概念解释:

这里的维度降低是指通过 1*1 卷积减少特征图的通道数。在深度学习中,特征图的通道数代表了特征的空间维度,减少通道数可以降低特征表示的复杂性。

1.2  例子分析(重要!):

假设有一个特征图的大小为 14×14×256(即高度 14,宽度 14,通道数 256)(把特征图想象为一个立体的结构,通道数也可以理解为特征图的厚度)。如果我们应用 64 个 1*1 卷积核,每个卷积核一次只在一个位置( 1*1 的区域)上操作,得到卷积核与对应区域256个值的乘积的和,然后再移动位置,最终在该卷积核的作用下生成了 14×14×1 的一个特征图,64个卷积核将256个通道的信息整合成 64 个通道。经过 1*1 卷积后,特征图的尺寸变为 14×14×64。

2  减少参数(Parameter Reduction)

2.1  概念解释:

参数减少是通过减少特征图的通道数减少后续卷积层的参数数量。参数数量与卷积核的尺寸、输入通道数和输出通道数有关。

2.2  例子分析:

如果我们想在上述 14×14×256 的特征图上应用3*3卷积,并且希望输出 64 个通道的特征图,那么没有 1*1 卷积的情况下,我们需要 3×3×256×64=138,240 个参数。但如果先通过 1*1 卷积将通道数减少到64,那么所需的参数数量将减少到 3×3×64×64=12,288,显著减少了参数数量。

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

3.1  概念解释:

跨通道的交互和信息整合是指 1*1 卷积可以在不同通道之间进行计算,使得每个输出通道可以综合来自所有输入通道的信息。

3.2  例子分析:

在 14×14×256 的特征图中,假设每个通道代表不同的特征(例如,边缘、纹理、颜色等)。应用64个1*1卷积核,每个卷积核可以看作是一个小型网络,它将 256 个通道的信息通过加权求和的方式整合成一个新的特征表示,每个输出通道 o_{i}都是所有输入通道 i_{1},i_{2}\cdot \cdot \cdot i_{256} 的加权和,即 o_{i}=w_{1}\cdot i_{1}+w_{2}\cdot i_{2}+\displaystyle \cdot \cdot \cdot +w_{256}\cdot i_{256}

4  激活函数引入的非线性

4.1  概念解释:

非线性是指通过激活函数(如ReLU)引入的非线性变换,这增加了网络的表示能力,使得网络能够学习更复杂的函数。

4.2  例子分析:

在 1*1 卷积之后,假设我们得到了一个新的特征图 14×14×64。我们可以对这个特征图应用ReLU激活函数,即对于特征图中的每个元素 x ,如果 x > 0 ,则保持不变,否则置为 0。这样,特征图中的负值被置为 0,增加了特征的非线性,有助于网络捕捉更复杂的模式

此处不懂的可以参考我的另外一篇博客:

******为什么通常要在1*1卷积之后引入ReLU等激活函数,而不是在其他的地方引入?******

5  应用示例:Inception网络中的1*1卷积

在 Inception 模块中,1*1 卷积的作用如下:

5.1  降低计算成本

在 Inception 模块中,1*1 卷积通过减少特征图的通道数来降低后续卷积层的计算成本

例子分析:

在 Inception 模块中,假设输入特征图的尺寸为 28 × 28 × 192 。如果我们直接对它应用3*3卷积,计算量会非常大。但如果我们先应用 32 个 1*1 卷积核,将特征图的尺寸减少到 28 × 28 × 32 ,然后再应用3*3卷积,计算量就会大大减少。

5.2  辅助特征整合

在 Inception 模块中,1*1 卷积的作用是进行辅助特征整合。它通过减少特征图的通道数,帮助网络在不同的特征提取路径(如 1*1 卷积、3*3 卷积、5*5 卷积以及池化操作)之间实现有效的信息融合。这种整合确保了不同路径的特征可以在相同的维度上进行合并,从而提高了网络处理复杂特征的能力。

例子分析:

考虑 Inception 模块中的一个场景,该模块包含四个并行处理的路径:

  1. 1*1 卷积路径 :直接对输入特征图应用 64 个 1*1 卷积核,输出 64 个通道的特征图。

  2. 3*3 卷积路径 :在应用 3*3 卷积之前,先通过 1*1 卷积减少通道数。例如,如果输入特征图有256个通道,首先通过 64 个 1*1 卷积核减少到 64 个通道,然后再应用 64 个 3*3 卷积核。

  3. 5*5 卷积路径 :同样,在应用 5*5 卷积之前,先通过 1*1 卷积减少通道数。假设输入特征图也是256个通道,首先通过 16 个 1*1 卷积核减少到 16 个通道,然后再应用 16 个 5*5 卷积核。

  4. 池化路径:输入特征图经过一个 2*2 的最大池化操作后,通常也会通过1*1卷积来调整通道数,使其与其他路径通道数进行匹配,方便后续的特征融合。例如,通过32个 1*1 卷积核,输出 32 个通道的特征图。

通过在每个路径的输入上应用 1*1 卷积,我们确保了所有路径的输出具有相同的通道数(在这个例子中是64+64+16+32=176 个通道)。这样,这些特征图就可以在通道维度上进行拼接,形成一个尺寸为 H × W × 176 的特征图,其中 H 和 W 分别是特征图的高度和宽度。这个拼接后的特征图随后将作为下一层的输入,使得网络能够综合来自不同尺寸和类型的特征信息。

******

(有些同学可能会有这样的疑问,不同路径用不同大小的卷积核进行运算,他的输出特征图的H、W应该也不同,就算通道数通过1*1卷积运算做到了相互匹配,那特征图的H、W是如何匹配的呢?请阅读我的下一篇博客,点击下方链接)

******不同的路径输出的特征图H、W尺寸是如何匹配的?******

******

文章创作不易,各位看官老爷,如果觉得文章对你有帮助,能我打赏一点消费吗 ₍˄·͈༝·͈˄*₎◞ ̑̑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值