一句话定义:转置卷积(Transposed Convolution)是一种带可学习参数的上采样操作,用来把较小的特征图放大成较大的特征图;它常被叫作反卷积(deconvolution),但并不是卷积的数学逆运算。
普通卷积(convolution)用小窗口在图上滑动做加权求和,常把图变小(步长 stride>1)或保持大小。转置卷积反过来想:给输入特征图的每个点配一个可学习的小模板(kernel),按步长“盖”到输出画布上,重叠位置相加。打个比方,每个输入点拿一枚印章,在输出纸上按固定间距盖章,印章图案由训练学习;盖到同一处的墨迹会叠加。步长越大,放大倍数越大;填充(padding)和输出填充(output_padding)决定画布边缘留多少。输出尺寸可按 out=(in−1)×stride−2×padding+kernel+output_padding 估算(具体框架以官方文档为准)。它不恢复原图细节,只学习“如何把每个低维点扩展成一块高维区域”。
和相邻概念的区别:普通卷积主要做特征提取或降采样;双线性插值(bilinear interpolation)和最近邻(nearest-neighbor)上采样是固定规则、无参数;严格的反卷积是数学上求卷积的逆,转置卷积只是形状上“反向”,数值上不保证还原。空洞卷积(dilated convolution)是扩大感受野,不直接放大特征图。
| 操作 | 是否有可学习参数 | 主要作用 | 常见误解 |
|---|---|---|---|
| 普通卷积 | 有 | 提取特征、常降采样 | 不是只能缩小 |
| 转置卷积 | 有 | 可学习上采样、放大特征图 | 不是卷积的逆运算 |
| 双线性/最近邻插值 | 无 | 固定规则放大 | 不学习任务细节 |
| 严格反卷积 | 视定义 | 数学逆/信号复原 | 与转置卷积常混用 |
容易产生的棋盘格伪影(checkerboard artifact):如果 kernel 大小不能被 stride 整除,输出像素被覆盖的次数会周期性不均,出现明暗相间格子。比如 stride=2、kernel=3 时,不同输出位置的重叠次数不同。缓解办法包括让 kernel 能被 stride 整除(如 stride=2 用 kernel=4),或“先插值再卷积”,或用 PixelShuffle(亚像素卷积)重排通道。
实际意义:语义分割的解码器、生成模型(GAN、VAE)的解码器、超分辨率、自编码器都常用它把低分辨率特征还原到像素空间。从业者要关注输出尺寸、padding/output_padding 和伪影;普通职场人可把它理解为“AI 放大图片时的一种可学习放大镜”,不是把压缩信息原样倒带。
