定义
卷积不会增大输入的高宽,通常卷积层后高宽不变或减半。转置卷积则可以用来增大输入的宽高。
转置卷积是一种卷积,它将输入和核进行了重新排列,通常用作上采用。
如果卷积将输入从变为,同样超参数的情况下,转置卷积将变为
input中的每个元素分别乘以卷积核中的所有元素,最后所有中间结果相加以获得最终结果。
举个例子
当转置卷积的填充为0时,将转置卷积的输入填充k-1(k为kernel_size),将转置卷积的核矩阵上下左右翻转,然后做正常卷积可以得到和填充翻转前的转置卷积的相同结果。
当转置卷积的填充为p时, 将转置卷积的输入填充k-p-1,将转置卷积核上下、左右翻转然后做正常卷积,得到相同结果。
正常卷积中,步幅使高宽成倍减少。转置卷积中,步幅使高宽成倍增加。
当填充为p步幅为s时,在行和列之间插入s-1行,然后将输入填充k-p-1,将转置卷积核矩阵上下左右翻转然后做正常卷积,得到转置卷积相同结果。
形状换算
输入高宽为n,核大小为k,填充p,步幅s。
转置卷积:。卷积:
如果转置卷积想让高宽成倍增加,,同理,卷积想让高宽成倍减少,
总结
转置卷积神经网络也是一个卷积神经网络,只是对输入和核做了特殊变换,实现上采样目的。