服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

计算机视觉中的主动学习(Active Learning)介绍

日期: 来源:新机器视觉收集编辑:Garfield

点击下方卡片,关注“新机器视觉”公众号

重磅干货,第一时间送达

计算机视觉中的主动学习(Active Learning)

1. 什么是Active Learning?

Active Learning主动学习是机器学习 (ML) 的一个研究领域,旨在通过以智能方式查询管道的下一个数据来降低构建新机器学习解决方案的成本和时间。在开发新的 AI 解决方案和处理图像、音频或文本等非结构化数据时,我们通常需要人工对数据进行注释,然后才能使用它们来训练我们的模型。这个数据注释过程非常耗时且昂贵。它通常是现代 ML 团队中最大的瓶颈之一。

通过主动学习,您可以创建一个反馈循环,您可以在注释、训练和选择之间进行迭代。使用良好的选择算法,您可以减少训练模型以达到所需精度所需的数据量。

2. 不同的Active learning方法

在进行主动学习时,我们通常使用模型的预测。每当利用模型进行预测时,我们还会获得相关的预测概率。由于模型天生就无法了解自身的局限性,因此我们尝试在研究中使用其他技巧来克服这些局限性。在计算机视觉中,Active Learning 是一种主动学习方法,它可以通过最小化标记数据的量来提高机器学习模型的准确性和效率。以下是一些常见的 Active Learning 方法:

  1. Uncertainty Sampling:选择那些让模型不确定的样本进行标记,如模型输出的概率值最大的前几个样本,或者模型预测结果的方差最大的前几个样本。
  2. Query-by-Committee:从多个训练好的模型中挑选出相互矛盾的样本进行标记,以期望在后续的训练中降低模型的误差。
  3. Expected Model Change:通过计算在当前模型下对标记某个样本的贡献,选择那些最有可能改善模型性能的样本进行标记。
  4. Diversity Sampling:选择那些与当前已经标记的样本差异最大的样本进行标记,以期望能够提高模型的泛化能力。
  5. Information Density Sampling:选择那些在当前模型下信息密度最大的样本进行标记,即选择对模型最有帮助的样本。
  6. Active Transfer Learning:在已经标记的数据集和目标任务的数据集之间进行迁移学习,以期望能够提高模型的泛化能力和训练效率。

这些方法可以单独或结合使用,具体选择哪种方法取决于具体的问题和应用场景。

举个例子,我们不仅可以考虑单个模型,还可以考虑一组模型(集成)。这为我们提供了有关实际模型不确定性的更多信息。如果模型组都同意预测,则不确定性很低。如果他们都不同意,那么不确定性就很高。但是拥有多个模型非常昂贵。像“Training Data Subset Search with Ensemble Active Learning, 2020”这样的论文使用了 4 到 8 种不同的集成方法模型。

绘图来自“使用集成主动学习训练数据子集搜索,2020”论文,展示了他们的不同方法与 ImageNet 上的随机基线相比如何。

我们可以通过使用 Monte Carlo dropout 来提高效率,我们在模型的最后几层之间添加了 dropout。这允许我们使用一个模型来创建多个预测(使用 Dropout),类似于使用模型集成。但是,这样做的缺点是我们需要更改模型架构并添加 dropout 层。

3. 在Active Learning中利用embedding

插图来自“目标检测的可扩展主动学习,2020”

最近,论文也开始使用embedding。通过embedding,我们可以了解不同样本的相似程度。在计算机视觉中,我们可以使用嵌入来检查相似的图像甚至相似的对象。然后我们可以在embedding空间中使用距离度量,例如欧几里德距离或余弦相似度,并将其与预测的不确定性结合起来。

然而,使用来自同一个模型的embedding和预测有一个缺点,即两者都依赖于模型学习到的相同特征。通常,嵌入是预测前一层或几层模型的输出。为了克服这个限制,我们开始使用来自其他模型的嵌入,而不是我们所说的“任务”模型。任务模型就是您想要使用主动学习改进的实际模型。

