迁移学习(CLDA)《CLDA: Contrastive Learning for Semi-Supervised Domain Adaptation》
论文信息
论文标题:CLDA: Contrastive Learning for Semi-Supervised Domain Adaptation
论文作者:Ankit Singh
论文来源:NeurIPS 2021
论文地址:download
论文代码:download
视屏讲解:click
1 简介
提出问题:半监督导致来自标记源和目标样本的监督只能确保部分跨域特征对齐,导致目标域的对齐和未对齐子分布形成域内差异;
解决办法:
- 提出基于质心的对比学习框架;
- 提出基于类级的实例对比学习框架;
评价:牛马.................
2 方法
2.1 整体框架

2.2 源域监督训练
源域监督损失:
$\mathcal{L}_{\text {sup }}=-\sum_{k=1}^{K}\left(y^{i}\right)_{k} \log \left(\mathcal { F } \left(\mathcal{G}\left(\left(x_{l}^{i}\right)\right)_{k}\right.\right.$
2.3 域间对比对齐
基于 $\text{mini-batch}$ 的源域质心(类级):
$C_{k}^{s}=\frac{\sum_{i=1}^{i=B} \mathbb{1}_{\left\{y_{i}^{s}=k\right\}} \mathcal{F}\left(\mathcal{G}\left(x_{i}^{s}\right)\right)}{\sum_{i=1}^{i=B} \mathbb{1}_{\left\{y_{i}^{s}=k\right\}}}$
动量更新源域质心:
$C_{k}^{s}=\rho\left(C_{k}^{s}\right)_{s t e p}+(1-\rho)\left(C_{k}^{s}\right)_{s t e p-1}$
无标签目标域样本的伪标签:
$\hat{y_{i}^{t}}=\operatorname{argmax}\left(\left(\mathcal{F}\left(\mathcal{G}\left(x_{i}^{t}\right)\right)\right)\right.$
域间对比对齐(类级):
$\mathcal{L}_{c l u}\left(C_{i}^{t}, C_{i}^{s}\right)=-\log \frac{h\left(C_{i}^{t}, C_{i}^{s}\right)}{h\left(C_{i}^{t}, C_{i}^{s}\right)+\sum_{\substack{r=1 \\ q \in\{s, t\}}}^{K} \mathbb{1}_{\{r \neq i\}} h\left(C_{i}^{t}, C_{r}^{q}\right)}$
其中:
$h(\mathbf{u}, \mathbf{v})=\exp \left(\frac{\mathbf{u}^{\top} \mathbf{v}}{\|\mathbf{u}\|_{2}\|\mathbf{v}\|_{2}} / \tau\right)$
2.4 实例对比对齐
强数据增强:
$\tilde{x}_{i}^{t}=\psi\left(x_{i}^{t}\right)$
实例对比损失:
$\mathcal{L}_{i n s}\left(\tilde{x}_{i}^{t}, x_{i}^{t}\right)=-\log \frac{h\left(\mathcal{F}\left(\mathcal{G}\left(\tilde{x}_{i}^{t}\right), \mathcal{F}\left(\mathcal{G}\left(x_{i}^{t}\right)\right)\right)\right.}{\sum_{r=1}^{B} h\left(\mathcal{F}\left(\mathcal{G}\left(\tilde{x}_{i}^{t}\right)\right), \mathcal{F}\left(\mathcal{G}\left(x_{r}^{t}\right)\right)\right)+\sum_{r=1}^{B} \mathbb{1}_{\{r \neq i\}} h\left(\mathcal{F}\left(\mathcal{G}\left(\tilde{x}_{i}^{t}\right)\right), \mathcal{F}\left(\mathcal{G}\left(\tilde{x}_{r}^{t}\right)\right)\right)}$
2.5 训练目标
$\mathcal{L}_{\text {tot }}=\mathcal{L}_{\text {sup }}+\alpha * \mathcal{L}_{\text {clu }}+\beta * \mathcal{L}_{\text {ins }}$
3 总结
略
迁移学习(CLDA)《CLDA: Contrastive Learning for Semi-Supervised Domain Adaptation》的更多相关文章
- 迁移学习(JDDA) 《Joint domain alignment and discriminative feature learning for unsupervised deep domain adaptation》
论文信息 论文标题:Joint domain alignment and discriminative feature learning for unsupervised deep domain ad ...
- 【转载】 迁移学习简介(tranfer learning)
原文地址: https://blog.csdn.net/qq_33414271/article/details/78756366 土豆洋芋山药蛋 --------------------------- ...
- 【迁移学习】2010-A Survey on Transfer Learning
资源:http://www.cse.ust.hk/TL/ 简介: 一个例子: 关于照片的情感分析. 源:比如你之前已经搜集了大量N种类型物品的图片进行了大量的人工标记(label),耗费了巨大的人力物 ...
- 《A Survey on Transfer Learning》迁移学习研究综述 翻译
迁移学习研究综述 Sinno Jialin Pan and Qiang Yang,Fellow, IEEE 摘要: 在许多机器学习和数据挖掘算法中,一个重要的假设就是目前的训练数据和将来的训练数据 ...
- Sebastian Ruder : NLP 领域知名博主博士论文面向自然语言处理的神经网络迁移学习
Sebastian Ruder 博士的答辩 PPT<Neural Transfer Learning for Natural Language Processing>介绍了面向自然语言的迁 ...
- 迁移学习( Transfer Learning )
在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型:然后利用这个学习到的模型来对测试文档进行分类与预测.然而,我们看到机器学习算法在当前的Web挖掘研究中存在着一个关 ...
- 迁移学习(Transfer Learning)(转载)
原文地址:http://blog.csdn.net/miscclp/article/details/6339456 在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型 ...
- 迁移学习-Transfer Learning
迁移学习两种类型: ConvNet as fixed feature extractor:利用在大数据集(如ImageNet)上预训练过的ConvNet(如AlexNet,VGGNet),移除最后几层 ...
- 【深度学习系列】迁移学习Transfer Learning
在前面的文章中,我们通常是拿到一个任务,譬如图像分类.识别等,搜集好数据后就开始直接用模型进行训练,但是现实情况中,由于设备的局限性.时间的紧迫性等导致我们无法从头开始训练,迭代一两百万次来收敛模型, ...
- 迁移学习(Transfer Learning)
原文地址:http://blog.csdn.net/miscclp/article/details/6339456 在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型 ...
随机推荐
- Git_基础理论
三个区域 Git本地有三个工作区域:工作目录(Working Directory).暂存区(Stage/Index).资源库(Repository或Git Directory).如果在加上远程的git ...
- C语言程序设计基础 实验3 函数
C语言程序设计基础 实验3 函数 一.实验目的 1. 理解函数的本质:模块化,实现代码复用 2. 掌握函数定义.声明.调用的语法 3. 理解并掌握函数的形参.实参,以及函数调用和返回的过程 4. ...
- Servlet's characters of get and post
Tomcat默认是使用ISO8859-1来解码的,ISO8859-1是不支持中文的. 1.post请求解决乱码原因: 服务器不知道按哪种编码来处理HTML等文件来响应给浏览器的,所以处理post请求时 ...
- Unity检测鼠标是否与UI交互
在Unity项目中,假设在鼠标按键时会触发游戏内的操作,但是在鼠标与UI进行交互时我们希望停止游戏中的操作,这是需要使用EventSystem中的方法来检测鼠标是否正在与UI交互 private bo ...
- 【Leetcode】 剑指offer:字符串(简单)--Day03
剑指 Offer 05. 替换空格 请实现一个函数,把字符串 s 中的每个空格替换成"%20". 逐字符遍历原字符串,遍历过程中对存放结果的字符串分情况更新. class Solu ...
- node.js缓冲区类与node-red向串口发数据
遇到的问题是使用node-red的串口模块向串口发送16进制数据,控制LED灯. 初学者经常想当然的认为只要msg的payload里放上对应的数就行了.其实不是. Node-red是node.js环境 ...
- OSPF的收敛特性
- 给c++写python的split()与input()【python一样写c++、一】
python的split确实是很香的功能. 写c++的时候,就会想着,要是能直接input().split()那不挺好. 实际上真的可以:自己动手,丰衣足食. 先放成品展示. int main(){ ...
- Jx9嵌入式脚本语言基本用法
Jx9是一种嵌入式脚本语言,可用于编写嵌入式脚本和扩展. 以下是一些使用Jx9的示例: 1. 计算器 Jx9可以轻松实现一个计算器.例如: ```print("Enter two numbe ...
- JavaWeb学习笔记第三弹
一.数据库设计 1.软件研发步骤 2.数据库设计概念 建立数据库中的表结构以及表与表之间的关联关系的过程 3.数据库设计的步骤 表关系:一对一.一对多(多对一).多对多 表关系之一对多 表关系之多对多 ...