迁移学习(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 在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型 ...
随机推荐
- 【.NET】Swagger 允许接口重名
问题: Swagger Failed to load API definition. 相信用过swagger的小伙伴 一定经历过这样的错误,问题点很简单,是接口重名了. 我百度了一下,找不到答案. 谷 ...
- SpringBoot为什么是默认单例的:
好处: 1)提升性能,减少了新生成实例的消耗 新生成实例消耗包括两方面,第一,spring会通过反射或者cglib来生成bean实例, 其次,给对象分配内存也会涉及复杂算法,这些都是消耗性能的操作. ...
- Bootstrap4布局(简要)
目录 什么是Bootstrap 布局基础 布局容器 相应断点 z-index 网格系统 12栅格 重排序 列偏移 弹性盒子 什么是Bootstrap Bootstrap是目前最流行的一套前端开发框架, ...
- Scala操作Kakfa API
如需大数据开发整套视频(hadoop\hive\hbase\flume\sqoop\kafka\zookeeper\presto\spark):请联系QQ:1974983704 由于我使用的是kafk ...
- PCRaster安装
改了很久才import成功.期间查了不少东西,虽然大部分没用上,但还是记录一下. PCRaster的安装和个人的最终解决方法 Software for environmental modelling ...
- Servlet的学习之路
一.什么是什么Servlet? Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程 ...
- Rename a Local and Remote Git Branch
Renaming Git Branch Follow the steps below to rename a Local and Remote Git Branch: 01 Start by swit ...
- 在POD的ENV中添加POD的信息
主要用到的参数: - name POD_NAME volumeFrom: fieldRef: fieldPath: metadata.name - name: POD_IP volumeFrom: ...
- Keil Jlink没法找到STM32H750
https://www.amobbs.com/thread-5713382-1-1.html MDK使用的是5.32,jlink使用的是9.2jlink驱动使用的是6.44b 删除工程下的JLinkS ...
- Android笔记--案例:登录界面以及登录逻辑
登录界面的实现 就是说,界面的绘制,并没有什么难度,只要控制好空间的分配就可以了 登录的逻辑实现 获取验证码.忘记密码的界面跳转.登录的实现: 确认文本框的输入内容是否符合题意: