本文是一篇计算机应用论文研究,本研究主要针对细粒度识别由于标注困难和长尾分布带来的难以获取和扩充数据集的问题,结合深度学习以及迁移学习,提出了两种解决该问题的模型,这两种模型都可以作为通用的数据集扩充方法为其它任务提供建议和见解。
第 1 章 绪论
1.1 研究背景和意义
计算机视觉是人工智能的子研究领域,其试图创建能够从图像或视频中获取知识的智能系统,是一门指导计算机如何去“看”的科学。该领域研究计算机如何从图像或视频中获得类似于人脑的高级理解。
细粒度图像识别[1,2]作为计算机视觉中的一个基本问题,在近十年来一直是计算机视觉中的活跃领域。其重点研究主类下不同子类区分的技术(例如,对狗类下的子类哈士奇和阿拉斯加进行分类,对汽车类下的奥迪 A4 和奥迪 A6 进行分类等)。一方面,细粒度图像识别在现实生活中的应用十分广泛,例如,针对动植物的细粒度分类可应用于生物多样性检测、针对零售商品的细粒度分类可应用于智能销售、智能运输等;另一方面,细粒度图像识别在学术界具有广泛的研究价值,根据粗略统计,每年都有超过十篇关于细粒度图像识别的文章被发表在许多计算机视觉领域的顶级会议(例如,CVPR、ICCV、ECCV 等)上。以上两方面表明细粒度图像识别在计算机视觉领域中享有举足轻重的影响力。
深度学习[3,4]作为一种强大的表示学习方法,在细粒度图像识别领域取得了巨大进展,其主要实现了将图像从像素空间映射到表示空间,在表示空间内使用分类器对图像进行理解和分类。许多深度学习的应用已经渗透到现实生活中的方方面面,英国伦敦 Google DeepMind 开发的基于深度学习的围棋软件 AlphaGo 曾于2016 年以 4 比 1 的比赛结果战胜了世界顶尖围棋选手李世石,成为世界上第一个击败围棋职业九段棋手的电脑围棋程序。
迁移学习[5,6]也逐渐出现在人工智能领域的舞台并表现出蓬勃的生命力,其主要研究如何将知识从旧任务迁移到相关但不同的新任务上,即如何将在别处学到的经验知识运用到新的问题上以实现知识复用。在国际著名会议神经信息处理系统(NIPS 2016)研讨会上,吴恩达(Andrew Ng)表示:“继监督学习之后,迁移学习将会成为机器学习商业成功的重要驱动力”。这说明迁移学习具有非常广阔的发展空间。
1.2 细粒度识别的问题和挑战
在计算机视觉领域一般存在两种图像识别任务,分别为细粒度图像识别和粗粒度图像识别(通常图像识别),两者的主要区别如图 1.1 所示。粗粒度图像识别旨在对主类中的对象进行分类,例如对鸟类、狗类和水果类进行分类。然而,由于现代社会的快速发展和人类在物质生活上的急切需要,一些现实应用要求计算机视觉模型必须更进一步细分主类下的子类对象,这就对应于细粒度图像识别任务。细粒度图像识别旨在对主类下的子类进行分类,例如对狗类下的子类哈士奇、萨摩和阿拉斯加进行分类。
细粒度图像存在子类间差异小和子类内差异大的样本特性,如图 1.2 所示。从图中的行来看,每一行对应不同子类物种,由于拍摄距离、拍摄角度和个体的姿势、姿态等因素的干扰,子类内图像的差异非常大;从图中的列来看,由于拍摄环境以及不同子类内的个体存在相似的姿态或姿势等因素的影响,子类间图像的差异非常小。
细粒度数据集具有标记困难和长尾分布带来样本集特性,如图 1.3 所示。深度学习模型的性能在很大程度上与样本数据量相关,训练数据越多、质量越高,深度模型的性能就越优异。在现实世界中,一方面,由于细粒度种类的特性,针对细粒度数据集的获取和扩充往往需要领域专家的知识;另一方面,稀有物种在现实生活中的分布具有长尾特性,即主流类别数量占总数量的大半,而稀有类别数量往往只占据总数量的极少部分。综合上述两方面,要在细粒度种类内取得丰富的样本是十分困难甚至是不可能的。
第 2 章 相关知识概述
2.1 细粒度图像识别
细粒度图像识别的目的是使学习系统从细粒度图像分布中提取知识并提升识别性能。在机器学习中,学习算法的定义如下:“对于某些任务T 和性能度量 P ,一个计算机程序被认为可以从经验 E 中学习是指:通过经验 E 改进后,它在任务T上由性能度量 P 衡量的性能将有所提升”。下面将结合上述概念介绍细粒度图像识别。
2.1.1 经验
大部分学习算法可以理解为在整个数据集上获取经验。其中,数据集是由很多个样本组成的集合。根据学习过程中不同经验,可以大致将学习算法分类为监督学习和无监督学习。
在监督学习中,数据集中的每个样本都存在一个标签。例如,对于包含很多鸟类的细粒度数据集中,都标注了每个图像样本属于哪种鸟类。数学上,监督学习观察随机样本 x 以及标签 y ,然后预测其它样本 x 的标签 y ,表示为 p(y| x)。直观上,监督学习可以理解为导师提供目标 y 给学习系统,指导学习系统应该怎么做。
在无监督学习中,学习系统往往需要从数据集中找出有用的结构性质。例如,对于包含很多鸟类的细粒度数据集中,不提供每个图像的标签,但是要求学习系统将这些图像聚成k 个簇,每一簇中的图像或多或少都存在一些相似的性质。数学上,无监督学习观察随机样本x ,试图显式或隐式地学习出一些有意义的性质,或者概率分布 p(x)。直观上,由于没有导师指导,学习系统必须学会在没有指导的情况下理解数据结构。
根据监督方式的不同,本文提出了两种细粒度识别模型,均能够提升细粒度识别任务的准确率:第 3 章,采用无监督学习方式,提出了一种基于迁移学习的无监督细粒度图像分类模型;第 4 章,采用监督学习方式,提出了一种基于领域适应的容器相似性细粒度图像分类模型。
2.2 深度学习
2.2.1 神经网络
(1)激活函数
激活函数存在于神经网络的每个单元内,其模拟了神经科学中神经元的工作方式,即对输入信息进行分析,然后传递给下一个单元,如图 2.1 所示。在现实生活中,实际任务往往要求神经网络拟合的函数是非线性的,而多个线性单元激活后的复合可以使网络具备非常强的非线性拟合能力,从而提高神经网络的拟合性能。常用的激活函数有 Sigmoid 函数、ReLU 函数以及 Softmax 函数等,如图2.2 所示。
1)Sigmoid 函数是一种常见的“S”型函数,常用来表示二值型变量的分布。输入神经单元内的信息经过 Sigmoid 函数处理会被映射(0,1)区间。输入信息越小,则输出信息越接近于 0,输入信息越大,则输出信息越接近于 1。
2)ReLU 函数是一种常用的折线函数,其特殊设计在一定程度上可以缓解训练神经网络时引发的梯度消失问题。输入神经单元内的信息经过 ReLU 函数处理会被映射(0,∞)区间。输入信息为负,则输出信息为 0,输入信息为非负,则输出信息与输入信息相等。
第 3 章 基于迁移学习的无监督细粒度图像分类......................28
3.1 引言...................................28
3.2 TN 分类模型......................... 28
第 4 章 基于领域适应的容器相似性细粒度图像分类......................37
4.1 引言...............................37
4.2 BS 分类模型.....................................37
第 5 章 基于起始点正则化的迁移学习细粒度图像分类........................48
5.1 引言...........................48
5.2 SP 正则化方法..................................48
第 5 章 基于起始点正则化的迁移学习细粒度图像分类
5.2 SP 正则化方法
5.2.1 直观理解
在机器学习中,正则化是一种常用的优化方法。在对深度网络进行优化的过程中,它通过约束有效搜索空间的大小,将网络权重参数推向较优解。通常情况下,网络初始参数是随机的,网络模型对目标任务没有任何先验知识,在搜索空间中,其原点是一个任意点,在网络训练过程中,权重可以被驱动到参数空间的任意点上;在迁移学习中,预训练后的网络模型对目标任务已经学习到了先验知识,在搜索空间中,其原点距离“最优点(终点)”的位置取决于模型掌握先验知识的程度。
受到文献[83]的启发,本章尝试采用 SP 正则化对第 3 章和第 4 章对应的两种模型进行进一步优化验证。SP 正则化示意如图 5.1 所示,图中红色星号“*”表示较优解在参数空间中的位置,黑色加号“+”表示起始点的位置,蓝色圆形区域表示受正则化约束后的搜索空间,直线箭头“→”表示神经网络在训练过程中可能的优化方向。(a)表示神经网络随机参数情况下的 L2 正则化,优化器趋向于无正则化约束下的方向,并在到达正则化边界处停止;(b)表示神经网络在预训练的情况下的 L2 正则化,优化器趋向于上一个解的位置,预训练带来的先验知识被丢失;(c)表示神经网络在预训练的情况下的 L2SP 正则化,优化器沿无正则化约束下的方向趋向于预训练解附近,预训练带来的先验知识被保留。
第 6 章 总结与展望
6.1 研究工作总结
本文简要介绍了细粒度图像识别的背景、意义、问题和挑战,总结了从深度学习技术进入该领域以来,细粒度识别的发展历史和研究现状,介绍了几个主流的细粒度数据集。本研究主要针对细粒度识别由于标注困难和长尾分布带来的难以获取和扩充数据集的问题,结合深度学习以及迁移学习,提出了两种解决该问题的模型,这两种模型都可以作为通用的数据集扩充方法为其它任务提供建议和见解。另外,本文还提出采用起始点正则化方法与上述两种模型联用,进一步提升模型的准确率。