DG领域常见算法:Domain Alignment

news2024/11/22 19:11:46

本文主要参考:Domain Generalization: A Survey

Problem Definition

在DG的setting中,我们通常能拿到 K ( K ≥ 1 ) K(K\ge 1) K(K1)个source domain的数据,这几个source domain相似但并不相同,记为 S = { S k = { ( x ( k ) , y ( k ) } } k = 1 K ) \mathcal{S}=\{S_k=\{(x^{(k)},y^{(k)}\}\}_{k=1}^K) S={Sk={(x(k),y(k)}}k=1K),每个source domain对应一个数据联合分布 P X Y ( k ) P_{XY}^{(k)} PXY(k),注意各个source domain的这个联合分布是不相同的。而DG的任务则是通过学习这几个source domain S \mathcal{S} S的数据,得到模型 f : X → Y f:\mathcal{X}\rarr\mathcal{Y} f:XY,使得模型在target domain T = { x T } \mathcal{T}=\{x^{\mathcal{T}}\} T={xT}上的loss最小。同样地, T \mathcal{T} T中数据的联合分布 P X Y T ≠ P X Y ( k ) , ∀ k ∈ { 1 , ⋯   , K } P_{XY}^{\mathcal{T}}\neq P_{XY}^{(k)}, \forall k\in \{1,\cdots, K\} PXYT=PXY(k),k{1,,K}

Methodology

在这里插入图片描述

Domian Alignment

大部分DG算法都属于这个分支,domain alignment的目的是最小化不同source domain之间的区别,让模型学习到不随domain变化的表征,并假设不随source domain变化的特征也应当在target domain里保持不变。

为了衡量分布之间的差异性,有很多定量算法被提出,比如 l 2 l_2 l2 distance、 f − d i v e r g e n c e s f-divergences fdivergences和Wasserstein distance等,但domain alignment需要先确定两个核心问题,对齐什么(What to Align)以及怎么对齐(How to Align)。

What to Align

一个source domain数据的联合分布 P ( X , Y ) P(X,Y) P(X,Y)可以如下表示
P ( X , Y ) = P ( Y ∣ X ) P ( X ) = P ( X ∣ Y ) P ( Y ) \begin{aligned} P(X,Y)=P(Y|X)P(X)\\ =P(X|Y)P(Y) \end{aligned} P(X,Y)=P(YX)P(X)=P(XY)P(Y)由于很多工作都假设分布偏移发生在边缘分布 P ( X ) P(X) P(X),而先验概率 P ( Y ∣ X ) P(Y|X) P(YX)是不变的,因此他们都专注于对齐source domain的边缘分布 P ( X ) P(X) P(X)

这样的做法在 X X X为因, Y Y Y为果的情况下基本是正确的, P ( Y ∣ X ) P(Y|X) P(YX)不会因 P ( X ) P(X) P(X)的改变而改变。但有时候可能 Y Y Y为因, X X X才是果,那么 P ( X ) P(X) P(X)的偏移也会影响 P ( Y ∣ X ) P(Y|X) P(YX)。所以一些算法会假设 P ( Y ) P(Y) P(Y)不变,去对齐 P ( X ∣ Y ) P(X|Y) P(XY)。而由于我们实际上测试的时候需要的是 P ( Y ∣ X ) P(Y|X) P(YX),所以也有算法直接对齐每个类的 P ( Y ∣ X ) P(Y|X) P(YX)的。

How to Align

  • 最小化分布的矩,一般就考虑一阶矩(均值)和二阶矩,有只最小化其中一个的,也有两个都尝试最小化的。
  • 对比学习,将数据分为锚点组(anchor group),正样本组和负样本组,要求最小化正样本和锚点的距离,同时最大化负样本和锚点的距离,这个距离是自行定义的,可以采用 l 2 l_2 l2 loss或者softmax等。
  • 最小化KL散度,KL散度是一个衡量两个分布相似性的常用指标,最小化该指标使得目标分布更相似。
  • 最小化 Maximum Mean Discrepancy (MMD) ,MMD也是一个散度指标,对其方法与KL散度类似,只是换了一个指标。
  • 对抗学习,与GAN的思路类似。有两个模型,一个模型负责从不同的domain中提取feature,而另一个模型负责对这个feature进行分类,试图辨别出该feature原本属于哪个domain,提取模型则要想方设法骗过分类器。
  • 多任务学习,直接用多个task的数据去训练,得到的模型自然也比较general。

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

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

相关文章

Vue 实现基于 LogicFlow 自定义节点美化工作流

话不多说,先看效果: 动态效果: 完整设计界面: 右键菜单: 未完待续…

Java零基础——秒杀篇

1.【秒杀】 1.1. 技术选择型 Springboot Redis Rocketmq Mysql MybatisPlus 1.2. 架构图 1.3. 准备工作-数据库 SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS 0;-- ------------------------------ Table structure for goods-- ----------------------------DROP…

【labview报错,缺少GOOP Development Suite】

操作 当labview报此错误时,第一类情况为缺少包,第二类为所使用的GPU包已失效 以下为第一类缺包的解决方式 登录VIPM,如何安装VIPM查看此贴:VIPM安装 打开VIPM后,右上角输入goop,双击搜索出的安装包 勾选需要安装的包…

Java_ArrayList顺序表详解

