卷积结构的类型及各自适用场景(结合Pytorch代码讲解)

不想看文字的可移步b站视频,浙大罗浩博士的网课,强力推荐

正常卷积
在这里插入图片描述
Pytorch中卷积的API的常用参数:

  1. in_channels:Ci,输入通道数,即输入层的feature map的个数
  2. out_channels:Co,输出通道数,即输出层feature map的个数
    对feature map概念不清晰的可参考这篇博客,或观看吴恩达深度学习网课
  3. kernel_size:K,卷积核(也称滤波器)大小,如果只有一个值表明卷积核为方形,两个不同的值则为矩形
  4. stride:步长,即每卷积一次之后卷积核移动多少步
  5. padding:输入层边界补0的个数
  6. bias:偏置,即wx+b中的b,一般设置为ture,即需要偏置
  7. groups:分组卷积的组数,默认为1表示不分组
  8. dilation:空洞卷积的参数(下面会讲解)

W,H,padding,K,stride与Ho,Wo的关系:
Ho=(H+2 * padding+1-K) / stride
Wo=(W+2 * padding+1-K) / stride

Pointwise Convolution 1 * 1卷积
在这里插入图片描述
特点:
1)kernel_size为1
2)参数量小,共Ci * Co+bias个参数 相当于特征的一个线性加权,上图右侧每根线代表一个权重,共Ci * Co条线
3) 由于窗口大小为1*1,所以无法得到空间信息
用途:一般用于降维,压缩存储量;或者和下面要介绍的特殊卷积联合使用

分组卷积
在这里插入图片描述
图中对应的groups=2
优点:参数量少了一半
缺点:通道之间的信息没有完全打通,两组特征图相互独立

Channel-wise/Depthwise Convolution
在这里插入图片描述
可视为组数为Ci的分组卷积
参数进一步减少,但通道之间的信息完全没有打通,因此通常接一个Pointwise Convolution 即1 * 1卷积,进行通道上的全连接从而打通通道信息

空洞卷积(Dilated Convolution)
在这里插入图片描述
在3*3的卷积核中加一些空洞(如图b,dilation=2,表示水平或竖直方向上每两个格子有一个参数,空洞处一般为0)空洞卷积的参数量没有增加,但是感受域扩大,通常在分割任务中使用

转置卷积/反卷积(Dilated Convolution)
在这里插入图片描述
out_padding :是否在输出部分补0
一般用于上采样,进一步了解可参考一文搞懂反卷积,转置卷积

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值