上采样(upsampling)之转置卷积(transposed convolution ) 作者:马育民 • 2020-02-23 15:02 • 阅读:11107 # 介绍 上采样的实现方式之一 **转置卷积** (transposed convolution),又称作 **反卷积** (Deconvolution)。在不同的深度学习框架中,名字不同。根据算法来看,转置卷积更为正确 可以理解是 **卷积** 的逆过程,实现上采用转置卷积核的方法 # 作用 普通的 **卷积**、**池化会** 会 **缩小图片的尺寸**,比如VGG16 五次池化后图片被缩小了32倍。为了得到和原图等大的分割图,需要进行 上采样卷积 # 卷积 vs 转置卷积 ### 卷积 卷积结果尺寸计算公式: - S是strides(滑动步长) - 原图片大小为N1xN1(下图为4x4) - 卷积核大小为N2xN2(下图为3x3) - P是padding大小 卷积后图像大小:`(N1-N2+2P)/S+1` 如下图: [![](https://www.malaoshi.top/upload/0/0/1EF52IpmOtMl.gif)](https://www.malaoshi.top/upload/0/0/1EF52IpmOtMl.gif) ### 转置卷积 卷积、池化后的图像尺寸会变小,反卷积将该图像恢复到之前的大小。 如下图,2x2的图,进行padding后,再进行 **类似卷积(相乘相加)** 的操作 [![](https://www.malaoshi.top/upload/0/0/1EF52InXEbUh.gif)](https://www.malaoshi.top/upload/0/0/1EF52InXEbUh.gif) 为实现deconvolution,直接使deconv的前向传播模拟conv的反向传播。如何理解深度学习中的deconvolution networks # 为什么称之为转置卷积? 从 [卷积运算-矩阵方式](https://www.malaoshi.top/show_1EF56ffEDLaN.html "卷积运算-矩阵方式") 可知,卷积运算是: [![](https://www.malaoshi.top/upload/0/0/1EF56SDbETOZ.png)](https://www.malaoshi.top/upload/0/0/1EF56SDbETOZ.png) 卷积公式: ``` m行n列卷积核 x n行1列图像=m行1列的结果 ``` **转置卷积** 的运算过程可以理解为:已知上面公式的 **结果** 和 **卷积核**,求出 **图像** 转置卷积公式: ``` m行n列卷积核的转置 x m行1列的结果 = n行m列卷积核 x m行1列的结果 = n行1列的矩阵 ``` 可以看出,结果是`n行1列`,卷积之前的图像也是`n行1列`,再改变形状就恢复卷积之前的图像大小了 原文出处:http://malaoshi.top/show_1EF52HLXBmqf.html