目录 前言 顺序表 ​编辑 顺序表和数组 ArrayList简介 说明 ArrayList使用​编辑 ArrayList常见操作 ArrayList实现二维数组 ArrayList的遍历 ArrayList的扩容机制 总结 前言 一个高端的程序员,往往都是数据结构学的很好,判断一个程序的优劣也是看数据结构学的好与坏.…

Mysql-全外连接-Union和Union ALL的辨析及练习

mysql不支持FULL JOIN,但是可以用 (select 语句1) union (select 语句2)代替 🐶1. SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 请注意,UNION 内部的 SELECT 语句…

使用git出现的问题

保证 首先保证自己的git已经下载 其次保证自己的gitee账号已经安装并且已经生成ssh公钥 保证自己要push的代码在要上传的文件夹内并且配置文件等都在父文件夹(也就是文件没有套着文件) 问题 1 $ git push origin master gitgitee.com: Permission de…

Vue混淆与还原

Vue混淆与还原 引言 Vue是一种流行的JavaScript框架,用于构建用户界面。它简单易用且功能强大,备受开发者喜爱。然而,在传输和存储过程中,我们需要保护Vue代码的安全性。混淆是一种有效的保护措施,可以加密和压缩代码…

简单构造好题

没啥思路,看到题解,先处理最大值,发现非常的nice // Problem: C. Polycarp Recovers the Permutation // Contest: Codeforces - Codeforces Round 756 (Div. 3) // URL: https://codeforces.com/problemset/problem/1611/C // Memory Limit:…

window下安装RocketMQ

本文以window11、JDK1.8、RocketMQ4.9.7版本为例 1.下载安装 1.1.官网 官网官网文档官网下载 1.2.下载 1.3.解压 2.配置 2.1.环境变量添加ROCKETMQ_HOME 2.2.环境变量添加JAVA_HOME 安装jdk1.8,并配置环境变量JAVA_HOME 3.启动 如果JAVA_HOME未指向jdk1.…

win10下maven安装与配置

1.下载安装 去官网下载最新版的安装包,然后解压到安装目录。 2.配置 右键桌面的计算机图标,属性–>高级系统设置–>环境变量,添加M2_HOME的环境变量,然后将该变量加入的PATH中。 如果想要修改maven的本地仓库位置&…

spring data Redis整合spring cache实战(附源码及源码分析)

这里是weihubeats,觉得文章不错可以关注公众号小奏技术,文章首发。拒绝营销号,拒绝标题党 背景 最近在研究缓存框架,打算写一个多级缓存框架的sdk。所以想借鉴(抄袭)下spring的缓存框架的实现 spring cache reids spring cache对各种缓存进…

台灯哪个品牌更护眼推荐?学生党备考台灯推荐

近些年近视人数持续升高,我们越来越注意个人的健康问题,而对于视力健康,尤其是儿童青少年们,在3-14岁这个年龄段近视机率更高,儿童青少年近视率高达52.7%,随着开学季到来,应该怎么选护眼台灯呢&…

【安装VIPM】

操作 打开VIPM安装包,下载链接:VIPM安装包,双击vipm.exe 点击下一步 勾选VI Package,点击下一步 这时会有弹窗,无需担心,等待即可 点击下一步 选择我接受,点击下一步 这里可选择是否要创…

Linux环境搭建SVN服务器并结合内网穿透实现远程访问

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、Cpolar杂谈 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. Ubuntu安装SVN服务二. 修改配置文件2.1 修改svnserve.conf文件2.2 修改pass…

STM32-新建工程(标准库)

目录 STM32F10x新建工程(标准库) 移植文件夹 新建工程 添加启动文件和必需文件 在工程中加载新添加的文件 在工程中添加文件路径 在工程中添加main函数 添加lib库 添加必需文件 添加宏定义 点亮LED(标准库) STM32F10x新…

Xshell7和Xftp7的下载、安装2023最新最全

1.下载 1.官网地址: XSHELL - NetSarang Website 选择学校免费版下载 2.将XSHELL和XFTP全都下载下来 2.安装 安装过程就是选择默认选项,然后无脑下一步 3.连接服务器 1.打开Xshell7,然后新建会话 2.填写相关信息 出现Connection establ…

数据库管理-第123期 Oracle相关两个参数(202301205)

数据库管理-第123期 Oracle相关两个参数(202301205) 最近在群聊中看到俩和Oracle数据库相关的俩参数,一个是Oracle数据库本身的,一个是来自于Weblogic的,挺有趣的,本期研究一下。(本期涉及参数…

面试官:说说webpack的热更新是如何做到的?原理是什么?

面试官:说说webpack的热更新是如何做到的?原理是什么? 一、是什么 HMR 全称 Hot Module Replacement,可以理解为模块热替换,指在应用程序运行过程中,替换、添加、删除模块,而无需重新刷新整个应…

振弦采集仪在安全监测中的可靠性与精度分析

振弦采集仪在安全监测中的可靠性与精度分析 振弦采集仪在土体与岩体监测中是一种常见的监测手段,它可以通过采集岩体或土体振动信号来判断其稳定性和变形情况。在实际应用中,振弦采集仪的可靠性和精度是极为重要的,本篇文章将从这两个方面进…

基于SpringBoot实现的毕业设计管理系统

一、 系统架构 前端:html | jquery | vue 后端:springboot | thymeleaf | mybatis 环境:jdk1.8 | mysql | maven 二、代码及数据库 三、功能介绍 01. 登录页 02. 教务管理-控制台 03. 教务管理-选题管理-选题大厅 04. 教务管理-选题…