卷积神经网络学习总结

来源:互联网 发布:手机淘宝触屏版 编辑:程序博客网 时间:2024/05/18 22:41

一、认识图像

   识别图像对人类来说十分容易,当看到一张图片或周围环境时,就能很快对物体打上标识并迅速学习其中的模式,形成经验然后运用到不同的图片或环境中,然而让机器如何学习其中的模式呢?

这里写图片描述
当向计算机输入一张图片时,计算机看到的一串数字(像素值),对于一张32*32的JPG图片,计算机会看成是32*32*3的数字矩阵(3指RGB三个通道),这些数字中的每一个值都可以从0取到255,它描述了在这一点上的像素强度。这些数字虽然对于我们进行图像分类时没有任何意义,但其却是计算机在图像输入时唯一获取的数据。了解了机器怎么认识的图像后,如何让机器提取其中的特征,拿到其中的模式呢?
当我们看到一张狗的图像时,我们能够将其分类因为图像上有爪子或者四条腿等明显的特征。以类似的方式计算机能够进行图像分类任务,先通过寻找低层次的特征如边缘和曲线,然后运用一系列的卷积层建立一个更抽象的概念。这个启发来自1962年,Hubel和 Wiesel发现猫的大脑中的部分神经元只对一定的方向的边缘做出回应,继而发现通过简单细胞、复杂细胞对细节的不断抽象,形成视觉认知。以此为基础诞生了卷积神经
网络。

二、卷积神经网络与普通的神经网络

这里写图片描述
这就是一个卷积神经网络(Convolutional Neural Network,CNN)

这里写图片描述
这是一个普通的神经网络

CNN与普通的神经网络结构有一定的相似之处,输入层和输出层中间夹着数层隐藏层,每一层都由多个神经元组成,层和层之间是全连接的结构,同一层的神经元之间没有连接。
但对于图像来说,使用普通的全连接神经网络结构是不可行的。拿CIFAR-10举例吧,图片已经很小了,是32*32*3(长宽各32像素,3个颜色通道)的,那么在神经网络当中,我们只看隐藏层中的一个神经元,就应该有32*32*3=3072个权重,那么再设想一下,当这是一个包含多个神经元的多层神经网(假设n个),再比如图像的质量好一点(比如是200*200*3的),那将有200*200*3*n= 120000n个权重需要训练,结果是拉着这么多参数训练,负担很重。CNN就是用更少的参数就能训练出优秀的神经网络。

三、卷积神经网络的组成

1、卷积层 2、pooling(池化)层 3、全连接层

3.1卷积层

对图像(不同的数据窗口数据)和滤波矩阵(一组固定的权重:因为每个神经元的权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的『卷积』操作,

卷积神经网络入门博客
1、通俗理解卷积神经网络(cs231n与5月dl班课程笔记)
http://blog.csdn.net/Real_Myth/article/details/51824193
对CNN的背景知识神经元、激励函数和简单的神经网络构造做了补充,卷积的数学计算讲解详细
2、卷积神经网络(CNN)新手指南
http://blog.csdn.net/tealex/article/details/52075338
多次卷积如何能够不断提取更复杂的图像特征

0 0