上采样之反卷积

上采样(Upsample)

实现feature map由小分辨率到大分辨率映射的操作
上采样常见有三种方法:(1)双线性插值(bilinear);(2)反卷积(Transposed Convolution);(3)反池化(Unpooling)。

反卷积(Transposed Convolution)

反卷积是一种特殊的正向卷积,先按照一定比例通过补0来扩大输入图像尺寸,然后旋转卷积核,进行正向卷积。
反卷积不是一个预先定义好的插值方式,有一些可以学习的参数(learnable parameters)。应用场景为:(1)DCGAN的生成器随机采样以产生完整尺寸的图片。(2)语义分割在编码器中用卷积层去提取图像特征,然后在解码器中将图像恢复到原来尺寸。

torch.nn.ConvTranspose2d(   in_channels,  #输入数据的通道数
							out_channels, #输出数据的通道数(就是我想让输出多少通道,就设置为多少)
							kernel_size,  #卷积核的尺寸(如(3,2),3与(3,3)等同)
							stride=1,     #卷积步长,就是卷积操作时每次移动的格子数
							padding=0,    #原图周围需要填充的格子行(列)数
							output_padding=0,   #输出特征图边缘需要填充的行(列)数,一般不设置
							groups=1,     #分组卷积的组数,一般默认设置为1,不用管
							bias=True     #卷积偏置,一般设置为False,True的话可以增加模型的泛化能力
							)

反卷积和卷积的区别

常规卷积是输出值和输入值在位置上的关联性,先乘后加。反卷积则尝试将矩阵中的1个值和另一个矩阵中的9个值去关联起来,且是一个一对多的关系。

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