对于主动学习的一些思考
本文最后更新于:2 年前
主动学习发展已经约 30 年,作为领域里面的无名小卒,自己也对这个方向有大概四五年的了解。 近些年发现本领域的文章以灌水居多,真正提出问题和解决问题的少之又少(虽然绝大多数领域都是这样)。 目前有一些人对 AL 的实用性和表现提出了质疑,并且也收获了一些认可。 那么主动学习领域到底会何去何从? 本文我会整理总结一下自己的看法,或许有一些观点缺乏证据支持,若日后需要深入,则会补上。
客观上 AL 是什么?
关于 AL 的具体信息,可见本人 awesome-active-learning
的仓库,详见此链接。
主动学习面向的问题
在机器学习中,需要标记样本来训练模型,获得标记样本需要成本(人工标注,实验模拟等)。 为了训练一个良好的模型,获取标记样本的成本往往可观。 所以我们期望可以使用更少的标记成本(通常意味着更少的标记样本)来训练得到一个表现相当的可用模型。
这个问题通常有两个解决思路:
- 在少量标记样本下,尽可能来提升模型的表现。
- 选取更加值有价值的样本进行标注且训练模型。
主动学习的基本思路
一个重要的假设
并不是所有的样本对于模型训练有着相同的重要性。 相同数量的重要样本训练出的模型要好于相同数目的劣质样本。 那么选择重要样本标记并训练可以有效减少标注成本(因为不同样本的标记成本近似相同)。
基本解决方案(通常遵循的思路)
迭代式选取与训练:
- 基于当前标记样本训练模型。
- 基于当前训练好的模型选取重要的新样本并更新已有标记样本库。
- 重复 1&2 直到预算耗尽。
于是乎绝大多数工作的重点都放在了如何定义“重要”以及如何选取“重要样本”。
客观上 AL 现状?有什么局限?
现状
从论文的角度而言
- 从论文发表的角度来看,每年都会有一定程度的顶会顶刊,作为一个相对成熟的领域还算正常。
- 从论文的内容来看
- 高水平会议以及期刊针对于 AL 方法或者当前解决方案的局限性进行分析讨论。
- 其他绝大多数工作是将 AL 当作工具与其他领域问题结合使用。 在这些问题上或提出新策略,或没有。
- 针对传统问题提主动学习策略的越来越少。
从应用的角度而言
- 听说过一些数据标记公司使用 AL 来标记/构建模型。
- 也能时常看到一些科学界或者产业界的应用论文。
从学者研究强度的角度而言
每年也都有几篇 AL 相关的博士论文。 也仍有一些课题组将 AL 作为研究重点之一。 详见我们的 AL 资料库。
局限性/质疑
我曾写过一个相关深度主动学习局限性相关论文的(见阅读笔记)。
此外在 awesome-active-learning
的仓库中也有进行一些更新,详见此链接。
目前来说,对于现有主动学习工作/框架的质疑主要集中于以下几点:
- 表现上(是否可以在有限样本下获得最大程度提升):
- 在用少量标记样本的前提下,表现远差于基于半监督学习和自监督学习的方法(不论用什么策略)。
- 如果与基于半监督学习和自监督学习的方法结合使用主动学习,AL 的提升不明显。
- 可靠性上(使用可以使选用的策略优于其他策略):
- 当前许多工作提出的方法的可信性有限,不同的文章中相同的策略有时会给出不同的结果。没有一些约定俗成的 benchmark 来对比不同文章的策略。这个可能来源于不同的 AL 的设定(不同 AL_batchsize 或者重复次数随机种子可能会影响最终表现)。
- 当前对于主动学习策略的理解有限,同一个策略在不同的设定下可以有不同的表现,当前缺乏不同场景下哪种策略更适用的认识。
- 在一些场景下,主动学习甚至表现差于随机选取。
- 实际使用上(是否可以顺利地部署):
- 由于主动学习实际使用中只有一次使用机会,那么如何保障其至少不差?(可靠性相关)
- 主动学习的标注流程与实际的标注条件或许存在冲突(串行并行)。
我们是否还需要 AL?(以问题为导向)
从实际的角度来看判断一个技术是否还有用,在以问题为导向的思路下,或许可以从以下几个角度思考:
- 该技术可以用来解决的问题是否还存在?是否发生变化?
- 是否有其他的技术完美解决这个问题?
- 该技术的表现是否达到可用标准?
问题是否还存在?是否发生变化?
“针对任务构建模型时标注成本昂贵的”问题依旧存在,但或许有了一些变化。
- 标记需要付出成本的前提依旧存在。
- 标注的定义更加广义,人工之外可能还有机器,亦或一些模拟实验。
- 随着一些众包平台的发展,或许一些简单的人力标注成本有所降低。
- 监督学习的场景下,训练“特定任务”上的良好模型仍需要相对多的标记样本。
- 但是纯监督学习的应用场景或许越来越少(实际使用中或许越来越局限)。
其他解决方式的是否比 AL 好?
总的来说,主动学习期望以少量标记样本获得较好表现,当前有着以下一些方法同样面对这个场景,区别在于他们并没有着重于样本评估选取。
- 半监督学习,同时利用标记以及未标记样本,在少样本下表现较好(于少样本监督学习)。
- 自监督学习,利用未标记样本和辅助任务提取标准,在使用少量标记样本 fine-tune,复杂任务上表现较好(于少样本监督学习)。
- 类迁移学习(预先存在一些知识积累):
- 迁移学习:有一些目标领域标记样本,通常表现好于仅在目标领域少量样本监督学习。
- 小样本学习:通常标记数目极少,several-shots,表现好于仅使用小样本监督学习。
这些方法通常都好于仅使用少量样本的监督学习,因为其或多或少都用到了标记样本之外的更多信息(好于单纯仅仅使用 AL)。 可以说这些方法或多或少的解决了小样本下低标注成本的学习问题。
AL 表现上是否达到可用标准?
“可用标准”或许难以定义,但是考虑到其他方法的优良表现,可以认为在很多情况下,简单的仅在监督学习中使用主动学习是不能满足需求的,即不可用。
但“其他解决方式结合 AL 的重要样本选取”相对于“仅使用其他解决方式”而言,很多时候是可以带来表现提升的(表现更好通常就意味着更节省成本。)
- 例如一些半监督学习/自监督学习/数据增强 + AL。
- 例如域迁移/预训练模型 + AL。
所以,与各种先进范式结合的 AL 选取是可以达到使用标准的,即可用。 但需要注意的是 AL 于其它范式的结合带来的提升并不能保证很大,同时在训练上可能也会带来负担(多次训练)。
我们是否还需要 AL?
- 如果单样本标注成本极高
- 那么哪怕极少量的标记数降低都可以带来可观的成本节约。
- 这些情况往往在科学研究,医疗分析等强依赖专家或者模拟实验中出现。
- 这种情况我们需要 AL。
- 如果单样本标注成本有限。
- 那么需要极大量的标记数目减少才可以节约成本。
- 这种情况在很多常见的任务中都会出现,成本或有不同,但是应该还是在一个数量级。
- 这种情况非 AL 或许已经可以带来极大的成本节约。
- 如果预算其极有限,那么或许我们进一步还需要 AL。
个人看法
如果还想在 AL 领域继续深入研究:
- 使用时需要与先进范式结合及对比,而不是简单的使用随机选取监督学习作为基线。
- 目前预训练模型取得了长足的进展,其往具体任务上的迁移或许是一个较好的方向。个人认为 GPT-3 这种大模型以及将来可能出现的基于大量数据的“数据预收集预处理”知识库才是所谓 web3.0 的真正路径。
- 需要找昂贵标记成本的实际运用,这是 AL 最有实际价值的地方。
- 这个可以指单次标注十分耗费金钱
- 也可以指单次获得标注十分耗时
- 也可以指其他不可避免的困难
- AL 实际使用中有着一些阻碍,可能仍需要进一步研究。
- 选取样本的依据及合理性,包含一些理论研究
- 不同数据分布条件下的考虑
- 传统 AL 流程的复杂度和易用性
- 其他种种可以见我们的 AAL 仓库