近年来,根据不断发展的仿生物学的研究,以仿生理论为基础,深度学习的方法正在逐渐被学术界所认可,Image Net Large Scale Visual Recognition Challenge (ISLVRC)为权威的国际图像识别竞赛,竞赛上深度学习的算法作品成绩显著[10],这一点更加证实了深度学习在分类方面的优势。经过广大研究者对深度学习的努力,很多开源的深度学习工具正在被不断的开发出来,如Torch ,Cafee,以本文实现方法基于python 的thean,使研究者们不用苦思冥想于一些复杂的数学公式,也不用大费周章的研究如何转换维度,节省了宝贵的的精力。
2。2 Deep learning 基本思想
对于深度学习,基本思想是对数据堆叠n层,上i层的输出作为i+1层的输入,进而经过每一层的计算实现对输入的数据样本分级表达。Hinton教授指出RBM逐层训练网络,加上wake—sleep算法微调可以有效的解决梯度扩散问题[7][8]。在样本数据在层与层之间不断传播的过程中,避面不了的会有一些数据流失,尽可能的保证层于层之间输入输出的信息量相等也是研究者们需要考虑的问题。
深度学习分为三种,AE(自动编码机),CNN(卷积神经网络),RNN(递归神经网络),RNN递归神经网络适用于拥有时序特点的信息处理,如声音识别,文字识别等等。AE方法作为最早的深度学习研究领域,也有很多经典的模型和方法,如SAE(Sparse Auto Encoder)方法,由于层数较少,实现相对较为简单。CNN方法则是识别率最高的一种方法[11][12]。
2。2。1 特征
摄影设备得到的图像是由大量的像素组合表示,单单某个像素对于图片中事物的识别毫无意义,图2。1中摩托车排气管上的一个像素不能区分图像中表示是摩托车还是非摩托车,只有确定图片中是否有车轮,车把手等特征,才能有效的识别物体。
图2。1图像中的像素点
图像处理中通过特征区分图片中物体的种类,而复杂的图形,往往由一些基本结构构成,如图2。2所示,左上角的三张图片可以得到64种正交的基本结构,各个区域都可以用其正交表示,而图2。1中的像素点可以表示为基本构成中的三个,依照0。8,0。3,0。5的权重调和而成,而其他的像素没有贡献,均表示为0。
图2。2像素点的表示方法
转换成数组矩阵表示就是:
[a1,…,a64]=[0,0,0,…,0,0。8,0,…,0,0。3,0,…,0,0。5,0,…,0,0,0] (2。1)
这些基础的像素特征模块大多数为图片上图形边缘区域,称为边缘基本特征(edge basis)[13],因为神经网络根据模拟人脑思维方式实现,所以以人脑为例,对于一张图片首先人眼看到大量像素点,像素点传达到大脑中,经过大脑中经验模型组合成小特征,小的特征通过经验组合成大的事物特征,进而分辨事物[14],如图2。3。通常,经过层数越多,区分越准确。文献综述
图2。3深度特征的形成过程
以上为深度学习特征形成过程。
2。2。2浅层学习
浅层学习是机器学习的开端,从人工神经网络反向传播算法被发明开始,在20世纪90年代,很多机器学习的模型被学者们提出来例如支持向量机(SVM),Boosting,LR(Logistic Regression)等等。这些模型在应用中都得到了不小的成功,是机器学习历史上的一次性的浪潮。
2。2。3深度学习
深度学习的核心是通过海量的数据训练很多隐藏或非隐藏的深度学习模型,进而得到更加准确的特征,增加分类的精准程度,深度学习是machine leaning的分支,也是neural network(神经网路)的发展[15],单纯的神经网络有很多缺点,如:训练过程容易过拟合,导致训练后的网络模型不能用在其他网络上,而且不易调整参数,参数的精确程度过高,需要大量时间和精力。各个层次的连接数和参数关系到训练的繁琐程度,由于神经元之间是全链接,而且迭代处理每个像素,过程繁琐,计算量大。而CNN方法有权值共享的优点,使计算量大大减小,达到可接受范围。 基于深度网络的人脸表情识别算法(3):http://www.youerw.com/jisuanji/lunwen_83575.html