卷积神经网络之“卷积”

卷积神经网络是目前计算机视觉中使用最普遍的模型结构,包括:

  • 卷积(Convolution)
  • 池化(pooling)
  • ReLU激活函数
  • 批归一化(Batch Normalization)
  • 丢弃法(Dropout)

 

说明:

在卷积神经网络中,计算范围是在像素点的空间邻域内进行的,卷积核参数的数目也远小于全连接层。卷积核本身与输入图片大小无关,它代表了对空间邻域内某种特征模式的提取。比如,有些卷积核提取物体边缘特征,有些卷积核提取物体拐角处的特征,图像上不同区域共享同一个卷积核。当输入图片大小不一样时,仍然可以使用同一个卷积核进行操作。

 


卷积计算

  卷积计算与数学分析中的卷积不太一样。具体可以去查。下面是卷积计算的过程:

卷积神经网络之“卷积”

                        图一:卷积计算过程

 

 


 

说明:

卷积核(kernel)也被叫做滤波器(filter),假设卷积核的高和宽分别为kh和kw​,则将称为kh×kw卷积,比如3×5卷积,就是指卷积核的高为3, 宽为5。


 

其他说明

在卷积神经网络中,一个卷积算子除了上面描述的卷积过程之外,还包括加上偏置项的操作。例如假设偏置为1,则上面卷积计算的结果为:

0×1+1×2+2×4+3×5 +1=26

0×2+1×3+2×5+3×6 +1=32

0×4+1×5+2×7+3×8 +1=44

0×5+1×6+2×8+3×9 +1=50 


 

填充(padding)

在上面的例子中,输入图片尺寸为3×3,输出图片尺寸为2×2,经过一次卷积之后,图片尺寸变小。卷积输出特征图的尺寸计算方法如下(卷积核的高和宽分别为kh和kw​):

                      Hout = H-kh+1,Wout = W-kw+1

如果输入尺寸为4,卷积核大小为3,输出尺寸为 4-3+1=2 。当卷积核尺寸大于1时,输出特征图的尺寸会小于输入图片尺寸。如果经过多次卷积,输出图片尺寸会不断减小。为了避免卷积之后图像会变小,我们通常会在图片的外围进行填充(padding),如图:

卷积神经网络之“卷积”

                              图2:图形填充

 

 

 

 

 

  • 如图2(a)所示:填充的大小为1,填充值为0。填充之后,输入图片尺寸从4×4变成了6×6,使用3×3的卷积核,输出图片尺寸为4×4。

  • 如图2(b)所示:填充的大小为2,填充值为0。填充之后,输入图片尺寸从4×4变成了8×8,使用3×3的卷积核,输出图片尺寸为6×6。

 另外,在宽高的方向上,也可以是不等量填充,比如在第一行之前填充h

 

 


 

 

 

步幅(stride)

 

图1 中卷积核每次滑动一个像素点,这是步幅为1的特殊情况。图3是步幅为2的卷积过程,卷积核在图片上移动时,每次移动大小为2个像素点。

卷积神经网络之“卷积”

 

当宽和高方向的步幅分别为sh和sw时,输出特征图尺寸的计算公式是:

Hout=(H+2ph−kh)/sh   +1

Wout=(W+2pw−kw​​)/sw  +1

 

假设输入图片尺寸是H×W=100×100,卷积核大小kh×kw=3×3,填充ph=pw=1,步幅为sh=sw=2,则输出特征图的尺寸为:

Hout=(100+2−3)/2 + 1 = 50

Wout=(100+2−3)/2 + 1 = 50


 

 

感受野(Receptive Field)

 

输出特征图上每个点的数值,是由输入图片上大小为kh×kw的区域的元素与卷积核每个元素相乘再相加得到的,所以输入图像上kh×kw区域内每个元素数值的改变,都会影响输出点的像素值。我们将这个区域叫做输出特征图上对应点的感受野。

感受野内每个元素数值的变动,都会影响输出点的数值变化。比如3×3卷积对应的感受野大小就是3×3,如 图3 所示。

卷积神经网络之“卷积”

 

                    图3:感受野为3×3的卷积

 

 而当通过两层3×3的卷积之后,感受野的大小将会增加到5×5,如 图4 所示。

卷积神经网络之“卷积”

 

                                    图4:感受野为5×5的卷积

 

 

 

 

 

 

 


多输入通道、多输出通道和批量操作

 

  •  多输入通道场景

 卷积神经网络之“卷积”

 

                                                               图5:多输入通道计算过程

 

  • 多输出通道场景

 

 卷积神经网络之“卷积”

 

                                                                             图6:多输出通道计算过程

 

 

  • 批量操作

在卷积神经网络的计算中,通常将多个样本放在一起形成一个mini-batch进行批量操作。

卷积神经网络之“卷积”

 

                                                 图7:批量操作

 

上一篇:destoon7.0已开启搜索关键词自动记录,有搜索结果但没有保存问题解决方案


下一篇:图片服务器