deconvolution/transposed conv 理解

卷积层使用卷积核逐块计算会使图像变小,下采样pooling也可以。而上采样还是使用卷积核计算的吗?本文介绍对反卷积操作的理解。

矩阵角度理解:

我们先回顾下卷积的操作, 对于一个 4x4的输入图像,用3x3卷积核,padding=0,stride=1,进行卷积,能得到2x2的输出图像。把输入及输出分别展开成为一维向量,记为 i 及 o 。则卷积可以看做是矩阵运算 o = ci ,其中c的表达式如下:

反卷积过程,对于2x2的输入图像,希望能得到4x4的输出图像。同样把输入及输出分别展开成为一维向量,记为 ,此时transposed conv操作为 。那么所谓卷积与反卷积的矩阵角度解释就到这里。两者都可以理解成一种矩阵变换的运算方式。

反卷积vs上采样:

上采样以一种特定的规则回复降采样的精度损失。而反卷积将这种运算变为可学习的kenel形式表示。两者都遵循着矩阵变换的规则。

你可能感兴趣的:(深度学习)