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