前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CLIPCleaner 利用视觉语言模型解决噪声标签学习的自我确认偏差问题 !

CLIPCleaner 利用视觉语言模型解决噪声标签学习的自我确认偏差问题 !

作者头像
未来先知
发布于 2024-09-02 04:56:01
发布于 2024-09-02 04:56:01
3390
举报
文章被收录于专栏:未来先知未来先知

在机器学习领域,噪声标签学习( Learning with Noisy Labels,简称LNL)已成为一个具有挑战性的问题。一些在干净样本选择中广泛使用的策略,例如“较小损失”和“高风险类别”,可能会受到所谓的“自我确认”偏差的影响。这种偏差源于训练中的模型至少部分是基于噪声标签的。此外,在分类情况下,还出现了一个额外的挑战,因为一些标签噪声位于视觉上非常相似的类别之间(难以区分的噪声)。 本文通过提出一种利用CLIP(一个强大的视觉语言模型)构建零样本分类器的( CLIPCleaner )方法,来解决这些问题。CLIP方法的主要优势在于,样本选择与训练中的模型相分离,并且由于CLIP的训练方式,样本选择能够意识到类之间的语义和视觉相似性。 作者提供了CLIP相对于传统预训练模型的理论依据和实证证据。与当前的方法相比, CLIPCleaner 提供了简单、一次性的方法,在基准数据集上实现具有竞争力的或更好的性能。据作者所知,这是首次使用视觉语言模型进行样本选择以解决学习噪声标签(LNL)问题,突显了该领域中的潜力。

1 Introduction

最近,基于样本选择的方法已成为识别干净标签的样本的主导模式。其中最常用的样本选择策略是小损失机制,因为模型在训练过程中倾向于提前适配干净样本而不是噪声样本,这导致了干净样本的相对较小损失。然后,大多数方法主要集中在进一步改进这样的样本选择机制。这包括小损失策略的不同变体、利用基于样本特征空间的小样本近邻或图模型进行样本选择。然而,这些方法天生受到标签噪声的影响,因为损失或用于样本选择的特征是从正在训练的模型(即在线训练模型)中提取的(即内训练模型)-这导致了臭名昭著的“自我确认”偏差。一些方法(Li等人,2019年;2019年)试图通过模型共同训练来缓解“自我确认”偏差,但这种方法引入了额外的计算开销。此外,这些方法仅依靠图像内的视觉信息,因此很难处理“硬噪声”,即具有高视觉相似度的类别间的标签错误。

针对上述问题,作者提出了一个名为 CLIPCLEaner 的新颖方法,该方法利用流行的视觉语言模型 CLIP (Li等人,2019)进行样本选择。具体而言,作者提出使用一个基于 CLIP 的零样本分类器,该分类器使用自动生成的大型语言模型来生成描述性分类提示进行样本选择。由于 CLIP 接受了大量视觉语言对,因此导致了一种具有两个优点的样本选择方案:1. 样本选择意识到类之间的视觉和语义相似性,因此可以弥补仅依靠视觉信息进行样本选择的偏差(图1);2. 样本选择与训练中的模型无关,因此对噪声标签和“自我确认”偏差免疫。据作者所知,作者首次采用了大规模的视觉语言模型,特别是利用其语言模式,进行样本选择。

此外,作者引入了一个非常简单的半监督学习方法 MixFix ,该方法专为没有常见的高级模块(例如,对抗训练或多任务训练)的噪声数据集而定制。所提出的半监督方法逐渐引入更多的干净样本并重新标记噪声样本以扩展现初选的干净子集(由 CLIPcleaner 选出)。作者注意到在所提出的方案中,训练中的模型,即最终的分类器,与用于样本选择的 VL 模型不同。更具体地说,与常见的迁移学习技术(例如模型微调(Li等人,2019)、知识蒸馏(Li等人,2019)和基于提示的学习(Li等人,2019; Li等人,2019))不同,作者坚持仅使用 CLIP 进行样本选择,并避免对其进行训练/微调。这种方案的一个独特优势是,所提出的方案允许计算或参数方面的轻量级训练模型,并允许使用可能没有完全访问权限的 VL 模型作为样本选择器。

