迁移学习(PCL)《PCL: Proxy-based Contrastive Learning for Domain Generalization》
论文信息
论文标题:PCL: Proxy-based Contrastive Learning for Domain Generalization
论文作者:Xu Yao, Yang Bai, Xinyun Zhang, Yuechen Zhang, Qi Sun, Ran Chen, Ruiyu Li, Bei Yu
论文来源:2022 CVPR
论文地址:download
论文代码:download
视屏讲解:click
1 前言
域泛化是指从一组不同的源域中训练一个模型,可以直接推广到不可见的目标域的问题。一个很有前途的解决方案是对比学习,它试图通过利用来自不同领域的样本到样本对之间丰富的语义关系来学习领域不变表示。一种简单的方法是将来自不同域的正样本对拉得更近,同时将其他负样本对推得更远。
在本文中,我们发现直接应用基于对比的方法(如有监督的对比学习)在领域泛化中是无效的。本文认为,由于不同域之间的显著分布差距,对准正样本到样本对往往会阻碍模型的泛化。为了解决这个问题,提出了一种新的基于代理的对比学习方法,它用代理到样本关系代替了原始的样本-样本关系,显著缓解了正对齐问题。
2 方法
整体框架
Note:本文在多源域上训练一个模型,然后将训练好的模型直接用于目标域预测;
2.1 启发
现有对比学习的对比损失大多考虑正对和负对,本文受到 [ 61 ] 损失函数的启发,它只考虑正样本之间的关系,假设 $x_i$、$x_j$ 是从同一类的不同源域进行采样。设 $z=F_{\theta}(\boldsymbol{x})$ 是由特征提取器 $F_{\theta}$ 提取的特征,我们有:
$\mathcal{L}_{\mathrm{pos}}=\frac{1}{\alpha} \log \left(1+\sum \exp \left(-\boldsymbol{z}_{i}^{\top} \boldsymbol{z}_{j} \cdot \alpha\right)\right) \quad\quad\quad(1)$
实验:是否使用 包含正对之间对比的 $\text{instance} - \text{instance}$ 之间的对比学习?
结果:单纯使用交叉熵损失比 交叉熵损失 + 正对之间的对齐 效果还好,所以跨域之间的正对对齐是有害的。
2.2 问题定义
多源域适应;
特征提取器:$F_{\theta}: X \rightarrow Z$
分类器:$G_{\psi}: \mathcal{Z} \rightarrow \mathbb{R}^{C}$
2.3 交叉熵回顾
交叉熵损失函数:
$\mathcal{L}_{\mathrm{CE}}=-\log \frac{\exp \left(\boldsymbol{w}_{c}^{\top} \boldsymbol{z}_{i}\right)}{\exp \left(\boldsymbol{w}_{c}^{\top} \boldsymbol{z}_{i}\right)+\sum_{j=1}^{C-1} \exp \left(\boldsymbol{w}_{j}^{\top} \boldsymbol{z}_{i}\right)} \quad\quad\quad(2)$
其中,$\boldsymbol{w}_{c}$ 代表目标域的某一类中心;
$\text{Softmax CE}$ 损失只考虑了代理到样本的关系,而忽略了丰富的语义样本与样本之间的关系。
2.4 对比损失回顾
对比损失函数:
$\mathcal{L}_{\mathrm{CL}}=-\log \frac{\exp \left(\boldsymbol{z}_{i}^{\top} \boldsymbol{z}_{+} \cdot \alpha\right)}{\exp \left(\boldsymbol{z}_{i}^{\top} \boldsymbol{z}_{+} \cdot \alpha\right)+\sum \exp \left(\boldsymbol{z}_{i}^{\top} \boldsymbol{z}_{-} \cdot \alpha\right)}$
基于对比的损失考虑了丰富的样本与样本之间的关系。其关键思想是学习一个距离,将 $\text{positive pairs}$ 拉近,将 $\text{negative pairs}$ 推远。
2.5 困难样本挖掘
公式:
$\begin{aligned}\mathcal{L}_{\mathrm{CL}} & =\lim _{\alpha \rightarrow \infty} \frac{1}{\alpha}-\log \left(\frac{\exp \left(\alpha \cdot s_{p}\right)}{\exp \left(\alpha \cdot s_{p}\right)+\sum_{j=1}^{N-1} \exp \left(\alpha \cdot s_{n}^{j}\right)}\right) \\& =\lim _{\alpha \rightarrow \infty} \frac{1}{\alpha} \log \left(1+\sum_{j=1}^{N-1} \exp \left(\alpha\left(s_{n}^{j}-s_{p}\right)\right)\right) \\& =\max \left[s_{n}^{j}-s_{p}\right]_{+} .\end{aligned}$
理解:由于域之间的域差异很大,简单的拉近正对之间的距离,拉远负对之间的距离是不合适的,这是由于往往存在某些难学的样本,使得模型总是识别错误。
2.6 基于代理的对比学习
$\text{Softmax}$ 损失 在学习类代理方面是有效的,能够快速、安全地收敛,但不考虑样本与样本之间的关系。基于对比损失利用了丰富的 样本-样本 关系,但在优化密集的 样本-样本 关系方面训练复杂性高。
$\mathcal{L}_{\mathrm{PCL}}=-\frac{1}{N} \sum_{i=1}^{N} \log \frac{\exp \left(\boldsymbol{w}_{c}^{\top} \boldsymbol{z}_{i} \cdot \alpha\right)}{Z}$
基于代理的对比损失:
$\mathcal{L}_{\mathrm{PCL}}=-\frac{1}{N} \sum_{i=1}^{N} \log \frac{\exp \left(\boldsymbol{w}_{c}^{\top} \boldsymbol{z}_{i} \cdot \alpha\right)}{Z}$
其中,
$Z=\exp \left(\boldsymbol{w}_{c}^{\top} \boldsymbol{z}_{i} \cdot \alpha\right)+\sum_{k=1}^{C-1} \exp \left(\boldsymbol{w}_{k}^{\top} \boldsymbol{z}_{j} \cdot \alpha\right)+\sum_{j=1, j \neq i}^{K} \exp \left(\boldsymbol{z}_{i}^{\top} \boldsymbol{z}_{j} \cdot \alpha\right)$
Note:$N$ 代表的是 $\text{batch_size}$ 的大小,$K$ 代表的是 $x_i$ 负样本的数量。
2.7 施加投影头的基于代理的对比学习
公式:
$\mathcal{L}_{\mathrm{PCL}-\mathrm{in}}=-\frac{1}{N} \sum_{i=1}^{N} \log \frac{\exp \left(\boldsymbol{v}_{c}^{\top} \boldsymbol{e}_{i}\right)}{E}$
其中,
$E=\exp \left(\boldsymbol{v}_{c}^{\top} \boldsymbol{e}_{i}\right)+\sum_{k=1}^{C-1} \exp \left(\boldsymbol{v}_{k}^{\top} \boldsymbol{e}_{j}\right)+\sum_{j=1, j \neq i}^{B} \exp \left(\boldsymbol{e}_{i}^{\top} \boldsymbol{e}_{j}\right)$
2.8 训练
训练目标:
$\mathcal{L}_{\text {final }}=\mathcal{L}_{\mathrm{CE}}+\lambda \cdot \mathcal{L}_{\text {PCL-in }}$
3 实验结果
正对齐实验的细节
消融实验
超参数实验
困难样本分析
4 总结
略
相关文章
- 【ASM学习】普通数据库向ASM实例的迁移(二)
- 【ASM学习】普通数据库向ASM实例的迁移(一)
- 迁移学习资料
- django迁移:全局、局部
- keras系列︱迁移学习:利用InceptionV3进行fine-tuning及预测、完美案例(五)
- paddlepaddle 17 迁移学习-图像分类实战四 基于paddle2(paddlehub2)实现静态图的训练与测试
- SAP CRM, C4C和Hybris Commerce的数据迁移策略
- 如何将本地数据库迁移到数据库上?
- DL之VGG16:基于VGG16(Keras)利用Knifey-Spoony数据集对网络架构进行迁移学习
- 迁移学习《Cluster-Guided Semi-Supervised Domain Adaptation for Imbalanced Medical Image Classification》
- 迁移学习(CDA)《CDA:Contrastive-adversarial Domain Adaptation 》
- 迁移学习(SOT)《Cross-domain Activity Recognition via Substructural Optimal Transport》
- 迁移学习(DDC)《Deep Domain Confusion: Maximizing for Domain Invariance》【已复现迁移】
- 迁移学习(MixMatch)《MixMatch: A Holistic Approach to Semi-Supervised Learning》
- Oracle 跨平台迁移——筑梦之路
- 域自适应学习是一种源任务和目标任务一样,但是源域和目标域的数据分布不一样,并且源域有大量的标记好的样本,目标域则没有(或者只有非常少的)有标记的样本的迁移学习方法——感觉和核函数类似
- 迁移学习——使用Tensorflow和VGG16预训模型进行预测
- 风格迁移2-04:MUNIT(多模态无监督)-白话给你讲论文-翻译无死角(2)
- 风格迁移0-10:stylegan-源码无死角解读(6)-loss损失函数详解
- Oracle 逻辑备份(数据迁移)
- Android kotlin 用RecyclerView(迁移到androidx)实现分组/吸顶/可展开收起列表功能
- pytorch 16 迁移学习核心技巧·从模型加载到按需初始化模块权重,再到各layer分组设置学习率
- 深度学习3 使用keras进行迁移学习(重新修订)
- Lecture7:随机梯度下降算法问题及解决、dropout正则化、学习率的选择、迁移学习
- 【MySQL】数据平滑迁移方案思考
- elasticsearch在线迁移备份