
✎ 不平衡数据集
文献“一种新的SVM主动学习算法及其在障碍物检测中的应用(2009)”提出 KSVMactive 主动学习算法;文献“基于主动学习的加权支持向量机的分类(2009)”提出了改进的加权支持向量机模型;文献“基于专家委员会的主动学习算法研究(2010)”提出了基于SVM超平面位置校正的主动学习算法。

本节将围绕如下要点对主动学习方法的研究现状展开讨论,包括:
此外,主动学习方法在近几年的进展不仅局限于上述归类的方法,本节将其总结在“其他主流的主动学习方法”(本文涉及的参考文献,都可以通过文末的参考文献提供的链接中获取)。

主动学习作为机器学习的一个子领域,核心思想是通过一些启发式策略找到相对最具有“价值”的训练样本,使得模型能够以尽可能少的标注样本达到甚至超过预期的效果。主动学习的概念是Simon[23]在1974年提出。随后,主动学习方法在许多领域中层出不穷,并进一步被归纳为生成式成员查询(Membership Query Synthesis)、流式主动学习方法(Stream-Based Selective Sampling)和基于未标注样本池的主动学习方法(Pool-Based Sampling)等经典的场景[4]。Angluin等[24]于1988年提出了生成式成员查询场景,模型通过预设的条件控制生成新的样本并向标注专家询问标签;由于当时生成模型的能力有限,并且无法较好的控制生成所需的样本,因此这类方法的应用范围未被推广。Atlas等[25]在1990提出了基于数据流的方法,模型按照顺序依次判断是否需要对样本进行标记。由于基于数据流的方法不需要将所有样本统一放在池中,因此适用于存储空间较小以及处理能力有限的情况(如,应用到移动设备),但存在最大的缺陷是无法获取样本的结构分布。相较之下,基于未标注样本池的主动学习方法[26]将大量未标注样本构成未标注样本池,通过设计样本筛选策略从未标注样本池中筛选出最有“价值”的样本优先进行标注。此外,伴随着互联网的热潮以及数据采集技术的不断提升,很多领域能够以廉价的成本获取大量的未标注数据。因此,基于未标注样本池的主动学习方法最流行并且广泛应用于不同的领域中,在机器学习和数据挖掘的应用中处于非常重要的地位。样本筛选策略的质量直接影响到基于未标注样本池的主动学习方法的效果。目前,一些手工设计策略不断被提出并应用到主动学习方法中,如不确定性策略和代表性策略。文献[27,28]通过计算信息熵(entropy)表示最不确定的样本。文献[12,29,30]使用SVM作为目标分类器,通过选择距离支持向量最近的样本作为最不确定的样本。Seung等[31]首次提出了基于委员会的筛选算法(Query-by-Committee,QBC),首先训练了一组分类器组成委员会。紧接着,以委员投票的方式决定筛选哪个样本作为最不确定的样本。随后,一些基于QBC的改进方法不断被提出:例如,Breiman等[32]基于Bagging提出的Query-by-Bagging(QBBAG)以及Mamitsuka等[33]基于Boosting提出的Query-by-Boosting(QBB)。对于样本的代表性策略,文献[34,35]通过使用未标注样本的先验密度(PriorDensity)作为不确定性指标的权重,从而达到利用未标注样本的目的。Settles等[28]提出一种相似的框架,使用cosine距离衡量信息密度(InformationDensity)。✎ 批量式主动学习(BatchModeActiveLearning,BMAL)方法目前,大多数主动学习方法存在一个共同的问题:串行地筛选样本,即每次迭代选择一个样本进行标注,这种方式非常低效且无法满足大多数实际需求。在实际应用中,往往需要以分布式的形式并行处理,多名标注专家同时在不同的环境下标注样本。BMAL旨在每次迭代中能够产生一批未标注样本,同时提供给多名标注者,从而极大地提升了应用效率。BMAL的发展历程中,起初,有研究尝试将很多不同的预测模型应用到不同的策略中。但他们在筛选样本时,只使用了单一的不确定性指标或者多样性指标的主动选择策略,导致所挑选的样本中存在大量的冗余信息,从而造成了额外的标注成本。基于此,Li等[36]提出一种新颖的自适应组合式的样本筛选策略,将不确定性策略和信息密度指标进行结合。在每次迭代中,通过自适应地调整两种策略的权重,从而选择最具有“价值”的样本给专家标注,并在三组图像分类数据集上验证了所提出方法的有效性。Gu等[37]提出了一种面向多分类的BMAL,通过组合不确定性策略和多样性策略,并在两组图像分类的数据集上进行验证,实验结果表明该方法能够挑选出同时满足最不确定性和最具多样性的样本。Zhou等[38]通过组合不确定性指标和多样性指标,同时引入了迁移学习和数据增强等技术,提出了AIFT方法并将其应用到医疗图像领域,验证了该方法至少能够减少一半的标注成本。Cardoso等[39]在传统BMAL的基础上提出了一种排序批量式主动学习方法(RBMAL),通过生成一个优化过的排序表决定样本被标注的优先级。RBMAL避免了标注专家频繁等待被选中的未标注样本,实验结果表明RBMAL能够在保证甚至提升模型性能的条件下显著地减少标注成本。此外,为了更加充分利用大量未标注样本的信息,有研究员[40,41,42]尝试将聚类算法引入主动学习中。然而,目前大多数聚类方法都是先通过手工提取特征再聚类,在很大一定程度上局限于特征的质量。我们尝试将卷积自编码聚类算法[43]应用到BMAL中,通过将特征提取和聚类算法以端到端的形式整合到同一个模型里(本文暂不展开介绍)。从而既能够提升聚类性能,又能够利用卷积神经网络的优势处理更复杂的图像。半监督学习能够在少量标注成本的情况下训练模型,通过挑选出预测结果较明确的样本并由模型直接给标签,但是容易产生噪声标签。而主动学习则是挑选预测结果最不确定的样本给专家标注,能够保证标签质量。因此,半监督学习方法和主动学习方法的结合能够在一定程度上互补优缺。1998年,McCallumzy等[44]首次组合了QBC和期望最大化(EM)算法,使用朴素贝叶斯方法作为分类器并在文本分类任务上进行实验。随后,Muslea等[45]提出了一种QBC的改进方法,联合测试方法(Co-Testing),通过分别在不同视角训练的两个分类器共同筛选样本给专家标注,并将其与联合期望最大化(Co-EM)算法结合。Zhou等[46]尝试将Co-Testing和Co-Training方法进行结合并在图像检索任务中验证了算法的优势。此外,文献[47,48,49]组合了不确定性策略和自学习方法(Self-Training)。上述方法将半监督学习和主动学习巧妙地结合,充分利用各自的优势并弥补不足,取得了显著的成绩。然而,目前的半监督主动学习方法尚未对噪声样本进行有效地处理,因此仍会对模型造成不小的影响。GANs对提升主动学习方法的样本筛选效率具有重要的意义。文献[19,50]将主动学习策略结合生成器构建目标函数,通过解决优化问题使得生成器直接生成目标样本,提升了筛选样本的效率。Huijser等[20]首先使用GAN沿着与当前分类器决策边界垂直的方向生成一批样本。紧接着,通过可视化从生成的样本中找出类别发生改变的位置,并将其加入待标注样本集。最后,通过大量的图像分类实验验证了该方法的有效性。此外,除了图像分类任务以外,主动学习方法与GAN的结合也广泛应用到其他领域中,例如离群点检测[21]。Huang等[51]提出一种针对深度神经网络的主动学习方法,能够用更少的标记样本将预训练好的深度模型迁移到不同的任务上,从而降低深度神经网络的学习代价。Huang等[52]提出一种结合主动学习和矩阵补全技术的方法,能够在特征缺失严重的情况下有效利用标记信息,节省特征提取代价。Chu等[53]认为应用在不同数据集上的主动学习策略存在有效的经验,并且这些经验可以被迁移到其他数据集中进而提升模型或者策略的性能。作者尝试将模型迁移到不同的数据集中,实验部分证明了当前大多数策略不仅存在有效的经验,而且经验能够被迁移到不同的数据集中,并提升特征学习任务的性能。最后,值得一提的是,考虑到上述归纳的主动学习方法中,任务模型是根据先验知识从现成的模型中筛选,即模型的网络结构是固定的。存在如下缺陷:
如下图所示,Geifman 等人首次尝试将NAS应用到主动学习方法中,使得模型的网络结构能够自适应新增的标注数据。实验结果表明,加入NAS后的主动学习方法的效率显著地优于固定网络结构的主动学习方法。


