卷积神经网络对图片分类-上

我们来看看在图像处理领域如何使用卷积神经网络来对图片进行分类。

1 让计算机做图片分类:

图片分类就是输入一张图片,输出该图片对应的类别(狗,猫,船,鸟),或者说输出该图片属于哪种分类的可能性最大。

人类看到一张图片马上就能分辨出里面的内容,但是计算机分辨一张图片就完全不一样了。同一张图片,

人类看到的是这样:

计算机看到的是这样:

一个充满像素值的数组。

所以给计算机一张图片让它对图片进行分类,就是向计算机输入一个充满像素值的数组如上图所示,数组里的每一个数字范围都是0-255,代表该点上的像素值。让它返回这个数组对应的可能分类概率(狗0.01,猫0.04,船0.94,鸟0.02)。

人类分辨一张船的图片可能是通过图片里船的边缘,线条等等特征。类似的计算机分辨一张船的图片也是通过这些底层特征来进行判断,比如图片里的图像边缘和图像轮廓,然后通过卷积神经网络建立更抽象的概念。

2 卷积神经网络结构

你有一张图片(28X28),把它丢给卷积神经网络里面一系列处理层,卷积层(convolutional layer),池层(pooling),全连接层(Fully connected layer也就是上图的sigmoid neurons),最后在输出层得到结果(neuron output layer)。正如之前所说,输出可能是一个分类或者可能的分类对应的概率。接着我们需要理解每个一层具体做了什么事情。

3 第一层卷积层(convolutional layer)

卷积神经网络里第一层总是卷积层。正如前面所说,我们输入到卷积层里的是一个充满像素值的数组 ,假如是一个28X28X3的数组(3是RGB值)。你可以把卷积层想象成一道光束,照在一张图片上面。这道光束叫做过滤器,被光束照耀的地方叫做感受区。假设这道光束照亮的范围是一个5X5的方形区域。现在让这道光束从左到右,从上到下扫过图片的每一个区域。

当所有移动完毕时,你会发现得到了一个24X24X3的数组。我们叫这个数组为特征图像。

这个过滤器是一个数字类型的数组(里面的数字就是一些权重值)。过滤器的深度和输入的深度一样。所以过滤器的维度就是5X5X3。我们使用5X5X3过滤器,就可以得到输出数组24X24X3。如果使用更多的过滤器,我们就可以得到更多的特征图像。这就是卷积层里发生的事情。

4 具体如何卷积

假设我们有一张老鼠的图片:

还有一个7X7X3的过滤器,它有一些权重值, 是一个曲线过滤器:

现在我们让过滤器在图片的左上角:

当过滤器扫或者卷积整个图片时,把过滤器里面的权重值和真实图片里面对应的像素值相乘,最后把所有结果加和,得到一个加和值。然后重复这个过程,扫描整个输入图片,(下一步把过滤器向右移动一个单元,然后在向右移动一步,如此),每一步都可以得到一个值。

下面是过滤器在图片左上角所得到的值:

Multiplication and Summation = (50 * 30)+(50 * 30)+(50 * 30)+(20 * 30) + (50 * 30) = 6600

可以发现卷积的过程中,如果图片里有一个形状与该过滤器表示的形状相似,就会与过滤器产生激励效果,那么所得到的乘积结果加和值将就会是一个很大的数,接着让我们把过滤器移到图片的右上角看看结果是什么。

Multiplication and Summation = 0

可以看到这个值很小是0,这是因为一点都不像,没有与过滤器产生任何激励效果。这里我们只使用了一个过滤器,你也可以增加其他的过滤器来检测图片的边缘和颜色等等。过滤器越多,特征图就越多,从输入数据里获取到的信息就越丰富。

(未完待续)

参考:

http://neuralnetworksanddeeplearning.com/chap6.html#convolutional_neural_networks_in_practice

https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner's-Guide-To-Understanding-Convolutional-Neural-Networks/

原文发布于微信公众号 - 奇点(qddata)

原文发表时间:2016-08-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ATYUN订阅号

【行业】2018年你应该知道的十大机器学习算法

本文简要介绍一些最常用的机器学习算法,没有代码,没有抽象理论,只有图片和一些如何使用它们的例子。

1224
来自专栏机器之心

入门 | 一文概览深度学习中的卷积结构

3965
来自专栏fangyangcoder

Andrew Ng机器学习课程笔记(四)之神经网络

http://www.cnblogs.com/fydeblog/p/7365730.html

861
来自专栏郭耀华‘s Blog

深度学习——卷积神经网络 的经典网络(LeNet-5、AlexNet、ZFNet、VGG-16、GoogLeNet、ResNet)

一、CNN卷积神经网络的经典网络综述 ? 下面图片参照博客:http://blog.csdn.net/cyh_24/article/details/514403...

8477
来自专栏张俊红

一些算法的小结

总第54篇 算法目的:分类、预测 算法分类:监督型、非监督型 算法的核心:你有什么数据、你要解决什么问题 ---- 01|线性回归: 1、什么是回归 回归,指...

3324
来自专栏机器学习算法工程师

基于深度学习的图像语义分割算法综述

本文翻译自An overview of semantic image segmentation,原作者保留版权。

3433
来自专栏杨熹的专栏

TensorFlow-9-词的向量表示

今日资料: https://www.tensorflow.org/tutorials/word2vec 中文版: http://wiki.jikexuey...

3917
来自专栏企鹅号快讯

机器学习三人行-神奇的分类回归决策树

系列五我们一起学习并实战了支持向量机的分类和回归,见下面链接: 文末附代码关键字,回复即可下载。 今天,我们一起学习下决策树算法,该算法和SVM一样,既可以用来...

4985
来自专栏磐创AI技术团队的专栏

支持向量机原理讲解(一)

1455
来自专栏机器之心

入门 | 一文概览深度学习中的激活函数

3158

扫码关注云+社区

领取腾讯云代金券