Softmax分类器深度学习图像分类方法应用综述
2019-02-10盛明伟秦洪德唐松奇
万 磊,佟 鑫,盛明伟,秦洪德,唐松奇
(哈尔滨工程大学水下机器人技术重点实验室,哈尔滨150001)
0 引言
图像分类是把图像中不同目标区分出来的一种图像处理方法,是计算机进行视觉判读的重要手段。随着互联网技术的迅速发展及计算机能力的大幅提升,图像数据的规模逐渐壮大,对图像分类算法的性能要求不断提高。近几年,基于深度学习的图像分类方法取得了突破性进展,并广泛应用于人脸识别[1]、卫星遥感[2]、医疗诊断[3]、自主导航[4]及人机交互[5]等领域。基于深度学习的图像分类方法实现了交通安全监控与管理、意外事故检测及处理、犯罪跟踪、安全解锁以及自主导航等功能,其具体应用分类如表1所示。在深度学习图像分类算法中,Softmax回归(Softmax Re⁃gression,SR)起到了学习已知数据、预测未知数据的作用,是算法中必不可少的环节。
表1 基于深度学习的图像分类应用领域Table 1 Applications of image classification based on deep learning
传统的图像分类技术包括基于色彩、纹理、形状及空间关系等特征的分类技术,这些传统技术对目标间具有明显特征区别的图像有作用,但无法满足当前信息庞大的处理需求。2010年以后,深度学习逐渐成为图像分类领域的热门研究课题,国外的科研人员开展了大量研究工作。Ratle等[6]提出了基于神经网络的半监督图像分类框架,嵌入正则化产生一个操作分类器,用于解决遥感图像分类问题。Vincent等[7]提出了一种堆叠去噪自动编码器(Stacked Denoising Autoencoders,SDA)无监督分类算法,对输入的损坏样本去噪处理,采用无监督训练提高了后续支持向量机(Support Vector Machine,SVM)分类器性能。Krizhevsky等[8]提出了大型深层卷积神经网络模型 AlexNet,包括5个卷积层、3个全连接层和Softmax分类层,是近年来最受欢迎的图像分类模型之一,该成果在2012年获得了ImageNet ILSVRC竞赛的冠军。ImageNet ILSVRC 2014 年的冠军由 Szegedy 等[9]获得,他们提出了一个22层卷积神经网络模型GoogleNet,增加网络深度的同时降低维度,并采用平均池化层代替全连接层与Softmx分类器连接,实现了用极深网络进行图像分类。
国内在图像分类领域的技术发展同样迅速,Zhang等[10]提出了一种新的基于Softmax回归的深度置信网络(Deep Belief Network,DBN)半监督学习算法,用来解决标签数据不足时的人脸识别问题。He等[11]提出了一个残差学习框架来简化大深度网络训练(ResNet),该技术不仅获得了ImageNet ILS⁃VRC 2015年竞赛的冠军算法,也在同一年获得了COCO竞赛的冠军。Zhong等[12]提出了一种新的条件随机场(Conditional Random Field,CRF)模型,基于深度置信网络联合训练进行高光谱图像分类。除此之外,国内越来越多的团队取得了优秀成果并获得了国际图像分类算法类比赛的冠军,如商汤和港中文、海康威视等。
分类器作为图像分类的一项关键技术,种类繁多,常见的有支持向量机(SVM)、K近邻、随机森林以及Softmax分类器,各分类器的优缺点如表2所示。SVM虽然在处理小样本、非线性及高维模式识别问题时表现出特有优势,但是对于较复杂分类问题其分类精度不高,且对当前大数据分类的处理代价太大[13];K近临的算法过程简单且易于理解,但K近临属于一种懒散学习法,当数据分布不均时,分类误差率将会增加,识别准确率低,且其分类过程计算的复杂度大[14];随机森林对于多维特征的数据集分类具有运算能力强、精度高、训练速度快、丢失一些特征不影响结果等优势,但随机森林在某些噪音相对较大的分类问题上会产生过拟合,造成识别效果不佳,这限制了其在复杂图像分类问题上的应用[15]。这些弊端导致上述3种分类器在应用上具有一定的局限性。
Softmax分类器具有分类种类多、应用简单、准确率高、好训练等优点[16],其结合深度模型进行图像分类的算法逐渐占据了图像分类算法的主流,使深度模型的分类准确率不断提高。目前,简单的图像数据集如手写数字库(MNIST)的分类准确率已达到99%以上,大部分图像分类的准确率也都在90%以上。取得如此高的分类准确率,一方面是由于深度模型的出现和应用,另一方面也是由于算法中包含的Softmax分类器效率较高。由此可见,Softmax在图像分类领域占据重要位置,对其研究和改进对提高图像的分类效果具有十分重要的意义。
表2 多种分类器比较Table 2 Comparison of various classifiers
1 Softmax分类器原理
Softmax分类器原理较简单,是一个概率计算过程。神经网络对图像进行分类时,输入图像经过神经网络特征提取后传入分类器,由Softmax分类器训练后可获得参数矩阵θ,θ与图像特征列向量相乘,输出该图像分属各类的概率值。其中,最大值对应类别即为该图像的判定类别。
如图1所示,所展示的是一个典型的简单三分类结构,该神经网络包含了输入层、两个特征提取层和分类输出层。输入特征经过两个特征提取层获得提取后的特征向量,传入Softmax分类器经过矩阵相乘计算,输出属于三种类别的概率。这三个概率和为1准则不变,若输出概率为[0,0.14,0.86],则输入的所属类别为2。
Softmax回归是逻辑回归(Logistic Regression,LR)的一个扩展,与类别标签只能取两个的逻辑回归分类不同,SR为类别标签提供了更多可能,适用于多分类问题。Softmax分类器将输入矢量从N维空间映射到类别,结果以概率的形式给出,公式如下所示
式(1)中,θk=[θk1θk2… θkK]T为权值,是类别所对应的分类器参数,总模型参数θ如下
图1 简单三分类网络结构Fig.1 Simple three classification network
θ由Softmax分类器训练获得,作为参数可计算出待分类项的所有可能类别概率,进而确定其所属类别。给定一个包括n个训练样本的数据集:{(x(1),y(1)),(x(2),y(2)),…,(x(n),y(n))},x代表输入矢量,y为每个x的类别标签。对于一个给定的测试样本x(i),用 Softmax分类器估计其属于每种类别的概率,函数公式如下
式(4)中,1{·}是一个指示性函数,值为真即等于1,值为假即等于0。令J(θ)最小化,即可得出分类器参数θ。
2 Softmax在深度学习图像分类中的应用
自Softmax分类器问世以来,其在图像分类领域的应用越来越广泛,基于深度学习Softmax的图像分类算法采用神经网络模型与Softmax分类器级联的形式实现图像分类[17]。近年来,多种深度学习分类技术被专家、学者们提出用以解决各种图像的分类问题,有些模型已投入到实际应用中,在某些类别的图像分类领域,深度学习甚至令机器人的识别能力超过了肉眼。与Softmax分类器级联的深度学习模型是对图像进行特征表达的一种方式,保留图像的有用信息,使图像分类变得更简单是模型的主要作用,下面详细介绍几种典型的深度学习分类技术。
2.1 Softmax在浅层神经网络中的应用
浅层神经网络即构造简单的神经网络模型,包含输入层、隐含层和分类层三个部分。相邻层的神经元间全连接,层内的神经元互相不连接,采用有监督或无监督的方法训练以获得分类结果。针对大数据图像分类问题,浅层神经网络分类识别技术的模型结构较简单,易理解,但数据流大,学习速度慢,训练容易陷入局部极小值。
BP神经网络就是一种典型的浅层神经网络模型,该网络模型是一种多层前馈神经网络,包括信息的前向传递和误差的反向传播两个过程。信息的前向传递过程中,输入信号经过输入层、隐含层逐层传递到输出层,计算误差,与预测输出进行比较。若输出与预测不同,进入反馈状态,通过反向传播调整权值和阈值来减小输出的预测误差,使结果逐渐逼近预测输出。基于BP神经网络及Softmax回归的分类方法的结构模型如图2所示,ωij是输入层和隐含层间的权值,θjk是隐含层和分类层间的参数,通过训练分类器获得。网络模型隐含层的激励函数一般取Sigmod函数,公式如下所示
激励函数是指隐含层的每个神经元的输入和输出间函数关系,由结点的输入和权值、偏置参数计算,值在[0,1]之间,起到决定输出的作用。
图2 BP与Softmax级联模型Fig.2 Cascade model of BP and Softmax
浅层神经网络分类识别通常采用多层感知器进行特征提取,通过BP网络算法进行训练。汪海波等[18]就提出了一种基于主成份分析的人脸识别算法,其用到的模型通过 PCA层(感知器)与Softmax层连接,如图3所示。在该结构中,PCA层得出的特征值和特征向量经过计算主要成分,得出保留特征向量后乘以权值W并加上截距b(W和b为PCA的训练参数),再进行非线性变换作为SR层的输入,采用反向传播的训练方法及先训练Softmax分类器、再训练整个网络结构的方式进行分类训练,得出训练参数。除此之外,Lei等[19]提出了一种被称为稀疏滤波的无监督两层神经网络模型,与Softmax分类器级联用来解决机械故障诊断问题。这些算法充分说明了Softmax分类器与其他分类器相比,在图像分类领域上具有优势,这也是其成为当前主流分类器的原因。
图3 PCA与Softmax级联模型Fig.3 Cascade model of PCA and Softmax
浅层神经网络因网络模型过于简单的限制,特征提取效果较差。对于处理数据量小、类别数量少、环境单一、图像特征明显的图像,速度和准确率可满足实际需求。然而,其局限性在于在有限样本和计算单元情况下对复杂函数的表示能力有限,针对复杂分类问题其泛化能力受到一定制约。
2.2 Softmax在深度置信网络中的应用
深度置信网络(DBN)是在2006年由Hinton提出的,开启了深度学习的复兴时代,其属于一种生成模型,不仅可以用于特征识别、数据分类,还可以用来生成数据。该技术的训练时间会显著减少,只需要单个步骤就可以接近最大似然学习,但该结构也有可能会陷入局部最优。DBN是由受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)堆叠组成的,RBM是一种二分类模型,只有一层可见层和一层隐藏层,是一种典型的基于能量的模型。所有可见层单元和隐藏层单元之间存在连接,而隐藏层内部和可见层内部不存在连接。经RBM堆叠的DBN是一种层次化的无向图模型,其训练过程主要是将第一个RBM的可见层作为输入层,训练一个RBM并将隐层单元的激活概率(权值)作为下一层RBM的输入来训练第二层RBM,第二层激活概率作为第三层RBM的可见层输入,逐层训练。通过这种逐层贪婪学习的无监督训练,可得到比较好的特征。
深度置信网络虽然在大量多分类问题上很少使用,但解决固定图像分类问题上还是具有很高的应用价值。杨瑞等[20]在传统深度置信网络基础上添加了一层Gabor特征融合层,对输入图像进行Gabor滤波,在进行卷积得到融合后特征再作为深度模型的输入。深度模型结构如图4所示,包含1个输入层、3个隐藏层和1个基于Softmax分类器的输出层。然后训练第一层RBM,包括该层权值及类别标签,对人脸图像进行多尺度表达,第一层RBM的隐层向量由最大似然估计获得。作为可见层的输入,可通过调整参数使该层RBM趋于稳定,然后递归地逐层计算出每层RBM的隐层向量和权值以及各类别标签,得到图像的DBN特征描述。最后将DBN的输出作为Softmax分类器的输入,激活分类器,输出设定类别标签的概率。
图4 DBN与Softmax级联模型Fig.4 Cascade model of DBN and Softmax
此外,Liao等[21]提出了一种基于 DBN 和Softmax分类器的图像二值图像检索方法,采用BP算法进行权值调整,用Softmax分类器进行图像分类,查询图像输入返回为与其相似的图像。Alam等[22]利用DBN生成权重初始化深度神经网络(Deep Neural Network,DNN),建立DBM⁃DNN网络模型,在顶部添加了Softmax分类层,解决了视听生物特征识别问题。同时,该算法论证了Softmax分类器相较于SVM和线性回归分类器(Linear Regression Classifier,LRC)的错误率更低,分类效果更好。而Ding等[23]针对DBN中普遍存在的过拟合问题,建立了基于最大似然估计的权重不确定性DBN模型,解决了过拟合问题的同时,又提高了DBN的图像识别能力。Rasche等[24]又提出了巴氏涂片图像深度置信网络分类算法,该方法同样应用Softmax分类器对巴氏涂片图像分类,完成病灶判别。
DBN具有很高的灵活性,这使得它的拓展比较容易,在图像分类的应用上较广泛。然而,DBN在大数据训练测试中的错误率较高,有待进一步研究。
2.3 Softmax在基于自编码器网络中的应用
自动编码器于20世纪80年代被提出,是一种尽可能复现输入信号的神经网络。自动编码器由编码器和译码器组成,如图5所示。将信息(input)输入一个编码器(encoder),就会得到一个代码(code),若通过解码器(decoder)输出的信息和一开始的输入信号信息很接近,这个代码就属于完全描述了图像的。通过调整编码器和解码器的参数,使得重构误差最小,误差的来源就是直接重构后与原输入相比得到的。自动编码器属于一种无监督特征学习单元,可以建立多层编码器,更优化图像信息特征,使图像分类的特征更简单清晰。之后,Softmax分类器在自动编码器获得图像特征后,对这些信息进行不同方法的分类训练以达到图像分类的目的。例如,梯度下降法、最速下降法等。
图5 自编码器Fig.5 Autoencoder
自编码器在图像分类领域的应用比2.1节和2.2节中的算法结构相对广泛一些,Chen等[25]针对表情识别提出了一种深度稀疏自编码器(DSAN)与Softmax级联的模型,该模型结构如图6所示。其中,hw,b(x)指Softmax分类器进行类别预测时对深度稀疏自编码器的输出数据通过权重相乘、偏置相加的计算获得预测结果,wij、bj分别指网络中的权重和偏置。深度稀疏自编码器在自编码器基础上添加了稀疏性,抑制网络结构隐层中的单元,可提高有用特征的提取能力。同时,该算法可通过优化稀疏参数来获得隐藏层节点和隐藏层数以确定最佳网络模型,通过GD方法训练SR的最优模型参数,用BP算法对整个DSAN进行权重调整以增强面部情感识别性能。整个网络自学习的特征在调整后看起来更加复杂,并且微调使总体成本函数收敛更快,克服了局部极值和梯度扩散的自编码器常见问题。DSAN是一种HRI中完成面部情绪识别的有效方法,已实现了高兴和生气两种情绪识别的人机交互。
此外,Hassan[26]等于 2017年针对医学影像图像提出了一种基于堆叠稀疏自动编码器的分类结构模型。叠加学习的未标记图像输入像素的高级特征,区分包含各种局灶性肝脏疾病的图像。所提出的系统由预处理阶段以及使用水平集方法和模糊C均值聚类算法的肝脏病灶分割组成。最后,softmax层通过选择每个类别的最高概率来区分不同的肝脏疾病。Badem等[27]又针对自动编码器分类模型提出了新的训练方法:基于混合人工蜂群的训练策略(HABCbTS),用来调整结构参数。该策略将无导数的优化算法 “ABC”与基于导数的算法 “L⁃BFGS”结合起来进行训练,性能优于L⁃BFGS、ABC和改进的ABC训练的分类器。
图6 DSAN与Softmax级联模型Fig.6 Cascade model of DSAN and Softmax
自编码器用于图像分类一般采用堆叠形成深度模型,堆叠自动编码器就是用自编码器替换DBN里面的RBM,这就使得可以通过与DBN相同的规则来堆叠产生深度多层神经网络架构,只是堆叠自编码器缺少层的参数化的严格要求。与DBN不同的是,自动编码器使用了判别模型,这就使得网络较难捕捉图像的特征。不过降噪自动编码器却能很好的避免这个问题,并且比传统的DBN更优。自动编码器同DBN一样,同样具有较好的开发空间。
2.4 Softmax在卷积神经网络中的应用
卷积神经网络(Convolutional Neural Network,CNN)[28]与其他神经网络模型最大的区别是卷积神经网络在神经网络的输入层前面连接了卷积层,这样卷积层就变成了卷积神经网络的数据输入层。其学习过程是有监督的,滤波器权重可以根据数据与任务不断进行调整,从而学习到更有意义的特征表达。卷积神经网络可处理数据流大,分类效果极佳,近几年广泛应用于各个领域,甚至很多图像分类竞赛的冠军算法均以卷积神经网络为基础。
卷积神经网络的基本网络结构可以分为四个部分:输入层、卷积层、全连接层和输出层。卷积层即为特征提取层,包括两个部分:第一部分是真正的卷积层,主要作用是提取输入数据特征;第二部分是pooling层,也叫下采样层,主要目的是在保留有用信息的基础上减少数据处理量,加快训练网络的速度。全连接层的神经节点都和前一层的每一个神经节点连接,层内神经元节点之间不连接。输出层神经节点的数目是根据具体应用任务来设定的,如果是分类任务,卷积神经网络输出层通常是一个分类器。如采用Softmax分类器进行输出分类,其神经元节点数即为所分类别数。
李宇等[29]用卷积神经网络和Softmax级联的模型进行了遥感图像的检索分类,如图7所示,级联模型包含了4个卷积层、3个池化层和1个全连接层。在此结构中的激活函数选用的是RELU函数,采用了最大池化方法,并在网络中引入了Dropout层以防止过拟合问题,输出层采用Softmax分类器对图像进行分类,以识别出遥感图像中的多个目标。
图7 CNN与Softmax级联模型Fig.7 Cascade model of CNN and Softmax
在此基础上,Zhao等[30]于2017年提出了基于超像素的多重局部卷积神经网络(SML⁃CNN)模型,提取有效的联合特征表示,Softmax层将由多个CNN学习的特征分类成不同的类别。Choi[31]提出了一种卷积神经网络(CNN)输出优化方法来提高图像分类中低精度类的精度。汤鹏杰等[32]设计了一种深度并行交叉CNN模型,该模型有两条并行CNN提取深度特征,使用Softmax回归对图像进行分类识别。除以上对卷积神经网络的优化,近几年出现了很多新的卷积神经网络模型,可实现大数据分类,且分类效果极佳,如VGG、LeNet、GoogleNet及ResNet等。这些网络模型分别取得了图像分类竞赛近几年的冠军,也是目前深度学习检测算法最常应用的网络模型,且均采用Softmax作为分类器。
卷积神经网络在图像分类上表现惊人,能较好适应图像结构,泛化能力强,在图像特征表达及大数据上的分类表现普遍超过了上述所述的三种网络模型,是目前学术界最常采用的神经网络模型。该网络模型深度及维度不易选择定,图像特征提取过程难以解读,但这并不影响其在图像分类上的优秀表现。
3 深度学习图像分类器展望
图像分类算法在工程应用上主要对目标进行特征识别,是目标检测、跟踪、定位等工作的基础。在应用环境复杂多变、场景内类别数较多时,基于深度学习的图像分类算法因其解决大数据多分类问题上的优势获得了广泛认可。在场景固定、环境单一时,基于色彩、纹理、形状及空间关系等图像特征的传统分类算法可以处理这类简单图像分类问题,但应用深度学习效果更优。在分类器方面,Softmax回归分类器在图像分类领域相比其他分类器表现出更好的性能:应用简单、准确率高、适合大样本、具有多分类功能。
然而,现有算法多局限于针对特定环境下的图像多分类,对图像中的目标特征要求高,较难实现对复杂环境下模糊、远距离目标的识别。同时,基于深度学习的图像分类算法在实时性上也很难保证。另外,Softmax回归分类器因类别标签每一维仅含有一个1的限制,导致其无法解决多标签图像分类问题。多标签分类问题与多分类问题的主要区别在于:前者是每个实例对应多个标签的分类问题,而后者指代每个实例对应单个标签的分类问题。因此,复杂条件下的多分类、实时性保证及多标签分类仍然是需要继续努力的目标。据此,基于深度学习Softmax的图像分类算法的主要发展趋势如下:
(1)Softmax 回归分类器
Softmax回归分类器作为实现分类的关键步骤,起到了极其积极的作用,但仍需要继续探索研究。在提高Softmax回归分类器性能上,可从以下三方面着手:1)改进Softmax回归分类器以提高性能:增加网络层以联合其他分类函数进行多层参数调整,提高精度;采用多个分类器搭建以解决多标签图像分类问题。2)提高训练效果:调整Softmax函数,使其更易收敛;调整损失函数,增加训练效率;寻找新的训练算法以加快训练速度,同时在保证分类性能的前提下减少参数。3)优化数据集:在对分类器进行训练时,采用的数据库多为公开的图像数据集,但这些库的数据采集过程具有人为选择性,尤其是大部分测试库和训练库都比较接近,用此类库进行训练和测试不具有代表性,其准确度会偏高。所以,对于图像分类,未来的数据库应尽量多元化、多清晰度、多来源、多数量,才能有效提高分类效果。
(2)深度学习网络模型特征表达
深度学习应用于图像分类上具有强大的学习能力,可深度挖掘隐含在图像中的目标信息,卷积神经网络表现尤其突出,应用广泛。然而,深度学习网络模型仍存在一些问题,如网络模型的深度和维度如何确定、如何保证网络模型的泛化能力、如何对模糊图像进行特征提取、如何通过少量样本准确抓取图像特征等。因此,在模型上不仅要针对某指定问题找寻最佳网络模型,还需提高模型的泛化能力及小样本特征提取能力,使其不仅简单的区分几类物品。未来应像人眼一样,对生活中遇到的所有类物品都具有学习识别以及跟踪的能力,并不是像目前这样针对某几类图像进行分类,应该达到真正意义上的人工智能。这方面的进一步研究将推进图像处理领域的发展。
(3)高维数据分类
随着图像分类的领域发展,目前大数据多分类问题已不再是难题。随着数据量的增加、多标签的出现,高纬度数据的分类成为图像分类领域又一个待攻克的课题,简单深度网络学习模型已经无法满足要求。目前的普遍做法是考虑将多个分类器集成,以适应数据的维度变化,但集成分类器如何保证分类性能还未可知,亟待研究。此外,可选择构建并行神经网络或三维神经网络以解决此类、甚至未来越发复杂的图像处理问题。
4 结论
图像分类技术在计算机视觉研究领域中具有十分重要的意义和应用价值,基于深度学习的网络模型和最后一层的分类器直接影响着图像分类的结果。本文面向Softmax分类器在深度学习智能识别算法中的应用,回顾了算法发展历程,阐述了多种深度学习网络模型及Softmax分类器在图像分类上的具体表现。同时,对深度学习及Softmax分类器在图像分类技术方面的未来应用与发展及其优化方式进行了展望。