论文阅读——Rein

Stronger, Fewer, & Superior: Harnessing Vision Foundation Models for Domain Generalized Semantic Segmentation

一、引言

是一个对Domain Generalized Semantic Segmentation (DGSS)任务的视觉大模型的微调方法,即Rein。

Rein 专为 DGSS 任务量身定制,采用更少的可训练参数来利用更强大的 VFM 来实现卓越的泛化。 Rein 的核心由一组随机初始化的tokens组成,每个token都直接链接到不同的实例。这些tokens通过 VFM 特征的点积运算,生成类似注意力的相似性图。该图使 Rein 能够针对图像中的每个实例执行精确的细化,从而显着增强 DGSS 背景下的 VFM。此外,为了减少可训练参数的数量,我们在不同层的 MLP 之间采用共享权重,并通过将两个低秩矩阵相乘来设计可学习的令牌。

主要贡献:

我们首先在领域广义语义分割(DGSS)的背景下评估各种视觉基础模型(VFM)。我们在 DGSS 框架中进行的广泛实验凸显了 VFM 令人印象深刻的泛化能力。研究结果证实,VFM 可以作为更强大的支柱,从而在该领域建立了重要的基准。

我们提出了一种强大的微调方法,即“Rein”,以参数有效地利用VFM。 Rein 的核心由一组可学习的令牌组成,每个token都直接链接到不同的实例。通过深思熟虑的设计,这种链接使 Rein 能够在每个骨干层内的实例级别细化特征图。因此,Rein 增强了 VFM 在 DGSS 任务中的能力,用更少的可训练参数实现这一目标,同时保留预先训练的知识。

跨各种DGSS 设置的综合实验表明,Rein 采用更少的可训练参数来有效利用更强的VFM 来实现卓越的通用性。该性能大幅超越现有的 DGSS 方法。值得注意的是,Rein 旨在与现有的普通视觉 Transformer 平滑集成,提高其泛化能力并使训练更加高效。

二、相关工作:

DGSS:领域广义语义分割。领域广义语义分割(DGSS)专注于增强模型的通用性。该领域通常涉及在一组源域数据上训练模型,以增强其在不同的和不可见的目标域数据集上的性能。已经提出了各种方法来解决DGSS中的这个问题,代表性的方法包括将学习到的特征分成域不变和域特定的组件,或者采用元特征学习训练更强大的模型。 DGSS 中的标准场景是从一个城市场景数据集推广到另一个城市场景数据集,例如,从合成 GTAV 数据集推广到现实世界的城市景观。

参数高效的微调:

在 NLP 领域,参数高效微调(PEFT)通过冻结基础模型的大部分参数并微调少数参数,取得了显着的成功。已经引入了各种策略,例如 BitFit,它仅调整模型的偏差项,或仅调整这些项的子集;Prompt-tuning,它学习软提示来调节冻结的语言模型以执行特定的下游任务;Adapter-tuning,在每个 Transformer 层中包含额外的轻量级模块;值得注意的是,LoRA,它将可训练的秩分解矩阵注入到 Transformer 架构的每一层中,产生了显着的影响。 PEFT 方法也在计算机视觉领域获得关注,例如 Visual Prompt Tuning,它将提示预先添加到 Transformer 层的输入序列中以进行微调,以及 AdaptFormer,它将 Transformer 编码器中的 MLP 块替换为包含两个子分支的 AdaptMLP。然而,这些方法主要针对分类任务进行调整,其中每张图像仅包含一个要识别的目标。我们的努力是针对分割任务量身定制的,为图像中的每个实例在对象级别细化特征图,从而实现卓越的性能。

三、方法

在主干内的各层之间嵌入一种名为“Rein”的机制。 Rein 主动细化特征图并将其从每一层转发到后续一层。这种方法使我们能够更有效地利用 VFM 的强大功能,就像使用缰绳控制马一样。

Core of Rein

Rein有一组可学习的tokens,Ti是随机初始化的,m表示Ti的序列长度。

计算每个token Ti 和VLM特征fi的相似度:

对齐:

Details of Rein

Layer-shared MLP weights.

Low-rank token sequence.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux操作系统裸机开发-环境搭建

一、配置SSH服务 1、下载安装ssh服务输入以下命令 sudo apt-get install nfs-kernel-server portmap2、建立一个供SSH服务使用的文件夹如以下命令 mkdir linux 3、完成前两步之后需要将其文件路径放到/etc/exports文件里输入以下命令: sudo vi /etc/esports 4.打…

04-java基础--流程控制语句

