一目了然搞定卷积神经网络CNN总结

目录

1.Convolutional Neural Network(CNN)是什么?

1.1卷积

1.2 神经网络

1.3 CNN与模式识别&机器学习&深度学习的关系

2.下面,开始进入主题,讲述卷积神经网络

2.1 神器1----局部感知

2.2.1 在全连接网络中

2.2.2在局部连接网络中

2.2  权值共享


最近一段时间在学习卷积神经网络CNN(Convolutional Neural Network),要做一个报告,现在就拿PPT即将报告内容,在这里提前做一个分享,也算是自己把整个内容梳理一遍的方式,如有错误地方,还请留言提出,一孔之见不吝赐教。

首先,如下面所示,为本报告的主要形式,主要从三个方面讲清楚CNN,尽量以图片形式,文字叙述

1.Convolutional Neural Network(CNN)是什么?

首先是听到卷积神经网络,立马就会顾名思义,卷积+神经网络。

1.1卷积

卷积我们知道,在信息论里面都会提到这个名词,在这里就根据要描述的内容,要处理的是输入图像,就对图像部分而言,卷积是对图像和卷积模板做内积。在这里,对单纯的一个像素做卷积就没什么意义了,这里不是对每个输入像素的信息做处理,而是对整幅图像中,取出其中的一小部分像素区域,如果宏观了来看,就是一小块图像,大幅图片的一个真子集。

下面是一个动态卷积过程,随着卷积核在图像中的不断以步长为1的移动,它将与矩阵

1 0 1
0 1 0
1 0 1

不断的进行卷积运算,在这里就是1*1+1*0+1*1+0*0+1*1+1*0+0*1+0*0+1*1=4,即输出第一个卷积结果,通过它不断的移动,就能够输出很多歌卷积后的结果了。

1.2 神经网络

这里所说道的神经网络,我们可以把它与人脑的神经网络来做一个类比。我们观察过千奇百怪的猫,但总是能得出一些猫的独有的特征来,比如说尖耳朵,猫脸,还有毛茸茸的样子,在下次拿给你一个即便你不知道它是一只什么品种的猫,但是你知道,她肯定是只猫就行了。每个神经元拥有多个实际值的输入(从小到大见过了很多的猫),并产生了一个实际值的输出(由过往认识猫的了解,总结的特征,得出这个不认识的动物也是猫的结论),这就是仿生物的神经网络。

有了卷积和神经网络的概念,下面该怎么将两者和输入图像联系在一起呢?怎么与普通的神经网络做对比呢,慢慢道来。

还不要着急,先看看CNN在整个AI时代,处于什么样子的一个层次,或者说位置。

1.3 CNN与模式识别&机器学习&深度学习的关系

一张表没有看到CNN,因为卷积神经网络是深度学习算法的一种模型,它是在传统深度学习中一种新的方法,而深度学习又是机器学习中的一个新的领域,其模拟人脑进行分析学习的神经网络,模仿人脑的机制来解释数据。它是一种监督学习的模型,即对训练样本期,就已知待训练样本的类别,被人为的标记过,其后就不断的用训练样本来调整分类器的参数,使其达到所要求的性能。这就是训练之过程后的测试过程,测试过程需要测试样本集,及对训练结果的检测,通过了测试才能够将此参数用于实际的应用中取,否则将继续训练或更改模型。

这时候我们就该思考一个问题了,不知道你们有没有思考过。为什么要深度学习?为什么要用卷积神经网络的方式来做深度学习。深度学习主要的目的还是来对未知的数据的识别分类,由已知得到未知。我们没办法穷举所有可能被用来测试的图片,也就是穷举所有情况,所以我们选择了部分样本数据来做训练,得到一个认为相对具有代表性质的模型。尽管深度学习的训练样本数据看着还是挺多的,但是与无穷无尽的可能相比还是不值一提。这也就是为什么有了深度学习,它就是要举一反三。

而对于为什么是卷积神经网络,而不是别的一些深度学习的方法,那一定是因为CNN具有别的一般方法所没有的优势,否则它不可能出现而被推崇的。至于这个问题就慢慢看来······

2.下面,开始进入主题,讲述卷积神经网络

看着这个鸟,我们都知道它是一只鸟,尽管我们不知道它是一只什么鸟。那为什么我们会异口同声的说它就是一只鸟呢,

Why is a bird?

因为它的一些特征呗,什么特征,鸟嘴,尖尖的,还有翅膀,还有锋利的爪子,可能还有别的一些特征,就不细说了。那下面我们再看一个图

这里呢变成了三幅图了,最左边还是上面的那个鸟,有尖嘴,锋利的爪子,还有翅膀。

一:现在看右下的部分,那个鸟,有什么相同的地方?有什么不同的地方?

图片变小了,鸟嘴和翅膀,锋利的爪子都在,我们也知道它也是一只鸟,就是变小了。

你有没有发现,我们在解读这幅带有鸟的图片的时候,关注了更多的是小鸟这个动物本身,如果更具体点是关注的鸟嘴,翅膀等等,那图片那么大,像素那么多,还有绿色的图像部分,我们好像熟视无睹,根本就没有关于那些地方。既然我们都不关注那些地方,那它对于我们解读这幅图像是不是就是没那么重要,我们是不是可以不要它了,不看他了,它存在,我们就是不关注它,因为它对于我们关注的重点没那么重要了。1.这里就是说,同样的一个图案只需要看一小部分,而不是整个部分。2.对像素进行抽样,而不改变对象

二:现在呢,再看下右上角的那个动物,也是一只鸟,尽管我看它长的有点像雏鸡,那它就是一只不一样的鸟

我们也找到了鸟的一些基本特征,鸟嘴,尖尖的,翅膀,锋利的爪子,它都有。可是,细心看就会发现,1和2进行对比,鸟的站姿变了,鸟嘴在图像中的相对位置也变了,一个在图像的左上角,另一个在图像的右上角。鸟嘴尽管都是尖尖的,但是颜色也变了,但是我们还是说它是一只鸟。3.同样的图案出现在图像的不同部分

这里就引出来了CNN的一些专有的特点属性了:

2.1 神器1----局部感知

         卷积神经网络有两种神器可以降低参数数目,第一种神器叫做局部感知野。一般认为人对外界的认知是从局部到全局的,而图像的空间联系也是局部的像素联系较为紧密,而距离较远的像素相关性则较弱。因而,每个神经元其实没有必要对全局图像进行感知,只需要对局部进行感知,然后在更高层将局部的信息综合起来就得到了全局的信息。

(http://www.cnblogs.com/nsnow/p/4562308.html)参读

 

在这里,将CNN与全连接网络进行一个对比。假设一次训练样本中输入图像像素大小为1000*1000,隐藏层神经元为100个(这里就不选用上面图中提到的一百万个了,当时一直以为这个隐藏层单元数量与输入图像的像素数目是有关系的,纠结了好久)

2.2.1 在全连接网络中

每个隐层神经元都连接图像的每一个像素点,就有1000*1000*100=10^8个连接,也就是会有10^8个权值参数

2.2.2在局部连接网络中

每一个节点与上层节点同位置附件10x10的窗口相连接,每一个隐藏层的神经元只关注于这个卷积窗口,此时就是会有10*10*100=10^4个连接,也就是会有10^4个个权值参数,其权值连接个数比原来减少了四个数量级。

2.2  权值共享

先来看一下全连接神经网络的一般特性

对于上图中被标注为红色节点的净输入,就等于所有与红线相连接的上一层神经元节点值与红色线表示的权值之积的累加。这样的计算过程,很多书上称其为卷积。所有的红色线标注的连接权值相同,他们共用一套权值。

想get更多有趣知识?请加微信公众号“小白算法”,谢谢

猜你喜欢

转载自blog.csdn.net/wsLJQian/article/details/77671580