Data-Free,多目标域适应合并方案,简单又有效 | ECCV'24
来源:晓飞的算法工程笔记 公众号,转载请注明出处
论文: Training-Free Model Merging for Multi-target Domain Adaptation

创新点
- 对域适应的场景解析模型中的模式连通性进行了系统的探索,揭示了模型合并有效的潜在条件。
- 引入了一种模型合并技术,包括参数合并和缓冲区合并,适用于多目标域适应任务,可应用于任何单目标域适应模型。
- 在数据可用性受限的情况下,也能达到与使用多个合并数据集进行训练相当的性能。
内容概述

论文研究的是场景理解模型的多目标域适应(MTDA)。虽然之前的方法通过领域间一致性损失取得了可观的结果,但它们通常假设可以不切实际地同时访问所有目标领域的图像,忽略了数据传输带宽限制和数据隐私等问题。鉴于这些挑战,论文提出了一个问题:如何在不直接访问训练数据的情况下合并在不同领域独立适应的模型?
对此问题的解决方案包含两个部分,即合并模型参数和合并模型缓冲区(即归一化层统计数据)。在合并模型参数方面,模式连通性的实证分析意外地表明,对于使用相同的预训练主干权重训练的单独模型,线性合并就足够了。在合并模型缓冲区方面,使用高斯先验来建模现实世界分布,并从单独训练模型的缓冲区中估计新的统计数据。
论文的方法简单而有效,取得了与数据组合训练基线相当的性能,同时消除了访问训练数据的必要性。
方法

以往的方法假设,在适应阶段能够同时访问所有目标领域图像的非实际假设。相反,论文方法的流程包括两个不同的阶段:
- 单目标域适应阶段,分别训练适应于各个目标领域的模型。简单地采用最先进的无监督域适应方法
HRDA,利用各种主干架构,如ResNet和视觉Transformer。 - 模型合并阶段(主要关注点),专注于将这些适应后的模型合并在一起以创建一个稳健的模型,而不需要访问任何训练数据。该方法包含模型的两个关键组成部分:参数(即可学习层的权重和偏置)和缓冲区(即归一化层的运行统计信息)。
参数合并

论文通过对比实验发现,当从相同的预训练权重开始时,域适应模型能够有效地过渡到多样的目标领域,同时在参数空间中保持线性模式连接。因此,这些训练模型之间的简单中点合并可以生成在两个领域中都具有鲁棒性的模型。
缓冲区合并
缓冲区,即用于批归一化(BN)层的运行均值和方差,与领域有密切关系,因为它们封装了特定领域的特征。现有方法主要处理在同一领域内对两个训练于不同子集的模型的合并,而论文研究在完全不同目标领域中训练的两个模型的合并,因此缓冲区合并的问题变得不再简单。

BN层的引入是为了缓解内部协变量偏移的问题,即输入的均值和方差在经过内部可学习层时发生变化。在这种背景下,基本考虑是后续的可学习层预期合并的BN层的输出遵循正态分布。由于输出的BN层保留了输入符合高斯先验的归纳偏见,因此可以从 \(\mathbf{\Gamma}_A\) 和 \(\mathbf{\Gamma}_B\) 中获取的值来估计 \(\boldsymbol{\mu}^{(i)}\) 和 \([\boldsymbol{\sigma}^{(i)}]^2\) 。首先获得来自该高斯先验的数据点的均值和方差的两个集合,以及这些集合的大小,共同利用这些值来估计该分布的参数。
当将合并方法扩展到 \(m (m \geq 2)\) 个高斯分布时,可以按如下方式计算已跟踪批次的数量 \(n^{(i)}\) 、均值的加权平均 \(\boldsymbol{\mu}^{(i)}\) 和方差的加权平均。
\label{m-buffer-merging-n-and-mean}
\begin{split}
n^{(i)} =& n^{(i)}_1 + n^{(i)}_2 + \cdots +n^{(i)}_M, \\
\boldsymbol{\mu}^{(i)} =& \frac{1}{n^{(i)}} (n^{(i)}_1 \boldsymbol{\mu}^{(i)}_1 + n^{(i)}_2 \boldsymbol{\mu}^{(i)}_2 + \cdots + n^{(i)}_M \boldsymbol{\mu}^{(i)}_M),\\
\boldsymbol{\sigma}^2 =& \frac{\sum_{j=1}^{M} n^{(i)} (\boldsymbol{\sigma}^i_j)^2 + \sum_{j=1}^{M} n_j^i (\boldsymbol{\mu}_j^i - \boldsymbol{\mu}^i)^2}{\sum_{j=1}^{M} n_j^i}.
\end{split}
\end{equation}
\]
主要实验


