云社区 博客 博客详情
云社区 博客 博客详情

伪文艺程序员的“迁移学习”啃读(B)

iMaster-NAIE 发表于 2020-06-22 16:01:41 06-22 16:01
iMaster-NAIE 发表于 2020-06-22 16:01:41 2020/06/22
0
0

【摘要】 本系列文章介绍一些迁移学习领域的知识,包括浅度迁移模型举例、深度网络迁移、迁移两大因素、迁移理论研究、迁移度量技术和迁移前沿研究等内容。下面是系列文章的目录结构:Shallow Transfer ModelsDeep Domain AdaptationTransfer Learning TheoryTransferability & DiscriminabilityQuantify Tran...

本系列文章介绍一些迁移学习领域的知识,包括浅度迁移模型举例、深度网络迁移、迁移两大因素、迁移理论研究、迁移度量技术和迁移前沿研究等内容。


下面是系列文章的目录结构:

  1. Shallow Transfer Models

  2. Deep Domain Adaptation

  3. Transfer Learning Theory

  4. Transferability & Discriminability

  5. Quantify Transfer Learning Factors

  6. Transfer Learning New Researches

上一篇文章已经介绍了几个经典的迁移算法,参见:《伪文艺程序员的“迁移学习”啃读(A)》


本篇文章继续介绍相关内容,主要包括Deep Domain Adaptation和Transfer Learning Theory。


A. Deep Domain Adaptation


首先介绍一下深度迁移学习的工作,这些主要是在2014年之后随着深度迁移发展起来的。代表性工作有很多,比如DDC、DAN、DANN(RevGrad)、ADDA、CADA等等。关于深度迁移学习,推荐一篇综述文章:Neurocomputing 2018的《Deep visual domain adaptation: A survey》。


深度迁移学习方法大体包括三类:Discrepancy Based, Adversarial Based和Reconstruction Based。这里主要针对Discrepancy Based和Adversarial Based进行介绍,分别以DAN和DANN为例。


  • DAN


DAN是ICML 2015 《Learning Transferable Features with Deep Adaptation Networks》中提出来的,作者是清华大学软件学院龙明盛老师团队。DAN是在DDC上进行改进得到的框架,先介绍一下DDC。


DDC是《Deep Domain Confusion: Maximizing for Domain Invariance》提出来的架构,主要是下图所示:



其中,左边是一个CNN网络,用来做分类问题的,从Labeled Images经过各种卷积、全连接层,最后计算Classification Loss。传统的图片分类问题是这么做,但是这样会带来一个问题,由于网络都是在Source Domain上做的,没有见过Target Domain数据的网络很难再目标领域(图中右边的Unlabeled Images)上做到如此好的效果。因此需要加一个Domain Loss,目的是使得两个域之间的距离更加接近。其中最为常用的是MMD Loss:


MMD,全称是Maximum Mean Discrepancy,经常被用来做Two Sample Test,即测试两个样本集是否同分布。DDC最终的优化目标就是:




有了这两个方面的改进,DAN会取得比DDC更好的效果。


  • DANN


DANN,Domain Adversarial Neural Network,又被称为RevGrad。是基于Adversarial的一个经典Domain Adaptation工作。发表在ICML 2015 《Unsupervised Domain Adaptation by Backpropagation》上。




在这个里面包括三个部分,特征提取器(Feature Extractor)、分类器(Label Predictor)和领域分类器(Domain Classifier)。


其中特征提取器和分类器两个部分组成了以往网络的经典架构,目标是最大化分类性能。这个框架里面主要是加入了一个Domain Classifier模块。下面简单阐述三个模块的作用:


  1. Feature Extractor用来提取源域和目标域数据的特征,一方面最大化Label Predictor在源域上的分类性能,另一方面使得提取的源域/目标域特征让Domain Classifier分不开;

  2. Label Predictor根据Feature Extractor提取的特征,最大化源域数据的分类性能;

  3. Domain Classifier目的是尽可能地区分开Feature Extractor提取的源域/目标域特征。

从以上介绍,可以看出Feature Extractor和Domain Classifier是两个对抗的部分,因此自然也是一个minimax的问题。将以上三个部分的参数分别记为  ,因此得到下面的目标:



为了避免迭代优化,DANN引入了一个梯度反转层(Gradient Reversal, RevGrad),主要是在Domain Classifier的梯度回传的过程中加一个反向操作,使得优化过程可以不用迭代。


B. Transfer Learning Theory


关于迁移学习的理论研究,主要是在Machine Learning 2010 年的《A theory of learning from different domains》介绍,前续工作在NeurIPS 2006上也有。



从上面的理论分析可以看出,很多迁移算法都是围绕着这个公式而构造的,不管是Shallow Transfer Learning或者Deep Domain Adaptation。举例而言,本文介绍的DAN和DANN的框架里面都可以拆分为两部分:(a) 源域上分类器性能要尽可能好;(b) 源域和目标域要尽可能接近。从这儿可以看出,一些理论研究可以明确地指导实际算法设计。


从迁移算法的角度来说:一个好的迁移算法需要关注两个层面,一方面要尽量减少两个域之间的差异(Transferability),另外一方面还要保证特征在源域上的性能,即特征的区分度(Discriminability)。关于这两点的具体探讨,后面文章再介绍。可以先推荐一篇ICML 2019的文章《Transferability vs. Discriminability: Batch Spectral Penalization for Adversarial Domain Adaptation》。


作者:新春

————————

计算机软件新技术国家重点实验室
伪文艺程序员

既可提刀立码,行遍天下

又可调参炼丹,卧于隆中


登录后可下载附件,请登录或者注册

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:huaweicloud.bbs@huawei.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
评论文章 //点赞 收藏 0
点赞
分享文章到微博
分享文章到朋友圈

评论 (0)


0/1000
评论

登录后可评论,请 登录注册

评论

您还没有写博客的权限!

温馨提示

您确认删除评论吗?

确定
取消
温馨提示

您确认删除评论吗?

删除操作无法恢复,请谨慎操作。

确定
取消
温馨提示

您确认删除博客吗?

确定
取消

确认删除

您确认删除博客吗?

确认删除

您确认删除评论吗?

温馨提示

登录超时或用户已下线,请重新登录!!!

确定
取消