Towards Principled Disentanglement for Domain Generalization

news2024/11/27 4:24:27

本文用大量的理论论述了基于解纠缠约束优化的域泛化问题。

这篇文章认为以往的文章在解决域泛化问题时所用的方法都是non-trivial的,也就是说没有作严格的证明,是不可解释的,而本文用到大量的定理和推论证明了方法的有效性。

动机

因为域泛化问题是通过在多个源域上训练模型,使模型能在目标域上获得好的效果,所以域泛化问题本质上是学习一个好的域不变语义表示模型。因此本文提出了一个解耦网络,把样本解耦成变化特征和语义特征(变化特征和语义特征是什么意思呢这个之后会详细说明),用生成器辅助语义编码器,使语义编码器能学习到域不变表示。

怎么实现域泛化:

把样本分解成Variation特征和Semantic特征。Variation可以看成是风格特征,Semantic可以看成是内容特征。
通过把样本的内容和风格分离,让Semantic编码器学习域不变表示。

具体做法:

  • 输入:一组样本数量有限的数据这些数据可以来自不同源域
  • Variation Encoder:学习Variation特征,也就是风格特征(比如图中学习的是旋转角度),与内容无关
  • Semantic Encoder:学习语义特征,也就是类别特征,与域无关
    因此两个Encoder实现了风格和类别的解耦。
  • Generator:生成带有V的风格和S类别的样本

在这里插入图片描述

把一个样本xi输入到Semantic Encoder中,把另一个样本xj输入到Variation Encoder中,(这俩样本可能不是同一个域),让Generator学习生成带有V的风格和S类别的样本

Semantic Encoder与Generator本来是对抗关系,在这里插入图片描述
,也就是训练Decoder使损失尽可能大,训练Semantic Encoder使损失尽可能小,但这篇文章没有用到复杂的生成对抗损失,而是转换成了计算简单的约束优化问题:
在这里插入图片描述

如何理解约束优化公式?

约束条件的含义:同分布样本x,x’ 经过fs和fv,输出向量,concat后输入generator里,输出的样本与原始输入到fs里的样本x的距离要小于一个约束y

对约束优化公式的解释
我们先不看约束条件。假设没有约束条件,就是一个最简单的交叉熵损失解决分类问题。那么学习到的fs(θ)既考虑到了内容信息也考虑到了风格信息,所以没有域泛化的特点。

那么怎么才能实现域泛化?给该损失添加一个约束。根据定义1(下面有解释)可知,如果x与x’同分布,Decoder就会生成x,这样就满足约束条件。而定义1的成立是在fs对于所有的域都具有不变性的前提下的(见定义1)。如果fs只考虑当前域,Decoder生成的结果就会偏离x,就会不满足约束条件。因此这个约束条件就把fs限制住了,让它对于所有域都具有不变性。

综上得知约束优化的含义:在保证fs对于所有域都具有不变性的前提下(约束条件),使fs在当前域有一个正确的输出标签(损失函数)。
那么问题又来了,如何训练Decoder保证向量充分解耦时才能得到正确的输出?(暂时还没看)

损失函数及训练过程

损失函数就是上面约束优化公式的变体,其中第一项是约束优化公式中的交叉熵损失,第二项就是约束条件,由于约束优化问题在边界取得最值,所以直接让d()-y逼近0即可满足约束条件。
(有个问题,xi和xj不一定是同一个域的啊)
在这里插入图片描述
在这里插入图片描述

[27]表明,在某些条件下,即使是标准的经验风险最小化,也可能优于许多最近提出的模型。
以更小的计算量实现了更好的效果。

以下这些定理推论主要目的是推出公式(5)

1、基于解纠缠的不变性:x和x’分别是semantic和variation的输入,如果x和x’同分布,那么Generator的输出=x
在这里插入图片描述

2、基于解纠缠的域迁移:无论x与x’是否同分布,x输入semantic的分布与Generator输出的X经过semantic的分布是相同的
在这里插入图片描述

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

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

相关文章

客户管理系统的作用有哪些?