如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

Data-Free,多目标域适应合并方案,简单又有效 | ECCV'24的更多相关文章
- nmap --script http-enum,http-headers,http-methods,http-php-version -p 80 目标域
从http服务器上收集到更多地信息 nmap --script http-enum,http-headers,http-methods,http-php-version -p 80 目标域
- Spring Data Solr创建动态域报错:org.springframework.data.solr.UncategorizedSolrException
今天在项目中使用Spring Data Solr导入动态域数据报错, 控制台打印错误信息如下 Exception in thread "main" org.springframew ...
- springboot+vue的前后端分离与合并方案
pringboot和vue结合的方案网络上的主要有以下两种: 1. [不推荐]在html中直接使用script标签引入vue和一些常用的组件,这种方式和以前传统的开发是一样的,只是可以很爽的使用vue ...
- .net mvc 几种跨域获取数据方案
方案一: 在web.conflg配置文件system.webServer节点中添加以下节点配置 <!--允许 "所有网站" 跨域访问写法:--><httpProt ...
- linux加入windows域之完美方案(转载)
概念理解:1.kdc:可信任的密钥分发中心(KDC, Key Distribution Center).2.Winbind是Samba套件的功能之一.它允许Unix系统利用Windows NT的用户帐 ...
- UVA 10859 Placing Lamppost 树形DP+二目标最优解的求解方案
题意:给定一个无向,无环,无多重边,要求找出最少的若干点,使得,每条边之中至少有一个点上有街灯.在满足上述条件的时候将还需要满足让两个点被选择的边的数量尽量多. 题解: 对于如何求解最小的节点数目这点 ...
- js跨域问题新方案
只要创建一个空图片. js代码: var data = "http://localhost:8080/test?id="+id+"&content="+ ...
- ajax跨域请求的方案
$.get("@Hosts.Default.Www/api/XXXXX/Getxxx/"+@Model.UserId, function(data) { $("#tota ...
- linux加入windows域之完美方案
运行setup工具 认证配置 选择: “use winbind” “use kerberos” “use winbind authertication” 改为: 删除admin server 其余的改 ...
- 12、多空格&多制表符文本之cut域分割终极方案
解决方法分为如下三步: (1) 使用“tr”命令将制表符转换为空格: (2) 使用“tr”命令将多个重复空格删除,保留一个空格: (3) 使用“cut”命令进 ...
随机推荐
- Linux的netns使用总结
转载请注明出处: Linux的netns(Network Namespace)是Linux内核提供的一项强大的网络隔离功能,它能够创建多个独立的网络空间,每个空间都拥有自己独立的网络协议栈,包括网络接 ...
- sqlserver 索引优化 CPU占用过高 执行分析 服务器检查[转]
SELECT TOP 10 [Total Cost] = ROUND(avg_total_user_cost * avg_user_impact * (user_seeks + user_scans) ...
- 使用Web Component定义自己的专属网页组件
什么是Web Component Web Component是一套Web浏览器的技术和规范,能够让开发者定制自己的HTML元素 来自MDN的描述: Web Component 是一套不同的技术,允许你 ...
- 21-canvas事件监听
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...
- [nRF24L01+] 1. 硬件设计
nRF24L01pluss_REFERENCE_MODULES.pdf nrf24l01p_product_specification_1_0.pdf 1. 硬件设计 1.1. 实物图 [左边是PCB ...
- Python 加载 TensorFlow 模型
1.SavedModel和HDF5加载TensorFlow模型 为了加载一个TensorFlow模型,我们首先需要明确模型的格式.TensorFlow支持多种模型格式,但最常见的两种是SavedMod ...
- JavaScript设计模式样例五 —— 建造者模式
建造者模式(Builder Pattern) 定义:使用多个简单的对象一步一步构建成一个复杂的对象. 目的:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示. 场景:一些基本部件不 ...
- 【YashanDB数据库】YashanDB如何回收表空间
确认表空间高水位线,是否有可回收空间. select a.tablespace_name,a.high_water_mark,b.user_bytes,b.total_bytes from (SELE ...
- Linux下载安装jdk1.8
Linux下载安装jdk1.8 一.下载 wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=a ...
- 学习高校课程-软件设计模式-OOP 和 UML 类图 OOP 与 Java(lec1)
Lecture 1:OOP and UML Class DiagramsOOP with Java OOP 和 UML 类图 OOP 与 Java Object-Oriented Programmin ...