反向传播的无监督域自适应方法

简介: 反向传播的无监督域自适应方法

论文标题:Unsupervised Domain Adaptation by Backpropagation


论文链接:https://arxiv.org/abs/1409.7495


论文来源:ICML 2015


一、概述


在有大量的标注数据时,深度模型往往能取得一个较好的性能。对于缺少标注数据的时候,也可以足够大的训练集来训练深度网络模型,不过不可避免的要面对训练数据与测试数据的分布之间的偏移(shift)。


一个重要的例子是合成或半合成训练数据,这些数据可能会大量出现,并被完全标注,但它们不可避免地具有与测试时的真实数据不同的分布。训练数据和测试数据可以看做位于不同的域(domain),我们希望在这样的训练数据上训练的模型也能够应用在测试数据上,这样的过程称为域自适应(Domain Adaptation,DA)。通常,拿来训练的数据称为源域(source domain),测试数据称为目标域(target domain)。举个具体的例子来说,下图中上面与下面都是手写体数字,只是背景和字体颜色不同,这就是域的数据分布的偏移,使用上面的数据训练的手写体数字识别模型显然不能拿来识别下面的数字,我们希望利用域自适应的方法来做到这件事情:


BZEAW{RV{2Q0_B_81IFOG8Q.png

                   example


域自适应的方法通常需要能够做到源域数据完全未标注(unsupervised domain annotation)或者只有少量标注样本(semi-supervised domain adaptation)。本文所提出的方法主要面向完全未标注的情况,不过也能够轻易地处理半监督的情况。


二、方法


  1. 框架


不同于之前在固定特征表示上进行域自适应的方法,本文提出的方法中特征学习与域自适应同步进行,目的是能够学习到在域的变化中具有区别性(discriminative)和不变性(invariant)的特征,也就是源域和目标域的特征有相同或者相似的分布。这样的目标通过联合优化底层特征以及两个在这些特征上操作的鉴别分类器来实现的,这两个分类器是:


①label predictor,训练和测试时都要用的标签预测分类器,用来预测类别标签(以手写数字为例,就是预测图片是哪个数字);


②domain classifier,训练时使用的域分类器,预测样本属于哪一个域。


以最小化分类器在训练集上的loss为目标来优化两个分类器的参数,而以最小化label predictor的损失和最大化domain classifier的loss来优化底层深度特征提取器的参数。

本文所提出的网络架构如下图所示:


}_JQ_)BDEFCX@N@O}P%X]II.png

                                            架构


模型主要包括3个部分:feature extractor、label predictor和domain classifier。这三个部分可以使用以往任何前馈结构来实现,唯一在本文中提出的特殊结构是图中的梯度反转层(Gradient Reversal Layer,GRL)。


  1. 符号表示


8QR`7RIC4QY)10N4J7F_2KT.png


  1. 模型的训练


`VYE6]21]D)9{NDLA%OGFTN.png


考虑以下函数:


A`[LJYVG%$E2[@2QVXIJT{S.png


上式的实现显然不能通过SGD直接实现,因此需要做一些妥协,因而有了梯度反转层。梯度反转层在前向传播时做恒等变换,在反向传播时将后面层的梯度乘以)LC3JZ@`HKNZO45]TEV~BIA.png并且传播到前面的层。使用目前的深度学习工具包实现这样一个梯度反转层很简单。梯度反转层被添加到feature extractor和domain classifier之间。形式化表达梯度反转层如下:

13)V[YALFPEH24WCM~VY]5W.png


  1. 超参数设置


学习率变化:


