Ganin Y. and Lempitsky V. Unsupervised Domain Adaptation by Backpropagation. ICML 2015.

监督学习非常依赖标签数据, 但是获得大量的标签数据在现实中是代价昂贵的一件事情, 这也是为何半监督和无监督重要的原因.

本文提出一种利用GRL来进行domain adaptation的方法, 感觉本文的创新点还是更加偏重于结构一点.

主要内容

接下来的叙述的方式可能和原文的有一点点的出入.

首先整个网络的框架包括一个用于提取特征的\(G_f\), 可见其是共享的, 提取的到的特征会分别进入上下两个\(G_c, G_d\).

其中, \(G_c\) 是普通的分类器, 当然这要求最开始的输入我们是有对应的标签的, \(G_f + G_c\)也就是我们最后所需要的整个网络.

而\(G_d\)的最后是一个二分类器, 用于区别输入的样本是来自有标签的数据集还是目标数据集.

我们来看一下损失

\[\sum_{i=1\cdots N, d_i=0} \mathcal{L}_y^i (\theta_f, \theta_c) + \lambda \cdot \sum_{i=1\cdots N} \mathcal{L}_{d}^i (\theta_f, \theta_d)
\]

首先关于\(G_f, G_c\)最小化\(\mathcal{L}_y\), 关于\(G_d\)则是最小化\(\mathcal{L}_d\), 同时关于\(G_f\)最大化\(\mathcal{L}_d\).

直观上讲就是, 我们要求\(G_f\)提取的特征使得分类器能够区分出输入的类别, 而下半部分则是一种对抗的思想, \(G_f\)提取的特征希望\(G_d\)不能够区别出输入来自有标签的域还是目标域, 对应的\(G_d\)是努力去区别开来.

为了实现这一点, 本文利用了一种GRL的技术, 即梯度从\(G_d\)回传到\(G_f\)的时候会变换梯度的方向.

代码

import torch
from torch.autograd import Function class RevGrad(Function): @staticmethod
def forward(ctx, inputs):
return inputs @staticmethod
def backward(ctx, grad_outputs):
return grad_outputs.neg()

Unsupervised Domain Adaptation by Backpropagation的更多相关文章

  1. 论文笔记:Unsupervised Domain Adaptation by Backpropagation

    14年9月份挂出来的文章,基本思想就是用对抗训练的方法来学习domain invariant的特征表示.方法也很只管,在网络的某一层特征之后接一个判别网络,负责预测特征所属的domain,而后特征提取 ...

  2. Deep Transfer Network: Unsupervised Domain Adaptation

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

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

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

  4. Domain Adaptation (3)论文翻译

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

  5. Domain Adaptation (1)选题讲解

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

  6. 关于模式识别中的domain generalization 和 domain adaptation

    今晚听了李文博士的报告"Domain Generalization and Adaptation using Low-Rank Examplar Classifiers",讲的很精 ...

  7. 论文阅读 | A Curriculum Domain Adaptation Approach to the Semantic Segmentation of Urban Scenes

    paper链接:https://arxiv.org/pdf/1812.09953.pdf code链接:https://github.com/YangZhang4065/AdaptationSeg 摘 ...

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

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

  9. 域适应(Domain adaptation)

    定义 在迁移学习中, 当源域和目标的数据分布不同 ,但两个任务相同时,这种 特殊 的迁移学习 叫做域适应 (Domain Adaptation). Domain adaptation有哪些实现手段呢? ...

随机推荐

  1. ceph块存储场景

    1.创建rbd使用的存储池. admin节点需要安装ceph才能使用该命令,如果没有,也可以切换到ceph-node1节点去操作. [cephfsd@ceph-admin ceph]$ ceph os ...

  2. 零基础学习java------23---------动态代理,ip,url案例

    1. 动态代理 2. ip,url案例 给定的access.log是电信运营商的用户上网数据,第一个字段是时间, 第二个字段是ip地址,第三个字段是访问的网站,其他字段可以忽略不计. 第一个字段是网段 ...

  3. openwrt编译ipk包提示缺少feeds.mk文件

    问题具体表现如下 这个问题困扰了我两个多星期,总算解决了.解决方案如下: 首先,先应该把配置菜单调好. 我的硬件是7620a,要编译的ipk包为helloworld,所以应该使用 make menuc ...

  4. fastjson过滤多余字段

    /**     * Description:过滤实体中的字段     * @param src 需要过滤的对象,如 list,entity     * @param clazz 实体的class    ...

  5. 【编程思想】【设计模式】【结构模式Structural】装饰模式decorator

    Python版 https://github.com/faif/python-patterns/blob/master/structural/decorator.py #!/usr/bin/env p ...

  6. 3.1 go context代码示例

    context.WithCancel返回两个有关联的对象,ctx与cancel,调用cancel发送一个空struct给ctx,ctx一旦接收到该对象后,就终止goroutine的执行;ctx是线程安 ...

  7. 【力扣】两个数组的交集 II

    给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例 2: 输入:nums1 = [4,9,5], nu ...

  8. C#生成pdf -- iText7 设置自定义字体和表格

    itextsharp已经不再更新,由iText 7来替代 安装 nuget 安装 itext7 注册自定义字体 下载字体文件 .ttc或.ttf到项目目录,设置更新则拷贝到输出目录,这样构建的时候会把 ...

  9. Mongodb单点部署

    目录 一.依赖和环境 二.部署 三.启动和测试 一.依赖和环境 centos7.2,4核cpu, 8G内存 100G硬盘 版本:3.4.7社区版本 端口:27017 数据目录:/usr/local/m ...

  10. Jenkins性能测试

    目录 一.简介 二.JMeter测试 一.简介 Taurus是-个开源的自动化框架,用于运行各种开源负载测试工具和功能测试工具.其支持最流行的开源负载测试工具Apache JMeter.Seleniu ...