【ICCV2023】利用软对比学习和全能分类器提升模型在跨域场景发现新类别的能力...

news2025/2/24 8:43:58

论文标题: Boosting Novel Category Discovery Over Domains with Soft Contrastive Learning and All in One Classifier

论文链接:https://openaccess.thecvf.com/content/ICCV2023/html/Zang_Boosting_Novel_Category_Discovery_Over_Domains_with_Soft_Contrastive_Learning_ICCV_2023_paper.html

代码:暂未开源

引用:Zang Z, Shang L, Yang S, et al. Boosting Novel Category Discovery Over Domains with Soft Contrastive Learning and All in One Classifier[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2023: 11858-11867.

作者解读:https://zhuanlan.zhihu.com/p/660101925

f1dc2cfe2f3eae033797e8912ee38275.png

导读

在无监督域自适应(UDA)中,将知识从标签丰富的源域传输到标签稀缺的目标域已经取得了显著的成果。然而,目标域中可能存在额外的新类别,这促使了开放域适应(ODA)和通用域适应(UNDA)的研究。传统的ODA和UNDA方法将所有新类别视为一个统一的未知类别,并试图在训练过程中检测它们。然而,我们发现域差异会导致无监督数据增强中更显著的视图噪声,这会影响对比学习(CL)的有效性,并使模型对新类别的发现过于自信。

为了解决这些问题,本文提出了一种名为"Soft-contrastive All-in-one Network(SAN)"的框架,用于ODA和UNDA任务。SAN包括一种新颖的基于数据增强的软对比学习(SCL)损失,用于微调骨干网络以进行特征传输,还包括一个更具人类直觉的分类器,以提高新类别的发现能力。

SCL损失减弱了数据增强视图噪声问题的不利影响,这一问题在域迁移任务中被放大。全能分类器(All-in-One,AIO)克服了当前主流的封闭集和开放集分类器的过度自信问题。可视化和消融实验证明了所提创新的有效性。此外,在ODA和UNDA的广泛实验结果显示,SAN优于现有的最先进方法。

本文贡献

ODA 和 UNDA 任务的两个主要目标是特征迁移和新的类别发现。然而,目前的方法在实现这两个目标方面都有局限性,这阻碍了这些任务的进一步改进。具体问题如图1所示

c49888c8615dfc0e603e147dd88b4f38.png

数据增强过程中的视图-噪声问题影响了特征的传递:图1 (a)-top显示了由跨三个不同域的相同数据增强方案生成的视图。内容风格上的差异导致常规的数据增强产生具有极大不同语义的视图,从而产生噪声对。

分类器(闭集分类器和开集分类器)的过置信问题影响了新的类别识别性能:图1 (b) 新类别分类器的过度自信问题。带有标记/交叉的虚线圈表示测试样本的分类正确。

为了解决上述挑战,我们为UNDA和ODA提出了 Soft-contrastive All-in-one Network(SAN):

  • 针对视图噪声问题,我们引入了一种软对比学习(SCL)损失。与通常使用的对比学习(CL)损失不同,我们的SCL损失考虑了潜在空间中视图的相似性,以评估视图的可靠性。这使我们能够通过融合可靠性来构建更有效的损失函数。在图1(a)中,我们比较了我们的SCL损失与CL损失在处理噪声数据对方面的表现,并证明我们的SCL损失有效减小了噪声数据对对模型的影响。

  • 对于独立分类器的过度自信问题,我们设计了一种全能分类器(AIO),以取代封闭集分类器和开放集分类器。AIO分类器的决策过程更接近于人类的决策方式。AIO分类器假定要识别属于新类别的样本需要确定它不属于任何已知类别。基于这一假设,定义了一个新的损失函数来训练AIO分类器。如图1(b3)和(b4)所示,结果是AIO分类器具有更平滑的分类边界,并通过引入更全面的竞争来减小标签噪声的不良影响。

  • 在实验中,我们在ODA和UNDA基准上广泛评估了我们的方法,并改变未知类别的比例。结果显示,所提出的SAN在ODA和UNDA任务的各种数据集上优于所有基准方法。

本文方法

8d0cc03fd9607732de40365276f5cfcd.png

SAN 框架:该方法包括一个主干网络F(·)、一个投影头网络H(·)和一个 All-in-One 分类器C(·)。骨干网络F(·)和投影头网络H(·)将源域数据xs和目标域数据xt映射到潜在空间中。

符号表示

源域数据集:

1f7eaa651f83cc4f3e3ade647da5a354.png

目标域数据集:

6a9afa8a9391963dff3e50a3f083ffb9.png

源和目标的标签空间:

b82449f084703c8ff2a87c2e2df243a9.png

类条件随机噪声模型:

66dacaea5cc1e4083dd05cd6adc83127.png
7a4caa0eded3b53c663610810f4377e0.png

目标:用 Ls 标签或“未知”标签来标记目标样本。我们在Ds∪Dt上训练模型,并在Dt上进行评估。

视觉噪声和软对比性学习损失

基于数据增强的对比学习(CL)涉及对样本对的二元分类。对比学习通过最大化正样本之间的相似性和最小化负样本之间的相似性来学习表示:

d82395fe5349028061728c44c3d46fd9.png

典型的对比学习(CL)损失假定有一个正样本和多个负样本。为了设计一个更平滑的CL损失版本,我们将其转换为基于正和负样本标签Hij的形式。

1d514464a15c3baf16675c5dcd2e5638.png

如果Hij = 1,则表示(xi,xj)是一个正对,如果Hij = 0,则表示(xi,xj)是一个负对

一般来说,都是通过随机数据增强得到的正对,这意味着学习过程不可避免地会引入视图噪声。因此,视图噪声引入了错误的梯度,从而破坏了网络的训练。此外,对于显示出巨大域方差的UNDA数据来说,为所有域找到合适的数据增强方案是一个挑战。这种视图-噪声问题限制了在UNDA中使用基于数据增强的CL方法。

为了解决上述的视图噪声问题,我们提出了软对比学习(SCL)。SCL通过对不同的正负样本分配不同的权值来衰减不正确样本的负面影响,这些样本通过其自己的主干网络计算相似度来估计。SCL的损失函数如下:

7df85acfbb155d54f252ff5b41fa7a7b.png

其中,

85c21533c56103603dc1b2ae386eda42.png

其中,超参数 α∈[0,1] 将数据增强关系Hij的先验知识引入到模型训练中。为了将高维嵌入向量(如(yi、yj))映射到一个概率值,我们使用了一个核函数κ(·)。可以使用常用的核函数。

在本文中,我们使用t-分布核函数κν(·),因为它暴露了自由度,并允许我们在降维映射[18,40]中调整分布的接近性。t分布核函数的定义如下:

8059ffc9a26813dc2da78456fc88c50a.png

SCL 损失使用了一个软性优化目标,而不是一个典型的CL损失的硬性目标,同时避免了对噪声标签的强烈错误响应。

过度自信和 AIO 分类器

分类器过度自信问题:

ab507940a81d8f9d76f75ea0941e6520.png

来源:https://zhuanlan.zhihu.com/p/660101925

为了解决上述问题,我们将其原因归因于单个开放集分类器的竞争不足。具体来说,每个开放集分类器只完成二进制分类,而忽略了观察更多样化的标签。因此,在简单的学习任务的指导下,分类器过度拟合并产生异常尖锐的分类边界。另一个重要的原因是,开放集分类器在识别新的类时只考虑一个已知的类与人类的常识是不一致的。人类需要判断新类是否属于已知的类,然后再将它们识别为新类。为此,本文提出了一个AIO分类器来代替封闭集分类器和开放集分类器。AIO分类器为每个已知类别分配两个输出神经元,分别表示样本是否属于该特定类别。

b5d13193250bcc609098b36f0234daf3.png
的正向传播为: e2354da9faeac0af93d95ddf688c2ac5.png

(a) 如果分类器将样本 xi 分配给已知类别 ys,那么它需要确保样本既不属于其他已知类别,即

ad90a95aeca73e37e26415417fa65fbe.png
,也不属于未知类别,即 69f1b3ff7d086e6623b4f975086ddf4d.png

(b) 如果分类器将样本xi分配给一个未知类,则需要确认该样本不属于所有已知类,即

704bb3533f3f58cfd3ef9860870ae0fd.png

因此,接下来,我们将这两个原则结合起来,以实现以下目标。对于源域的一个示例:

137b3a7c37067d68513016413fb11eaf.png

基于等式 (7),我们将损失函数表示为:

e8cb0b6c94ce29b342d4919316d09ac8.png

我们结合SCL损失和AIO损失来训练SAN。总体损失为:

032fe52ec67880c287ffe92271f54fb9.png

实验

实验结果

在四个数据集达到SOTA性能:

c6edf4d5dfe9614e3de53803911e56df.png
d2211ef4208dcc98e6ca378ad6a01433.png
5e9acc4ad7dc577c196b56ef2b0028d9.png
a7864cf51aee913a81cb1da3722d16f1.png

特征可视化:

816c9b6fc4b61f742a03f0eff5423f20.png
消融实验
3f4566eb8056ec4369407646b2fa1f02.png
b9a35ad8b9068363a862fd7c2f089f1d.png

结论

ODA和UNDA任务的目标是将从标签丰富的源域学习到的知识转移到标签稀缺的目标域,而对标签空间没有任何限制。本文为了解决基于数据增强的CL的视图噪声问题和新的类别分类器的过置信问题,提出了一种软对比一体化网络(SAN)框架。SAN包括SCL损失,它可以避免典型的CL损失的过度响应,并使基于数据增强的对比损失成为可能,从而提高ODA和UNDA的性能。此外,SAN还包括一个全能分类器,以提高新的类别发现的鲁棒性。在UNDA和ODA上的大量实验结果表明了SAN相对于现有方法的优势。

☆ END ☆

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 woshicver」,每日朋友圈更新一篇高质量博文。

扫描二维码添加小编↓

60ad3546c04e7db053d121ced06af4fd.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1165355.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】 su 命令使用

su(英文全拼:switch user)命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者 的密码。使用权限:所有使用者。 语法 su [选项] [-] [USER [参数]...] su命令 -Linux手册页 著者 作者&#xff1…

第二十二章 LaneAF框架结构以及接入MMDetection3D模型(车道线感知)

一 前言 近期参与到了手写AI的车道线检测的学习中去,以此系列笔记记录学习与思考的全过程。车道线检测系列会持续更新,力求完整精炼,引人启示。所需前期知识,可以结合手写AI进行系统的学习。 二 LaneAF接入openlane数据集 2.1 Lan…

Idea快速生成测试类

例如写写完一个功能类,需要对里面方法进行测试 在当前页面 按住CTRLSHFITT 选择你要生成的测试方法 点击OK,就会在test目录下在你对应包下生成对应测试类

k8s、调度约束

Kubernetes 是通过 List-Watch **** 的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦 用户是通过 kubectl 根据配置文件,向 APIServer 发送命令,在 Node 节点上面建立 Pod 和 Container。 APIS…

axios 实现请求重试

前景提要: ts 简易封装 axios,统一 API 实现在 config 中配置开关拦截器 请求重试的核心是可以重放请求,具体实现就是在 axios 中,拿到当前请求的 config 对象,再用 axios 实例,就能重放请求。 在无感刷新…

MODWT(最大重叠离散小波变换)

MODWT 全称为 “多分辨率离散小波变换”(Multiresolution Discrete Wavelet Transform),是一种基于小波分析的数据处理方法。 和传统的小波变换不同,MODWT 使用多种长度的小波滤波器来对信号进行多尺度分解。在 MODWT 中&#xf…

基于C语言实现扫雷小游戏

扫雷游戏 1. 扫雷游戏分析和设计1.1 扫雷游戏的功能说明1.2 游戏的分析和设计1.2.1 数据结构的分析 2. 扫雷游戏的代码实现3. 扫雷游戏的扩展 1. 扫雷游戏分析和设计 1.1 扫雷游戏的功能说明 使用控制台实现经典的扫雷游戏 游戏可以通过菜单实现继续玩或者退出游戏 扫雷的棋…

掌握微信批量添加好友技巧,让你的社交更高效

微信作为当今的热门通讯工具,在企业营销中扮演着越来越重要的角色。然而,微信并没有提供自动批量添加好友的功能,给运营者带来了不小的挑战。一个个手动添加不仅耗时,而且频繁操作还容易导致账号被封。本文将介绍几种手动批量添加…

你担心spring容器中scope为prototype的bean太大内存溢出吗?

你担心spring容器中scope为prototype的bean太大内存溢出吗? 提出假设 之前一直担心spring的scope为prototype的bean在一些高并发的场景下,吃不消吗,甚至会内存溢出,这样的担心不是没有道理的,(以下是假设…

垃圾回收与内存分配

文章目录 查看本地虚拟机版本堆空间的基本结构内存分配和回收策略主要进行GC的区域内存分配策略对象优先在Eden区分配大对象直接进入老年代长期存活的对象进入老年代动态对象年龄判定空间分配担保 Full GC的触发条件 如何判断对象可以回收引用计数法可达性分析算法方法区的回收…

Proteus仿真--基于51单片机的走马灯实现(仿真文件+程序)

本文主要介绍基于51单片机的走马灯仿真(完整仿真源文件及代码见文末链接) 本设计中有16个LED灯用于流水走马演示,一位数码管用于显示当前模式状态,3个按键分别用于选择模式及加减速度控制 仿真图如下 其中 K1:用于模…

上海物理、化学高考命题趋势及2024年上海物理、化学高考备考建议

在上海高考时,物理、化学虽然不像语文、英语和数学那样分数高,但是仍然很重要。那么,从这几年的上海物理、化学的高考题目来看,我们互发现什么命题趋势和考题特点呢?如何备考接下来的2024年高考物理和化学呢&#xff1…

我在Vscode学OpenCV 基本的加法运算

根据上一篇我们可知__图像的属性 链接:《我在Vscode学OpenCV 处理图像》 属性— API 形状 img.shape 图像大小 img.size 数据类型 img.dtype  shape:如果是彩色图像,则返回包含行数、列数、通道数的数组;如果是二值图像或者灰度…

基于单片机的智能扫地机设计

收藏和点赞,您的关注是我创作的动力 文章目录 概要 一、方案设计二、电路设计与理论分析2.1 硬件设计总体概要2.2 电源电路设计总控制电路的设计总电路设计 三、PCB板的设计与制作四、 结论五、 文章目录 概要 本文主要设计一个简单的智能扫地机。该扫地机的核心控…

BUUCTF ningen 1

BUUCTF:https://buuoj.cn/challenges 题目描述: 人类的科学日益发展,对自然的研究依然无法满足,传闻日本科学家秋明重组了基因序列,造出了名为ningen的超自然生物。某天特工小明偶然截获了日本与俄罗斯的秘密通信,文…

【实战Flask API项目指南】之一 概述

实战Flask API项目指南之 概述 本系列文章将带你深入探索实战Flask API项目指南,通过跟随小菜的学习之旅,你将逐步掌握Flask在实际项目中的应用。让我们一起踏上这个精彩的学习之旅吧! 前言 小菜是一个Python编程爱好者,他目前…

Angular组件生命周期详解

当 Angular 实例化组件类 并渲染组件视图及其子视图时,组件实例的生命周期就开始了。生命周期一直伴随着变更检测,Angular 会检查数据绑定属性何时发生变化,并按需更新视图和组件实例。当 Angular 销毁组件实例并从 DOM 中移除它渲染的模板时…

Proteus仿真--基于51单片机的按键选播电子音乐(仿真文件+程序)

本文主要介绍基于51单片机的按键选播电子音乐(完整仿真源文件及代码见文末链接) 本设计中包括一个按键和一个喇叭,点击按键可以切换选择播放不同的音乐 仿真图如下 其中点击按键K1进行音乐选播选择切换 仿真运行视频 Proteus仿真--基于5…

C++二分查找算法的应用:将数据流变为多个不相交区间

本文涉及的基础知识点 二分查找 题目 给你一个由非负整数 a1, a2, …, an 组成的数据流输入,请你将到目前为止看到的数字总结为不相交的区间列表。 实现 SummaryRanges 类: SummaryRanges() 使用一个空数据流初始化对象。 void addNum(int val) 向数据…

Redis安装与配置及常用命令使用讲解

目录 一、Redis简介 二、Redis安装和配置 2.1 Linux版 2.2 Windows版 三、Redis命令 3.1 通过命令操作Redis 3.2 String 字符串 3.3 Hash 哈希 3.4 List 列表 3.5 Set 有序集合(sorted set) 一、Redis简介 Redis是一个开源的内存数据结构存储…