阅读本文您将了解:1.客户管理系统的作用;2.客户管理系统软件怎么用;3.客户管理的注意事项。 一、客户管理系统的作用 客户是企业的重要财富,因此客户管理是企业发展过程中至关重要的一部分,那么客户管理怎么做&#…

把字符串转换成整数

题目&#xff1a;把字符串转换成整数 思路&#xff1a; 如果对于一般规则的数字“字符串”转化为数字都很容易&#xff0c;比如&#xff1a; 对于“123456”可以利用如下代码进行转化&#xff1a; string str"123456"; int ans 0; for (int i0; i<str.size(); …

Elesticesearch

1. 概述 应用场景&#xff1a; 给你一个巨大的文档数据&#xff0c;文档中存储着许多非结构化的数据&#xff0c;如下&#xff1a; {“id” : “1”, “name” : “佛山张学友”, “age” : “15”}, {“name” : “广州周润发”, “height” : “182”}, …中间有10000万行……

ABAP 二分法查找与SORT排序

需求场景 需要对内表排序&#xff0c;按降序排列&#xff0c;获取第一行&#xff1b;二分法查找需要的数据 我按照降序排列后&#xff0c;获取到了第一行&#xff0c;但是通过二分法查找没有获取到 二分法查找 二分查找&#xff0c;对排序数组通过二分区间排除的方法进行快速…

最好用的六款虚拟机软件,赶紧收藏

在日常工作和学习中,我们常常需要在一台电脑上运行多个操作系统,以便进行软件测试、开发、学习以及实验等任务。虚拟机软件就是一种崭新的技术,它可以在一台电脑上运行多个操作系统,为用户提供了更高效、安全、稳定和智能化的工作和学习环境。今天我为大家介绍6款优秀的虚拟…

k8s安装监控工具metrics-server

我们需要监控cpu和内存的使用率.以便提供硬件资源的申请采购建议. 也方便我们知道运行负荷, 而不是糊里糊涂出了问题再去解决或者工具自动解决了而我们不知道, 话说回来集群的好处就是低成本的达到高性能, 性能不去监控就有点太不专业了. 但, k8s居然不自带监控工具 https://ku…

了解hiberfil.sys文件:计算机休眠模式的背后

简介: hiberfil.sys是Windows操作系统中的一个文件&#xff0c;它通常存储在计算机的根目录下&#xff0c;用于保存休眠模式下的内存映像。当您将计算机置于休眠模式时&#xff0c;Windows会将所有正在运行的程序和数据保存到hiberfil.sys文件中&#xff0c;然后关闭计算…

SAP MRP例外信息解释

SAP中MRP的例外信息&#xff0c;一共分为八类&#xff0c;下面是所有例外信息的解释 第一类&#xff1a; 69&#xff1a;BOM组件可能是递归的&#xff0c;即自己的子集中包括了自己。 02&#xff1a;订单创建日期在过去&#xff0c;可能是没有及时处理&#xff0c;这个建议表…

【Python爬虫实战】汽车城最好的十款车,第一名竟是这款车...Python教你一键采集二手车数据信息实现数据可视化展示哦~(附视频教程)

前言 驾考不易&#xff0c;天天早起去练车&#xff0c;无论烈日还是下雨&#xff0c;通通都在室外进行&#xff0c;但想要拿证&#xff0c;一定要坚 持不懈的去练车。 所有文章完整的素材源码都在&#x1f447;&#x1f447; 粉丝白嫖源码福利&#xff0c;请移步至CSDN社区或…

【Docker】2、Docker 基本操作【镜像操作】

目录 一、镜像相关命令(1) 镜像名称格式(2) 常见镜像命令 二、从 DockerHub 拉取镜像案例三、镜像导出和导入案例四、拉取 Redis 镜像练习 一、镜像相关命令 (1) 镜像名称格式 &#x1f50b; 镜像名称一般由两部分组成&#xff1a;[repository]:[tag] &#x1f50b; 若没有指…

Java每日一练(20230428)

