14年9月份挂出来的文章,基本思想就是用对抗训练的方法来学习domain invariant的特征表示。方法也很只管,在网络的某一层特征之后接一个判别网络,负责预测特征所属的domain,而后特征提取器和判别器在域分类loss上对抗,同时特征提取器和lable分类器(也就是原任务中的分类器)共同优化lable分类loss。整个过程跟GAN是差不多的,一种个人的不严谨的说法,可以将GAN理解成像素空间上的Adaptation,而这篇文章是特征空间上的Adaptation。

文章的另一个贡献是提出了梯度反转层,原始的GAN生成器和判别器是交替训练的,这样写代码会有一些麻烦,这里我就不贴一大堆公式和符号了,平实的语言就能说清楚这个事情,看懂我写的东西之后再看论文的公式应该就小菜一碟了。模型域对抗的目标就是调整判别器的参数,使得域分类loss最小,同时调整特征提取器的参数,使得域分类loss最大。这个过程可以使用交替训练这两个模块来实现,也可以将域分类loss反传之后,再反转特征提取器的参数。这里,作者在特征提取器和判别器之间加了一层梯度反转层(GRL),forward时为恒等变换,backward时将梯度取反,就ok了。

下面写一下这种方法的理论解释,文章用\(\mathcal{H}\Delta\mathcal{H}\)距离来表示。
\[d_{\mathcal{H} \Delta \mathcal{H}} (\mathcal{S}, \mathcal{T})= 2 \sup_{h_1, h_2 \in \mathcal{H}} \left| P_{\mathbf{f} \sim \mathcal{S}} [h_1(\mathbf{f}) \neq h_2(\mathbf{f})] - \right.\left. P_{\mathbf{f} \sim \mathcal{T}} [h_1(\mathbf{f}) \neq h_2(\mathbf{f})] \right|\]
这里f就是特征(可以是low-level的像素特征,也可以是high-level的深度特征),\(h_1\),\(h_2\)就是分类器。这个公式这样来定义两域的距离:找两个分类器,使其对S域样本预测不一致的概率与对T域样本预测不一致的概率之差的绝对值最大,这个差值的上界再乘以2就是两个domain关于假设空间H的距离了。可以这样理解,就是找两个分类器,使其在两个域上的表现最不一致,用这两个分类器就能把距离定义出来了。然后可以有以下的定理:
\[\varepsilon_\mathcal{T}(h) \leq \varepsilon_\mathcal{S}(h) + \frac{1}{2} d_{\mathcal{H} \Delta \mathcal{H}} (\mathcal{S}, \mathcal{T}) + C\]
其中,\(\varepsilon_\mathcal{T}(h)\)和\(\varepsilon_\mathcal{S}(h)\)分别表示分类器h在T域和S域的performance,C是一个不依赖于h的常数。这样,给定假设空间H(实际上就是给定分类器的模型结构),\(\varepsilon_\mathcal{S}(h)\)是可观测的,这样就给出了分类器h性能的上界。。。
搞笑了。。。下面越读越不对劲,感觉作者表述的不是很清楚,有时间再回来看看吧。

