您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 基于深度多任务学习的层次分类
第2*卷第*期计算机辅助设计与图形学学报Vol.2*No.*201*年*月JournalofComputer-AidedDesign&ComputerGraphics***.201*基于深度多任务学习的层次分类赵其鲁,李宗民*(中国石油大学(华东)计算机与通信工程学院青岛266580)(lizongmin@upc.edu.cn)摘要:目前大多数深度卷积神经网络,往往训练平面分类器,忽略了类别之间的结构性.在本文中,我们将层次分类与深度卷积神经网络相结合,使类别之间的结构性信息融入至深度卷积神经网络中.层次分类依托树形的类别结构,学习一组结构化的分类器.按照所处的节点位置,分类器之间具有一定的关联性.利用这种关联性,我们使用一种结构化的多任务分类器学习算法,以增强模型的整体分类能力与特征学习能力.除此之外,为了抑制层次间的误差传播,我们在父类节点的分类器学习过程中,添加一个基于父子关系的结构化限制.通过在两个数据集上的实验,不同网络结构的深度多任务卷积神经网络,相比于基准网络,可以提高2%-4%的分类准确度.关键词:卷积神经网络;深度学习;层次分类;多任务学习中图法分类号:TP181DeepMulti-TaskLearningforHierarchicalClassificationZhaoQilu,LiZongmin*(CollegeofComputerandCommunicationEngineering,ChinaUniversityofPetroleum(EastChina),Tsingtao266580)Abstract:ExistingdeepConvolutionalNeuralNetworks(CNN)aretrainedasflatN-wayclassifiers,andfeweffortshavebeenmadetoleveragethehierarchicalstructureofcategories.Inthispaper,wecombinehier-archicalclassificationwithCNN,whichmakesthecategoryhierarchyembeddingintodeepnetworks.Basedonthestructureofconcepttree,hierarchicalclassificationmethodscantraininter-relatedclassifiersjointlytoenhancetheirdiscriminationpower.Besides,weaddaninter-levelconstrainttotraintheclassifiersofnon-leafnodes,whichcancontrolinter-levelerrorpropagation.Intheexperiments,webuilduptwoCNNswithdifferentarchitectures,andourapproachlowersthetop-1errorby2%-4%.Keywords:ConvolutionalNeuralNetworks;DeepLearning;hierarchicalclassification;Multi-TaskLearning现实世界中的概念可以按照一定的关系组织在一起,比如WordNet[1].WordNet将大量的英文名词按照一定的关系组织成一棵概念树,这些关系包括”抽象-具体”、”整体-部分”等等.概念树包含丰富的知识,对于人工智能中的许多任务,是一个非常好的知识库.在自然语言处理中,WordNet常被用来度量词之间的语义距离[2].在计算机视觉中,概念树常常被用来组织类别,指导层次性分类器收稿日期:20**-**-**;修回日期:20**-**-**.基金项目:国家自然科学基金(61379106,61379082,61227802);山东省自然科学基金(ZR2013FM036,ZR2015FM011);赵其鲁(1987—),男,博士研究生,主要研究方向为计算机视觉、机器学习;李宗民(1965-),男,博士,教授,博士生导师,CCF会员,E200011175S¸论文通讯作者,主要研究方向为图像处理、模式识别、计算机图形学.2计算机辅助设计与图形学学报第2*卷的构建[3].层次分类是一种依托概念树结构的图像分类方法.其所使用的概念树可以分为两类:预定义的概念树和自动生成的概念树.预定义的概念树通常来自一些专业领域(比如生物分类),或者来自某些专家的认知,除了视觉信息,还包含了大量其他方面的知识.自动生成的概念树,由聚类等算法在视觉特征的基础上自动生成,主要包含了概念之间的视觉差异与关联.在这篇文章中,我们关注的是预定义的概念树,因为它包含更为丰富的知识,能够从中学习到表征力更强的特征.依托概念树,层次分类方法训练一棵树形分类器,其优势如下[4]:一,加快预测速度,由树的根节点沿某条路径向下预测,可以将预测时的计算复杂度由O(N)降低到O(logN);二,对于某个节点,其分类器专注于区分其子女节点,而它的子女节点数量相对于叶节点数量是较小的,这使得分类的复杂度有所降低;三,树形结构分割了原先较大的特征空间,这使得每个节点可以专注于自身的视觉特性,为特征选择等方法的使用提供了非常好的条件.其中第一点对大规模图像分类尤其具有吸引力.虽然结构化的树形分类器具有以上诸多优势,但它也受两个很严重的问题困扰:一,层次间的误差传播,当某一中间节点出现分类错误,那么其子女节点注定无法正确分类;二,扩展性较差,当出现新的类别时,有可能需要调整整棵树,代价很大.虽然有些工作提出了一些解决方案,但误差传播和扩展问题仍然是极其具有挑战性的难题.近几年,深度学习以其良好的特征学习能力,逐渐成为诸多计算机视觉任务中的主流方法,尤其是卷积神经网络(ConvolutionalNeuralNetworks,CNNs)[5-6].通过有监督方式训练的CNN,不仅达到了很高的分类准确度,而且网络中间层的featuremaps展现了非常好的特征泛化能力.虽然CNNs在小数据集上容易陷入过拟合的问题,但通过迁移学习的方式[7],将在大规模数据集上预训练的网络在小数据集上进行微调,可以很好的解决过拟合的问题.这些工作已经表明,在大数据的支持下,CNNs有良好的特征学习能力.目前大多数CNNs使用平面的softmax分类器,没有很好地利用类别之间的关联性,这是不合理的.比如,德国牧羊犬与金毛都是狗的子类别,区分这两个类比区分德国牧羊犬与波斯猫难度要大,所需关注的视觉特性也大为不同.为了解决这个问题,我们将层次分类与CNNs的相结合.实际上,二者具有一定的互补作用:层次分类中的结构化分类器设计可以将类别之间的结构信息引入至CNNs中,与此同时,CNNs良好的特征学习能力有助于缓解误差传播对层次分类造成的影响.鉴于此,在本文中我们研究的内容是,如何将层次分类与CNNs相结合,以增强CNNs的特征学习能力与分类器的区分能力.我们从两个方面来思考这个问题:一是网络结构需要如何设计,以契合类别之间的关系;二是分类器如何训练,以反映不同节点之间的关联.对于网络结构的设计,我们可以借鉴HD-CNN[8].HD-CNN与本文的研究内容有些相似,旨在将类别之间的结构信息引入至CNNs中,但几乎没有考虑分类器的联合训练问题.具体的网络结构将在后面介绍,这里只特别说明一下本文与HD-CNN的不同之处:一,HD-CNN没有重视分类器的训练,分类层几乎没有考虑类别结构上的关联;二,HD-CNN的训练方式比较复杂,我们省去了网络预训练的过程;三,HD-CNN使用一棵自动生成的概念树,而我们在本文中使用一棵预定义的概念树.对于分类器的联合训练问题,我们借鉴之前在层次分类方面的一些工作,特别是文献[4][9].具体的方法将在后面介绍,这里只特别说明分类器的设计特点:每个分类器包含两部分预测结构(参数),共享部分和独有部分,其中共享部分为兄弟节点分类器共享,同时也是父节点分类器的独有部分.这种分类器设计考虑了概念树节点的关系,第*期赵其鲁,等:基于深度多任务学习的层次分类3将类别结构融入至分类器学习中,同时也能够影响CNNs的特征学习.1相关工作1.1层次分类利用概念树探索类别之间的结构信息并用于图像分类任务,在计算机视觉中屡见不鲜,这一类工作可以称之为层次分类(HierarchicalClassi-fi-cation).GregoryGriffin等[10],先是使用交叉验证的方式计算混淆矩阵,然后使用谱聚类在混淆矩阵上按自上而下的方式进行层次聚类,生成树形层次结构,接着在每个节点上训练一个SVM分类器,预测时采用弹珠机方式以降低计算复杂度,但囿于层次误差传播,相比于传统的平面分类(flatclassification)精度下降了10%左右.Bengio等[11]提出了Labeltree方法,其生成方式和文献[10]相同.Labeltree方法将每个中间节点当作一个普通的类别,与叶节点类别一起通过多任务学习的方式训练分类器,并在训练过程中将树中的类别结构信息融入至损失函数中,这一点同本文思路一致.Labletree使用交叉验证的方式计算混淆矩阵,需要预训练很多one-vs-all的SVM分类器,这种方法的计算代价很大,并不实用.MarcinMarszalek等[12]使用模糊聚类的方法构建概念树,将靠近分组边界的模糊类别分配至多个子节点,以降低层次间的误差传播.TianshiGao等[13]提出了一种很有特点的方法,借鉴文献[12]模糊分组的思路,将分类器学习与概念树的生成合二为一,形成一棵二叉分类树.其策略是在每个节点都划分出分离性最好的两组类别,外加一组靠近边界的模糊类别.分组方法不是传统的聚类算法,而是使用SVM分类器,简单来讲就是将分组视为一个二分类过程,通过迭代的方式来优化训练样本的正负性以及分类超平面.这种方法的缺点很明显,二叉树深度很大,误差传播带来的损失增大,而且学习过程比较复杂,特别是随着树深度的增加,类别相似度在逐渐增大,分类超平面的学习难度也随之增大.JiaDeng等[14]提出的方法同[13]在思路上很像:允许模糊类别的存在,分类器学习与概念树构建同步完成.不同的是,子女节点的数量大于二,这使得概念树更为平衡.从方法上讲,这篇文章最为独特的地方是用样本所属分组的大小来定义分类效率:样本所属分组的类别数量越小,则预测出正确的类别所需要的分类次数就可能越小,即效率越高.通过限制效率值,可以使得概念树更为平衡.JianpingFan等[4][9][15-16]做了一系列关于层次分类的工作,其代表性工作的大体思路如下:首先计算类别之间的相似度,然后使用谱聚类生成一棵概念树,他称之为视觉树(visualtree);视觉树的基础上,自底向上的训练分类器,在训练分类器的过程中,考虑父子节点之间的关联性,即子女节点共享的视觉特性可视为父节点自身的视觉特性;为抑制误差传播的影响,在分类器的训练过程中加入一个传播限制,即样本属于某个节点的概率不得大于属于其父节点的概率;为了增强特征表征力,在分类器学习或者视觉树构建过程中,加入特征选择机制,除了普通的特征选择方法,还包括特征模态的选择,比如在文献[4]中一共使用了四种不同模态的特征,包括纹理、颜色、形状和结构.Fan的方法在训练上较为复杂,设计上非常精致,但仍然受误差传播的影响,相比于传统的平面分类,精度随着视觉树深度的增加而下降.在本文中,我们借鉴JianpingFan在文献[4][9]中的分类器设计,将其与CNNs进行结合.1.2深度卷积神经网络2012年起,随着卷积神经网络(ConvolutionalNeuralNetworks,CNN)[5-6]在图像分类方面取得的突破性进展,深度学习成为一个研究热点.依据Lecun等[17]的说法,CNN能够学习丰富的层次性的特征.在CNN的基础上,许多科研人员使用预训练的模型在很多任务
本文标题:基于深度多任务学习的层次分类
链接地址:https://www.777doc.com/doc-6195697 .html