转置卷积 - 一种特殊的卷积操作

  • 卷积不会增大输入的高宽,通常要么不变、要么减半
  • 转置卷积则可以用来增大输入高宽

在这里插入图片描述

为什么称之为“转置”呢?

  • 对于卷积 Y = X ✭ W Y=X✭W Y=XW
    • 可以对 W W W构造一个 V V V,使得卷积等价于矩阵乘法 Y ′ = V X ′ Y'=VX' Y=VX
    • 这里 Y ′ , X ′ Y',X' Y,X Y , X Y,X Y,X对应的向量版本
  • 转置卷积则等价于 Y ′ = V T X ′ Y'=V^TX' Y=VTX
  • 如果卷积将输入从 ( h , w ) (h,w) (h,w)变成了 ( h ′ , w ′ ) (h',w') (h,w)
    • 同样超参数的转置卷积则从 ( h ′ , w ′ ) (h',w') (h,w)变成 ( h , w ) (h,w) (h,w)

转置卷积是一种卷积

  • 它将输入和核进行了重新排列
  • 同卷积一般是做下采用不同,它通常用作上采样
  • 如果卷积将输入从 ( h , w ) (h,w) (h,w)变成了 ( h ′ , w ′ ) (h',w') (h,w),同样超参数下它将 ( h ′ , w ′ ) (h',w') (h,w)变成了 ( h , w ) (h,w) (h,w)

重新排列输入和核

  • 当填充为0,步幅为1时
    • 将输入填充 k − 1 k-1 k1 k k k是核窗口)
    • 将核矩阵上下、左右翻转
    • 然后做正常卷积(填充0,步幅1)

在这里插入图片描述

  • 当填充为 p p p,步幅为1时

    • 将输入填充 k − p − 1 k-p-1 kp1 k k k是核窗口)
    • 将矩阵上下、左右翻转
    • 然后做正常卷积(填充0、步幅1)

在这里插入图片描述

正常卷积,输入加padding,输出结果会变大

转置卷积,输入加padding,输出结果会变小

  • 当填充为 p p p,步幅为 s s s

    • 在行与列之间插入 s − 1 s-1 s1行或列
    • 将输入填充 k − p − 1 k-p-1 kp1 k k k是核窗口)
    • 将核矩阵上下、左右翻转
    • 然后做正常卷积(填充0、步幅1)

在这里插入图片描述

形状换算:

  • 输入高(宽)为 n n n,核为 k k k,填充 p p p,步幅 s s s
  • 转置卷积: n ′ = s n + k − 2 p − s n'=sn+k-2p-s n=sn+k2ps
    • 卷积: n ′ = ⌊ ( n − k − s p + 2 ) / s ⌋ → n ≥ s n ′ + k − 2 p − s n'=\lfloor {(n-k-sp+2)/s}\rfloor\rightarrow n\geq sn'+k-2p-s n=(nksp+2)/snsn+k2ps
  • 如果让高宽成倍增加,那么 k = 2 p + s k=2p+s k=2p+s

同反卷积的关系

  • 数学上的反卷积(deconvolution)是指卷积的逆运算
    • 如果 Y = c o n v ( X , K ) Y=conv(X,K) Y=conv(X,K),那么 X = d e c o n v ( Y , K ) X=deconv(Y,K) X=deconv(Y,K)
  • 反卷积很少用在深度学习中
    • 我们说的反卷积神经网络指用了转置卷积的神经网络

总结:

  • 转置卷积是一种变化了输入和核的卷积,来得到上采样的目的
  • 不等同于数学上的反卷积操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

mango1698

你的鼓励是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值