目录 1. 搜索旋转排序数组 &#x1f31f;&#x1f31f; 2. 用栈实现队列 &#x1f31f; 3. x 的平方根 &#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 搜索旋转排序…

机器学习:基于PCA对人脸识别数据降维并建立KNN模型检验

基于PCA对人脸识别数据降维并建立KNN模型检验 作者&#xff1a;i阿极 作者简介&#xff1a;Python领域新星作者、多项比赛获奖者&#xff1a;博主个人首页 &#x1f60a;&#x1f60a;&#x1f60a;如果觉得文章不错或能帮助到你学习&#xff0c;可以点赞&#x1f44d;收藏&…

nodejs+vue+springboot+python电影放映厅购票网站

&#xff08;结合完成了以上的基本目标之后&#xff0c;能够帮助管理人员对系统的方便管理&#xff0c;从而能够为管理员节省时间&#xff0c;给了用户极大的方便。系统中的数据要存储于数据库当中&#xff0c;能够通过SQL代码把数据库中的数据取出&#xff0c;映射到实体类中&…

Classic AUTOSAR专题 | 存储模块简介

往期小怿向各位小伙伴介绍了Classic AUTOSAR的OS模块&#xff0c;相信看过的小伙伴对Classic AUTOSAR的OS已经有基本的认知了&#xff0c;本期我们将继续介绍Classic AUTOSAR专题之存储模块的知识。 目录 1.AUTOSAR存储模块概述 2.NvM功能简介 3.应用层SWC如何访问NvM 4.小…

在Docker中安装并运行Redis(纯步骤)

在Docker中安装并运行Redis容器实例 此文章只有操作步骤&#xff0c;没有原理解释&#xff0c;只供学习时提醒安装步骤。 安装并运行可以分为四步 第一步&#xff1a;安装redis镜像 从远程仓库上查询redis的相关版本信息&#xff08;可以省略&#xff09; docker search red…

mac环境VSCode 配置C++,并写Hello World

安装VSCode&#xff0c;点击下载链接&#xff0c;下载Mac版本的vscode。安装“C extension for VS Code”&#xff0c;在扩展 (⇧⌘X)中搜索c&#xff0c;并安装确保CLANG安装成功。在mac的终端下输入clang --version&#xff0c;如果安装成功会打印相关信息&#xff0c;未成功…

《基于深度卷积神经网络的光电容积脉搏图血管老化评估》阅读笔记

目录 一、论文摘要 二、十个问题 Q1&#xff1a;论文试图解决什么问题&#xff1f; Q2&#xff1a;这是否是一个新的问题&#xff1f; Q3&#xff1a;这篇文章要验证一个什么科学假设&#xff1f; Q4&#xff1a;有哪些相关研究&#xff1f;如何归类&#xff1f;谁是这一…

亚马逊云科技帮助创新成长企业云端构建、全球化布局及规模化增长

4月13日&#xff0c;以“加速创新&#xff0c;成就未来”为主题的亚马逊云科技创新成长中国行深圳论坛圆满举行。会上亚马逊云科技宣布&#xff0c;将围绕创新成长企业的三大业务需求——云上创新、出海拓展、业务加速&#xff0c;提供行业聚焦、技术支撑、伙伴扶持、人才培养四…

Dubbo 高级特性 (3)

其实Dubbo的官方文档非常强大&#xff0c;里面的各种各样的标签都会介绍到&#xff0c;但是最新版的官方文档好像找不那么多详细的使用了。在此&#xff0c;我推荐一篇博客&#xff0c;里面列举的也蛮全面的&#xff0c;可以参考&#xff1a; dubbo配置参考手册_dubbo使用手册_…

前端叹了口气,并表示谣言止于智者

如何评价此次“前端已死”言论引起的轩然大波&#xff1f; 从市景角度来看&#xff0c;那就是“一传十&#xff0c;十传百&#xff0c;越传越离谱”。 从新闻角度来看&#xff0c;是“传播扭曲效应”&#xff0c;指信息传播的链条越长&#xff0c;信息越失真。 用《乌合之众…