transposed convolution(转置卷积)和deconvolution(反卷积)是两个完全不同的概念。
deconvolution为“inverse of convolution”、“inverse filter”,翻译为反卷积、解卷积。在信号处理中,反卷积是指从卷积操作的结果中恢复原始信号的过程,这涉及到求解一个逆问题。然而,在机器学习和计算机视觉领域,“反卷积”一词有时被错误地用来指代转置卷积。
首先需要说明的是,卷积可以用卷积矩阵写成线性变换的形式。
先看一维情况
将u和v换成x和h。
卷积核h可以写成卷积矩阵A,这样,
A = convmtx(h,n) returns the convolution matrix, A, such that the product of A and an n-element vector, x, is the convolution of h and x.
二维情况稍微复杂些,首先为了方便线性变换拉成列向量,然后再reshape成原来尺寸的二维矩阵。
需要说明的是这里是线性卷积。
转置卷积就是卷积矩阵转置后的线性变换,即计算 T ′ ∗ y T'*y T′∗y。肯定回不到原信号,这和逆矩阵 T − 1 T^{-1} T−1是完全不同的两个概念。
如果卷积的步长大于1,那卷积过程同时下采样,转置卷积就同时上采样。When a transposed convolution is used for upsampling, it performs the upsampling and the filtering at the same time. 例如下图步长为2。但不是说转置矩阵就一定上采样。
通常,转置卷积是一种扩大特征图尺寸的操作,用在生成网络或者编码-解码架构中的上采样步骤。它的主要目的是将低分辨率的特征图恢复到原始输入图像的大小。因此,也称为分数步长卷积(fractional stride convolution)。
禹晶、肖创柏、廖庆敏《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》
禹晶、肖创柏、廖庆敏《数字图像处理》资源二维码