论文解读(BSFDA)《Black-box Source-free Domain Adaptation via Two-stage Knowledge Distillation》
Note:[ wechat:Y466551 | 可加勿骚扰,付费咨询 ]
论文信息
论文标题:Black-box Source-free Domain Adaptation via Two-stage Knowledge Distillation
论文作者:Shuai Wang, Daoan Zhang, Zipei Yan, Shitong Shao, Rui Li
论文来源:2023 aRxiv
论文地址:download
论文代码:download
视屏讲解:click
1 介绍
动机:无源域自适应的目标是仅使用预先训练过的源模型和目标数据来适应深度神经网络。然而,访问源模型仍然存在泄漏源数据的潜在问题。在本文中,研究了一个具有挑战性但实际的问题:黑盒无源域自适应,其中只有源模型和目标数据的输出可用;
方法简介:提出了一种简单而有效的两阶段知识蒸馏方法。在第一阶段,用源模型以知识蒸馏的方式对源模型生成的软伪标签从头开始训练目标模型。在第二阶段,初始化另一个模型作为新的学生模型,以避免噪声伪标记引起的误差积累;
2 相关
SFDA 存在的问题:
- 可以使用生成模型[10,11]来恢复源数据,可能会引发潜在的数据安全问题;
- 通常会调整源模型的参数,所以目标模型必须使用和源模型相同的方法网络架构作为模型,这对于低源目标用户,即一些社区医院是不现实的;
3 方法
模型框架

对比:
- UDA: 源数据(√)、源模型(√)
- SFDA: 源数据(×)、源模型(√)
- BSFDA:源数据(×)、源模型(×)
注意:BSFDA 是通过源域数据预训练好源模型,然后可以通过 API 的形式输入数据到云端源模型(Black-box)得到输出;
3.1 源模型训练
源域数据训练源模型,交叉熵损失:
$\mathcal{L}_{s}=-\mathbb{E}_{\left(x_{s}, y_{s}\right) \in \mathcal{D}_{s}} y_{s} \log f_{s}\left(x_{s}\right)$
注意:在此之后,就无法访问源模型和源数据,只能利用源模型的输出;
3.2 两阶段知识蒸馏
对于目标域数据 $x_t$,可以使用带有开放 API 的黑盒源模型 $f_s$ 得到软伪标签 $\hat{y}_{t}=f_{s}\left(x_{t}\right)$。
训练目标模型的一个简单策略是使用具有交叉熵损失的伪标签 $\hat{y}_{t}$ 的自训练,但是使用这种伪标签存在的问题:
- 由于源域和目标域之间的分布位移,伪标签不可避免地成为噪声;
- 伪标签被冻结,因为在源训练后无法更新源模型;
在第一阶段,使用软伪标签而不是硬标签从头开始训练目标模型 $f_t$ ,目的是从源域获取更多的帮助知识;
在第二阶段,另一个模型被随机初始化,以避免错误积累。然后,使用弱数据增强下的伪标签来指导强增强图像的学习;
第一阶段
在这个阶段,使用知识蒸馏[12]从源模型中精确提取知识:
$\mathcal{L}_{1}=D_{\mathrm{KL}}\left(\hat{y}_{t} \| f_{t}\left(x_{t}\right)\right)$
使用软标签的好处:
- 软标签可以提供来自源模型的知识[12];
- 对于域外数据,软伪标签比硬伪标签工作得更好;
方法具有一定的效果,但模型 $f_t$ 是在有噪声和固定标签 $f_t$ 的目标域上进行训练的,这对目标域是次优的。因此,利用第二阶段来增强训练的模型 $f_t$ 依赖于知识蒸馏之间的两个图像。
使用预训练模型初始化另外一个模型 $f_{t^{\prime}}$,对目标域数据分别进行 弱、强数据增广 $\mathcal{T}\left(x_{t}\right)$、$\mathcal{T}^{\prime}\left(x_{t}\right)$。将弱增强图像 $\mathcal{T}\left(x_{t}\right)$ 输入 $f_{t}$,得到伪标签 $\hat{y}_{t}^{\prime}=f_{t}\left(\mathcal{T}\left(x_{t}\right)\right)$。之后,使用 $\hat{y}_{t}^{\prime}$ 来指导输入强增广数据 $\mathcal{T}^{\prime}\left(x_{t}\right)$ 的模型 $f_{t^{\prime}}$ ,因为弱增广数据通常会产生更可靠的伪标签。
$\mathcal{L}_{2}=D_{\mathrm{KL}}\left(\hat{y}_{t}^{\prime} \| f_{t^{\prime}}\left(\mathcal{T}^{\prime}\left(x_{t}\right)\right)\right)$
最后,得到了用于评估的目标模型 $f_{t^{\prime}}$。
3 实验
分类结果

