卷积和反卷积(deconv)的正向

卷积

作用

提取局部区域内的特征

操作

输入(h_{in}*w_{in}*f_{in}),卷积核(f_{out}*h*w*f_{in}),输出(h_{out}*w_{out}*f_{out}

输出feature 长(宽)的计算:h_{out} = \frac{h_{in} - h + 2padding}{stride} + 1    

f_{out}个神经元(滤波器、卷积核)

结构特点

  1. 局部连接(对输入的部分区域提取):图像数据在空间上与距离较近的区域有关,与距离较远的基本无关,所以神经元只需接受局部输入

  2.  权重共享(): 有多个卷积核,每个生成一个新的feature map(图像),新的feature map(图形)上的每一个像素都来自同一个卷积核。

每个卷积核提取不同的特征,卷积核提取在图像不同位置上的特征。

 

卷积相乘变矩阵相乘

后续

经激活函数后,池化

激活函数

池化:maxpooling取灰度值最大的像素点(保留最主要的特征),mean pooling 区域内特征的平均值代表这个区域的特征。why make function? 一个区域内的特征可能在另一个区域同样适用,对大的图像,对不同位置的特征进行聚合统计。

卷积核尺寸

卷积核kernel size越大,感受野越大,参数也多

对于1*1的卷积核,稀疏度不宜太高,作用:

  1. 进行信息整合,跨通道pooling。
  2. 进行卷积核通道数的降维或升维。

反卷积(deconv,transposed conv)

作用

实现信号复原,在全卷积网络(FCN)中,实现上采样。

kernel size固定,padding=0,strid=1,输入经conv 的输出,再经deconv,获得的输出能与输入大小相同。deconv 的输入i,padding 同样的size,单此处不叫padding。

操作

对输入补零,卷积核,先左右翻转,再上下翻转(即转180度),转置后的卷积核与补零的输入卷积,即可得到输出。

或,当卷积操作转换为矩阵操作时,卷积核变卷积矩阵后,转置,再与输入矩阵卷积,即得输出矩阵。

注:no padding: 将输入补同样size的0;

        对于conv的stride>1时,deconv的输入中间插零个数 = s - 1作为新的输入;

p^{'} = k - p -1

o^{'} = s(i^{'}-1) + k - 2 * p

计算示例

eg: conv:i=5,k=3,s=2,p=1,out=3

         deconv: i‘=3,k=3,s=1,p=1,out=5

 

注:可视化理解 https://github.com/vdumoulin/conv_arithmetic

猜你喜欢

转载自blog.csdn.net/qq_31157393/article/details/82051319