Lecture 11(Preparation):领域自适应 (Domain Adaptation)

news/2024/11/27 2:09:01/

Domain shift: Training and testing data have different distributions.

Transfer learning:在A任务上学到的技能,可以被用在B任务上

Domain Adaptation的技术,可以看作是Transfer learning的一种

Domain Adaptation:

        第一种情况,有少量带有标注的target domain的资料

        第二种情况,在target domain上有大量的没有标注的资料

在第二种情况下,最原始的做法如下:

        我们希望source domain的资料经过feature extractor后的output(feature extractor的output),和target domain的资料经过feature extractor后的output,它们分不出差别,即下图中红色和蓝色的点分不出差别:

        如何让红色和蓝色的点分不出差别——Domain Adversarial Training。

        feature extractor的输出不会总是为zero,去骗过domain classifier,因为它的输出还要去minimize label predictor的loss。

        feature extractor的loss有下图中红色框圈出的-Ld这一项,但这不是很好的loss公式,因为当domain classifier把source domain的资料分类为target domain、把target domain的资料分类为source domain的时候,-Ld的值很小,满足minimize feature extractor loss的要求,但此时domain classifier实际上还是能把source domain和target domain的资料分开。

Domain Adversarial Training最原始的paper的结果如下:

对于target data,我们希望它的分布接近下图右边的状况,考虑decision boundary:

在Domain Adversarial Training中,我们默认source domain和target domain的类别都是一样的,但实际情况中它们的类别可能不一样。这是一个需要解决的问题,解决方法参见论文universal domain adaptation:

        第三种情况,target domain只有很少的unlabeled的data。解决方法参见论文Testing Time Training。

        第四种情况,对target domain一无所知。这时候不叫domain adaptation,而叫做domain generalization。domain generalization分成两种状况。

        一种状况是训练资料非常丰富,有多个domain,期待model能够根据有多个domain的训练资料,学到如何弭平domain间的差异。

        另一种状况是训练资料只有一个domain,而测试资料有多种不同的domain。 解决办法:用data augmentation的方法去产生多个domain的资料,接下来的做法同上面的状况。


http://www.ppmy.cn/news/61910.html

相关文章

【Java|golang】1003. 检查替换后的词是否有效

给你一个字符串 s ,请你判断它是否 有效 。 字符串 s 有效 需要满足:假设开始有一个空字符串 t “” ,你可以执行 任意次 下述操作将 t 转换为 s : 将字符串 “abc” 插入到 t 中的任意位置。形式上,t 变为 tleft “…

JAVA:Springboot 装配数据库Hikari和Druid连接池

1、JDBC Java数据库连接(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。 JDBC API主要位于JDK中的java.sql包中(之后…

程序员为什么应该写技术博客?

程序员为什么应该写技术博客? 一 用代码进行同行间的交流 把自己的经验分享出来,帮助他人的同时,提升自己的影响力。 二 直接有助于编程技能的提升 对过去的工作经验的总结与回顾,才能巩固编程技能。进而提炼出 编程的方法论。…

提取手机号从文档中

import redef extract_phone_numbers(text):# 中国手机号正则表达式pattern r"(?<!\d)(1[3-9]\d{9})(?!\d)"# 提取出所有匹配项phone_numbers re.findall(pattern, text)return phone_numberstext "张三的手机号码是13800138000&#xff0c;李四的手机号…

【Spring框架一】——Spring框架简介

系列文章目录 Spring框架简介 系列文章目录前言一、什么是Spring框架&#xff1f;二、Spring框架的优势1.简化开发流程&#xff1a;Spring提供了许多现成的功能&#xff0c;可以使得开发人员在构建应用程序时减少编写重复代码的工作。2.提高可维护性&#xff1a;Spring框架采用…

【ADS867x】双极输入范围 14 位 500kSPS 4/8 通道、单电源 SAR ADC

器件特性 具有集成模拟前端的 14 位模数转换器 (ADC)具有自动和手动扫描功能的 4 通道、8 通道多路复用器通道独立可编程输入&#xff1a; 10.24V、5.12V、2.56V、1.28V、0.64V10.24V、5.12V、2.56V、1.28V 5V 模拟电源&#xff1a;1.65V 到 5V I/O 电源恒定的阻性输入阻抗&am…

不扯犊子!我们自己来读技术报告,了解真实的GPT-4

上周g p t 4发布了 有人赞不绝口 有人瞟了一眼就嗤之以鼻 毫不讳言 我就是那种倍感震撼的人 不是因为我看到GDP4的报道才激动 而是从GTP3开始 当时扩展出AIGC 就是成为人工智能生存内容 那个时候呢就让我深深的震撼了 从2018年GPT1问四到2019年GPT2再到2020年GPT3 一年一个新版…

BadUsb使用

1 IDE下载 地址&#xff1a;Software | Arduino 2 开发版驱动安装 linux和mac版本会自动识别提示你安装开发板&#xff0c;驱动貌似不需要额外安装 win需要根据板子型号去下载安装驱动 如 Arduino驱动的安装教程-DFRobot产品资料库 默认会提示你根据你插入的设备进行提示…