基于深度学习的图像分类分析研究
2019-04-25李翔宇孙晓庆
李翔宇 孙晓庆
随着科学发展,近年来,人工智能、深度学习蓬勃发展,在越来越多的领域中得到了广泛运用,人工智能是当前的热点话题,越来越多的行业正在对人工智能及其相关学科进行研究。人工智能的一大特点就是自学习能力,即提供学习的数据越多,处理能力越强,因此大数据处理是人工智能密不可分的一部分,深度学习作为人工智能的重要部分也具备同样的特点,而图像则是一种重要的学习数据
图像是对人类来说是一种直观的表现方式,我们可以通过图像获取视觉的内容,并且了解其含义,可是对计算机来说,它只能通过图像得到对应的数字矩阵,而通过矩阵来理解内容有一定的难度。因此为了便于计算机理解图像所表达的意义以及传递的思想,需要用到图像分类来解析成计算机可以理解的内容。简单的图像分类包括为图像打上一个具体的标签。复杂的图像分类可以分析图像内容并以人类可以读懂的语句来反馈。
一、深度学习类型
传统分类图像的方法主要通过图像自身特性进行分类,实质是对图像分类基于特征的学习,其中重要的一步是特征提取。在此阶段,运用手动设计的算法,对图像的特定部分编码,比如形状、色彩、材质,用这些特征来评定图像内容。根据这些特征,进而用于训练网络及评估网络。而基于深度学习的分类不同,由监督学习、非监督学习及半监督学习组成。深度学习分类与传统分类的对比如图1所示。监督分类有个特点是要提前建立判别函数。监督学习运用较为广泛的一类。先给定计算机训练数据,创建一个训练集,此模型会对输入给它的数据进行预测,如果发现预测不恰当时,要及时纠正。不断迭代,直到达到某一个停止标准,比如错误率低于某个设定值,或者迭代次數超过某个设定值。常用方法包括K近邻法、马氏距离分类、最大似然法等。K近邻法通常会计算两个数据之间的欧式距离或者是曼哈顿距离,欧式距离如公式1所示,曼哈顿距离如公式2所示。
监督分类方法主要有:均值、方法等。在图像分类中,假设图像的数据集涵盖本身以及对应的分类标签,此分类标签是训练计算机分类器,一旦分类器预测错误,可以用相应的方法来纠正。与监督学习不同,非监督学习没有标签,而是特征向量。实际情况是我们可以比较容易地得到很多无标签数据,假设可以根据无标签数据来学习,则大量用于标记标签数据的时间可以省下。典型的非监督学习算法有PCA和K均值。还有各种算法可以应用到神经网络,如:Autoencoders、SOMs和Adaptive Resonance Theory。半监督学习介于上述两种方式之间,即一些数据带有标签,而另一些则没有。半监督学习在计算机视觉中很有用处,可以先对一些数据贴上标签,进而通过半监督学习来给其它数据进行标签。基于深度学习的图像分类主要有四个步骤,第一步:收集数据集。将大量图像作为数据集,确定好要区分的种类,并做一些去噪,强化等初步处理。第二步:划分数据集,有了大量数据以后,将这些划分为训练集和测试集两部分,一些常用的数据划分比例如图2所示,可以根据实际情况选择所要的比例,如无特殊要求,可以采用一些随机分配算法。第三步:训练网络。确定了训练集后,就可以将这部分数据用来训练网络,可以采用梯度下降等方法进行训练。第四步:评估,训练好网络以后,就可以通过测试集来对网络结果进行评估。
最近几年,随着人工智能的兴起,图像分类的方法更偏向于机器学习。传统机器学习方法 ,大部分使用的是浅层的结构,所处理的数据有限。一旦遇到有更广泛意义的图像数据时,基于浅层结构得到的特征很难完美地处理较为复杂的分类问题,一般会有表现性能和泛化能力不足的缺点。而深度学习在传统机器学习基础上更进一步,可以处理海量图像数据,从中直接学习图像的特征,并且对海量图像数据进行分类。深度学习的优点在于特征学习以及深层结构,这两点有利于提升分类的精度。特征学习可以从海量图像中学习高级特征,也表达了数据内在信息。深层结构则会包括多层的隐层节点,意味着可以运用更多的非线性变换,大大增强拟合复杂模型的能力。本文主要介绍RBM、CNN、SAE这三种典型的深度学习方法。
(一)深度置信网络
深度置信网络RBM如图3所示,是在受限玻尔兹曼机基础上的发展而来,玻尔兹曼机BM属于无监督学习,参数空间的各种情况都是根据能量函数对应能量域中的能量。
RBM可以解析较为复杂的数据,但是随着今年来摄像头等视觉采集设备越来越多,像素也越来越高清,总体来说,现在可以采集到的图像数据比以往更多,特征更复杂,因此深度学习所要处理的数据也随之越来越复杂,深度置信网络处理这些复杂数据,需要用到无监督学习和监督学习相结合的办法。在数据处理的每个阶段都会得到图像数据的特征,而下一阶段会总结归纳前一阶段所得特征信息,达到较好的识别水平。
(二)深度自编码器
深度自编码器SAE是对自动编码器AE进行优化发展。AE包括了编码器及解码器。自编码器结构如图4所示。这两者是图像数据和特征空间的桥梁,编码器把数据反应到特征空间,解码器进行相反的操作,即把特征映射回图像空间,从而对输入数据进行重新构建。在输入与特征空间之间转化过程中可能会产生不同程度的误差,在使用深度学习对图像进行处理的过程中,要注意对学习过程的误差进行处理和约束。AE有不同形式,只需改变或新增对应的约束条件。
SAE则通过AE逐层叠加构成,对得到的图像数据进行编码、然后解码特征,从而简化特征,通过自己的学习训练,对图像数据进行准确分析,得到不同图像数据之间的联系,深度挖掘图像信息,高效而快速地对图像进行分类。
(三)卷积神经网络
卷积神经网络(CNN)学习生物视觉的处理过程,在此基础上构建多阶段Hubel-Wiesel结构。CNN的实质是表现输入到输出的映射关系。在学习之前,输入及输出间不存在特定的数学模型,而CNN通过海量图像数据,学习输入输出间关系,训练卷积网络来建立模型,卷积神经网络如图5所示。
CNN的网络结构比较复杂,由具备不同用途的各個层组成,除了输入输出层,还有卷积、池化、全连接层,先从图像中随机挑出一部分局域来组成训练集,从小部分训练集中学习一些特征,接着把这些特征用于滤波器,同整个图像进行卷积运算,得到原始图像里随机位置的特征。CNN结构中,特征面数目随着深度增加而增加。实际上,当我们运用深度学习对图像分类时,需要根据现实情况选择神经元个数和层数,卷积层和池化层交替设置。假设选中图像数据中连续的范围作为池化区域,只对相同神经元得到的卷积特征进行池化,那么池化后的特征具有平移不变性。全连接层是经过多个卷积、池化层后的一层。全连接层能够对前面几层的数据进行整合,用适合的函数提升自身性能,到了输出层,会对所得信息用诸如逻辑回归(soft max regression)的方法进行分类,需要注意选择恰当的损失函数。卷积运算公式如公式 3所示。其中i表示第i层参数,X代表输入,Y代表输出,b代表偏置,W表示卷积核权重,x、y、z为三维矩阵值。f(x)表示所用的激活函数,*为卷积符号。
对于深度学习划分图像类别的研究发展很迅速,新网络结构以及多网络训练方法伴随着新技术而生,在图像识别领域的创新性及准确率不断提高。卷积神经网络改进的主要模型包括AlexNet、VGG、GoogleNet、ResNet等,技术持续优化,网络深度不断加深,错误率不断降低。CNN经过梯度反向传播算法来对卷积核的参数进行训练,这属于有监督学习算法。同一平面设置神经元权值一致,可以对海量图像数据并行的学习、高效处理图像。
基于深度学习的图像分类一些方面也会不可避免的产生一些问题比如算法问题、图像问题以及应用问题,CNN参数多,而且现在的设置是基于经验及实践,量化分析与研究是其存在的问题之一。需要进一步规范图像数据。此外,目前趋势是网络加深,卷积神经网络的效果更佳,有的甚至达几千层网络,但这样会带来过拟合和耗时长的缺点,因此合理选择网络层数尤为重要。
二、结论和展望
本文首先介绍了深度学习和图像处理的概念,对深度学习在图像分类方面的研究现状进行了阐述,并且对各类深度学习方法进行了分类,介绍了各个方法的优点,特性,并且分析了存在的问题。针对部分问题阐述了相应的解决办法和关键技术。最后总结了基于深度学习的图像分类方法。
随着社会的发展,人工智能越来越多的出现在我们的生活及工作之中,包括各种语音识别,图像识别,自动驾驶。同时,越来越多的地方需要采集图像,分析图像,判断图像,可以说对图像信息进行分类处理将会在越来越广泛的领域内得到发展,而且对图像的分类方法在原来的基础上肯定会不断发展,硬件设备将更加优秀,软件也会日趋完善,在各方面同时发展的条件下,对图像的分类速度也会随之不断加快,正确率也能得到提升,处理效率也会不断提高,因此图像分类处理是一门热点学科。目前来说,基于深度学习的图像分类将在森林防火、军事战略、交通管理等方面蓬勃发展。在实时交通和无人驾驶等相关方面,也需要即时的图像获取及图像分类。基于任务的端至端的卷积神经网络CNN的发展能帮助提升网络实时性,也是发展的一大趋势。同时需要在加快海量图像训练速度以及提升相应硬件设备速度等方面进行研究。