主动学习如何减少标注样本的简单案例
如下图所示,文献《Active Learning Literature Survey》提供了一个基于 pool-based的主动学习案例。其中,数据集(toy data)是从高斯分布产生的400个样本,任务是2分类问题(每个类有200个样本),如(a)图所示将这些数据映射在2D特征空间上;图(b)使用了逻辑回归模型,通过训练随机选择的30个标注样本,得到70%的验证精度,蓝色线表示决策边界(decision boundary);图(c)同样使用逻辑回归模型,但训练的30个标注样本是通过主动学习策略(uncertain strategy)选择而来,达到90%的验证精度。这个简单的案例体现了引入主动学习策略所带来的效果,使用30个标注样本能够提升20%的精度。值得注意的是,上述2分类的样本分别200个,样本数据非常平衡。但是在实际应用中,分类样本数据比例往往不能达到1:1,相关领域的研究者正在尝试解决这类问题。

早期图像分类数据集的实践
如算法2-1所示给出了“基于为标注样本池的主动学习方法”,本文也在第一部分详细地介绍了主动学习的基本流程,此处不再赘述。

本文分享的实践部分,按照算法2-1分别对MNIST、Cifar-10和Dog-Cat三个数据集进行实验(分类模型使用了AlexNet,深度学习框架使用了PyTorch)。如下表所示,在MNIST数据集的实验中(train_num=55000, val_num = 10000):
此外,将训练好的模型对剩余的50000(55000-5000)张样本进行预测,得到99.70% 的效果。由此可见,仅仅使用不确定性策略在MNIST数据集上,就能够显著地减少大量的标注成本。值得注意的是,表中所示的三组图像分类数据集acc_left_active_samples 的准确率都很高。这部分样本表示未被主动学习策略筛选中的样本,即当前模型已经具备识别这部分样本的能力。因此,模型在训练数据集的准确率达到 99.4% 时,使用当前模型对 acc_left_active_samples 这部分样本进行预测的精度也同样在 99.378% 左右,甚至更高。

