引言

传统的无监督领域自适应方法(UDA)除了需要大量的源域数据(Source Data)外,还需要足够数量的无标注目标域样本(Target Data)进行训练,比如基于分布对齐、基于伪标签提取和基于熵最小化的方法等均隶属于此范畴。然而在实际场景中,除了数据标注费时费力,数据的采集本身也可能存在困难,比如因数据隐私保护、采集环境苛刻等造成的目标域数据稀缺。因此,即使能够通过计算机生成无限量的虚拟数据,因为真实数据的稀缺,网络也无法通过传统的UDA方法进行正常训练。针对这种目标数据稀缺的现实而具有挑战性的问题,本文提出了一种新的解决方法。文章假设我们只搜集到了一张来自于目标域的珍贵样本,仅仅通过对该样本的充分挖掘,使模型能够感知到潜在的目标域分布,达到“一叶落知天下秋”的效果。原论文发表于NeurIPS2020,标题为 《Adversarial Style Mining for One-Shot Unsupervised Domain Adaptation》,代码已开源。论文第一作者罗亚威,博士毕业于华中科技大学计算机科学与技术学院,现任浙江大学计算机科学与技术学院博士后。

Paper:Adversarial Style Mining for One-shot Unsupervised Domain Adaptation

Code: RoyalVane/ASM

问题背景

图1(a) 传统的领域自适应方法在源域/目标域数据充足的情况下能达到好的效果,但在目标域数据稀缺(如只有单个样本)的情况下效果不佳。

Unsupervised Domain Adaptation (UDA)

深度学习方法在计算机视觉的多个任务中都取得了令人满意的成果。然而,训练一个良好的神经网络往往需要海量的人工标注数据。当前一个比较流行的思路是借助虚拟的合成数据进行模型训练,比如利用3D游戏截图等等。然而,由虚拟数据训练出的网络在真实数据上往往泛化能力不佳,而造成这一问题的主要原因被称为域偏差(Domain Shift)。为了解决这一问题,研究者利用无监督领域自适应方法来缓解虚拟源域数据和真实目标域数据分布的差距,达到了比较好的效果,如图1(a)左所示。

One-Shot Unsupervised Domain Adaptation (OSUDA)

传统的无监督领域自适应方法除了需要大量的源域数据外,还需要足够数量的无标注目标域样本进行训练,比如基于分布对齐、基于伪标签提取和基于熵最小化的方法等均隶属于此范畴。然而在实际场景中,除了数据标注费时费力,数据的采集本身也可能存在困难,比如因数据隐私保护、采集环境苛刻等造成的目标域数据稀缺。因此,即使能够通过计算机生成无限量的虚拟数据,因为真实数据的稀缺,网络也无法通过传统的UDA方法进行正常训练,如图1(a)右所示。

针对这种目标数据稀缺的现实问题,本文提出了一种新的解决方法。文章假设我们只搜集到了一张来自于目标域的珍贵样本,仅仅通过对该样本的充分挖掘,使模型能够感知到潜在的目标域分布,达到“一叶落知天下秋”的效果。

解决思路

图1(b) ASM由风格生成网络G和任务网络M组成。G通过采样,将one-shot目标域样本xt附近的风格赋予源域图片集合{Xs},并在根据M的反馈在每次迭代中生成更多更难的潜在目标域风格,而M则需要正确处理新生成的图片,并将训练损失反馈给G。显然,两者形成了一个对抗的过程。

Domain Adaptive Semantic Segmentation问题假设源域和目标域具有相似的语义内容,但图片风格不同。传统基于风格迁移的Domain Adaptation方法将源域图片转化到目标域图片的风格分布上进行训练,以此降低domain gap。然而,在只有一张目标域图片的情况下,如果直接按照风格迁移的思路,所有的源域图片均会迁移到同一个单调的风格上,造成过拟合。因此,这里我们将OSUDA的问题转化为了风格搜索问题,即如何从一个“孤点”风格搜索出更多潜在的目标域风格,形成“风格分布”,从而让领域自适应变得可行。

到目前为止,One-shot setting下最大的难题还是没有得到解决。因为只有一张图片,潜在的目标域风格分布是完全未知的。那么如何有效地搜索呢?我们的思路是这样的。一方面,我们认为,潜在的目标域风格虽然不可见,但大概分布在该one-shot风格的附近。另一方面,我们应该让搜索出的风格对模型的泛化能力有价值,即不能完全过拟合到one-shot的风格。沿着这种思路,我们设计了ASM方法。

ASM方法以one-shot图片提供的风格作为“锚”风格(anchored style),利用一个图片生成网络G在anchored style周围采样一个相似的风格(该风格离anchored style较近)进行图片生成,然后将下一步的搜索方向确定为对当前任务模型M最难的方向(利用梯度上升实现)进行搜索,从而生成更多更难风格的图像来提高任务特定模型 M 的泛化能力。另一方面,更新后的 M 为 G 提供动态反馈,以指导G下一步的搜索方向。显然,M与G形成了一个对抗的过程。在这种对抗训练过程中,G逐步生成对于M来说更加困难的图片,而M不断地更新G的搜索方向。训练收敛后,M可以对anchored style周围的所有风格具有较强的泛化能力。

方法详情

风格生成网络RAIN

根据解决思路中的描述,针对OSUDA问题,ASM算法需要一个根据M的训练loss而动态改变迁移风格的模块G,且模块G需要具有采样能力和端到端可导的搜索能力。基于AdaIN方法,我们设计了RAIN模块。RAIN 在原始 AdaIN 的特征空间中额外装备了一个变分自编码器(称为 style VAE)。style VAE将所有的风格分布都编码到了一个正态分布中,因此RAIN在训练完成后,不需要再像AdaIN一样每次输入风格图片进行风格迁移,而是可以直接通过采样进行随机风格迁移。通过改变采样向量,生成的风格也相应的发生变化。因此,直接将梯度反传至采样向量即可完成端到端的对抗训练。RAIN module的详情如图2所示。

对抗风格挖掘网络ASM

有了可采样可求导的风格生成模块G,ASM的实现也就水到渠成了。文章将预训练的G(也就是RAIN)的参数固定(可变的只有采样向量),与M组成一个对抗网络。这里的M以语义分割常用的FCN网络为例,整体框架如图3所示。

ASM的训练目标是优化两个损失函数。

任务损失:利用任务损失指导 M 从(已经过风格化的)源域数据和标签中学习知识。

一致性损失:为了进一步鼓励 M 提取领域不变性特征,算法使用了一致性损失,定义如下。

其中

代表 M 中的深层特征,
代表一个 Batch 内所有图像的深层特征向量平均值。该损失函数的设计动机是因为领域自适应问题假设源域和目标域共享相同的内容空间,但是风格不同,因此不同风格化下的源图像应该在深层保持相似的语义信息。这种损失限制了具有相同内容但不同风格的批图像之间的语义一致性,鼓励了 M 仅仅提取语义信息这种领域间不变的特征,增强了模型的泛化能力。

综上所述, ASM 模型的总体优化目标为:

算法伪代码:

实验结果

本文分别在Classification和Segmentation的OSUDA任务上进行了实验。

OSUDA Classification实验

Classification实验采用了经典的MNIST-USPS-SVHN互相迁移的任务进行效果度量,结果如表1所示。

我们通过T-SNE图进一步展示ASM的效果,如图4所示。

图4 tSNE 特征可视化(a): Source only;(b): CycleGAN;(c): OST;(D): ASM

OSUDA Segmentation实验

OSUDA Segmentation实验在GTA2Cityscapes和Synthia2Cityscapes两个任务上进行测试,结果如表2所示。可以看到,在OSUDA setting下ASM获得了SOTA的mIOU,并且在传统的UDA setting下,ASM也能达到很好的效果。

图5展示了OSUDA语义分割任务的可视化结果。

图5 OSUDA语义分割可视化结果

消融实验

消融实验探究了consistency loss的重要性,如表3所示。

不同采样策略的结果比较

该实验比较了不同采样类型的风格生成结果,如表4所示。Anchor Sampling是完全在one-shot样本附近的采样策略(无对抗搜索过程),容易造成过拟合;而Random Sampling会生成对M无益的随机风格。ASM方法生成的样本既保证了风格符合潜在的目标域风格分布,又保证了对任务模型的有效泛化能力。

不同采样策略生成结果可视化,如图6所示。

图6 不同采样策略的风格迁移结果

结论

针对目标域数据可能稀缺的情况,本章提出了新的基于单目标域样本的领域自适应(One-shot Unsupervised Domain Adaptation,简称 OSUDA)问题场景,并针对此问题设计了对抗风格挖掘(Adversarial Style Mining,简称 ASM)算法。 OSUDA 问题的困难之处在于,由于无法从单个目标域样本推理目标域的真实分布,因此基于特征对齐、基于伪标签生成和基于熵最小化的一些常见 UDA 方法都无法正常使用。本文所提出的 ASM 以对抗学习的方式将风格转换模块和特定任务模块相结合,迭代地、高效地搜索新的风格化样本,以帮助任务模型泛化到几乎不可见的目标域。 ASM 可以被视为一种通用框架,因为特定于任务的子网络 M 可以根据不同的跨域任务进行更改。本章在分类和分割任务上的实验结果表明了 ASM 针对 OSUDA 问题有效性。与其他领域自适应方法相比,ASM 在目标域样本稀缺的情境下具有最优的性能。

OSUDA是一种非常现实却极具挑战性的问题环境,目前相关研究较少,特别是在语义分割任务上还有较大提升空间。

