CYCADA: cycle-consistent adversaial domain adaption阅读笔记

目录
  • CYCADA: cycle-consistent adversaial domain adaption阅读笔记

    • 作者的方法

      • adversarial objective
      • cycle consistency
      • semantic consistency
      • feature level

之前方法是在feature space进行domain adaption,来发现domain invariant representations, 但是这种方法很难可视化,而且某些时候不能够获取pixel-level和low-level domain shift. 最近的gan在使用cycle一致性约束的GAN在不同的domain上进行图片mapping取得了很好的效果,即使没有使用aligned image pairs.

作者这篇文章提出了一种新的通过判别方式训练的Cycle-Consistent Adversarial Domain Adaption model. CYCADA能够在pixel-level和feature level上同时adapt,通过添加cycle-consistency约束的同时,还会使用task相关的loss,并且不需要对其的pairs。作者的这种settting可以用到很多不同的任务。达到了比较好的效果。

作者的方法

假设source data为 \(X_S\), source label为\(Y_S\), target data为\(X_T\), 但是没有target label,UDA的目标是学习一个模型\(f\)使得能够准确地预测出来target data \(X_T\).

因为source data上有label,所以source model \(f_S\)在source data上可以学到。对应的就是\(K\)个类别的使用二值交叉熵分类问题:

\[\mathcal{L}_{\text {task }}\left(f_{S}, X_{S}, Y_{S}\right)=-\mathbb{E}_{\left(x_{s}, y_{s}\right) \sim\left(X_{S}, Y_{S}\right)} \sum_{k=1}^{K} \mathbb{1}_{\left[k=y_{s}\right]} \log \left(\sigma\left(f_{S}^{(k)}\left(x_{s}\right)\right)\right) \]

\(\sigma\)表示softmax函数。但是在source domain熵表现很好的\(f_S\),因为domain shift,在targetdomain会掉点。为了缓解这种domain shift, 作者follow之前的对抗适应方式,通过学习在domain之间map samples,这样的话,一个adversaial discriminator就不能够区分来自于哪个domain。通过mapping samples到一个common space,作者说能够让模型在source domain上进行学习,还能够泛化到target data上。

adversarial objective

基于此,作者提出了一个generator,来mapping from source to target \(G_{S \rightarrow T}\). 通过训练\(G_{S \rightarrow T}\)来产生target data,以及foll adversarial discriminator \(D_T\). 反过来,adversaial discriminator尝试将real target data从source target data充区分出来,对应的loss函数为

\[\mathcal{L}_{\mathrm{GAN}}\left(G_{S \rightarrow T}, D_{T}, X_{T}, X_{S}\right)=\mathbb{E}_{x_{t} \sim X_{T}}\left[\log D_{T}\left(x_{t}\right)\right]+\mathbb{E}_{x_{s} \sim X_{S}}\left[\log \left(1-D_{T}\left(G_{S \rightarrow T}\left(x_{s}\right)\right)\right)\right] \]

上面这个公式的意义是,给定source data,能够确保\(G_{S \rightarrow T}\)产生convincing target samples。相应的,这种能够在不同domain map samples的能力能够让我们通过优化函数\(\mathcal{L}_{\text {task }}\left(f_{T}, G_{S \rightarrow T}\left(X_{S}\right), Y_{S}\right)\)学习到一个target model \(f_T\),对应下图的绿色部分

cycle consistency

作者说上述这种方式训练的时候不稳定,而且容易失败。作者的原话如下

Although the GAN loss in Equation 2 ensures that \(G_{S \rightarrow T}\) for some xs will resemble data drawn from \(X_T\), there is no way to guarantee that \(G_{S \rightarrow T}\) preserves the structure or content of the original sample \(x_s\)

为了能够保证或者是encourage source content在conversion的过程中能够保留,作者在他们的adaption method添加了cycle-consistency的约束。如上图中的红色部分。同时作者也提出了利用another mapping from target to source \(G_{T \rightarrow S}\),也是利用GAN loss \(\mathcal{L}_{\mathrm{GAN}}\left(G_{T \rightarrow S}, D_{S}, X_{S}, X_{T}\right)\) 来训练

作者要求的是,从source 到target 然后再从合成的target 到source应该是要和source一致的,所以有个约束是:

\[G_{T \rightarrow S}\left(G_{S \rightarrow T}\left(x_{s}\right)\right) \approx x_{s} \]

以及

\[G_{S \rightarrow T}\left(G_{T \rightarrow S}\left(x_{t}\right)\right) \approx x_{t} \]

作者使用\(\mathcal{L}_1\) norm来进行约束,定义如下cycle consistency loss