论文笔记:Unsupervised Domain Adaptation by Backpropagation的更多相关文章

  1. Unsupervised Domain Adaptation by Backpropagation

    目录 概 主要内容 代码 Ganin Y. and Lempitsky V. Unsupervised Domain Adaptation by Backpropagation. ICML 2015. ...

  2. 【论文笔记】Domain Adaptation via Transfer Component Analysis

    论文题目:<Domain Adaptation via Transfer Component Analysis> 论文作者:Sinno Jialin Pan, Ivor W. Tsang, ...

  3. Deep Transfer Network: Unsupervised Domain Adaptation

    转自:http://blog.csdn.net/mao_xiao_feng/article/details/54426101 一.Domain adaptation 在开始介绍之前,首先我们需要知道D ...

  4. SfMLearner论文笔记——Unsupervised Learning of Depth and Ego-Motion from Video

    1. Abstract 提出了一种无监督单目深度估计和相机运动估计的框架 利用视觉合成作为监督信息,使用端到端的方式学习 网络分为两部分(严格意义上是三个) 单目深度估计 多视图姿态估计 解释性网络( ...

  5. Unsupervised Domain Adaptation Via Domain Adversarial Training For Speaker Recognition

    年域适应挑战(DAC)数据集的实验表明,所提出的方法不仅有效解决了数据集不匹配问题,而且还优于上述无监督域自适应方法.        

  6. 【论文笔记】多任务学习(Multi-Task Learning)

    1. 前言 多任务学习(Multi-task learning)是和单任务学习(single-task learning)相对的一种机器学习方法.在机器学习领域,标准的算法理论是一次学习一个任务,也就 ...

  7. Domain Adaptation (3)论文翻译

    Abstract The recent success of deep neural networks relies on massive amounts of labeled data. For a ...

  8. Domain Adaptation (1)选题讲解

    1 所选论文 论文题目: <Unsupervised Domain Adaptation with Residual Transfer Networks> 论文信息: NIPS2016, ...

  9. Domain Adaptation论文笔记

    领域自适应问题一般有两个域,一个是源域,一个是目标域,领域自适应可利用来自源域的带标签的数据(源域中有大量带标签的数据)来帮助学习目标域中的网络参数(目标域中很少甚至没有带标签的数据).领域自适应如今 ...

随机推荐

  1. Linux CentOS汉化系统

    u root切换为root用户 写入环境变量 echo "export LANG="zh_CN.UTF8"">>/etc/profile sourc ...

  2. Nginx教程[归档]

    前言 其一,Nginx不是随随便便一篇博文就能讲清楚的,严谨地说,笔者连入门者都算不上:其二,此文系前段日子里,学习Nginx时的笔记归档类博文,还有诸多不完整处,仅供参考. 写这篇博文的时间点:20 ...

  3. java 与 c# 3des 加解密

    java 与 c# 3des 加解密   主要差异如下: 1.  对于待加密解密的数据,各自的填充模式不一样 C#的模式有:ANSIX923.ISO10126.None.PKCS7.Zero,而Jav ...

  4. LeetCode.1184-公交车站之间的距离(Distance Between Bus Stops)

    这是小川的第次更新,第篇原创 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第265题(顺位题号是1184).公交车有n个从0到n-1的车站,形成一个圆圈.我们知道所有相邻车站对之间的 ...

  5. B. Grow The Tree Codeforces Round #594 (Div. 2)

    Gardener Alexey teaches competitive programming to high school students. To congratulate Alexey on t ...

  6. 3道入门字典树例题,以及模板【HDU1251/HDU1305/HDU1671】

    HDU1251:http://acm.hdu.edu.cn/showproblem.php?pid=1251 题目大意:求得以该字符串为前缀的数目,注意输入格式就行了. #include<std ...

  7. [转帖]传输层安全协议TLS 1.3 RFC 8446使互联网更快、更安全

    传输层安全协议TLS 1.3 RFC 8446使互联网更快.更安全 2018-08-12 11:38:19作者:LINUX人稿源:开源社区 https://ywnz.com/linuxyffq/261 ...

  8. dev控件学习笔记之----CxGrid2

    一.cxgrid 表格自适应列宽和增加注脚注和 for i := 0 to ado_lxr_cx.FieldCount - 1 do    begin      //如果是数字,则注脚求合      ...

  9. 避免同一个文件被#include多次,可以用以下两种方式

    1.#ifndef方式 2.#pragma once方式 方式一: #ifndef  _SOMEFILE_H_ #define _SOMEFILE_H_ ... ...//一些声明语句    #end ...

  10. 前缀和&二维前缀和

    我们知道,数组上的前缀和S[i]=S[i-1]+a[i] 那么,怎样求二维前缀和呢? 二维前缀和: 绿色点的前缀和就是黄色.红色.灰色和绿色的点权和 怎样计算? s[i][j]=s[i-1][j]+s ...