卷积操作原来分3种

一开始学习卷积的,书上文章都是空间维度的解说。比如10*10的图片,然后卷积核 3*3,步长1,不填充。

那么卷一遍,就是8*8的图片了。现在发现,怎么还有通道维度的。

卷积的三个核心维度

空间维度(高X宽):作用时提取局部空间特征;

通道维度(深度):融合不同通道的信息,卷积核的数量决定输出通道数。

批次维度:一次处理多个样本,由batch size决定。

所以卷积不仅仅时滑动窗口!

在深度学习中,卷积核其实时一个三维结构:

对于输入张量 H x W x C_in:

  • 卷积核大小是K x K x C_in
  • 每个卷积核会跨所有输入通道做加权求和,输出一个通道
  • 用N个这样的卷积核,得到C_out=N个输出通道

举例:

假设输入的是 24*24*256,你用:

  • 卷积核大小:3*3
  • 输入通道数:256
  • 输出通道数:128(用了128个卷积核)

那么每个卷积核是3*3*256,输出是24*24*128

PyTorch中卷积层:nn.Conv2d

nn.Conv2d(in_channels,out_channelds,kernel_size,stride=1,padding=0)

  • in_channels 输入通道,例如RGB图像是3
  • out_channelds 输出通道,例如要生成多少个特征图
  • kernel_size 卷积核
  • stride 步长
  • padding 填充

如果搞空间尺寸的,用kernel_size,stride,padding

如果搞通道数的,用in_channels,out_channelds

如果搞批次维度,x=torch.randn(32,3,24,24)。//32张RGB图像,pytorch中,输入张量第一位都是batch_size。这样,GPU可以并行处理。

【什么时候用通道维度变化?】

  • 特征的融合核压缩,就是特征太多了,要融合一下,少一点。例如
  • 特征扩展,还能把特征变多
  • 通道对齐,拼接操作,2个张量通道数一致
  • 注意力机制中通道变化,

总结,就是对所有输入通道的加权组合。控制模型的表达能力,计算效率和结构匹配。能够从深度方向上感知信息。

那么我们自己怎么设计多少个卷积核呢,其实我也不知道,但是有现成别人试验过的,例如ResNet-50

【什么时候用空间维度?】

  • 降采样
  • 保持空间尺寸
  • 上采样

总结,控制模型视野和抽象程度。这种其实也是大量试验出来的,用多大卷积核,多少步长。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值