无监督域适应 (UDA)(1)

news2024/11/25 11:59:21

一、定义

1、无监督域自适应 Unsupervised domain adaptation

经典机器学习假设训练集和测试集来自相同的分布。

然而,这个假设在现实世界的应用程序中可能并不总是成立,例如,数据来源不同。

这种情况下,域分布之间会存在差异,直接将训练好的模型应用于新数据集可能会导致性能下降。

本贴主要讨论无监督域自适应(有标签的源域、无标签的目标域)。 

2、域的组成

域由特征空间和边际概率分布(即数据的特征和这些特征在数据集中的分布)组成。根据这个定义,域的变化可能是由特征空间的变化或边际概率分布的变化引起的。当使用文本挖掘对文档进行分类时,特征空间的变化可能是由于语言的变化(例如,英语到西班牙语),而边际概率分布的变化可能是由于文档主题的变化(例如,计算机科学到英国文学)。

Homogeneous domain adaptation  均匀的 特征空间相同

heterogeneous domain adaptation 不均匀的 特征空间不同

二、相关问题

介绍相关问题,更好的界定domain adaptation的研究范围。

多域学习 (multi-domain learning ):如何将多个相关渠道的数据放在一起训练,而能够相互促进,而非相互干扰。一般数据量不是很多的时候这样做。

领域泛化(domain generalization):即在带有标记数据的多个源领域上训练模型,然后在训练过程中未看到的另外的目标领域上进行测试。这与领域自适应形成对比,在领域自适应中,目标示例(可能未标记)在训练期间可用

迁移学习(transfer learning)问题可能是将知识从源领域转移到不同的目标领域,也可能是将知识从源任务转移到不同的目标任务(或两者的结合)。域由特征空间和边际概率分布(即数据的特征和这些特征在数据集中的分布)组成。任务由标签空间和客观预测函数(即从训练数据中学习到的标签集和预测函数)组成。域自适应是一类特殊的迁移学习。

三、背景

1、Generative adversarial networks(GANs)

1)理论基础

让两个匹配良好的神经网络相互对抗,扮演数据鉴别器数据生成器的角色,这对组合能够完善每个玩家(数据鉴别器、数据生成器)的能力,以执行合成数据生成等功能。

生成器的输入为噪声向量,其中包含从某些分布(如正态分布或均匀分布)中提取的随机值。

生成器网络的目标是输出一个与真实训练数据无法区分的向量。

鉴别器的输入为来自训练数据的真实样本或来自生成器的假样本作为输入。

鉴别器的目标是确定输入样本为真实的概率。

在训练过程中,这两个网络玩一个极大极小的游戏,其中生成器试图愚弄鉴别器,而鉴别器试图不被愚弄。优化目标如下,其中D(G(z)) 为生成数据G(z)为真的概率:

 最终的目标,我们希望判别器能够鉴别真伪,即上式最大化;理想情况下,真实的判为真,

D(x)为1;假的判为假,logD(G(z))为0;log为单调递增函数,上式取得最大值;

而生成器的目标,则是混淆结果,上式最小化;理想情况下,真实的判为假,D(x)为0;假的判为真,logD(G(z))为1;log为单调递增函数,上式取得最小值;

通过这样的极大极小对抗,生成足以混淆生成器的样本,并实现好的分类效果。

2)面临问题

基于对抗思想,训练过程中可能会出现难以收敛、模式崩溃(生成器只学习生成数据分布的几个特定模式的真实样本)以及梯度消失等问题。

3)评价指标

生成器评价指标:Parzen窗口估计、记忆检测、确定多样性、测量真实性、近似对数似然的方法。 

针对任务的评价指标:分割任务AUC、分类任务Accuracy等。

更多的时候,还是采用的针对任务的评价指标。

四、方法

域适应和神经网络结合,出现了一下几个研究方向:

4.1、Domain-Invariant Feature Learning  域不变特征学习

这类方法假设存在这样的特征表示,并且边缘标签分布没有显着差异。

通过创建域不变特征表示(通常以特征提取器神经网络的形式)来对齐源域和目标域。

学习域不变特征的域自适应方法的一般网络设置如下图所示。(a)在训练过程中如何对齐域(对齐组件)以及每个域上使用的特征提取器是否在域之间不共享,部分共享或全部共享权重方面,方法有所不同。(b)将目标数据送入域不变特征提取器,再送入任务分类器。

 下面讨论各种特征对齐方式。

4.1.1 Divergence. 

4.1.2 Reconstruction.

4.1.3 Adversarial.

这里介绍的是特征级对抗域自适应方法。不同方法主要是对齐组件的组成不同。在大多数情况下,对齐组件由域分类器组成,当然也有可能是学习近似Wasserstein距离的网络或GAN。

域分类器的主要作用是判断输出特征是从来自源域还是目标域。

对比,GAN中的判别器,它试图准确地预测样本是来自真实数据分布还是来自生成器。换句话说,鉴别器区分两个分布,一个是实分布,一个是假分布。