EYP`C%SE9BC52FJS4YYQIIH.png


三、实验


在不同的数据集上进行了实验,数据集的一些例子如下:


QLVGTF[E%]Y%RB)_L5J7O~Q.png

                                                   example


实验结果如下:


G]07BV1TGYGOLJZC[)7NDTP.png

                                          实验结果


这里SOURCE ONLY相当于性能下限,TRAIN ON TARGET相当于性能上限。


另外在OFFICE数据集上进行了实验,实验结果如下:


$]S0VA%{$]]DORYDX7N(1JO.png

                                       实验结果


对于学习到的特征分布,使用t-SNE做了可视化:


N3NN1E8P@00XEMJ8LGSG90S.png

                                   可视化特征


可以看到应用域自适应方法以后源域数据和目标域数据的特征分布更加接近了。

相关文章
|
存储 关系型数据库 MySQL
升级宝典!阿里云RDS MySQL助力MySQL5.7升级到8.0
2023年10月,社区MySQL5.7停服。阿里云RDS MySQL对MySQL5.7的服务将进行到2024年10月21日,同时,并将通过有效的方案和大量的升级经验,鼓励和助力广大企业和开发者将MySQL5.7升级到MySQL8.0。
|
人工智能 负载均衡 算法
DeepSeek开源周第四弹之二!EPLB:专为V3/R1设计的专家并行负载均衡器,让GPU利用率翻倍!
EPLB 是 DeepSeek 推出的专家并行负载均衡器,通过冗余专家策略和负载均衡算法,优化大规模模型训练中的 GPU 资源利用率和训练效率。
1489 122
DeepSeek开源周第四弹之二!EPLB:专为V3/R1设计的专家并行负载均衡器,让GPU利用率翻倍!
|
7月前
|
BI 数据安全/隐私保护
Quick BI使用案例06: 一企多端,权限无忧:移动端微应用实现钉钉、企微数据隔离
本文详解如何在钉钉与企业微信多平台并行时,通过“收藏管理”或“数据门户”实现移动端微应用的部门级数据隔离,确保财务等敏感信息仅对授权人员可见,提升数据安全与使用效率。
|
9月前
|
JSON 数据挖掘 API
淘宝开放平台:商品详情API接口使用指南
本文介绍如何通过淘宝开放平台API获取商品详情信息,涵盖接口调用全流程:注册开发者、创建应用、获取App Key与Access Token、构造签名请求,并以Python示例演示taobao.item.get接口的使用,解析返回数据及注意事项,助力电商开发、数据分析等场景高效集成商品信息。
1680 0
|
机器学习/深度学习 人工智能 算法
【机器学习】深度神经网络(DNN):原理、应用与代码实践
【机器学习】深度神经网络(DNN):原理、应用与代码实践
4091 1
|
安全 Windows
Batch入门学习
Batch入门学习
|
网络协议 Ubuntu Unix
Linux 下使用 socket 实现 TCP 客户端
Linux 下使用 socket 实现 TCP 客户端
698 1
|
Java Linux Maven
设置 Maven 环境变量
配置Maven环境变量涉及Windows、Linux和Mac。在Windows上,需新建系统变量`MAVEN_HOME`,值为Maven安装路径,编辑`Path`添加`%MAVEN_HOME%\bin`。在Linux中,下载解压Maven后移动到`/usr/local/`,编辑`/etc/profile`添加`MAVEN_HOME`和`PATH`。在Mac上,类似Linux操作,下载解压后移动到`/usr/local/`,编辑`/etc/profile`。最后,通过`mvn -v`检查是否安装成功。
|
机器学习/深度学习 人工智能 算法
开发者入门必读:最值得看的十大机器学习公开课
在当下的机器学习热潮,人才匮乏十分显著。截至目前,国内开设人工智能(AI)专业的高校不多,相当多的开发者是跨界入门,需要自学大量知识并摸索。因而优质的学习资源至关重要。因此,雷锋网搜集了全世界范围内最受欢迎的机器学习课程,整理成这份“机器学习十大入门公开课”盘点,集中呈现给各位。
8287 0
|
机器学习/深度学习 编解码 算法
目标检测舰船数据集整合
目标检测舰船数据集整合

热门文章

最新文章