问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

跟李沐学AI:转置卷积

创作时间:
作者:
@小白创作中心

跟李沐学AI:转置卷积

引用
CSDN
1.
https://m.blog.csdn.net/Landy_Jay/article/details/141439910

定义

卷积操作通常不会增加输入的高宽尺寸,反而常常会导致尺寸减半。而转置卷积(也称为反卷积或分数步幅卷积)则可以用来增大输入的宽高尺寸。

转置卷积是一种特殊的卷积操作,它通过重新排列输入和卷积核,实现上采样(upsampling)的效果。具体来说,如果一个卷积操作将输入从某个尺寸转换为另一个尺寸,那么在相同超参数设置下,转置卷积则可以将这个过程逆向,实现尺寸的扩大。

例如,假设一个卷积操作将输入从尺寸A转换为尺寸B:

那么转置卷积则可以将尺寸B转换回尺寸A。在转置卷积中,输入中的每个元素会分别与卷积核中的所有元素相乘,最后将所有中间结果相加得到最终结果。

举个例子

当转置卷积的填充(padding)为0时,可以通过以下步骤将其转换为普通卷积:

  1. 将转置卷积的输入填充k-1(k为kernel_size)
  2. 将转置卷积的核矩阵上下左右翻转
  3. 进行普通卷积操作

这将得到与原始转置卷积相同的结果。

当转置卷积的填充为p时,转换过程如下:

  1. 将转置卷积的输入填充k-p-1
  2. 将转置卷积核上下左右翻转
  3. 进行普通卷积操作

这同样可以得到与原始转置卷积相同的结果。

在正常卷积中,步幅(stride)会使高宽尺寸成倍减少。而在转置卷积中,步幅则会使高宽尺寸成倍增加。具体来说,当填充为p、步幅为s时,可以在行和列之间插入s-1行,然后将输入填充k-p-1,将转置卷积核矩阵上下左右翻转,最后进行普通卷积操作,得到的结果与转置卷积相同。

形状换算

对于输入高宽为n、核大小为k、填充p、步幅s的情况,转置卷积和普通卷积的输出尺寸计算公式如下:

转置卷积:

卷积:

如果转置卷积想让高宽成倍增加,可以设置:

同理,如果卷积想让高宽成倍减少,可以设置:

总结

转置卷积神经网络本质上也是一个卷积神经网络,只不过通过对输入和卷积核进行特殊变换,实现了上采样的目的。这一技术在图像生成、超分辨率重建等领域有着广泛的应用。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号