深度主动学习批判文章阅读
目前出现一些对深度主动学习批判的文章,结合自己的实践,深以为然,此处将其整理一下。
同时这些文章也收录进了本人 awesome-active-learning
的仓库,详见此链接。
在本文末尾,本人也提出了一些自己的看法。
文章列表:
- Parting with Illusions about Deep Active Learning [2019, Arxiv]
- Towards Robust and Reproducible Active Learning Using Neural Networks [2020, Arxiv]
- Effective Evaluation of Deep Active Learning on Image Classification Tasks [2021, Open Review]
文献概览
1. Parting with Illusions about Deep Active Learning [2019, Arxiv]
这篇文章指出当前主动学习没有考虑到半监督学习及数据增强等平行设定,于是他们在图像分类和语义分割上做了一个对比实验。 实验中对比到的内容包括:多种 SOTA 主动学习策略、加入数据增强模块的主动学习策略、加入半监督学习方法的主动学习策略、半监督学习策略。
分类任务的结果:
- 主动学习加入数据增强可以带来提升,但是这会模糊不同主动学习策略间的区别,他们表现都大致相同。
- 主动学习与半监督学习结合可以带来比单独使用主动学习和半监督学习都要好的表现。
- 不同主动学习策略的优劣排序在不同数据集上不同。
- 在样本数量极少时,主动选取的样本表现差于随机选取,包括在半监督学习上的随机选取。
语义分割的结果:
- 半监督学习加随机选取表现最好。
总结:
- 当前用于评估主动学习的模式并不好,会带来错误的结论。
- 半监督学习的加入会大幅提升主动学习表现。
- 很多 SOTA 的主动学习方法会比随机选取要差,尤其是当标记样本数很小时。
2. Towards Robust and Reproducible Active Learning Using Neural Networks [2020, Arxiv]
这篇文章指出在不同的主动学习文章中,作为基准的随机选取策略表现飘忽不定。 为了提高主动学习工作的可复现度和鲁棒性,这里对当前方法做一个公平的对比。
同时本文指出,当前主动学习方法大多忽视了正则化对减小泛化误差的作用。 所以作者也将不同的正则化项 (parameter norm penalty, random augmentation (RA), stochastic weighted averaging (SWA), and shake-shake (SS)) 加入了对比。
图像分类任务的结果:
- 相比各作者在原文中提到的结果,这里随机选取的表现都要比他们宣称的更好。同时没有策略可以明显超过随机选取。
- 使用不同的主动学习批选取数目,得到的表现不一致。
- 主动学习方法没有超越随机选取,且在类别不平衡设定上表现不鲁棒。
- 加入了 RA 和 SWA 的正则化,主动学习表现明显提升,同时不同策略间表现差异减小。
- 把选取的样本迁移到不同的模型结构时,不同策略表现不同,但是随机选取表现依然占优。
讨论:
- 基于这种相同 baseline 表现不一致的情况,强调主动学习的对比应当在一系列限定条件下施行。
- 不同于
Parting with Illusions about Deep Active Learning
这篇文章,作者认为
- 主动学习的表现提升仅在有限的的实验条件下才会出现
- 这种基于随机选取的提升不具有统计学意义
- 在加入正则化之后,这些对于随机选取策略的提升消失。
- 正则化在小样本情况下带来的提升可观
- 对于一些在模型中使用到未标记样本训练的主动学习策略,例如
VAAL
更应该使用半监督学习来作为基线方法。- 相信当前主动学习的工作都是基于未正则化的模型,其表现提升不能说是由于样本选取的好。
提出了一个评估的标准:
- 策略要在不同优化器、模型结构、批选取大小等上保证鲁棒。
- 模型训练时应当加入 RA 或 SWA 这类的正则化。
- 迁移测试必须进行,用来保证选取的样本的确是高质量的。
- 实验应该使用统一的评估平台
- 实验过程的快照应该留存发布
- 训练、测试、标记、未标记、选取样本的编码应该被分享。
3. Effective Evaluation of Deep Active Learning on Image Classification Tasks [2021, Open Review]
个人认为这篇文章十分全面且实验到位。 本文指出了当前 AL 工作的一些问题:
- 不同 AL 策略在不同的工作中往往存在矛盾的表现
- 非故意的排除一些用于深度学习的重要一般化步骤,例如数据增强和 SGD 优化。
- 对于标记效率等评估方式缺乏认知
- 对 AL 在什么情形下能超过随机选取没有清晰的认知
作者展示了一个统一的对于 SOTA 主动学习策略在图像分类下的复现,且在几个不同方面做出了分析。 他们指出了一些重要但是目前不清楚的细节:
- 模型在每个轮循环之后需要从头训练还是可以 fine-tuning?
- 使用精心选取的初始集对 AL 有何影响。
- 有没有一个完美的 AL batch size?或者这个 AL batch size 重要吗?
- 什么情形下 AL 可以超越随机选取?什么因素对其产生影响?
- AL 的 scalability 如何?具体的,模型的训练和 AL 的选取各需要多少时间?
以下是他们的重要结论和实用的经验:
- 数据增强对测试集表现以及标记效率能带来提升。
- SGD 表现要比 Adam 表现好。
- 在使用数据增强和 SGD 优化器时,Diversity 选取策略难以比简单的 Uncertainty 选取表现好。
- 在加入人工制造的数据冗余时,BADGE 开始表现好于 Uncertainty 选取。
- 每个类别中未标记样本的数量对于表现有很大影响:每个类别中样本数越少,对于 AL 的提升空间越小。
- 初始标记数据的选取在几轮循环后对 AL 表现将几乎没有影响。
- AL batch size 同样对表现几乎没有影响。
- 在每轮循环中,重训练模型或者 fine-tune 模型,只影响最开始几轮选取的表现。
- 最费时的步骤是每轮循环中模型的重训练。
总结、讨论与个人看法
总结
这三篇文章都是对当前深度主动学习的批判与调研文,个人很钦佩这种刨根问底的态度。 首先这三篇文章有一些共性的结论:
- 数据增强可以带来性能提升 [1,3]
- 半监督学习,正则化可以带来性能提升 [1,2](个人看法,某些类的半监督学习方法可以看作正则化项,于是这里放在一起)
- 在加入适用于深度学习的提升方法后,不同 AL 策略间的优劣程度变得模糊 [1,2,3]
- [1,2] 认为应当将半监督学习作为基线方法。
当然也有一些互相排斥的结论:
- [2] 认为加入正则化之后,主动学习相对于随机选取的提升消失,不具有统计意义,但是 [1,3] 中数据增强后仍相对随机选取有提升。
个人看法
就这三篇文章而言,背景是当前一大部分的深度主动学习仅考虑了主动学习的范畴而没有更多考虑深度学习的问题。
仅从主动学习范畴而言,这二十多年来,Pool-Based AL 的架构,评估方式都没有发生过太大变化:
- 全监督式学习
- 循环架构并每次从头训练
- 通过学习曲线评估不同策略
- 以随机选取样本的监督式学习模型作为最基础的基线
如果从传统模型来考虑,这个主动学习的范畴其实没有太大问题。 但是近十年来,深度学习兴起,其实为主动学习带来了新的实现环境。 之前的有关深度主动学习的调研(见这篇笔记),其实已经指出了很多在深度模型中使用主动学习面临的挑战。 其中第一条就是主动学习期望选取少量重要标记样本,而深度学习期望大量训练样本,两者之间有着矛盾。 所以在深度学习的框架下,不能仅仅考虑主动学习的范畴,也要结合深度学习的情况。
深度学习在这十年的发展中,其实也苦于标记样本数目稀少,但是在深度学习的社区中,采用了一些其他的方式来解决此问题,并取得了十分不错的效果:
- 数据增强
- 利用未标记的样本
- 半监督学习
- 自监督学习
- 预训练
所以目前来看,主动学习的范畴致力于用少量的标记样本达到与随机选取相同的表现,深度学习的这些方法致力于用已有的标记数据达到更好的表现。 这两种角度其实是一件事情,放在主动学习评估的学习曲线中,就是横向比较和纵向比较。 其实在评估时,绝大部分的主动学习工作,都是宣称前者但是采纳后者。 换言之就是更侧重于纵向的比较(当然横向好就会带来纵向好毋庸置疑)。
在这种情况下,许多深度主动学习仍然使用传统主动学习范畴就很不公平了。 根本原因在于比较的基线方法是一个明明能获取大量未标记样本却只在少量标记样本上训练的模型。 换句话说,当前的很多深度主动学习方法还是在虐菜,虐那些没有使用先进的深度学习方法且仅在少量标记样本上训练的神经网络的菜。 再打个比方说,主动学习可以看作一种样本维度的提升方式,当前的很大一部分深度主动学习是在对像刀剑一样的武器上进行磨刀抛光提升,表明我磨的比你好。 殊不知现在神经网络经过多年社区的贡献已经变成了诸葛神弩或者是火枪。 所以说现在仍基于对刀剑提升的作为主动学习的评估已经过时了,磨好的刀是比不过未经提升的火枪的。 只有在火枪上进行提升,才可能是当前深度主动学习需要考虑的方向,才是能带来实用价值的方向。 正式的说,就是如何在当前深度学习这些已经验证好用的通用方法下,进一步使用主动学习减少标记成本。
目前来看,在策略设计之外,我们需要对主动学习的框架来进行调整,这些调整和主动学习策略的设计可以是正交的,并不一定互相影响:
- 首先比较的基线需要是随机选取样本训练的,纳入很多先进成熟深度学习方法的神经网络,包括但不限于:半监督,自监督,正则化,数据增强等方法。
- 模型的训练可能需要重训练和增强训练交替进行,而不是一味的重训练(考虑到相较于经典方法来说,神经网络训练时间较长。)
- 评估的方式不能单纯以学习曲线论,labeled efficiency 也是一个更直观的角度。