yzmcms图片自适应代码_[ NeurIPS 2020 ] 一叶知秋 —— 基于“单目标域样本”的领域自适应方法...相关推荐

  1. [ NeurIPS 2020 ] 一叶知秋 —— 基于“单目标域样本”的领域自适应方法

    [ NeurIPS 2020 ] 一叶知秋 -- 基于"单目标域样本"的领域自适应方法 引言 华中科技大学.浙江大学.百度研究院新作--基于"单目标域样本"的无 ...

  2. NeurIPS 2020 | 基于“单目标域样本”的领域自适应方法

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨罗亚威@知乎(已授权) 来源丨https://zhua ...

  3. 一叶知秋:基于“单目标域样本”的领域自适应方法

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨罗亚威@知乎(已授权) 来源丨https://zhua ...

  4. NeurIPS 2020 | 清华大学提出:通用、高效的神经网络自适应推理框架

    来源:人工智能AI技术 本文约3400字,建议阅读7分钟 本文介绍我们被NeurIPS 2020会议录用的一篇文章. 本文主要介绍我们被NeurIPS 2020会议录用的一篇文章:Glance and ...

  5. NeurIPS 2020 | Glance and Focus: 通用、高效的神经网络自适应推理框架

    文 | rainforest wang 源 | 知乎 本文主要介绍我们被NeurIPS 2020会议录用的一篇文章: Glance and Focus: a Dynamic Approach to R ...

  6. 表单中隐藏域的html代码是,JS中input表单隐藏域及其使用方法_心病_前端开发者...

    一.表单隐藏域 隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的.当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上. 代码格式: <input ...

  7. ECCV 2020 | PHOSA:一种基于单目图像的人-物重建方法

    项目.论文地址:在公众号「3D视觉工坊」,后台回复「PHOSA」,即可直接下载. 概述 作者提出了一种能够推断出人类和物体的形状和空间排列的方法,只需要一张在自然环境中捕捉的图像,且不需要任何带有3D ...

  8. yzmcms图片自适应代码_基于segment.js制作的非常有创意的分段式SVG文字动画特效...

    [温馨提示]源码包解压密码:www.youhutong.com 效果图: 描述说明: 要使用该SVG文字动画特效,要在页面中引入segment.js,它用于动画SVG路径,d3-ease,用于制作ea ...

  9. 10款js图片代码_图片滚动代码_图片切换代码_图片特效代码_图片轮播代码(二)

    js电影图片滑动放大展示特效 jQuery列表图片全图滚动预览 jQuery游戏图片手风琴切换代码 响应式图片文字横幅布局代码 swiper新闻大图滚动组合特效 swiper图文标题滚动轮播特效 js ...

最新文章

  1. 【王俊杰de人工智能实战课】第6次作业
  2. java中的内部接口
  3. linux sdkMannger的打开
  4. 【数据结构与算法】之深入解析“组合总和”的求解思路与算法示例
  5. ubuntu/linux运行shell脚本sudo自动输入密码(亲测可以)
  6. ES2017 异步函数async/await
  7. afterclass_通过beforeClass和afterClass设置增强Spring Test Framework
  8. LeetCode 1061. 按字典序排列最小的等效字符串(并查集)
  9. Exchange 2016 OWA登陆异常
  10. 碳酸钡颗粒行业调研报告 - 市场现状分析与发展前景预测
  11. 用python画图代码-Python实战小程序利用matplotlib模块画图代码分享
  12. 国内智能语音识别产业的增长,可能源于三大技术突破
  13. GNU make manual 翻译(六十六)
  14. ARM嵌入式体系结构与接口技术
  15. 山东农业大学/基础训练5
  16. CentOS 安装 Xware 迅雷远程下载程序
  17. 八、Sentinel.conf 配置文件详细介绍
  18. go语言-channel使用(二十一)
  19. java毕业生设计新能源汽车租赁管理系统计算机源码+系统+mysql+调试部署+lw
  20. PTA | 日期的推算* (10分)

热门文章

  1. Java集合:Hashtable源码分析
  2. 操作系统:内存连续分配方式采用的几种算法及各自优劣
  3. 【Python】青少年蓝桥杯_每日一题_9.11_买鸡
  4. Android——怎么在一个 Activity 中销毁另外一个 Activity
  5. Andoird --- 安卓 failed to connect to /192.168.0.135 (port 8080) after 1000ms
  6. html中本页面路径怎么写,HTML之绝对路径与相对路径
  7. 腾讯云上午突发故障 称运营商光缆中断所致
  8. php实现小说字典功能_PHP实现获取并生成数据库字典的方法
  9. 数据网络卡顿怎么处理_监控网络卡顿怎么办
  10. Python之pypmml:pypmml的简介、安装、使用方法之详细攻略