\[\begin{aligned} \mathcal{L}_{\text {cyc }}\left(G_{S \rightarrow T}, G_{T \rightarrow S}, X_{S}, X_{T}\right) &=\mathbb{E}_{x_{s} \sim X_{S}}\left[\left\|G_{T \rightarrow S}\left(G_{S \rightarrow T}\left(x_{s}\right)\right)-x_{s}\right\|_{1}\right] \\ &+\mathbb{E}_{x_{t} \sim X_{T}}\left[\left\|G_{S \rightarrow T}\left(G_{T \rightarrow S}\left(x_{t}\right)\right)-x_{t}\right\|_{1}\right] \end{aligned} \]

semantic consistency

同时,作者说他们能够接触到source labeled data,在image translation前后,作者显式的保留高的语义一致性。

作者通过一个预训练的网络\(f_S\),固定这个网络的权重,用这个模型作为一个noisy labeler。作者希望的是,在translation前后,都希望对于迁移的像素能够用一个fixed classifier \(f\) 进行中正确的分类,给定一个输入\(X\), 用classifer \(f\)进行分类之后得到的输出为

\[p(f, X)=\arg \max (f(X)) \]

于是,作者定义了一个在图像translation前后的语义一致性的loss:

\[\begin{aligned} \mathcal{L}_{\mathrm{sem}}\left(G_{S \rightarrow T}, G_{T \rightarrow S}, X_{S}, X_{T}, f_{S}\right) &=\mathcal{L}_{\mathrm{task}}\left(f_{S}, G_{T \rightarrow S}\left(X_{T}\right), p\left(f_{S}, X_{T}\right)\right) \\ &+\mathcal{L}_{\mathrm{task}}\left(f_{S}, G_{S \rightarrow T}\left(X_{S}\right), p\left(f_{S}, X_{S}\right)\right) \end{aligned} \]

上图中的 黑色部分。

feature level

通过上述三种方式,作者引入了cycle consistency, semantic consistency,以及adversarial objectives来得到最终的target model。作为一个pixel-level method,adversarial项包含了一个判别器,这个判别器能够区分两种图像,比如从source迁移过来的或者是真实的target。自然而然的可以考虑在feature level进行判别,即一个feature 来自于从soruce domain生成的或者是real target的feature,如上襦的 橘色部分。feature level上的loss定义如下

\[\mathcal{L}_{\mathrm{GAN}}\left(f_{T}, D_{\mathrm{feat}}, f_{S}\left(G_{S \rightarrow T}\left(X_{S}\right)\right), X_{T}\right) \]

所以总共的loss如下:

\[\begin{aligned} \mathcal{L}_{\text {CyCADA }} &\left(f_{T}, X_{S}, X_{T}, Y_{S}, G_{S \rightarrow T}, G_{T \rightarrow S}, D_{S}, D_{T}\right) \\ &=\mathcal{L}_{\text {task }}\left(f_{T}, G_{S \rightarrow T}\left(X_{S}\right), Y_{S}\right) \\ &+\mathcal{L}_{\text {GAN }}\left(G_{S \rightarrow T}, D_{T}, X_{T}, X_{S}\right)+\mathcal{L}_{\text {GAN }}\left(G_{T \rightarrow S}, D_{S}, X_{S}, X_{T}\right) \\ &+\mathcal{L}_{\text {GAN }}\left(f_{T}, D_{\text {feat }}, f_{S}\left(G_{S \rightarrow T}\left(X_{S}\right)\right), X_{T}\right) \\ &+\mathcal{L}_{\text {cyc }}\left(G_{S \rightarrow T}, G_{T \rightarrow S}, X_{S}, X_{T}\right)+\mathcal{L}_{\text {sem }}\left(G_{S \rightarrow T}, G_{T \rightarrow S}, X_{S}, X_{T}, f_{S}\right) \end{aligned} \]

最后的优化目标变成:

\[f_{T}^{*}=\underset{f_{T}}{\arg \min } \min _{G_{S \rightarrow T} \atop G_{T \rightarrow S}} \max _{D_{S}, D_{T}} \mathcal{L}_{\mathrm{CyCADA}}\left(f_{T}, X_{S}, X_{T}, Y_{S}, G_{S \rightarrow T}, G_{T \rightarrow S}, D_{S}, D_{T}\right) \]