域分类器的目标是正确地对域(源或目标)进行分类。在这种情况下,对特征提取器进行训练,使得域分类器无法对特征表示来自哪个领域进行分类。

通常,这些网络通过在这两个步骤之间交替进行对抗性训练。在执行反向传播以更新特征提取器权重时通过训练特征提取器,使具有梯度反转层的域分类器的梯度为负,从而使域分类器表现不佳,最大程度地混淆域分类器(当它在二元标签上输出均匀分布时),或反转标签。

由于数据分布通常是多模态的,因此可以通过在特征表示和任务分类器预测的多线性映射上调节域分类器来改善结果,这考虑了分布的多模态性质

五、参考文献

1、Wilson G, Cook D J. A survey of unsupervised deep domain adaptation[J]. ACM Transactions on Intelligent Systems and Technology (TIST), 2020, 11(5): 1-46.

2、Swami Sankaranarayanan, Yogesh Balaji, Arpit Jain, Ser Nam Lim, and Rama Chellappa. 2018. Learning from synthetic data: Addressing domain shift for semantic segmentation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

3、

【迁移学习】Domain Adaptation系列论文解析(不断更新中) - 知乎

【迁移学习】Domain Adaptation系列论文解析(二) - 知乎

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

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

相关文章

进阶自定义类型——结构体,枚举,联合

本章重点: 1.结构体 1.1 结构体类型的声明 1.2 结构的自引用 1.3 结构体变量的定义和初始化 1.4 结构体内存对齐 1.5 结构体传参 1.6 结构体实现位段(位段的填充&可移植性) 2.枚举 2.1 枚举类型的定义 2.2 枚举的优点 2.3 枚举的使用 3.联合 3.1 联合类…

年月日计算器——操作符重载的应用(含完整代码,简洁)

前言&#xff1a;大家好&#xff0c;这里是YY&#xff1b;此篇博客主要是操作符重载的应用&#xff1b;包含【流插入&#xff0c;流提取】【>,<,>,<,】【&#xff0c;-&#xff0c;&#xff0c;-】【前置&#xff0c;后置&#xff0c;前置--&#xff0c;后置--】 P…

Goby 漏洞更新 | Weblogic Commons Collections 序列化代码执行漏洞(CVE-2015-4852)

漏洞名称&#xff1a;Weblogic Commons Collections 序列化代码执行漏洞&#xff08;CVE-2015-4852&#xff09; English Name&#xff1a;Weblogic Commons Collections serialization code execution vulnerability (CVE-2015-4852) CVSS core: 7.5 影响资产数&#xff1a…

Docker ELK 监控日志(附yml)

目录 一 安装docker-commpose 二 编写yml文件 2.1 docker配置文件 2.2 filebeat配置文件 2.3 kibana配置文件 三 运行启动 四 打开kibana 一 安装docker-commpose 可以看我之前的docker文章 二 编写yml文件 2.1 docker配置文件 使用的7.17.9版本 &#xff0c;请保…

linux 下 ps、sort、top 命令详解

1、 ps命令 作用&#xff1a;查看系统进程&#xff0c;比如正在运行的进程有哪些&#xff0c;什么时候开始运行的&#xff0c;哪个用户运行的&#xff0c;占用了多少资源。 参数&#xff1a; -e 显示所有进程 -f 显示所有字段&#xff08;UID&#xff0c;PPIP&#xff0c;C…

Redis学习——单机版安装

目录 1.解压 2.安装gcc 3.执行make命令 4.复制redis的配置文件到默认安装目录下 5.修改redis.conf文件 6.启动redis服务与客户端 7.查看redis进行是否启动 8.关闭redis服务 9.redis性能测试 注意&#xff1a;安装redis前要安装jdk。 1.解压 [rootlxm148 install]# t…

ubuntu卷积神经网络——图片数据集的制作以及制作好的数据集的使用

首先我事先准备好五分类的图片放在对应的文件夹&#xff0c;图片资源在我的gitee文件夹中链接如下&#xff1a;文件管理: 用于存各种数据https://gitee.com/xiaoxiaotai/file-management.git 里面有imgs目录和npy目录&#xff0c;imgs就是存放5分类的图片的目录&#xff0c;里面…

Lesson14 高级IO

前言 IO 等待 数据拷贝,比如read/recv,write/send只要在单位事件里,让等的比重减低,IO的效率就越高 五种IO模型 钓鱼小案例 阻塞式 阻塞式: 张三拿着一根鱼竿,一直在岸边钓鱼,期间一直盯着鱼竿,等待鱼上钩 非阻塞式轮询式 非阻塞式轮询式: 李四拿着一根鱼竿,在岸边钓鱼,期…

Weblogic RCE合集

