卷积神经网络
一、垂直边缘检测
1、示例
首先考虑,如何检测出两个物体的中间间隔,这样能够把两个物体分开。
示例,输入一张6 x 6的图片(左边数值高就亮,右边数值低就灰暗),用3 x 3的卷积核去做卷积(左边是亮色,右边是深色),得到特征图(刚好中间数值高,就说明中间有间隔存在)。这里可能发现中间间隔太宽了,这是因为原图太小了,如果足够大(1000 x 1000),则得到的间隔就很细了。
【注】因为这个卷积核,就是为了找到中间垂直边缘的,因此设置参数就是左大右小,这样与一张图片做卷积,就能提取到中间垂直边缘的特征。
可以发现左边是用来检测垂直边缘的,右边是水平边缘。
【注结】
2、滤波器的改进
可以发现,人们来改变卷积核的参数,加重中间行的权重,增加鲁棒性,更好的检测边缘。
那么对于现在的神经网络,可以不必初始化卷积核参数,由网络来学习出其中的参数。
设置9个参数,由反向传播来进行学习。理论上可以学习任何角度的边缘,而不只是垂直/水平。
二、padding
作用:
1、防止图片变小
2、防止周围边缘的特征信息被忽略
卷积公式:(n-k+2p)/s + 1
其中,k是卷积核大小,p是padding取值,s是步长。
两种参数选择:1)Valid :不填充 2)Same:使得输出大小与输入大小保持一致
三、步长
当如果卷积核移动到了图像外边,就不再进行卷积运算。
得到输出:
四、三维卷积
注意图片的通道数一定=卷积核的通道数。
有时我们可能需要既检测垂直边缘,又检测水平边缘。因此就需要两个卷积核,一个对应垂直,一个对应水平。
可以发现输出的feature map的通道数=卷积核的个数。