AIDL简介
“人工智能前沿讲习班”(AIDL)由中国人工智能学会主办,旨在短时间内集中学习某一领域的基础理论、最新进展和落地方向,并促进产、学、研相关从业人员的相互交流。对于硕士、博士、青年教师、企事业单位相关从业者,预期转行AI领域的爱好者均具有重要的意义。2018年AIDL活动正在筹备,敬请关注公众号获取最新消息。
导读
2017年三月,中国人工智能学会举办了第二期《人工智能前沿讲习班》,东南大学耿新教授做了题为《标记分布学习范式》的报告。报告详细介绍了标记分布学习范式的研究背景、定义、算法、实验结果和具体应用。本文根据耿新教授当日的报告内容整理发布。
讲师简介
耿新,东南大学教授、博导、副院长,模式学习与挖掘(PALM)实验室主任,国家优青,江苏省杰青。主要从事模式识别、机器学习、计算机视觉等方面的研究。在重要国际学术期刊和会议发表论文五十余篇。现为CCF青年工作委员会执委,江苏省计算机学会理事、青年工作委员会主任,CCF人工智能与模式识别专委会、计算机视觉专委会委员,中国人工智能学会机器学习专委会、模式识别专委会委员,《Frontiers of Computer Science》青年编委。
一、标记分布学习范式
1.标记分布学习的背景
神经网络具有多义性(Ambiguity),如果我们把监督学习理解为学习一个映射,多义性是指该映射不是简单的一对一映射,而是以下三种情况:(1)多示例学习范式,即多个示例对应一个标记;(2)多标记学习范式,即一个示例对应多个标记;(3)多示例多标记学习范式,即多个示例对应多个标记。
标记分布学习范式属于标记端多义性。下图中方块表示示例,圆表示标记。多标记学习位于坐标轴的最右端,多义性最强。在多标记分布学习中,一个示例对应所有可能的标记,并且明确的给出每个标记的重要性分布,表示每个标记的重要程度。标记分布学习比多标记学习更具有泛化性。
2.标记分布学习的概念和定义
概念性定义:给定一个示例x,给每个标记y赋予一个实数值
,表示y描述x的程度,进一步假设标记集合是完备集。满足上面条件的
称为y对x的描述度。对一个示例来讲,所有标记的描述度构成的数据结构称为标记分布,在以标记分布标注的示例上学习的过程称为标记分布学习(LDL)。
传统的单标记学习(SLL)和多标记学习(MLL)是标记分布学习的特例,标记分布学习与含数值标记指示的学习方法在训练集、测试集、预测结果和评价指标等方面存在差异。
形式化定义:
是一个输入空间,
表示标记空间,包括所有可能的标记。给定训练集S,其中Di表示示例xi的标记分布,标记分布学习的目标就是从训练集中学习条件概率质量函数
。
使用参数形式
定义标记分布学习的优化目标。我们使用K—L散度来测量两个分布之间的距离,得到如图所示的优化函数,优化目标是让所有样本的预测分布与真实分布的距离之和最小。通过适当简化可以得到最大化形式的优化目标。
3.标记分布学习算法
LDL算法一般有以下三种设计方法:
第一种是问题转化方法,即将LDL问题转换成传统的单标记学习或多标记学习问题,然后用相应学习算法解决问题。该类算法有PT-Bayes算法和PT-SVM算法,PT-Bayes算法是假设每类(标记)服从Gaussian分布,通过Bayes公式计算每个类的后验概率作为对应标记的描述度。PT-SVM算法是基于成对耦合的多分类概率估计。
第二种是算法改造方法,即对传统的学习算法进行改造,为能够处理标记分布。该类算法有AA-kNN算法和AA-BP算法。AA-kNN算法首先要找到测试示例的k个最近的邻居,然后计算k个邻居的标记分布均值,最为测试示例的标记分布预测。AA-BP算法是使用神经网络进行标记分布预测,网络有c个输出单元,每个单元输出一个标记的描述度,使用BP算法最小化神经网络的输出与真实标记分布间的误差平方和。
第三种是设计专用算法。专用算法可分成两类,第一类是把LDL问题看作一个分类问题。使用条件质量函数
对示例x到标记y的映射建模,该类算法包括IIS—LLD、 BFGS—LLD、GPNN,SCE—LDL等。第二类是把LDL问题看作一个多元回归问题。使用多元回归函数对示例x到标记y的映射建模。该类算法有LDSVR和LDLogitBoost。
使用预测标记分布与真实标记分布之间的平均距离/相似度来评价LDL学习算法。我们通过30个独立实验对41种距离/相似度评价指标进行计算。通过计算指标和指标之间的距离进行聚类,如蓝线所示,连线越靠右面就表示相差异就越大。根据聚类过程提出四个选择准则,(1)任何两个度量之间的距离要大于0.1;(2)每个度量来自不同的语法族;(3)指标不易受到不稳定情况的影响。(4)选择相应领域里面常见的指标。最终根据四个评价准则选择出6个标记分布学习的常规评价指标,如图中表所示,箭头向下表示指标越小越好。
4.标记分布学习范式实验
首先,在人造数据集上进行实验。通过构造一个示例x和标记分布之间映射明确的函数,对x的三个分量在[-1,1]内均匀随机采样500次,得到500个样本的训练集,对x1,x2在[-1,1]内以0.01为间隔的网格上进行采样,通过函数生成第三个分量,构成测试集。
我们通过六种算法评价指标来评价实验算法。括号中数字是每个算法在不同评价指标上的排序,倒数第二行是平均排序,平均排序越好算法越好。观察可知,同一种算法在不同的评价指标上表现不同,说明这六种评价指标的侧重点各有不同。在所有算法中,两个专用算法SA—BFGS和BA—IIS效果最好。
然后,在15个真实数据集上进行LDL算法的评价。结果表明,专业算法比传统的算法转化或者改造的算法更好。因为真实数据集不满足Gaussian假设,所以PT—Bayes算法结果最差。AA—BP算法是一个神经网络,训练数据较少容易产生过拟合。KNN算法既简单、又稳定,保留了分布的整体性,是除了专业算法之外最好的算法。PT—SVM算法因为对每一个标记分别做预测,破坏了整体性,所以效果不如KNN。
5.小结
标记分布学习是一种比传统单标记和多标记学习更为泛式的一个范式,更重要的是,它能够处理标记的不同重要程度,这个重要程度的处理是LDL需要重要解决的问题。其次,在很多实际问题中,LDL对问题的匹配更好一些。有前面实验结果可知,需要对LDL算法进行专门设计才能取得更好的结果。最后,需要专门的评价指标,可以根据实际问题设计不同指标,也可以使用推荐的六个评价指标来评价算法性能。
二、标记分布学习应用
标记分布学习数据有三个来源,第一是来自原始数据,数据集本身包含标记分布。第二是来自先验知识,通过一定方法把先验知识转化为标记分布。第三是用学习算法从数据中学习标记分布。后面两个情况,数据中原本没有标记分布,是通过一个学习过程将简单标记变成一个标记分布,这个过程叫做标记增强。标记分布目前在以下9个方面成功进行了应用。
第一个应用是表情识别。数据库图像的原始数据中包括六个基本情感的打分,而我们想要知道图像表达的情绪有哪几种。我们通过增加了一个虚拟标记(蓝色柱)作为的阈值,大于阈值表示情感是相关的,小于阈值表示情感是不相关的。通过标记分布算法对包含虚拟暴击的整个分布进行预测,继而判断图像表达的感情。
第二个应用是文本情感识别,即识别句子中反映的情绪。优化目标是最小化预测分布与真实分布的距离,通过第二个正则项的权重w把心理学领域研究的情感关系融入到学习过程中去,提升算法精度。
第三个应用是电影评价预测,通过利用下图表格中的属性来预测未发行电影上映后的评分分布,让发行商对电影票房有更好的把握。
第四个应用是人脸年龄估计。首先利用先验知识对一张照片进行多个年龄的标注,真实年龄贡献最大,周边年龄贡献降低,形成中间高、两边低对称的年龄分布,这样可以使一张照片为多个年龄的训练做贡献,扩增了训练数据量。然后利用标记分布算法(HS-LLD和CPNN)进行年龄估计,增加了取得了非深度学习方法中最好的结果。
第五个应用是头部姿态估计。利用相关先验知识,使用二维分布标注图片中头部的姿态。通过标记分部学习进行姿态估计,可以避免了因为数据标注不准确产生的问题。
第六个应用是视频行为解析。利用先验知识把视频中语义单元的变化情况使用标记分布表述出来。通过滑动窗口方法,利用交叉比例来计算不同时刻的描述度,从而生成一个完整的标记分布。然后利用标记分布学习进行视频行为解析。实验结果相比传统方法有本质的提升,该算法(SP)在多个数据库上的平均结果比RNMS算法提高135%,比SSRG算法提高69%。
第七个应用是自然场景图像多标记排序。多标记排序首先需要对标记进行分类,确定相关标记和不相关标记,然后对相关标记按照重要程度进行排序。由于不同人理解不同,因此原始数据是主观、不一致的标注。解决方法是把每张图像的所有标注综合到一起,得到初始分布,然后通过偏好分布学习预测最终的标记分布。利用虚拟标记区分相关标记和不相关标记,根据最终标记分布的各项权重进行多标记排序。
第八个应用是相对重要性多标记学习。一个示例与多个标记同时相关时,标记的重要性不完全相同。通过标记传播过程计算不同标记对于一个示例的重要程度,最终得到示例的标记分布。
最后一个应用是多标记流形学习。利用平滑假设把X空间的局部特征空间直接迁移到Y空间去,在标记空间进行流形学习,从而得到示例的标记分布。
资源分享
所有LDL论文、算法代码和数据集可从如下地址下载:http://cse.seu.edu.cn/PersonalPage/xgeng/LDL
感谢AIDL志愿者宋平协助整理!