文章目录 CVE-2023-21839(T3/IIOP JNDI注入)前言漏洞简单分析漏洞复现防护措施 CVE-2020-2551(RMI-IIOP RCE)漏洞简单分析漏洞复现防护措施 CVE-2017-3506(wls-wsat组件XMLDecoder反序列化漏洞)漏洞简单分析漏洞复现防护措施 CVE-2020-14882&CVE-2020-14883漏洞简单分析 CV…

2023.05.11 c高级 day3

编写一个名为myfirstshell.sh的脚本&#xff0c;它包括以下内容。 包含一段注释&#xff0c;列出您的姓名、脚本的名称和编写这个脚本的目的和当前用户说“hello 用户名”显示您的机器名 hostname显示上一级目录中的所有文件的列表显示变量PATH和HOME的值显示磁盘使用情况用id命…

算法修炼之练气篇——练气十五层

博主&#xff1a;命运之光 专栏&#xff1a;算法修炼之练气篇 前言&#xff1a;每天练习五道题&#xff0c;炼气篇大概会练习200道题左右&#xff0c;题目有C语言网上的题&#xff0c;也有洛谷上面的题&#xff0c;题目简单适合新手入门。&#xff08;代码都是命运之光自己写的…

来领略一下带头双向循环链表的风采吧

&#x1f349; 博客主页&#xff1a;阿博历练记 &#x1f4d6;文章专栏&#xff1a;数据结构与算法 &#x1f68d;代码仓库&#xff1a;阿博编程日记 &#x1f339;欢迎关注&#xff1a;欢迎友友们点赞收藏关注哦 文章目录 &#x1f344;前言&#x1f37c;双向循环链表&#x1…

Qt使用星空图作为窗口背景,点击键盘的WASD控制小飞机在上面移动。

事件函数的使用依托于Qt的事件机制&#xff0c;一个来自于外部事件的传递机制模型如下所示 信号槽虽然好用&#xff0c;但是无法包含所有的情况&#xff0c;事件函数可以起到对信号槽无法覆盖的一些时机进行补充&#xff0c;事件函数的使用无需连接。 常用的事件函数如下所示。…

设计模式5—抽象工厂模式

5.抽象工厂模式 概念 抽象工厂模式&#xff1a;提供一个创建一系列相关或相互依赖对象的接口&#xff0c;而无须指定他们具体的类。抽象工厂又称为Kit模式&#xff0c;属于对象创建型模式。 抽象工厂可以将统一产品族的单独工厂封装起来&#xff0c;在正常使用中&#xff0c…

计算机网络笔记——网络层、传输层、应用层(方老师408课程)(持续更新)

文章目录 前言网络层网络层提供的两种服务网际协议——IP虚拟互联网络IP数据报格式逐一理解整体理解IP数据报分片与长度精算 IP地址IP地址概述分类的IP地址——ABCDE分类IP的子网划分不分类的IP地址——CIDRIP地址总结 IP分组的转发网际控制报文协议——ICMP下一代网络协议——…

我用 ChatGPT 干的 18 件事!【人工智能中文站创始人:mydear麦田访谈】

新建了一个网站 https://ai.weoknow.com/ 每天给大家更新可用的国内可用chatGPT 你确定你可以使用ChatGPT吗&#xff1f; 今天我整理了18种ChatGPT的使用方法&#xff0c;让大家看看你可以使用哪些。 1.语法修正 2.文本翻译 3.语言转换 4.代码解释 5.修复代码错误 6.作为百科…

初识HTML的基础知识点!!!

初识HTML&#xff01;&#xff01;&#xff01; 一、系统构架 1.B/S构架 &#xff08;1&#xff09;B/S构架&#xff08;Browser / Server) 就是&#xff08;浏览器/服务器的交互形式&#xff09; Browser支持HTML、CSS、JavaScript &#xff08;2&#xff09;优缺点 优点…

UI--基本组件

目录 1. Designer 设计师 2. Layout 布局 3. 基本组件 3.1 QWidget 3.2 ui指针 3.3 QLabel 标签&#xff08;掌握&#xff09; 示例代码&#xff1a; dialog.h dialog.cpp 3.4 QAbstractButton 按钮类&#xff08;掌握&#xff09; 示例代码&#xff1a; dialog.ui dialog.h di…

【MyBaits】SpringBoot整合MyBatis之动态SQL

目录 一、背景 二、if标签 三、trim标签 四、where标签 五、set标签 六、foreach标签 一、背景 如果我们要执行的SQL语句中不确定有哪些参数&#xff0c;此时我们如果使用传统的就必须列举所有的可能通过判断分支来解决这种问题&#xff0c;显示这是十分繁琐的。在Spring…

linux查看服务端口号、查看端口(netstat、lsof)以及PID对应服务

linux查看服务端口号、查看端口&#xff08;netstat、lsof&#xff09; netstat - atulnp会显示所有端口和所有对应的程序&#xff0c;用grep管道可以过滤出想要的字段 -a &#xff1a;all&#xff0c;表示列出所有的连接&#xff0c;服务监听&#xff0c;Socket资料 -t &…