数据集太小了,baseline太少,不做评价;
论文解读(BSFDA)《Black-box Source-free Domain Adaptation via Two-stage Knowledge Distillation》的更多相关文章
- 论文解读(JKnet)《Representation Learning on Graphs with Jumping Knowledge Networks》
论文信息 论文标题:Representation Learning on Graphs with Jumping Knowledge Networks论文作者:Keyulu Xu, Chengtao ...
- 论文解读(PCL)《Probabilistic Contrastive Learning for Domain Adaptation》
论文信息 论文标题:Probabilistic Contrastive Learning for Domain Adaptation论文作者:Junjie Li, Yixin Zhang, Zilei ...
- 迁移学习《Asymmetric Tri-training for Unsupervised Domain Adaptation》
论文信息 论文标题:Asymmetric Tri-training for Unsupervised Domain Adaptation论文作者:Kuniaki Saito, Y. Ushiku, T ...
- 论文解读(CDCL)《Cross-domain Contrastive Learning for Unsupervised Domain Adaptation》
论文信息 论文标题:Cross-domain Contrastive Learning for Unsupervised Domain Adaptation论文作者:Rui Wang, Zuxuan ...
- 论文解读(CDTrans)《CDTrans: Cross-domain Transformer for Unsupervised Domain Adaptation》
论文信息 论文标题:CDTrans: Cross-domain Transformer for Unsupervised Domain Adaptation论文作者:Tongkun Xu, Weihu ...
- 论文解读(CAN)《Contrastive Adaptation Network for Unsupervised Domain Adaptation》
论文信息 论文标题:Contrastive Adaptation Network for Unsupervised Domain Adaptation论文作者:Guoliang Kang, Lu Ji ...
- 论文解读(ToAlign)《ToAlign: Task-oriented Alignment for Unsupervised Domain Adaptation》
论文信息 论文标题:ToAlign: Task-oriented Alignment for Unsupervised Domain Adaptation论文作者:Guoqiang Wei, Cuil ...
- 【论文笔记】Domain Adaptation via Transfer Component Analysis
论文题目:<Domain Adaptation via Transfer Component Analysis> 论文作者:Sinno Jialin Pan, Ivor W. Tsang, ...
- CVPR2019 | Mask Scoring R-CNN 论文解读
Mask Scoring R-CNN CVPR2019 | Mask Scoring R-CNN 论文解读 作者 | 文永亮 研究方向 | 目标检测.GAN 推荐理由: 本文解读的是一篇发表于CVPR ...
- AAAI2019 | 基于区域分解集成的目标检测 论文解读
Object Detection based on Region Decomposition and Assembly AAAI2019 | 基于区域分解集成的目标检测 论文解读 作者 | 文永亮 学 ...
随机推荐
- 2021-06-04:给定三个参数:二叉树的头节点head,树上某个节点target,正数K,从target开始,可以向上走或者向下走。返回与target的距离是K的所有节点。
2021-06-04:给定三个参数:二叉树的头节点head,树上某个节点target,正数K,从target开始,可以向上走或者向下走.返回与target的距离是K的所有节点. 福大大 答案2021- ...
- ChatGPT 打字机效果原理
一.背景 在初次使用 ChatGPT 时,我就被打字机的视觉效果吸引.总是感觉似曾相识,因为经常在一些科幻电影中看到,高级文明回传的信息在通讯设备的屏幕上以打字机效果逐步出现,在紧张的氛围下,输出人类 ...
- AccessToken、for_user、get_token
在Django REST framework的SimpleJWT库中,AccessToken是一个类,用于表示一个JSON Web Token (JWT)中的访问令牌部分.访问令牌是一种常见的身份验证 ...
- 基于.NetCore+React单点登录系统
对于有多个应用系统的企业来说,每一个应用系统都有自己的用户体系,这就造成用户在切换不同应用系统时,就要多次输入账号密码,导致体验非常不好,也造成使用上非常不便. 针对这个问题,我们就可以采用单点登录的 ...
- LLM探索:GPT概念与几个常用参数 Top-k, Top-p, Temperature
前言 上一篇文章介绍了几个开源LLM的环境搭建和本地部署,在使用ChatGPT接口或者自己本地部署的LLM大模型的时候,经常会遇到这几个参数,本文简单介绍一下~ temperature top_p t ...
- nginx 反向代理proxy_pass 后加斜杠和不加斜杆的区别
今日准备使用nginx 将上次使用docker 部署的一个vue项目进行地址代理,让他看起来高达尚一点,原本docker打包的镜像只是向外暴露了一个8191的端口,访问的时候就只能是 http://w ...
- nodejs使用eggjs创建项目,接入influxdb完成单表增删改查
转载请注明出处: 1.Eggjs 特性: Eggjs 是 Node.js 服务端应用开发框架,它提供了一套约定,使开发者能够快速搭建.开发和部署应用.以下是 Egg.js 的一些特性和作用: 框架内置 ...
- C++内敛函数,构造函数,析构函数,浅拷贝
inline //inline函数可以有声明和实现,但是必须在同一文件//inline函数不能分成头文件和实现文件 inline int add(int x, int y){ //一般不要放循环语句 ...
- C++面试八股文:什么是RAII?
某日二师兄参加XXX科技公司的C++工程师开发岗位第13面: 面试官:什么是RAII? 二师兄:RAII是Resource Acquisition Is Initialization的缩写.翻译成中文 ...
- 【保姆级教程】Vue项目调试技巧
前言 在Vue项目开发过程中,当遇到应用逻辑出现错误,但又无法准确定位的时候,知晓Vue项目调试技巧至关重要,debug是必备技能. 同后台项目开发一样,可以在JS实现的应用逻辑中设置断点,并进行单步 ...