我们自己的基准和与自动驾驶、卫星想象、机器人技术和视频分析等领域的数十家公司合作的经验表明,使用使用自我监督学习训练的模型具有最强大的嵌入。最近的模型,如 CLIP 或 SEER 都在使用自监督学习。

4. 我们可以利用active learning做什么?

首先,请注意主动学习是一种工具,与您使用的大多数其他工具一样,您必须微调一些参数才能从中获得最大价值。经过广泛的研究并尝试从最近的主动学习研究中复制许多论文,我们观察到这些基本规则似乎适用于我们认为是“好的”训练数据:

  • 选择多样化的数据——拥有多样化的数据(多样化的图像、多样化的对象)是最重要的因素
  • 平衡数据集——确保数据在你的模式(天气、性别、一天中的时间)之间保持平衡
  • 与模型架构无关 — 根据我们自己的实验,看起来大型 ViT 模型的好数据对小型 ResNet 也有帮助

前两点表明,我们的目标应该是从所有模式中获取等量的多样化数据。第三点很高兴知道。这意味着,我们今天可以用一个模型选择训练数据,一年后训练一个全新的模型时,我们仍然可以重用相同的数据。请注意,这些只是观察。如果实施得当,主动学习可以显着提高模型的准确性。

我们评估了结合 AL、多样性和平衡选择在检测鲑鱼片问题任务中的性能。目标是提高鲑鱼“血肿”的模型准确性,因为这是最关键的类别。

5. Active Learning Algorithms的简单Implement

  • 以下是一个简单的Active Learning伪代码:

    # 假设我们已经有了一批标记好的数据集合和一个未标记的数据池
    labeled_dataset = ...
    unlabeled_pool = ...

    # 在每一轮迭代中,我们都会选择一些未标记的数据点并请求标记
    while len(unlabeled_pool) > 0:
        # 从未标记的数据池中选择一些样本
        selected_samples = select_samples(unlabeled_pool)
        
        # 请求这些样本的标签
        labeled_samples = query_labels(selected_samples)
        
        # 将新标记的样本添加到已标记的数据集中
        labeled_dataset = labeled_dataset + labeled_samples
        
        # 更新未标记的数据池,移除已经被标记的样本
        unlabeled_pool = remove_labeled_samples(unlabeled_pool, labeled_samples)
        
        # 训练模型,根据当前的已标记数据集和模型更新策略
        model = train_model(labeled_dataset)
        
        # 在验证集上评估模型表现
        validation_accuracy = evaluate_model(model, validation_dataset)
        
        # 如果模型的表现已经满足了停止准则,则停止训练
        if stopping_criterion(validation_accuracy):
            break

    以上伪代码中的主要步骤包括:

    • 从未标记的数据池中选择一些样本
    • 请求这些样本的标签
    • 将新标记的样本添加到已标记的数据集中
    • 移除已经被标记的样本,更新未标记的数据池
    • 根据当前的已标记数据集和模型更新策略训练模型
    • 在验证集上评估模型表现
    • 如果模型的表现已经满足了停止准则,则停止训练。

6. Active Learning的应用场景

Active Learning在计算机视觉中具有广泛的应用前景。以下是一些可能的应用:

  1. 目标检测:在目标检测任务中,每个图像都可能包含多个对象。Active Learning可以帮助减少需要手动标注的对象数量,从而降低人力成本。
  2. 语义分割:语义分割任务涉及将每个像素标记为特定的对象或类别。Active Learning可以帮助减少需要手动标注的像素数量,从而减少人工标注的工作量。
  3. 人脸识别:在人脸识别任务中,Active Learning可以帮助识别出哪些人的图像需要被标记,以及哪些特征可以提高识别准确性。
  4. 图像分类:在图像分类任务中,Active Learning可以帮助选择需要标注的图像,以便提高模型的准确性。

总之,Active Learning在计算机视觉中的应用前景非常广泛,可以帮助降低人力成本、提高模型准确性和提高算法的效率。随着技术的进步和数据集的不断扩大,Active Learning将变得越来越重要。

