半监督学习调研报告 Semi-Supervised Learning (SSL) Report
半监督学习背景
机器学习基于学习方式分类可以分为监督学习、无监督学习、强化学习。监督学习使用有标注的数据集进行模型训练需要大量的标注数据;无监督学习对无标注数据进行分类,准确性难以保证。在当前时代,部分数据的标注可能会耗费大量资金与人力,如对医学影像进行病例分析,再比如利用群众来对简单的数据贴标签但是结果准确性无法保证。因此如何有效利用大量无标注的数据集成为一个难题。
周志华的机器学习对于半监督学习的定义:“让学习器不依赖外界交互、自动地利用未标记样本来提升学习性能,就是半监督学习。”
半监督学习的研究的历史可以追溯到20世纪70年代,这一时期,出现了自训练、直推学习、生成式模型等学习方法。
半监督学习知识体系
按照待预测的对象分类,半监督学习可进一步划分为纯半监督学习(基于开放世界的假设)与直推学习(基于封闭世界的假设)。
基于机器学习任务进行分类可分为:半监督聚类,半监督分类,半监督降维,半监督回归四大类。
半监督学习方法的四大主流范型
基于生成式模型的方法
密度(概率)估计:
在不了解事件概率分布的情况下,先假设随机分布,然后通过数据观测来确定真正的数据分布是怎样的。这个假设使得我们通过潜在分布的参数将未标记的数据与学习目标练习起来,而未标记的数据的标记则可看作分布的缺失参数,通常可基于EM算法进行极大似然估计。不同的分布假设将产生不同的方法。
优点:此类方法简单易于实现,在有标记数据极少的情况下往往比其他方法表现更好。
缺点:必须保证假设模型的准确,否则利用未标记数据会降低泛化性能。在实际情况中,没有专业知识的情况下很难预先做出准确的假设模型。
样本生成:
有少量训练数据,通过训练后的模型来生成类似的样本。
我们有时会面临数据缺乏数据的情况,我们可以通过生成模型来补足。
在大多数生成模型中,GAN是目前唯一一种直接从数据观测的一步到位的生成模型。
半监督SVM方法
使得SVM在所有训练数据上最大化间隔(穿越数据的低密度区域划分超平面)。TSVM是用有标签数据预训练一个SVM,再利用这个SVM给无标注数据进行标注,当所有数据有标注后又成为了一个典型的SVM问题。这个过程中可能给未标注数据附上错误的标签,而搜寻标记指派可能出错的每一对为标记样本进行调整,是一个涉及巨大计算开销的优化问题。样本的不平衡问题也可能使SVM受到困扰,解决方案是在损失函数中对未标注数据项的正负两个类别赋予不同的权重。
基于图的方法
使用数据结构中的图结构结合不同的边权重算法传递标签将数据集完成分类。
图半监督学习会耗费大量的存储空间,而且再加入新样本后,不易确定新样本在图中的位置,需要使用其他方法来更新图。
基于分歧的方法:
通过使用多个学习器来对未标记数据进行利用,在学习过程中将未标记数据作为多学习器间信息交互的平台。
主要相关研究者及相关工作
1. **南京大学 周志华: **基于分歧的半监督学习、S4VM
论文链接:基于分歧的半监督学习
使用了多学习器,使得它与主动学习中的“多学习器查询(Query bycommittee)”有天然的亲和力,可在几乎不增加计算开销的条件下实现半监督主动学习。具体来说,在每一轮学习中,对未标记样本而言,如果多数学习器的预测结果与少数学习器不一致,那么标记置信度最高的样本就由多数学习器赋予伪标记之后提供给少数学习器学习(少数服从多数),这是半监督学习过程;如果各学习器的预测结果不一致,那么不一致性最高的样本就被选择出来进行查询以获取真实标记,这是主动学习过程。Wang和Zhou证明,这样的半监督主动学习方法比单纯主动学习的样本复杂度更低;换言之,它能用更少的样本达到相当甚至更强的泛化性能。
为了使用该方法,需能生成具有显著分歧、性能尚可的多个学习器。产生多个有分歧的学习器可以从两方面中的一个出发:一个是数据的多视图,另一个则是每个学习器的模型设计不同。
若从第一个方向出发,当有标记样本很少,尤其是数据不具有多视图时,要产生有分歧的多个学习器并不容易。
若从第二个方向出发,模型如何设计,每个模型使用的数据集如何选取,如何在多次迭代后依旧保持模型依旧有分歧。
论文链接:S4VM: Safe Semi-Supervised Support Vector Machine
用到的数据集:
综合实验结果表明,S4VM具有与TSVM相当的性能。更重要的是,与TSVM退化性能相比,在很多情况下,S4VM不会退化性能。S4VM可以更加安全的利用无标注数据。
2. 卡耐基梅隆大学 谢其哲: Self-training with Noisy Student improves ImageNet classification
论文链接:Self-training with Noisy Student improves ImageNet classification
数据集:ImageNet
基于自训练的方法,利用含标注数据训练一个老师学习器,再利用老师学习器给未标注的数据生成伪标签,然后利用伪标签与标注数据再训练一个更大的学生学习器。并将更大的学生学习器作为老师迭代上述过程。在训练学生学习器的过程中,作者从输入与模型两方面加入噪音。输入方面使用Rand Augment进行数据增强,模型方面使用Dropout与Stochastic Depth使得模型的鲁棒性更强。
之前关于弱监督学习的研究需要数十亿的弱标记数据来改进最先进的ImageNet模型。在这项工作中,作者证明了使用未标记图像提高最先进的ImageNet模型的准确性和鲁棒性是可能的。
3. OpenAI研究科学家Ian Goodfellow: Generative Adversarial Nets
论文链接:Generative Adversarial Nets
数据集:MNIST、Toronto Face Database、CIFAR-10
与之前的生成模型框架相比GAN缺点主要是没有显式表示pg(x)导致可解释性较差,G与D两个学习器必须在训练期间能够大致同步。优点是绝不需要马尔科夫链,只需要通过反向传播来获取梯度,而且各种各样的功能也可以并入到模型中。
4. Google Brain 的Mario Lucic: Are GANs Created Equal? A Large-Scale Study
论文链接:Are GANs Created Equal? A Large-Scale Study
数据集:MNIST、FASHION MNIST、CIFAR-10、CELEBA
谷歌大脑的这篇论文对比了如今各种GAN使用INFOGAN的架构在以下的四个数据集中的表现(难易程度从简单到中等),FID的值越小代表生成的信息越真实。可以观察到GAN的生成结果波动很大,没有一个模型比其他模型更稳定。VAE的生成结果较为稳定,但是生成信息质量来说还是比GAN弱一些。
5. Facebook AI Research 的 Guillaume: Lample Phrase-Based & Neural Unsupervised Machine Translation
论文链接:Lample Phrase-Based & Neural Unsupervised Machine Translation
数据集:五个语言对:English-French、English-German、English-Romanian、English-Russian、English-Urdu.
采用了从之前优秀工作中总结的三大准则:并将三大准则应用到PBSMT,NMT模型上。
第三准则也是采用了back-translation(数据增强),重构与初始句子之间的差异为训练目标-源模型参数提供了错误信号。
在之前工作中广泛使用的英语-法语,德语-英语数据上,这篇论文的模型超过之前的SOTA 11个 blue point。在剩下资源缺乏的语言上也取得了比之前工作更优秀的结果。
半监督学习趋势
-
将GAN应用于半监督学习,GAN中的两个核心模块是生成器(Generator)和鉴别器(Discriminator)。这里用分类器(Classifier)代替了鉴别器。利用GAN产生伪标注数据对学习器进行训练。
-
通过上面近期效果较好的几篇论文看出,近期取得较为显著效果的一些半监督学习方法采用了:
I. 通过在损失函数中添加与未标记数据相关的项。
II. 通过数据增强或在模型中加入噪音增加模型的鲁棒性,如Rand Augment,Back-Translation,Dropout等
- 目前研究较多的是基于分歧的方法,其他范型均需要对数据的分布做出假设。
半监督学习中的开放问题
-
目前最重要的圣杯问题是“安全”半监督学习问题,即利用未标记数据后期望性能会有所提升、同时还必须确信性能不会坏于只利用有标记数据学习。
-
若部分半监督算法依赖的模型假设不正确,则对未标记数据利用越多,性能越坏。
-
半监督学习中,标注数据的比例与无标注数据数量的比例什么大小最为合适。
-
目前半监督学习在各种试验中效果较好但是面对复杂的实际情况还是无法超越监督学习。
参考文献:
机器学习——周志华