CYCADA: cycle-consistent adversaial domain adaption阅读笔记相关推荐

  1. Adversarial Discriminative Domain Adaption 阅读笔记

    文章发表于 CVPR 2017 文章利用GAN网络的思想用于cross-domain识别 文章首先提到 1 先前的生成网络不适用于大的domain shift 2 先前的辨别网络施加固定的权重,没有利 ...

  2. Deep Domain Confusion:Maximinzing for Domain Invariance阅读笔记

    摘要 近期研究表明,通常而言,一个在大量数据上训练的监督学习深度CNN模型可以减少但是不能移除一个标准基准上的数据集偏差.在新的域内使用基于微调的深度模型对数据量有很高的需求,这种限制使得这种方法在很 ...

  3. Causality Inspired Representation Learning for Domain Generalization 阅读笔记

    介绍 DG:将从多个源域学习到的知识泛化到未知域上,主要的方法是利用统计模型对数据和标签之间的依赖关系进行建模,从而学习到独立于域的表示.然而,当依赖性随目标分布而变化时,统计模型可能无法泛化. 于是 ...

  4. 论文阅读问题总结(六):Meta-Learning with Domain Adaption for Few-shot Learning Under Domain Shift

    1.这篇paper作者提出要解决的问题? 作者提出,大部分现存的小样本元学习领域的一些工作都基于两个假设: training task和testing task都是从满足同一task distribu ...

  5. 《Consistent Video Depth Estimation》阅读笔记

    <Consistent Video Depth Estimation>阅读笔记 文章目录 <Consistent Video Depth Estimation>阅读笔记 前言: ...

  6. 【阅读笔记】ACL-2020《KinGDOM:Knowledge-Guided DOMain Adaptation for Sentiment Analysis》

    Motivation:​​​​​​​ ConceptNet 构建跨域的知识图谱补充增强了文本表示的泛化性 [Target domain]被测领域 [Source domain]由ConceptNet构 ...

  7. 学习笔记|领域自适应(Domain adaption)——实现模型的自适应迁移

    1. 领域自适应网络概述 有时候我们在某个领域训练出的一个模型,想迁移到另一个领域,这样我们就不需要每个领域都去标注大量的数据了.但是这两个领域的数据分布是有些差异,要如何办呢?比如我们在黑白图片上训 ...

  8. 论文笔记:CycleMorph: Cycle Consistent UnsupervisedDeformable Image Registration

    CycleMorph: Cycle Consistent Unsupervised Deformable Image Registration 针对本篇论文个人总结: 文章最重要的点在于施加循环一致性 ...

  9. Hardware-in-the-loop End-to-end Optimization of Camera Image Processing Pipelines阅读笔记

    Hardware-in-the-loop End-to-end Optimization of Camera Image Processing Pipelines阅读笔记 目录 Hardware-in ...

最新文章

  1. 基于opencv的简单视频处理类示例
  2. NovuMind 首秀 CES,展示业界最高性能的 AI 芯片
  3. linux中如何查看某一进程的启动时间
  4. SQL Server 2016 行级别权限控制
  5. SAP Spartacus的ProductAdapter和OccProductAdapter
  6. 自写图片遮罩层放大功能jquery插件源代码,photobox.js 1.0版,不兼容IE6
  7. k8s部署tomcat及web应用_部署 Spring Boot 应用到 K8S 教程
  8. matlab二元方程组,用matlab解一个二元方程组,会的进,得到解再回答
  9. 缺少更新或刷新的键列信息_涨知识 | 刷新键究竟是用来干嘛的?你为什么要点击刷新呢?...
  10. 飞龙推荐三个swf互转gif格式工具及flash直接保存gif动画方法
  11. Ubuntu 安装 bashtop 资源监视器
  12. 优化算法之粒子群优化
  13. leetcode-841-钥匙和房间 题解
  14. 阿拉伯数字转化为大写汉字
  15. swift 加速传感器
  16. 从0糖到0防腐剂,元气森林缘何偏向“虎山行”?
  17. 微电子新手入门之Cadence常用仿真——NMOS管的漏端输出电阻
  18. 【涡扇发动机RUL专题】:分段退化标签,测试集可视化、评价指标
  19. Vue组件化编程开发
  20. BMG5100千兆5G智能杆网关

热门文章

  1. HDU - 2859 Phalanx (DP)
  2. 好用的高匿代理IP有什么特点?
  3. HMACSHA加密方法
  4. 【密码学】HMAC与HS256算法
  5. 软件测试工程师工资有多高?
  6. Oracle 计算百分比
  7. win11/windows重命名时,命名栏只显示一个字符,而看不到全名?据说是系统分辨率和屏幕分辨率不匹配造成的?但如何解决呢?
  8. 豆瓣民谣排行100爬取练习
  9. CCNA学习笔记——第一章:OSI 和 TCP/IP 模型
  10. 华为手机怎么使用读卡器_华为手机怎么绑定门禁卡