作者在理论和实际方面展示了所提出方法的有效性和优势。尽管其简洁,但作者的方法在各种数据集上实现了竞争性和优越的性能,包括带合成噪声的 CIFAR10/CIFAR100(对称、非对称和实例相关的噪声),以及真实世界的噪声数据集,如 Red Mini-ImageNet、WebVision、Clothing1M 和 ANIMAL-10N。

2. Related works

噪声标签下的学习样本选择Most样选方法通常依赖于模型分类器,如广泛应用的小损失机制或模型预测。近年来,更多的工作关注进一步改进样本选择质量,通过建立马尔可夫过程模型(Li等人,2019)或使用多个指标动态选择样本(Li等人,2019)。此外,一些工作尝试利用特征表示进行样本选择。吴等人(2019,2019)试图构建kNN图,并通过子图识别干净样本,而冯等人(2019),李等人(2019),奥特戈等人(2019)则建议在特征空间中使用kNN来缓解噪声标签的影响。近年来涉及对比学习的一些最新方法根据特征空间中的邻居关系识别干净样本对。然而,这些方法仍然不稳定且易受'自我确认'偏误的影响,特别是在高比例噪声场景中,由于它们基于训练过程中的噪声数据集的内在依赖。

辅助模型的利用对于LNL,利用辅助噪声免模型是合理且简单的。与相关方法不同,一些方法也尝试利用预训练的噪声免模型进行噪声标签学习的。盛等人(2019),泽洛特赞克等人(2019)建议利用自监督学习,因为在标签免情况下它可以学习好的表示方式。巴希等人(2018)利用预处理的模型前logit空间以及kNN分类器进行样本选择。朱等人(2019)遵循同样的思路,也使用了CLIP,但他们只使用其视觉编码器作为通用的预训练编码器,而没有使用语言编码器。在本工作中,作者认为语言模式是作为补充模式的重要组成部分,并显示出VL模型在样本选择上的独特优势,在理论和实证上都有所体现。

3. Method

在第3.1节中,作者将带有噪声标签的学习问题表述为一个覆盖主流样本选择方法的公式。在第3.2节中,作者将详细介绍作者的样本选择方法,即_CLIPcleaner_。在第3.3节中,作者将介绍作者使用的半监督学习方法,即_MixFix_。在第3.4节中,作者从理论上分析了使用CLIP进行样本选择相对于常用的预训练模型的独特优势。在第3.5节中,作者对样本选择和相关CLIP模型使用的主题进行了进一步讨论。

Revisiting sample selection for LNL

CLIPCleaner: sample selection with vision-language models

CLIPCleaner的起始部分:使用视觉语言模型进行样本选择。

3.2.1. Preliminary on CLIP

首先,作者简要介绍了CLIP模型(Zhou等人,2017年)(见公式2):这是目前最常用的视觉语言模型之一。CLIP的目标是从一个图像-文本对的数据集中学习,该数据集表示为,其中

在这里,和分别表示视觉编码器和语言编码器。直观地讲,CLIP模型力求在相关图像-文本对之间最大化对应关系。

3.2.2. Estimate with CLIP zero-shot classifier

由于CLIP具有多模态性质,因此它自然具备了实现在零样本分类的能力。作为LNL领域相对较新的一项技术,作者从概率角度重新审视CLIP的零样本分类,这将作为作者使用CLIP估计真实条件概率的方法。

让作者回顾一下x、y和z的定义,其中x代表图像,y代表标签,z代表文本。首先,作者假设在z的条件下,y⊥x;直观地,每个图像的语义标签y(i)可以独立地基于一个适当的图像描述z(i)单独生成。在零样本分类中,作者有:

3.2.3. Calculate with specific

Theoretical justification of CLIPCLEaner

4. Experiments

在这一节中,作者在包含合成标签噪声的两项标准基准测试(CIFAR10和CIFAR100)和四个实际噪音数据集(红色微型ImageNet(Redmon等人,2016年),服装1M(Vaswani等人,2017年),WebVision(Vaswani等人,2017年),和ANIMAL-10N(Vaswani等人,2017年))上进行了广泛的实验。作者主要遵循以前的工作(Krizhevsky等人,2012年;张等人,2017年;张等人,2017年)来设置模型和训练配置,请参阅附录G以获取完整 details。与其他工作相比,作者报告了最先进的最先进的SOTA方法的(通常包括协同训练、对比学习等技术)。

Ablations study

在本节中,作者对半监督训练策略 MixFix 的两个超参数进行剥离:设定阈值 为 'absorb',设定阈值 为 'relabel'。由于在执行样本选择时存在精度-召回的困境,因此在引入额外的训练样本时,作者还需要对精度与召回进行加权。在表1 中,作者展示了在不同的噪声比例下,过高的或过低的阈值会导致性能下降,而 会比设置两个阈值相同的值带来更好的性能。在图3 中,作者进一步揭示了内在机制。尤其是,在降低 'absorb' 阈值 后,训练样本的比例增加,而训练样本的准确性降低。

在本节中,作者考虑直接使用 CLIP 的零样本分类器在干净的测试集上进行分类,采用作者在第 3.2 节中描述的过程。在表2 中,作者提出了六个相关基准测试的零样本分类结果,并将其与当前 SOTA 结果以及作者的方法进行比较。值得注意的是,在这里作者使用的是 VIT-B/32 架构,而作者的方法和 SOTA 方法采用了更简单的结构,如 CIFAR 数据集的 PreResNet-18。因此,这种比较确实过于严格。然而,作者观察到与直接使用 CLIP 的零样本分类器相比,作者的方法在大多数数据集上取得了显著的改进,并超过了所有数据集上的 SOTA LNL 方法。作者还在补充材料 A 中考虑了其他视觉语言模型。

在本节中,作者理论上得出结论,零样本分类器的样本选择性能受到所用提示的质量以及 CLIP 训练数据集和问题域间的领域差距的影响,而基于 CLIP 的视觉编码器以及问题域的数据集的易于诱导的分类器的性能受到问题域数据集中的噪声的影响。为了验证这一点,作者在两个可控制噪声比例的数据集中进行了实验,即具有合成对称/非对称噪声的 CIFAR10/100 数据集。

在图4 中,作者展示了样本选择的结果,并发现:

后者受标签噪声影响而前者不受影响; 此外,作者发现在问题域中的不同样本选择机制( VS )在不同的数据集上表现出不同的优缺点。考虑到真实世界的噪声信息通常未知,正如作者在第 3.5 节中分析的那样,作者默认采取保守的样本选择策略,涉及使用两种样本选择策略并选择它们的交集作为最终选择的子集; 此外,作者注意到在比较两个不同选择以获得诱导分类器时,逻辑回归分类器在实验中表现出优于 KNN 分类器。因此,作者将逻辑回归分类器作为作者首选的诱导分类器。

在合成噪声数据集上的结果

在本节中,作者首先评估作者的方法在具有合成对称/非对称噪声的 CIFAR 数据集上的性能。在表4 中,作者可以看到在所有实验设置中,作者的方法都表现出竞争力的性能并取得更好的性能,尤其是在噪声比例很高(CIFAR100 数据集上 63.11% 测试准确率,90% 对称噪声)。也强调了在这里作者将所有超参数保持不变,因为作者将方法在噪音免疫场景下的鲁棒性视为关键。

