卷积和反卷积
2019-05-25 本文已影响85人
格物致知Lee
卷积(convolution)
卷积是通过Filter提取原图像的特征,Filter会随着梯度下降提取出图像的主要特征。如图:
蓝色为原图,深蓝色为Filter,绿色为提取后的特征
再看看下图卷积是如何进行运算的:
输入,Falter,输出
细节过程:
卷积细节操作卷积操作实质上表示了一种多对一的关系,就如上图所示通过一个Filter将input中的9个pixel与output中的一个pixel相对应。
我们将上述过程用矩阵表示一下
Filter:
image.png
你可能在想这些蓝色的0是怎么来的?看图:
Filter
将上图中的Filter进行flatten就可以得到 Filter进行flatten
我们将4次的3x3的Filter操作用一个4x16的矩阵表示:
Convolution Matrix
那么卷积的运算就可以用矩阵表示为:
Convolution Matrix operation
将output reshape 成2x2的matrix
output
其结果和细节过程中的output是一样的。接下来我们介绍反卷积。
反卷积(Transposed Convolution)
反卷积,输入图片的特征,输出图片,起到通过特征还原原图的作用。如图:
蓝色为提取后的特征,阴影为Filter,绿色为原图
有了上面的Convolution Matrix(4x16),我们对它进行transpose得到Transposed Convolution Matrix(16x4)然后进行如下操作:
Transposed Convolution Matrix operation
再将反卷积的output reshape成4x4的矩阵
output
神奇的事情发生了:通过Transposed Convolution Matrix 的矩阵乘法,我们将input的特征转变成了与原图类似结构的图像。这样一来只要我们通过训练去调整Transposed Convolution Matrix中的weight,就可以通过特征尽可能的还原原图。
反卷积操作实质上表示了一种一对多的关系,就如上图所示通过一个Filter将output中的1个pixel与input中的9个pixel相对应。
小伙伴们如果觉得文章还行的请点个赞呦!!同时觉得文章哪里有问题的可以评论一下 谢谢你!