首页 > 技术文章 > 卷积神经网络 CNN

zb-ml 2020-02-11 12:18 原文

【转自】卷积神经网络CNN完全指南终极版(一) - 沉迷学习的糕糕的文章 - 知乎 https://zhuanlan.zhihu.com/p/27908027

【一】导论

卷积神经网络,也就是convolutional neural networks (简称CNN)。feature在CNN中也被成为卷积核(filter),一般是3X3,或者5X5的大小。

拿到一张图片,要对它进行识别,最简单的栗子是,这张图是什么?

比如,我现在要训练一个最简单的CNN,用来识别一张图片里的字母是X还是O。

 

我们人眼一看,很简单嘛,明显就是X啊,但是计算机不知道,它不明白什么是X。所以我们给这张图片加一个标签,也就是俗称的Label,Label=X,就告诉了计算机这张图代表的是X。它就记住了X的长相。

但是并不是所有的X都长这样呀。比如说...

 

 

这四个都是X,但它们和之前那张X明显不一样,计算机没见过它们,又都不认识了。

(这里可以扯出机器学习中听起来很高冷的名词 “ 欠拟合 ”)

 

不认识了怎么办,当然是回忆看看是不是见过差不多的呀。这时候CNN要做的,就是如何提取内容为X的图片的特征。

我们都知道,图片在计算机内部以像素值的方式被存储,也就是说两张X在计算机看来,其实是这样子的。

 

 

其中1代表白色,-1代表黑色。

如果按照每像素逐个比较肯定是不科学的,结果不对而且效率低下,因此提出其他匹配方法。

我们称之为patch匹配。

观察这两张X图,可以发现尽管像素值无法一一对应,但也存在着某些共同点。

 

如上图所示,两张图中三个同色区域的结构完全一致!

因此,我们就考虑,要将这两张图联系起来,无法进行全体像素对应,但是否能进行局部地匹配?

答案当然是肯定的。

相当于如果我要在一张照片中进行人脸定位,但是CNN不知道什么是人脸,我就告诉它:人脸上有三个特征,眼睛鼻子嘴巴是什么样,再告诉它这三个长啥样,只要CNN去搜索整张图,找到了这三个特征在的地方就定位到了人脸。

 

同理,从标准的X图中我们提取出三个特征(feature)

 

 

 

 

我们发现只要用这三个feature便可定位到X的某个局部。

feature在CNN中也被成为卷积核(filter),一般是3X3,或者5X5的大小。

 

【二】卷积运算

好了,下面继续讲怎么计算。四个字:对应相乘。

 

 feature map是每一个feature从原始图像中提取出来的“特征”。其中的值,越接近为1表示对应位置和feature的匹配越完整,越是接近-1,表示对应位置和feature的反面匹配越完整,而值接近0的表示对应位置没有任何匹配或者说没有什么关联。

【三】非线性激活层的概念

卷积层对原图运算多个卷积产生一组线性激活响应,而非线性激活层是对之前的结果进行一个非线性的激活响应。

在神经网络中用到最多的非线性激活函数是Relu函数,它的公式定义如下:

f(x)=max(0,x)

即,保留大于等于0的值,其余所有小于0的数值直接改写为0。

为什么要这么做呢?上面说到,卷积后产生的特征图中的值,越靠近1表示与该特征越关联,越靠近-1表示越不关联,而我们进行特征提取时,为了使得数据更少,操作更方便,就直接舍弃掉那些不相关联的数据。

如下图所示:>=0的值不变

 

 

而<0的值一律改写为0

 

得到非线性激活函数作用后 的结果:

 

【4】pooling池化层

卷积操作后,我们得到了一张张有着不同值的feature map,尽管数据量比原图少了很多,但还是过于庞大(比较深度学习动不动就几十万张训练图片),因此接下来的池化操作就可以发挥作用了,它最大的目标就是减少数据量。

池化分为两种,Max Pooling 最大池化、Average Pooling平均池化。顾名思义,最大池化就是取最大值,平均池化就是取平均值。

拿最大池化举例:选择池化尺寸为2x2,因为选定一个2x2的窗口,在其内选出最大值更新进新的feature map。

 

同样向右依据步长滑动窗口。

 

 

最终得到池化后的feature map。可明显发现数据量减少了很多。

因为最大池化保留了每一个小块内的最大值,所以它相当于保留了这一块最佳匹配结果(因为值越接近1表示匹配越好)。这也就意味着它不会具体关注窗口内到底是哪一个地方匹配了,而只关注是不是有某个地方匹配上了。这也就能够看出,CNN能够发现图像中是否具有某种特征,而不用在意到底在哪里具有这种特征。这也就能够帮助解决之前提到的计算机逐一像素匹配的死板做法。

 

到这里就介绍了CNN的基本配置---卷积层、Relu层、池化层。

 

推荐阅读