为了进一步验证作者的方法在处理 "艰难噪声" 的性能,作者还进行了实验以处理实例相关噪声并在表3 中有详细说明。与对称或非对称噪声不同,实例相关噪声假设语义相似的样本更容易被误分类,这与作者之前定义的 "艰难噪声" 更相吻合。此外,在这里作者排除 MixFix 并采用仅使用交叉熵损失的选定样本进行训练。这一排除旨在提供更多关于 CLIPCLEaner 优越样本选择性能的证据。

Results on real-world noisy datasets

最后,在表6、表7和表8中,作者分别展示了在ANIMAL-10N、Red Mini-ImageNet和WebVision数据集上的结果。总的来说,作者的提出的算法在大型网络爬取数据集和小型人工标注噪声数据集上都明显优于目前最先进的算法。

作者应注意,提出的_CLIPCLEaner_也可以与其他方案相结合使用。在表5中,作者展示了在Clothing1M数据集上的结果,既包括作者默认设置(CLIPCLEaner + MixFix)的结果,也包括将其引入到两个额外的方案中:首先引入作者的方法进行共训练,其次是替换 MixFix 为DivideMix (Zhu等人,2017)。作者观察到作者得到了目前最先进的优越结果。同时,作者想指出,尽管在其它数据集上,现有方法存在较大差异,但在Clothing1M数据集上的差异较小。这表明,在这个特定的数据集上,样本选择方法可能比样本选择方法的影响更大,可能是因为

Clothing1M数据集比其他数据集更为细致。对于这样的细致噪声数据集,样本选择可能不是最佳策略,正如补充材料H中所说的那样。

5. Conclusion

为减轻'自我确认偏差'的问题,并补偿现有主流样本选择方法中的视觉模式,本文提出了一种利用大规模视觉语言模型CLIP进行样本选择的方法,名为 CLIP-Cleaner。从理论和实证两方面阐述了其有效性。

此外,本文引入了一种简单的半监督学习方法 Mix-Fix ,专门针对噪声数据集,无需复杂的现成技术。强调利用视觉语言模型进行噪声数据集探索,如现有提示学习技术的潜力,仍是一个开放的方向。

此外,CLIP模型和目标数据集之间可能存在较大的领域差距,这可能影响结果,表明需要更精细的视觉语言模型。

最后,实验表明样本选择方法可能并不适用于细粒度噪声数据集,这也为作者未来的研究方向之一。

参考

[1].CLIPCleaner: Cleaning Noisy Labels with CLIP.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-08-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 未来先知 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
开源任务管理平台TaskManagerV2.0介绍及升级说明
本文主要介绍了任务管理框架的设计与实现,包括后台管理程序、Windows服务、控制台程序、数据库设计等方面的内容。作者还提供了程序的下载地址和部署方法。
用户1168362
2018/01/05
2K0
开源任务管理平台TaskManagerV2.0介绍及升级说明
Quartz.NET的使用(附源码)
  虽然Quartz.NET被园子里的大神们写烂了,自己还是整理了一篇,结尾会附上源码地址。
