首页 > 编程知识 正文

连续卷积公式,反卷积公式

时间:2023-05-04 02:28:59 阅读:160688 作者:3558

0、个人资料http://www.Sina.com/: http://www.Sina.com /

问题

框架中实现了独立的可训练参数。 自己看pytorch代码或Keras代码就知道了。 但CNN可视化论文的反卷积是前一个卷积核的转置,只是为了可视化

1、什么是反卷积?计算机视觉中的反卷积(deconvolution)是使用了独立的可训练参数还是把前面的卷积核转置?关于计算机视觉中的反卷积(deconvolution)还是没太弄懂,我原以为反卷积的卷积核中的参数也是训练出来的,只是因为放大了输出所以叫反卷积,可今天看到讲关于卷积神经网络可视化的文章,卷积神经网络的对特征图卷积核的可视化可以采用deconvolution的方法,而且是把前面的卷积核转置一下就直接用,而不是独立的训练其中参数,如下图:

在应用于计算机视觉的深度学习领域中,输入图像在用卷积神经网络(CNN )提取特征后,输出的尺寸往往会变小,因此为了进一步的计算,有时需要将图像恢复到原来的尺寸(e.) 这将扩大图像尺寸,实现将图像从小分辨率映射到大分辨率的操作称为上采样(Upsample )。

答:

上采样有三种常用方法:“双线性插值”、“反卷积”和“反池化”。 这里所说的反卷积,也称为转置卷积,不是正向卷积的完全逆过程。 一句话:

解卷积是一种特殊的正向卷积,首先通过按一定比例补充[式]来扩大输入图像的大小,然后旋转卷积核再进行正向卷积。

2、反卷积的数学推导上采样(Upsample)

设输入图像input的大小为4x4,元素矩阵如下:

卷积内核的大小为3x3,元素矩阵如下:

步长strides=1,填充padding=0,即i=4,k=3,s=1,p=0遵循卷积公式

的图像output的大小为2x2

反卷积(Transposed Convolution)

将input的元素矩阵展开为一个列向量x

将输出图像output的元素矩阵展开为列向量y :

对于输入的要素矩阵x和输出的要素矩阵y,用矩阵运算记述该过程。

通过推导,得到稀疏矩阵c :

卷积操作是指对该矩阵运算过程进行逆运算。 也就是说,从c和y中得到x,根据各矩阵的大小可以简单地进行计算的过程。 也就是说,是去卷积操作。

但是,代入数值计算后,可以看到反卷积操作只能恢复矩阵x的大小,而不能恢复x的每个元素值。 本文最后在tensorflow平台上进行该实验

首先,给出了反转卷积图像尺寸变化的表达式。

正向卷积的实现过程

进行去卷积时,简单来说,分为以下两种情况。

用矩阵乘法描述卷积

此时反卷积的输入输出尺寸关系如下。

如上图所示,选择输入大小为3x3、卷积内核kernel大小为3x3、步骤strides=2、填充码=1、即i=3、k=3、s=2、p=1

反卷积的输入输出尺寸关系

此时的反卷积的输入输出大小关系为:

如上图所示,输入输入大小为3x3,卷积内核kernel的大小为3x3,步骤strides=2,填充码=1,即i=3,k=3,s=2,p=1

Relationship 1:

在图像语义分割网络FCN-32s中,上采样反卷积操作的每一个输入的大小是7x7

、1次上采样后想恢复为原始图像的尺寸224x224,代入公式。

根据上式,可以得到关于s、k、p三者之间关系的等式。

通过实验,最终找到了一组最佳的数据:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。