tensorflow入门学习,卷积和池化在图片识别中,到底是如何工作的(四)

上一节介绍了 建立多层卷积网络模型,提升MNIST手写数字识别正确率到99%(三),结合卷积池化,建立了多层的 tensorflow 网络模型,提升了手写数字识别的正确率。不过,上一节的主要目的是介绍 tensorflow 建立多层网络模型的总体流程,对卷积池化在识别图片中如何工作没怎么说明,这一节,将详细介绍。

提出问题


假设有如下两种类型图片,需要分辨给出的图片含有 X 还是 O

计算机非常死板,如果简单的比对像素,哪怕只有 1 个像素不对,也是难以分辨的。而 tensorflow 就非常适合解决这类问题,上一节提到利用卷积和池化建立多层网络,可以实现非常高的准确率。它们到底是如何工作的呢?

卷积在图像识别中的作用


下边右图,并不完全等于左图,但是人脑会根据某些局部特征判断,右图中含有 X。卷积的作用就在此,它可以把这些局部特征提取出来。

那么,卷积如何提取出局部特征呢?下图,咱们只看白色部分,可以很清楚的看出,它们到底是提取什么特征的。

上图就是所谓的 卷积核。卷积核虽然可以提取目标图片的局部特征,但是它并不知道从哪里提取,所以,卷积核在每个位置做匹配,这个每个位置做匹配的操作,就称为卷积,说白了,卷积就是卷积核和目标图片做移动矩阵乘积,这也是卷积神经网络名字的由来。

计算卷积,只需将两个小块对应位置的像素值进行乘法运算,然后将整个小块内乘法运算的结果加起来,最后再除以像素点总个数即可。下图是匹配过程的几个代表性的图片,可以看出,卷积核从原图提取出了符合自己的局部特征。

最终,整个原图分析完毕,得到下图。

得到的数据越接近 1,说明与卷积核匹配越接近,越接近-1,说明与卷积核的负面越匹配,越接近0,说明越与卷积核不匹配。

池化在图像识别中的作用


池化可以减少数据规模,但是又保留特征。最常用的是 2x2 最大值池化,即,取 2x2 像素大小的方块内的最大值,池化过程类似于卷积,也是移动操作的。2x2 池化操作后,数据规模相对于原数据,减小了 4 倍。

下面几张图,是对本节数据池化的几个示意图。




对卷积得到的 3 幅图做完池化操作,得到:

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

为什么要使用 ReLU 激活函数?


ReLU 函数非常简单,它把小于 0 的值归零,大于 0 的值保持不变,有点单边抑制的感觉。为何要使用 ReLU 函数“单边抑制”呢?因为,就算是人脑,在做一件事的时候,也不是全部神经元一起上。人的大脑分为左右大脑,一边负责逻辑思考,一边负责感性体验,相信大家都知道。类似的,我们建立的人工神经元,也不一定在每次图片中每个都会起到同样的作用,更可能的情况是:只有一部分神经元起主要作用,而且,将一部分神经元归零,在多层网络中,也能明显的减小数据计算规模。

ReLU 函数似乎也不会引起梯度衰退,尤其适合深度学习网络。
下面几张图是 ReLU 函数的操作结果。



建立卷积深度学习网络


将上面介绍的卷积池化ReLU激活函数组合在一起,就构成了简单的卷积学习网络。

多组合几层,就得到了深度学习网络。

全连接层的作用


经过多层的卷积深度学习网络,一副图片最终会被池化成数据量较小的几个二维数据组,将它们转换为一维:

这样,识别图片属于 X 还是 O 的问题,就变成了二分类问题。根据一些先验知识训练,就完成了图片识别。结果被判断为 X。

这一系类操作,就属于全连接层

全连接层也可以为多层。

阅读更多:   tensorflow
已有 5 条评论
  1. […] tensorflow入门学习,卷积和池化在图片识别中,到底是如何工作的(四) […]

  2. […] tensorflow入门学习,卷积和池化在图片识别中,到底是如何工作的(四) […]

  3. […] tensorflow入门学习,卷积和池化在图片识别中,到底是如何工作的(四) […]

  4. […] tensorflow入门学习,卷积和池化在图片识别中,到底是如何工作的(四) […]

  5. […] tensorflow入门学习,卷积和池化在图片识别中,到底是如何工作的(四) […]

添加新评论

icon_redface.gificon_idea.gificon_cool.gif2016kuk.gificon_mrgreen.gif2016shuai.gif2016tp.gif2016db.gif2016ch.gificon_razz.gif2016zj.gificon_sad.gificon_cry.gif2016zhh.gificon_question.gif2016jk.gif2016bs.gificon_lol.gif2016qiao.gificon_surprised.gif2016fendou.gif2016ll.gif