什么是主动学习?

机器学习算法特别需要数据,需要成千上万的例子才能做出明智的决定。为我们的算法提供高质量的训练数据是一项昂贵的任务。主动学习是一种优化构建有效机器学习系统所需人力的策略。

主动学习定义

主动学习是一种机器学习训练策略,它使算法能够主动识别可能最有效地提高性能的训练数据子集。更简单地说,主动学习是一种策略,用于识别我们的训练数据中哪些特定的例子可以最好地提高模型性能。

实践中主动学习的一个例子

假设您正在构建一个计算机视觉模型来识别放在家门口的包裹,以便向您发送"您已收到邮件"的推送警报。包裹有各种各样的形状、大小和颜色。假设您的训练数据包含10,00张示例图像:600张是棕色纸板箱的包裹图像,300张白色信封图像,以及100张黄色盒子图像。
在这里插入图片描述
设 想 构 建 一 个 计 算 机 视 觉 模 型 来 识 别 包 裹 设想构建一个计算机视觉模型来识别包裹
此外,每个盒子都可以放在你的门廊的不同位置,天气可以改变一天的亮度和黑暗,盒子本身的大小也可以不同。一个理想的数据集应该有一个多样性的变化,以捕捉所有可能的情况:白天门廊左侧的一个黄色包裹到阴天右侧的一个白色信封(以及在这两者之间的一切,理论上)。

我们会说,你想快速而准确地开发一个模型,所以你错误地在给你的全部10000张图像中的1000张图像子集贴上标签,评估模型性能,然后再标记额外的数据。
你应该先标记哪1000张图片?
直观上,您可以选择为我们假设的每个包类的一些编号进行标记:棕色的盒子、白色的信封和黄色的盒子。因为我们的模型不可能在没有任何例子的情况下知道一个棕色盒子是什么,所以我们需要确保在我们的训练数据中包含一些棕色盒子。

直觉上,为确保我们的前1000张图片包括我们希望模型学习每个类别的例子,实际上,就是一种主动学习。我们已经将我们的训练数据缩小到一组能够最好地提高模型性能的图像。

同样的概念扩展到我们图像数据集中的框的其他属性。如果我们选择300个棕色盒子的例子,但每个棕色盒子的例子都是一个完美的立方体呢?如果我们选择了所有100个黄色盒子的样品,但我们的黄色盒子总是在阳光明媚的日子送达,那会怎么样?同样,我们的目标应该是创建一个包含每个类的变化的数据集,以便我们的模型能够最好地了解在任何尺寸、任何位置和任何天气条件下送达的包裹。

主动学习的类型

有多种方法可以帮助我们的模型从初始训练数据中学习。这些方法可能包括从我们的训练数据生成额外的示例,或者确定哪个示例子集对我们的模型最有用。我们的目标是从一个完整的总体(我们的训练数据)中确定哪些样本(子集)可以最好地帮助提高模型性能。

对我们的模型最有帮助的示例的抽样可以遵循以下几种策略:基于池的抽样、基于流的选择抽样和成员查询合成。

所有的主动学习技术都依赖于我们利用一些具有准确标签的例子。也就是说,我们不可避免地需要人为地给一些例子贴上标签。主动学习技术的不同之处在于,我们如何使用这些已知的、准确的例子来从我们的数据集中识别其他未知的、有用的例子。

为了评估这些不同的主动学习技术,假设我们有一些“主动学习预算”,我们可以花钱给我们的包数据集标注。
包裹标注示例
因此,问题是:我们应该如何确定最有帮助的例子,以改进我们的模型的性能。

(1)基于池的抽样(Pool-Based Sampling)

基于池的抽样是一种主动的学习技术,我们识别所有给定示例的“信息有用性”,然后选择排名前N的示例来训练我们的模型。换句话说,我们想要确定哪些例子对我们的模型最有帮助,然后包括最好的例子。

基于池的抽样可能是主动学习中最常见的技术,尽管它相当占用内存。

我们已经拥有了1000个标注好的包裹样本。我们可以在800个标注好的样本上训练一个模型,并在剩下的200个标注的样本上进行验证。有了这个模型,我们可以假设模型中预测精度最低的例子将对提高性能最有帮助。也就是说,我们的模型在验证集中预测精度最低的例子可能是对未来训练最有用的图像。

我们可以在剩下的9000个包裹图像上运行我们的模型。然后,我们将根据最低的预测标签概率对图像进行排名:没有发现包裹的图像(精确度为0%)或低可信度发现包裹的图像(精确度低于50%)。然后,我们对这些图片进行标注。我们可能还想评估每个类的mAP,以选择性能较低的包裹类别。

(2)基于流的选择性抽样(Stream-Based Selective Sampling)

基于流的选择性抽样是一种主动学习技术,当模型在训练时,主动学习系统决定是查询真实标签还是根据某个阈值分配模型预测的标签。更简单地说,对于每个未标记的例子,主动学习会说,“我是否有足够的信心自己将模型预测的标签分配给这个例子,还是我应该问这个例子的答案?”

基于流的选择抽样可以是彻底的搜索——因为每个未标记的例子都被逐个检查——但它会耗费更多的资源,这取决于模型是否多次查询真实标签。

我们从开始我们训练了前1000个标记的样本。然后,基于流的主动学习将逐个遍历我们数据集中剩余的9000个样本,并基于预测标签的置信阈值,主动学习系统将决定是否为给定的图像使用真实标记。

如果主动学习者要求给超过1000个例子加上标签怎么办?这正是基于流的选择性抽样的缺点。

(3)会员查询合成(Membership Query Synthesis)

成员查询合成是一种主动学习技术,这种主动学习技术能够根据我们的训练示例创建自己的示例,以获得最大的有效学习。在某种意义上,这种主动学习技术确定它可能是最有用的,比如,在我们标记的训练数据中创建图像的子集,并使用新创建的子集图像进行额外的训练。

当我们的初始训练数据集特别小时,成员查询合成可以非常有效。然而,生成更多示例可能并不总是可行的。幸运的是,在计算机视觉中,这是数据增强可以发挥巨大作用的地方。

例如,假设我们的包裹数据集缺少在黑暗和阴天的黄色包裹。我们可以使用亮度增强来模拟低光照条件下的图像。或者,想象一下,我们的许多棕色盒子图像总是在门廊的左边,靠近我们的相机。我们可以模拟缩小或随机裁剪图像,以改变训练数据中的视角。

在数据集上应用主动学习

幸运的是,这里回顾的许多主动学习技术并不是相互排斥的。例如,我们既可以为所有图像创建一个“信息有用性”评分,也可以生成有助于模型性能的额外图像。

就像大多数机器学习问题一样,对数据有一个清晰的理解,并能够基于添加的真实标签快速创建一个新模型,这是至关重要的。

参考目录

https://blog.roboflow.com/what-is-active-learning/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值