一、switch语句 二、循环的三种结构 流程控制语句分为三种结构: 顺序结构(按代码的书写顺序执行,从上到下依次执行)分支结构(if语句、if–else语句、switch语句)循环结构(while、for循环、do–…

超越 GPT4,科大讯飞,再出王炸!

哈喽,大家好! 去年,科大讯飞星火大模型上线,给大家推荐了一波,演示了其强大的功能,不少小伙伴都立马申请体验了一把,也有私信说非常强大,工作效率提高不少,支持国产大模…

PCL 高斯投影反算:高斯投影坐标转大地坐标(C++详细过程版)

目录 一、算法原理二、代码实现三、结果展示四、测试数据PCL 高斯投影反算:高斯投影坐标转大地坐标(C++详细过程版)由CSDN点云侠原创。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理

系统重构后,对项目定制开发的兼容性问题

公司自实施产品线战略以来,基本推翻了全部旧有业务模块。后续以标准产品二次开发的模式进行项目开发。但在涉及到一些旧有系统二期、三期升级改造过程中。不可避免的需要解决旧有系统的客户定制化开发兼容性问题。也就是旧有系统定制开发的模块不能丢弃。重新开发从…

解决游戏程序一运行就退出的问题

正文: 在游戏开发过程中,我们可能会遇到程序一运行就立即退出的情况。这种情况通常是由于程序中的某些逻辑错误或初始化问题导致的。 下面我们将分析可能的原因,并提供一些解决方案。 目录 正文: 原因分析: 解决方案…

LDR6328Q,快充界的黑马

Type-C接口,这一新型的USB接口形式,凭借其正反插的便捷性、传输速度的高效性,以及支持多种功率传输的灵活性,迅速在市场中崭露头角。如今,越来越多的厂商青睐于在小家电产品上运用Type-C接口,这一改变无疑极…

YOLOv9训练不中断,从断点处训练的方法

1. 训练过程中意外中断,未完成训练预期的epoch数量 不小心多开了一个程序,导致程序从98次中断了,想要继续从98开始训练: 将train_dual.py文件中的patser中参数resume,将其设置为defaultTrue: parser.add_argument(--…

JavaSE-----认识异常【详解】

目录 一.异常的概念与体系结构: 1.1异常的概念: 1.2一些常见的异常: 1.3异常的体系结构: 1.4异常的分类: 二.异常的处理机制: 2.1 抛出异常: 2.2异常的捕获: 2.3try-catch-&…

相机sd卡照片删除后数据恢复,相机sd卡中的照片被删除后如何恢复数据

当我们使用相机拍摄照片时,有时会不小心删除了一些重要的照片。这可能是因为误操作、SD卡故障或者其他原因。无论是珍贵的照片、还是重要的工作文件,被删除后,我们往往会感到焦虑和失望。相机sd卡中的照片被删除后如何恢复数据?幸…

【Leetcode每日一题】 位运算 - 两整数之和(难度⭐)(37)

1. 题目解析 题目链接:371. 两整数之和 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 算法的核心思路其实可以类比为我们小时候学习的加法运算。只不过这次,我们不是在纸上用铅笔算&#xff…

主干网络篇 | YOLOv8更换主干网络之ShuffleNetV2(包括完整代码+添加步骤+网络结构图)

前言:Hello大家好,我是小哥谈。ShuffleNetV2是一种轻量级的神经网络架构,用于图像分类和目标检测任务。它是ShuffleNet的改进版本,旨在提高模型的性能和效率。ShuffleNetV2相比于之前的版本,在保持模型轻量化的同时&am…

THM学习笔记—Simple CTF

nmap扫描,发现2222端口很奇怪啊,重新换一种方式扫描2222端口 发现是ssh 先用ftp试试,尝试匿名登录 下载所有文件 发现只有一个ForMitch.txt,告诉我们其账号密码为弱密码,我们猜测Mitch为其用户名,尝试暴力…

力扣112、113、101--树

112. 路径总和 题目描述: 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。 判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。 如果存在,返回 true ;否则&#xff0c…

体系班第十七节(经典递归)

1汉诺塔 从左移到最右,圆盘必须满足小压大原则 写一个大方法,大方法包括两步:第一步将最后一个圆盘上面的所有的放到第二个塔上面,然后将最后一个圆盘放到最后塔上面,再把第二个塔上面圆盘全放在第三个塔上面 #incl…

一文搞懂分布式事务解决方案

前言 在当今的分布式系统中,分布式事务管理是一个关键挑战。在面对跨多个服务的复杂业务流程时,确保数据一致性和事务的原子性变得至关重要。本文将深入探讨分布式事务的概念、原理、实现方式以及在Java领域的应用。 什么是分布式事务 分布式事务是指涉…

leetcode代码记录(动态规划基础题(斐波那契数列)

目录 1. 题目:2. 斐波那契数列:小结: 1. 题目: 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是&#xff1a…

【Spring Boot】创建你的第一个 Spring Boot 应用

创建你的第一个 Spring Boot 应用 1.环境配置2.步骤详解3.项目结构分析3.1 入口类 DemoApplication3.2 控制器 PathVariableController3.3 控制器 BasicController3.4 模型 User 4.运行 Spring Boot 目前已经成为了 Java 开发领域的框架范式。本篇博客,我将带领大家…

c语言:操作符详解(上)

目录 一、操作符的分类二、二进制和进制转换1.2进制转10进制2.10进制转2进制3.2进制转8进制4.2进制转16进制 三、原码、反码、补码四、算术操作符、-、*、/、%1.**和-**2.*3./4.% 五、移位操作符1.左移操作符2.右移操作符 六、位操作符:&、|、^、~七、赋值操作符…

【Linux进程状态】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、直接谈论Linux的进程状态 看看Linux内核源代码怎么说 1.1、R状态 -----> 进程运行的状态 1.2、S状态 -----> 休眠状态(进程在等待“资源”就绪) 1.3、T状…