专栏首页AI深度学习求索Domain Adaptation图像分类分割算法MCD_DA|CVPR2018Oral论文

Domain Adaptation图像分类分割算法MCD_DA|CVPR2018Oral论文

论文:Maximum Classifier Discrepancy for Unsupervised Domain Adaptation

会议:CVPR2018, Oral

研究任务: Unsupervised Domain Adaptation

通过带标签的source domain的图片和标签训练得到一个网络模型,利用target image 进行domain adaptation 操作,使得source domain训练的网络模型也能够应用在target image上。

关于这个研究任务具体是研究什么的,具体请参考以前的文章

当前使用的方法:

如下图,一般的分类或者分割网络包括下采样的特征生成模块和分类模块,图片输入网络,通过特征生成模块提取为图片特征,再利用分类模块预测图片的类别,利用已有的标签对网络进行训练。

这个网络在分类网络的基础上添加了一个判别网络,主要利用对抗学习来对齐两个数据集图片特征的分布,只要图片特征的分布一样,那么源域图片训练的分类器也就可以应用在目标域图片上了,这样是不是就可以减轻数据集之间差异带来的问题。

但是,作者认为,这种方法存在一点问题。

1)它仅仅对齐图片特征的分布,并没有考虑类别边界,我们使用的分类器是完全由源域图片训练得到的。

这样可能导致,目标图片通过特征生成模块,可能生成类别模糊的特征,也就是,如上图左图中,在分类边界出现一些分类错误的特征。

2)由于每个数据集的特征,使得不能完全对齐

这篇文章主要就是希望解决这个问题,他提出了使用两个独立的分类模块,通过训练从而具有不同特点,那些类别模糊的特征通过两个不同分类器可能会被分为不同的类别,如图片中看见的分类矛盾的阴影区域,作者希望通过度量并且最小化这种分类矛盾区域,来解决这个问题,得到比较好的分类结果。

关于符号

网络结构

首先,看一下他的网络,与一般的网络(上述网络)不同,它由一个特征生成器和两个独立的类别分类器构成。

训练过程

训练的过程中,第一步,我们利用有标签的源域图片和标签训练特征生成器和两个分类器,利用分类Loss来优化他们。两个分类器,使用不同的方法初始化,并且独立训练,得到两个不同的分类器。

Step A : Train on source

通过第一步,我们可以得到两个不同的分类器,像我们之前说的,这两个分类器,可能会将来自目标图片的类别模糊的特征分类为不同的类别,如上面这幅图中表示。

我们将两个分类器之间的分类不一致定义为两个分类器预测的分值的差的绝对值,如上面这个公式,分类差异

第二步,我们固定特征生成器的参数,通过最大化分类差异,来训练两个分类器,保证分类准确同时又突出类别模糊的特征。

通过第二步训练,我们最大化了两个分类器之间的差异,如第二幅图展示的

第三步,我们固定两个分类器的参数,通过最小化分类差异,来优化特征生成器。

通过这三步的迭代训练,我们希望最终,源域和目标域图片通过特征生成器得到的特征更加相近,使得两个分类器的分类一致,检测不出两个数据集之间的类别差异。这样我们就完成了我们的训练。

结果

这篇论文在分类和分割两个任务上进行实验,实验结果如下所示

classification:

Experiments on Semantic Segmentation (GTA5 to Cityscapes)

总结

利用两个独立的分类器对齐源域和目标域图片特征分布

(1)利用源域图片训练特征生成器和分类器

(2)利用目标域图片最大化分类差异训练两个分类器

(3)利用目标域图片最小化分类差异训练特征生成器

(4)多次迭代训练

(5)最终使得特征生成器生成的特征越来越接近,消除分类差异

本文分享自微信公众号 - AI深度学习求索(AIDeepLearningQ)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 算法图解(五)|散列表与字典

    我们之前介绍过简单查找和二分查找,简单查找是从头开始一个个查找,二分查找是在有序列表中按分而治之的思想进行查找,虽然二分查找已经很快速了,但是在有些情况下,还是...

    AI深度学习求索
  • 目标检测(CVPR2017):Feature Pyramid Networks

    (a)使用图像金字塔构建特征金字塔网络:每个图像尺度上的特征都是独立计算的,速度缓慢。

    AI深度学习求索
  • 如何使用图片级类别标注对像素级分割任务进行训练之MIL Loss详解

    图片级别标注,指的是知道图片中有哪些物体,仅此而已,而需要完成的任务是什么呢?利用这简单的图片类别信息分割出对应物体的区域,进行像素级别分割的任务,哇!是不是觉...

    AI深度学习求索
  • IOS Alamofire判断手机是否有网络

    用户5760343
  • 【玩转腾讯云】windows nmap 中文不乱码的方案

    https://nmap.org/dist-old/nmap-5.35DC1-setup.exe

    shawyang
  • R语言教程之-线性回归

    回归分析是一种非常广泛使用的统计工具,用于建立两个变量之间的关系模型。 这些变量之一称为预测变量,其值通过实验收集。 另一个变量称为响应变量,其值从预测变量派生...

    统计学家
  • nginx0.1.0之event模块初始化源码分析(4)

    event的配置解析相关的代码已经分析完毕。下面分析一下另一个流程中event模块的实现。即在nginx创建进程,并且开始执行进程里的代码的时候。入口函数是ng...

    theanarkh
  • 高性能配置中心 duic - 设计&实现

    配置(Configuration)对于技术人员来说应该都不陌生,通常配置都是以 key-value 的形式存在于配置文件当中。例如线程池大小、数据库连接、逻辑开...

    用户1263954
  • cmseasy最新注入+360webscan的绕过分析

    最近一直没什么好文章,只有闲下来挖了几个洞。一般挖洞的时候就没法发文章,因为自己提交上去的洞在公开前是不能泄露的。不过这个洞与乌云某大牛的洞重复了,于是我就发出...

    phith0n
  • Jmeter系列(20)- 配置元件的入门介绍

    https://www.cnblogs.com/poloyy/category/1746599.html

    小菠萝测试笔记

扫码关注云+社区

领取腾讯云代金券