霹雳吧啦Wz语义分割学习笔记P2

P2.转置卷积Transposed Convolution

1.作用:上采样

转置卷积不是卷积的逆运算

转置卷积也是卷积

2.转置卷积运算步骤

在输入特征图元素间填充s-1行、列0

在输入特征图四周填充k-p-1行、列0

将卷积核参数上下/左右翻转

做正常卷积运算(填充0:不填充,步距1:不同于上面的s,上面的s是转置卷积的s)

GitHub - vdumoulin/conv_arithmetic: A technical report on convolution arithmetic in the context of deep learning

3.实例讲解

输入feature map 2x2

转置卷积 s=1,p=0,k=3

4.torch.nn.ConvTranspose2d参数

 in_channels输入特征层通道

out_channels输出特征层通道

kernel_size卷积核尺寸

stride步长,默认为1

padding填充,默认为0

output_padding不常用,默认为0

groups是否采用了组卷积,默认为1,普通卷积。若采用组卷积,设置为对应的组数即可

bias偏置,默认为True,使用

dilation是否使用膨胀卷积(空洞卷积),默认为1,普通卷积

dilation=1,output_padding=0

5.普通卷积计算

 6.另一种卷积计算方式

将卷积核转化为等效矩阵

等效矩阵:构造与输入feature map同样大小的0矩阵,卷积核每滑动一步就构造一个等效矩阵

将等效矩阵与输入feature map对应位置的数相乘再相加

将输入feature map展平成行向量 

将等效矩阵展平成列向量

将这两个矩阵相乘得到输出特征层展平的结果 

已知C和O,不能得到I,因为C不是方阵,不存在逆矩阵,卷积是不可逆的

但是可以得到与输入矩阵相同大小的矩阵,两边右侧同时乘以C的转置

将P进行reshape处理得到一个4x4的特征层

7.逆向操作

将O还原成2x2的特征层矩阵

C的转置每一列都写成2x2的矩阵

将这两个矩阵对应位置相乘再相加

得到P

将 2x2的矩阵对应位置相乘再相加,得到的每一个结果与绿色卷积核在输出特征层矩阵卷积操作结果相同

 将绿色卷积核和原来的卷积核比较发现,原来的卷积核进行上下左右翻转得到绿色卷积核

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值