智能医疗诊断等领域:在医疗领域,深度学习的发展为包括诊断在内的多个方面带来了革命性的发展。数据驱动的方法必然需求大量的有标注数据,而标注医疗图像不仅耗时耗力,而且需要特定的专业知识,所以利用主动学习选择模型难以预测的样本进行选择地标注是非常有实际意义的。 有很多论文在研究主动学习在医疗领域的应用,但在实际应用和落地中,医疗诊断面临的最首要的问题还是精度和泛化性能。由于医疗数据是小样本,这些最重要和最基本的问题没有被彻底解决,所以主动学习的热度并不大。但是还是有一些公司在应用,例如腾讯 AI Lab 使用主动学习和难例挖掘方案 中国首款智能显微镜获批进入临床:病理诊断 AI 化,腾讯 AI Lab 打造
虽然考虑到主动学习的出发点和要解决的问题都比较实际,但是目前的主动学习方法在实际应用的话还是存在一些问题。 性能不稳定:制约主动学习最大的问题就是性能不稳定。主动学习是根据自己指定的选择策略从样本中挑选,那么这个过程中策略和数据样本就是影响性能的两个很重要的因素。对于非常冗余的数据集,主动学习往往会比随机采样效果要好,但是对于样本数据非常多样,冗余性较低的数据集,主动学习有的时候会存在比随机采样还差的效果。数据样本的分布还影响不同主动学习的方法,比如基于不确定性的方法和基于多样性的方法,在不同数据集上的效果并不一致,这种性能的不稳定是制约人们应用主动学习的一个重要因素。 在实际应用中,需要先根据主动学习进行数据选择和标注,如果此时的策略还不如随机采样,人们并不能及时改变或者止损,因为数据已经被标注了,沉没成本已经产生了。而优化网络结构和性能的这些方法就不存在这个问题,人们可以一直尝试不同的方法和技巧使得性能达到最好,修改和尝试的损失很小。 而主动学习被要求得更加苛刻,几乎需要将设计好的策略拿来直接应用就必须要 work 才行,如果不 work,那些被选择的样本还是被标注了,还是损失时间和金钱。苛刻的要求和不稳定的性能导致人们还不如省下这个精力,直接采用随机的标注方式。 脏数据的挑战:现在几乎所有的论文都在公开的数据集、现成的数据集上进行测试和研究。而这些数据集其实已经被选择和筛选过了,去除了极端的离群值,甚至会考虑到样本平衡,人为的给少样本的类别多标注一些,多样本的类别少标注一些。而实际应用中,数据的状况和这种理想数据集相差甚远。主动学习常用不确定性的选择策略,不难想象,噪声较大的样本甚至离群值总会被选择并标注,这种样本可能不仅不会提升模型的性能,甚至还会使性能变差。 实际中还存在 OOD(out of distribution)的问题,例如想训练一个猫狗分类器,直接从网络中按关键字搜索猫狗收集大量图片,里边可能存在一些老虎、狮子、狼等不在猫狗类别的无关样本,但是他们的不确定性是非常高的,被选中的话,并不会提升模型的性能。 难以迁移:主动学习是一种数据选择策略,那么实际应用中必然需求更通用、泛化性更好的主动学习策略。而目前的主动学习策略难以在不同域、不同任务之间进行迁移,比如设计了一个猫狗分类任务的主动学习策略,基于不确定性或多样性,达到了较好的性能,现在需要做一个新的鸡鸭分类的任务,那么是否还需要重新设计一个策略?如果任务是病变组织的分类呢? 由于不同任务的数据分布特点可能不一样,不同任务的难易不一样,无法保证主动学习的策略能够在不同数据不同任务中通用,往往需要针对固定的任务设计一个主动学习策略。这样就耗费了精力,如果能有一个通用性好的主动学习策略,那么就可以被不同任务迁移,被更广泛地应用,甚至直接将其部署为通用标注软件,为各种任务、数据集,提供主动选择和标注功能。 交互不便:数据选择策略与标注过程联系紧密,理想的流程是,有一个整合的软件能够提供主动数据选择,然后提供交互界面进行标注,这就是将主动学习流程与标注软件结合。仅有高效的主动学习策略,而不方便标注交互,也会造成额外的精力浪费。在流程上,现在主动学习普遍是选择出一批待标注的样本后,交给人们去标注,而期望人们能尽快标注交给模型,模型继续训练后再次选择。 人们标注的时候,模型既不能训练,主动学习也不进行其他操作,是个串行的过程,需求等待人工标注结束后,才能进行接下来的训练。这样的流程就不那么方便和高效,想象把主动学习+标注的系统给医生应用,策略先选出了一些样本,医生仅标注这些样本就标注了几天,然后再给模型训练,模型训练一段时间后,又选择出一些样本给医生,医生和模型互相等待对方的操作,降低了效率和便利性。
最新研究方向及论文推荐
下面我介绍一些主动学习目前最新的阅读价值较高的论文,供大家把握研究方向和热点。如果大家有兴趣,可以持续关注我 github 上的 awesome-active-learning paper list,我会实时更新有价值的主动学习方面的工作,供大家学习和交流。
8.1 主动学习问题和方法的探究
目前主动学习的基本方法和问题还存在一些不足,有一些最新的方法试图解决这些问题。 Mind Your Outliers! Investigating the Negative Impact of Outliers on Active Learning for Visual Question Answering (作者之一,李飞飞)
https://arxiv.org/abs/2107.02331
主动学习有望缓解监督式机器学习的海量数据需求:它已成功地将样本效率提高了一个数量级,例如主题分类和对象识别等传统任务。然而,作者发现与这一现象形成鲜明对比的是:在视觉问答任务的 5 个模型和 4 个数据集中,各种各样的主动学习方法未能胜过随机选择。为了理解这种差异,作者在每个示例的基础上分析了 8 种主动学习方法,并将问题确定为集体异常值——主动学习方法更喜欢获取但模型无法学习的一组示例(例如,询问文本的问题在图像中或需要外部知识)。 通过系统的消融实验和定性可视化,作者验证了集体异常值是导致基于池的主动学习退化的普遍现象。值得注意的是,作者表明,随着主动学习池中集体异常值的数量减少,主动学习样本效率显着提高。 Contrastive Coding for Active Learning Under Class Distribution Mismatch:https://openaccess.thecvf.com/content/ICCV2021/html/Du_Contrastive_Coding_for_Active_Lea
基于以下假设:标记数据和未标记数据是从同一类分布中获得的,主动学习 (AL) 是成功的。然而,它的性能在类别分布不匹配的情况下会恶化,其中未标记的数据包含许多标记数据的类分布之外的样本。为了有效地处理类分布不匹配下的AL问题,作者提出了一种基于对比编码的 AL 框架,名为 CCAL。 与现有的 AL 方法专注于选择信息量最大的样本进行标注不同,CCAL 通过对比学习提取语义和独特的特征,并将它们组合在查询策略中,以选择具有匹配类别的信息量最大的未标记样本。理论上,作者证明了 CCAL 的 AL 误差具有严格的上限。 LADA: Look-Ahead Data Acquisition via Augmentation for Active Learning:
https://arxiv.org/abs/2011.04194
在主动学习的获取过程中尚未考虑从数据增强产生的虚拟实例的潜在收益。在数据获取的过程中,数据增强将选择并生成对训练模型提供信息的数据实例。因此,作者提出了通过增强或 LADA 的前瞻数据采集来集成数据采集和数据增强。在获取过程之前,LADA 考虑 1)选择未标记的数据实例和 2)通过数据增强生成的虚拟数据实例。此外,为了增强虚拟数据实例的信息量,LADA 优化了数据增强策略以最大化预测获取分数,从而产生了 InfoMixup 和 InfoSTN 的提议。由于 LADA 是一个可推广的框架,作者试验了各种采集和增强方法的组合。 8.2 主动学习与半监督学习结合 由于半监督学习展示出了优异的性能,在标签不足的情况下,如果能将主动学习与半监督学习结合,将会取得更优异的性能。 Semi-Supervised Active Learning for Semi-Supervised Models: Exploit Adversarial Examples With Graph-Based Virtual Labels:
8.4 主动学习与知识蒸馏结合 知识蒸馏过程中,teacher 给 student 传递知识,但是什么样的样本能够帮助这一过程,也是主动学习可以研究的一个方向。 Active Learning for Lane Detection: A Knowledge Distillation Approach:
8.7 主动学习在点云方面 点云比图像的标注时间更长更费精力,尤其是像素级的点云标注。近期主动学习在点云方面的工作渐渐崭露头角,而且效果非常惊人,值得期待。下面我介绍一篇有代表性的点云语义分割的工作。 ViewAL: Active Learning with Viewpoint Entropy for Semantic Segmentation: