【卷积】在通道数不变的情况下,1x1卷积与3x3卷积有什么区别???

@[toc]在通道数不变的情况下,1x1卷积与3x3卷积有什么区别???

在通道数不变的情况下,1x1卷积与3x3卷积有什么区别???

在深度学习中,1x1卷积和3x3卷积是两种常用的卷积操作,尽管它们的卷积核大小不同,但在通道数不变的情况下,它们的作用和效果有显著的区别。

1. 感受野(Receptive Field)

1x1卷积:

感受野为 1x1,即每个输出像素仅依赖于输入特征图的单个像素

无法捕捉局部空间信息(如边缘、纹理等)。

3x3卷积:

感受野为 3x3,即每个输出像素依赖于输入特征图的 3x3 局部区域

能够捕捉局部空间信息,适合提取局部特征

参数量和计算量

1x1卷积:

参数量:
Cin×Cout×1×1 其中C in是输入通道数,Cout是输出通道数。
计算量较低,因为卷积核大小为 1x1。
3x3卷积:
CinxCoutx3x3
计算量较高,因为卷积核大小为 3x3

3. 功能和作用

(1)1x1卷积

通道混合(Channel Mixing)

1x1卷积的主要作用对输入特征图的通道进行线性组合(加权求和),而不改变空间维度。

可以用于升维(增加通道数)或降维(减少通道数)。

非线性增强

在 1x1卷积后通常会接一个非线性激活函数(如 ReLU),从而引入非线性。

降低计算量

在深度可分离卷积(Depthwise Separable Convolution)中,1x1卷积用于将深度卷积的输出通道混合,从而减少计算量。

(2)3x3卷积

空间特征提取

3x3卷积能够捕捉局部空间信息(如边缘、角点、纹理等),适合提取图像的局部特征。

特征融合

通过堆叠多个 3x3卷积,可以逐步扩大感受野,从而捕捉更大范围的上下文信息。

常用性

3x3卷积是卷积神经网络(CNN)中最常用的卷积核大小,因为它在感受野和计算量之间取得了良好的平衡。

4. 输出特征图大小

在步幅(Stride)为 1 且填充(Padding)为 1 的情况下:

1x1卷积:输出特征图的空间大小与输入相同。

3x3卷积:输出特征图的空间大小也与输入相同(假设填充为 1)。

如果步幅或填充不同,输出特征图的大小可能会发生变化。

5. 应用场景

(1)1x1卷积的应用
通道降维

在 ResNet 和 Inception 网络中,1x1卷积用于减少通道数,从而降低计算量。

通道升维

在深度可分离卷积中,1x1卷积用于将深度卷积的输出通道扩展到目标维度。

非线性增强

在卷积层之间插入 1x1卷积,可以增加网络的非线性表达能力。

(2)3x3卷积的应用
特征提取

在大多数 CNN 中,3x3卷积是主要的特征提取工具。

感受野扩展

通过堆叠多个 3x3卷积,可以逐步扩大感受野,从而捕捉更大范围的上下文信息。

6. 代码示例

1x1卷积

import torch
import torch.nn as nn

# 输入特征图:batch_size=1, channels=64, height=32, width=32
input = torch.randn(1, 64, 32, 32)

# 1x1卷积:输入通道=64,输出通道=128
conv1x1 = nn.Conv2d(64, 128, kernel_size=1, stride=1, padding=0)
output = conv1x1(input)

print(output.shape)  # 输出: torch.Size([1, 128, 32, 32])

3x3卷积

import torch
import torch.nn as nn

# 输入特征图:batch_size=1, channels=64, height=32, width=32
input = torch.randn(1, 64, 32, 32)

# 3x3卷积:输入通道=64,输出通道=128
conv3x3 = nn.Conv2d(64, 128, kernel_size=3, stride=1, padding=1)
output = conv3x3(input)

print(output.shape)  # 输出: torch.Size([1, 128, 32, 32])

7. 总结

特性 :    1x1卷积               3x3卷积 
感受野 : 1x1(无空间信息)       3x3(捕捉局部空间信息)
参数量:    较少              较多 
计算量:     较低              较高
功能:   通道混合、非线性增强    空间特征提取、感受野扩展
应用场景  通道降维、升维、非线性增强  特征提取、上下文信息捕捉
在实际应用中,1x1卷积和3x3卷积通常结合使用,以充分发挥它们各自的优势。例如,在 Inception 模块中,1x1卷积用于降维和升维,而3x3卷积用于提取局部特征。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shanks66

你的鼓励是我创作的最大动力!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值