CNN中1*1卷积核与Pytorch实现

1x1卷积在深度学习中主要用于信道压缩和特征融合。它能减少模型参数,通过控制卷积核通道数实现降维或升维,并对不同特征进行尺寸归一化。1x1卷积可以看作全连接层,作用于所有通道上,促进通道间信息交互。在实际应用中,结合传统降维方法如PCA,可以有效保持模型效果。
摘要由CSDN通过智能技术生成

CNN中1*1卷积核的意义


信道压缩

  • 一个32* 6* 6的图片,32通道,6维矩阵图片
  • 当用32* 1* 1的的卷积核提取特征时,得到的是一个6*6的图片
  • 卷积运算中输出的通道数与卷积核的数量有关,但是计算过程中,图片的通道数要和卷积核的通道数相同

此时,通过1维卷积核将原来图片在通道维度上进行压缩,即将通道信息进行融合

1* 1也可以理解为一个全连接网络,分别作用所有通道上面

总结:

总结一下,1x1的卷积核可以进行降维或者升维,也就是通过控制卷积核(通道数)实现,这个可以帮助减少模型参数,也可以对不同特征进行尺寸的归一化;同时也可以用于不同channel上特征的融合。一个trick就是在降维的时候考虑结合传统的降维方式,如PCA的特征向量实现,这样效果也可以得到保证。

import torch

a = torch.randn(1, 2, 32, 32)  
conv3x1 = torch.nn.Conv2d(2, 2, (3, 1), padding=(1, 0))  # 3x1卷积
conv1x3 = torch.nn.Conv2d(2, 2, (1, 3), padding=(0, 1))  # 1x3卷积

out = conv3x1(a)
print(out.shape)  
out = conv1x3(out)
print(out.shape)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

VioletEvergarden丶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值