问题1:主动学习为什么有时还能提升分类模型的准确率?杨文柱等人发表的“主动学习算法研究进展”给出的解释是:标注样本可能存在低质量的样本,会降低模型的鲁棒性(模型过渡拟合噪声点)。如何高效地筛选出具有高分类贡献度的无类标样例进行标注,并补充到已有训练集中逐步提高分类器精度与鲁棒性是主动学习亟待解决的关键问题。重点关注每个样本预测结果的最大概率值:p_pred_max。我们初步认为 p_pred_max>0.5 的情况表示当前模型对该样本有个确定的分类结果(此处分类结果的正确与否不重要);反之,当前模型对该样本的判断结果模棱两可,标记为hard sample;比如:模型进行第一次预测,得到10个概率值,取其最大的概率 p_pred_max;对P(real lable) < p_threshold(此处的10分类任务取p_threshold=0.5)的样本进行排序,取前N个样本加入集合train_samples中;
淘系商品的二分类问题
背景:商品的单包装和多包装属性影响着客户对商品价格的认知。比如:有些多包装属性的标价较高,但实际单价可能已经很划算了,而客户误将多包装的价格认为是单价,导致购买意向降低。因此区分出商品的包装属性对提高客户购买意向和优化商品价格分布具有较大的实际意义。对于此问题,有多种不同的解决方案。其中,基于图像的分类方法能够直接的区分出商品的单/多包装属性。然而,监督学习需要大量的标注样本,众多品类将产生大量的标注需求,如何能够显著地减少标注代价也同样具有重大的意义。因此,我们尝试将主动学习方法应用图像分类中,解决单包装和多包装的二分类问题。如下图所示,我们分别对比了随机筛选策略和不确定策略。实验结果表明,引入不确定性策略主动筛选样本显著地减少了标注成本。

此外,我们尝试了更加复杂的模型(DesNet121),提高模型学习能力的同时,也带来了更多训练时长的弊端。但总体的分类精度提升了3pt。同时,我们也分别在AlexNet和DenseNet121等模型上验证了模型预训练带来的效率。