陈珙
2018/09/12
2.5K0
Quartz.NET的使用(附源码)
Quartz.NET的管理工具
很多同学都在用Quartz.NET做任务调度,任务调度情况怎么样啊,需要暂停某个任务,运行下某个任务,需要有管理工具的支持,本篇文章是向你介绍Quartz.NET的管理工具方面的几个开源项目。工具有两类:完整的一个管理站点和嵌入你的项目里头的一个模块。 1、quartznet-admin 是一个完整的asp.net mvc的Quartz.NET 管理应用,地址是 http://code.google.com/p/quartznet-admin/ ,这个项目目前也没有发布出来的版本,自己可以去下载代码下来编译
张善友
2018/01/22
1.1K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(84)-Quartz 作业调度用法详解一
系列目录 前言 我从Quartz2.0开始使用,并对其进行了封装了界面,可以参考 http://www.cnblogs.com/ymnets/p/5065154.html 最近拿出来进行了优化,并升级到最新版,温故而知新嘛 当初教程较少,并且是英文,现在很多地方都有中文的教程也是学习起来事半功倍 Quartz能实现什么? 他类似于SQL Server的代理与Timer定时器: 1.指定时间执行一条SQL语句或存储过程 2.指定时间发送邮件(执行一个C#方法) 3.有规律的定时执行想要做的事情(通过
用户1149182
2018/01/12
1.8K0
ASP.NET MVC5+EF6+EasyUI 后台管理系统(84)-Quartz 作业调度用法详解一
免费开源的DotNet任务调度组件Quartz.NET(.NET组件介绍之五)
彭泽0902
2018/01/04
2.6K0
.NET有哪些好用的定时任务调度框架
定时任务调度的相关业务在日常工作开发中是一个十分常见的需求,经常有小伙伴们在技术群提问:有什么好用的定时任务调度框架推荐的?今天大姚给大家分享5个.NET开源、简单、易用、免费的任务调度框架,帮助大家在做定时任务调度框架技术选型的时候有一个参考。
追逐时光者
2024/05/09
3900
.NET有哪些好用的定时任务调度框架
.NET开源作业调度框架(Quartz.NET和FluentScheduler)实战项目演练
2.3、如何基于Quartz.NET封装实现优雅的作业调度执行框架(ABenNet.QuartzNet.Practice)
跟着阿笨一起玩NET
2019/03/14
1.3K0
.NET开源作业调度框架(Quartz.NET和FluentScheduler)实战项目演练
C#/.NET/.NET Core定时任务调度的方法或者组件有哪些--Timer,FluentScheduler还是...
原文由Rector首发于 码友网 之 《C#/.NET/.NET Core应用程序编程中实现定时任务调度的方法或者组件有哪些,Timer,FluentScheduler,TaskScheduler,Gofer.NET,Coravel,Quartz.NET还是Hangfire》
Rector
2020/06/19
3.6K0
用abp vNext快速开发Quartz.NET定时任务管理界面
今天这篇文章我将通过实例代码带着大家一步一步通过abp vNext这个asp.net core的快速开发框架来进行Quartz.net定时任务调度的管理界面的开发。大伙最好跟着一起敲一下代码,当然源码我会上传到github上,有兴趣的小伙伴可以在文章底部查看源码链接。
依乐祝
2019/03/11
2.4K0
用abp vNext快速开发Quartz.NET定时任务管理界面
基于SQL Server 2008 Service Broker构建企业级消息系统
注:这篇文章是为InfoQ 中文站而写 1、引言 Microsoft 在SQL Server 2005引入了服务代理 (Service Broker 简称SSB) 为技术支持代理设计模式和面向消息的中间件 (MOM) 的原则。Service Broker在SQL Server 2008上得到完善, SQL Server Service Broker 为消息和队列应用程序提供 SQL Server 数据库引擎本机支持。这使开发人员可以轻松地创建使用数据库引擎组件在完全不同的数据库之间进行通信的复杂应用程序。开
张善友
2018/01/22
8910
基于SQL Server 2008 Service Broker构建企业级消息系统
精进 Quartz—Quartz大致介绍(一)
分享一位老师的人工智能教程。零基础!通俗易懂!风趣幽默! 大家可以看看是否对自己有帮助,点击这里查看【人工智能教程】。接下来进入正文。
全栈程序员站长
2022/02/27
2.1K0
精进 Quartz—Quartz大致介绍(一)
topshelf和quartz内部分享
阅读目录: 介绍 基础用法 调试及安装 可选配置 多实例支持及相关资料 quartz.net 上月在公司内部的一次分享,现把PPT及部分交流内容整理成博客。 介绍 topshelf是创建windows服务的一种方式,相比原生实现ServiceBase、Install.Installer更为简单方便, 我们只需要几行代码即可实现windows服务的开发。topshelf本身支持windows及linux下mono上部署安装,同样也是开源的。 topshelf相对原生来说,调试起来比较方便,可以在开发时以控制台
蘑菇先生
2018/05/21
1K0
定时从列表中爬今日通知信息,打包成windows服务
每天8点爬取今日发布的新闻和通知公告,将爬取后的信息保存到Excel文件中,将程序发布成windows服务,开机即可自动启动。
happlyfox
2018/10/31
6800
Net作业调度(一) -Quartz.Net入门
背景 很多时候,项目需要在不同时刻,执行一个或很多个不同的作业。 Windows执行计划这时并不能很好的满足需求了,迫切需要一个更为强大,方便管理,集群部署的作业调度框架。 介绍 Quartz一个开源的作业调度框架,OpenSymphony的开源项目。Quartz.Net 是Quartz的C#移植版本。 它一些很好的特性: 1:支持集群,作业分组,作业远程管理。  2:自定义精细的时间触发器,使用简单,作业和触发分离。 3:数据库支持,可以寄宿Windows服务,WebSite,winform等。 实战 Q
蘑菇先生
2018/05/21
1.7K0
【壹起学】1:Uwl.Admin开源框架基于QuartzNet的实现
Quartz.NET官网地址:https://www.quartz-scheduler.net/
老张的哲学
2022/04/11
9160
【壹起学】1:Uwl.Admin开源框架基于QuartzNet的实现
在ASP.NET Core中创建基于Quartz.NET托管服务轻松实现作业调度
在这篇文章中,我将介绍如何使用ASP.NET Core托管服务运行Quartz.NET作业。这样的好处是我们可以在应用程序启动和停止时很方便的来控制我们的Job的运行状态。接下来我将演示如何创建一个简单的 IJob,一个自定义的 IJobFactory和一个在应用程序运行时就开始运行的QuartzHostedService。我还将介绍一些需要注意的问题,即在单例类中使用作用域服务。
依乐祝
2020/04/09
3K0
在ASP.NET Core中创建基于Quartz.NET托管服务轻松实现作业调度
Quartz.Net使用教程
在项目的开发过程中,难免会遇见后需要后台处理的任务,例如定时发送邮件通知、后台处理耗时的数据处理等,这个时候你就需要Quartz.Net了。
AI.NET 极客圈
2019/09/09
2.6K0
Quartz.Net使用教程
有哪些好的C#开源项目推荐?
链接:https://www.zhihu.com/question/27993498/answer/1014561869
JusterZhu
2022/12/07
2.7K0
有哪些好的C#开源项目推荐?
.net core下定时任务的实现
Hangfire作为一款高人气且容易上手的分布式后台执行服务,支持多种数据库。在 .net core的环境中,由Core自带的DI管理着生命周期,免去了在NF4.X环境中配置always running的麻烦,真正做到开箱即用。
Bug生活2048
2018/08/31
1.4K0
.net core下定时任务的实现
.NET之Hangfire快速入门和使用
  定时任务调度问题,是一个老生常谈的问题。网上有许多定时任务调度的解决方案,对于我而言很早以前主要是使用Window计划和Window服务来做任务定时执行,然后就开始使用定时任务调度框架Quartz.Net。但是却一直没有上手过Hangfire这个自带后台任务调度面板,可以在后台手动执行任务的神奇的任务调度框架。前段时间终于开始对他下手了,通过在网上查阅了一些资料和查看了Hangfire在Github中的demo,终于在我自己的项目中用上了Hangfire。在该篇文章中主要简单介绍一下什么是Hangfire,Hangfire的基本特征与优点和分别使用MySQL,MS SQL Server作为存储使用。
追逐时光者
2019/09/30
2K0
.NET之Hangfire快速入门和使用
推荐阅读
相关推荐
开源任务管理平台TaskManagerV2.0介绍及升级说明
更多 >
LV.2
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档