7. 参考

https://zhuanlan.zhihu.com/p/239756522

https://www.lightly.ai/post/self-supervised-models-are-more-robust-and-fair

https://zhuanlan.zhihu.com/p/377045943

声明:部分内容来源于网络,仅供读者学习、交流之目的。文章版权归原作者所有。如有不妥,请联系删除。

—THE END—

相关阅读

  • 短波红外(SWIR)成像在不同应用场合中的应用

  • 点击下方卡片,关注“新机器视觉”公众号重磅干货,第一时间送达Abstract摘要短波红外(SWIR)热像仪可以将视觉扩展到肉眼通常看不见的波段和其他类型的热成像。这些近红外和短波红
  • NLP的春天:大模型的行业运用

  • 声明:本文仅梳理公司和行业的最新基本面,并非在当前时间点推荐买卖公司,本公众号不具备个股操作指导功能,投资有风险,入市需谨慎NLP的春天:大模型的行业运用—拓尔思交流会速记第
  • 全国省市区GDP、人口、房价、产业:中部城市

  • 导语随着中国经济的快速发展和城市化进程的加速,各省份的GDP、人口、房价、产业等数据也在不断地发生变化。这些数据不仅反映了各省份的经济实力和发展水平,也对我们了解中国
  • 【每日资讯简报】4月29日 周六

  • 【每日资讯简报,一分钟知天下事】4月29日 星期六 农历三月初十1、网信办:治理散布“民企卖国论”等乱象;微信搜:每日资讯简报2、中足协原副主席李毓毅接受调查,足协系统已有超
  • 【每日资讯简报】5月1日 周一

  • 【每日资讯简报,一分钟知天下事】5月1日 星期一 农历三月十二 劳动节快乐!1、新冠仍局部零星散发,疾控提醒:假期出游不能忽视个人防护;2、提前还房贷冲击:大中型银行中5家房贷
  • 物联网时代,解读对LoRa®的几大误区

  • LoRa的十年LoRa是Semtech公司开发的一种低功耗远距离无线技术,其目的是为了解决功耗与传输难覆盖距离的矛盾问题。Semtech早在2013年推出了第一款LoRa芯片,2016年中国LoRa应用

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四
  • 美国对华2000亿关税清单,到底影响有多大?

  • 1 今天A股大跌,上证最大跌幅超过2%。直接导火索是美国证实计划对华2000亿美元产品加征25%关税。 听起来,2000亿美元数目巨大,我们来算笔账。 2000亿美元,按现在人民币汇率

最新文章

  • 基于YOLO的无人机技术:研究综述及其应用

  • 点击下方卡片,关注“新机器视觉”公众号重磅干货,第一时间送达来源:无人机网目前,无人机(UAV)或空中机器人正处于快速发展时期,基于YOLO算法的目标检测性能在工业上已达到较高水平,
  • 一图胜千言 :图解机器学习!

  • 点击下方卡片,关注“新机器视觉”公众号重磅干货,第一时间送达四大会计师事务所之一的普华永道(PwC)发布了多份解读机器学习基础的图表,其中介绍了机器学习的基本概念、原理、历
  • 短波红外(SWIR)成像在不同应用场合中的应用

  • 点击下方卡片,关注“新机器视觉”公众号重磅干货,第一时间送达Abstract摘要短波红外(SWIR)热像仪可以将视觉扩展到肉眼通常看不见的波段和其他类型的热成像。这些近红外和短波红
  • 为什么光场相机得不到普及?

  • 点击下方卡片,关注“新机器视觉”公众号重磅干货,第一时间送达来源丨光场视觉为什么光场相机得不到普及?!外界(特别是摄影消费者)对当下光场相机性能和前景的普遍看法,即这盛极一时
  • ​机器视觉系统的一般构架与组成

  • 点击下方卡片,关注“新机器视觉”公众号重磅干货,第一时间送达工业自动化推动了机器视觉技术的飞速发展,由于机器视觉系统的结构比较复杂,大部分人不太了解,但基本的模型构架是一