相关文章推荐

introduction

  • 作者认为,domain adaption(域适应)方法旨在通过学习domain-invariant feature(域不变特征)来桥接source domain和target domain,从而能够在target domain没有标签的情况下,利用source domain所学到的分类器对target domain进行预测。
  • 现在已经可以将domain adaption嵌入到deep feature学习的过程(该过程希望学得domain-invariant feature)当中了。
  • 先前的deep domain adaption(深度域适应)方法假定source domain上的分类器可以被直接通过学习得到的domain-invariant feature转换到target domain上来,但是作者认为这个假设在实际中太过于严格,因为检查source domain和target domain上的分类器是否可以共享通常是不可行的。
  • 因此,作者在更加一般的的情况下对domain adaption进行研究,其中,source classifier(source domain上的分类器)和target classifier(target domain上的分类器)之间的差异是一个小的perturbation function(扰动函数)。
  • 本文的目的是通过将分类器和特征的adaptation过程嵌入到一个统一的深层网络架构中,从有标记的source domain和未标记的target domain中学习得到adaptive classifiers(自适应分类器)和transferable feature(可转移特征)。
  • 作者从2015年的deep resudual learning中得到启发(可以去 这篇博客 看一下),并提出了一个叫做Residual Transfer Network(RTN)的新的框架,并假设source classifier和target classifier在一个很小的resdual function(残差函数,就是博客中的F(x))。
  • 作者通过将几层网络插入到深层网络当中来实现classifier adaptation(分类器适应),通过参考target classifier(?为什么参考它)来明确的学习resdual function。
  • 作者通过计算神经网络中几个层的feature的张量积,并且将它们嵌入到reproducing kernel Hilbert spaces(再生核希尔伯特空间)当中来匹配feature的适应(adaptation)(就是后面提到的MMD)

Relative Work

  • 近期的进展表明,深度网络所学习到的抽象特征只能减少域和域之间的差异,但是并不能够移除这种差异。

  • 深度学习和域适应的结合:

    • 在CNN中添加一个或者几个层,使这些层学习到的特征的分布相近
    • 或者添加一个full-connected的子网络来建立一个domain discriminator(域分类器),并且使网络所学习到的特征可以使domain discriminator混淆。
    • 但是以上这些方法都建立在“source classifier可以通过网络学习得到的domain-invariant feature 来直接地转换得到target classifier”这样一个假设当中。
    • 但是这个假设在source classifier和target classifier不能共享参数的时候不成立。当理想联合假设的组合误差(?the combined error of the ideal joint hypothesis)很大的时候,并不存在一个单一的分类器可以同时在source domain和target domain上有很好的表现。
  • residual network 相关:

    • 这个网络是一个拥有上百层的非常深的网络,学习了一个被称为 Δ F ( X ) 的residual function(残差函数),最终结果是这个残差函数加上输入本身( identity mappings)的 r e l u
  • 作者希望在一个深度网络框架当中,通过residual function Δ F ( X ) 来桥接source classifier f S ( x ) 和target classifier f T ( x )
  • 作者将target classifier的输出直接给residual function作为输入,可以更有效率地获得source classifier和target classifier之间的联系。

Residual Transfer Networks

  • source domain:

    D S = { ( x S i , y S i ) } n S i = 1 个labeled data
  • 服从的分布为
  • 希望学习到的分类器为 y = f S ( x )
  • target domain:

    D T = { x T j } n T j = 1 个unlabeled data
  • 服从的分布为 q p
  • 希望学习到的分类器为 y = f T ( x ) p ( x , y ) q ( x , y ) ,且分类器 f S ( x ) f T ( x ) ,这些mismatches(不相匹配)可以通过共通的adaptation来修复,使得domain adaptation更加有效。

  • 分类器:source domain上的empirical error(经验误差):

    min f S 1 n S i = 1 n S L ( f S ( X S i ) , y S i ) ) L ( , ) 表示交叉熵损失函数。

  • 因为卷积层能够学习到一个可以在两个域中转换的普适的特征,所以作者决定对预先训练的卷积层所学到的特征fine-tune(微调)而不是直接adapt。

  • Feature Adaptation

    网络架构:

    • 首先,CNNs之后加一个bottleneck layer(我查了一下,这个瓶颈层是为了减少feature的维度而被创建出来的。。。) f c b 来减少feature的维度。

    • 之后使用multiple layers L = { f b c , f c c } 的feature,在source domain上微调(fine-tune) CNNs。目的是为了让source domain和target domain更加相似。

      • 为了使mutiple layers 的adaptation进行得更加有效,作者建议使用mutiple layers 之间的张量积来做一个 lossless multi-layer feature fusion(无损多层特征融合)。
      • 定义: z S i = Δ l L x s l i z T i = Δ l L x t l i
      • 我查了一下,这里的张量积大概是矩阵的张量积也就是克罗内克积,百度百科一下就可以知道。
      • 之后,作者之后利用最小化source domain和target domain之间Maximum Mean Discrepancy(MMD,最大平均差异)来做adaptation(域适应)(使用了kernel trick):
        min f S , f T D L ( D S , D T ) = i = 1 n s j = 1 n s k ( z s i , z s j ) n 2 s + i = 1 n t j = 1 n t k ( z t i , z t j ) n 2 t 2 i = 1 n s j = 1 n t k ( z s i , z t j ) n s n t
        其中,特征核函数 k ( z , z ) = e v e c ( z ) v e c ( z ) 2 / b 是一个带宽为b的高斯核函数
    • 与DAN不同,作者使用了多层特征的MMD惩罚。作者认为他的优势这样可以获取到multilayer之间充分的互动(?can capture full interactions across multilayer features)并且能够更好地选择模型

    Classifier Adaptation

    • 因为feature adaptation并不能够消除分类模型中的mismatch(不匹配),所以作者认为还需要学习分类器的adaptation来使得domain adaptation更加有效。
    • 作者假设classifier f s ( x ) f t ( x ) 之间仅仅相差一个微小的perturbation function(扰动函数) Δ f ( x ) f t ( x ) = f s ( x ) + Δ f ( x ) Δ f ( x ) 是一个仅由input feature 决定的函数。
    • 然而,这些方法需要target domain上的标签来学习这个perturbation function,无法在这个非监督域适应任务中使用。所以换成学习 f s ( x ) = f t ( x ) + Δ f ( x ) 这个函数。
    • 作者假设在target domain和source domain被合理地连接在一起后,perturbation function Δ f ( x ) 可以从source domain中标记的数据和target domain中不被标记的数据中共同学习得到。
    • 采取学习residual function Δ F ( x ) = Δ F ( x ) x (最终希望学习的函数是 Δ F ( x ) + F ( x ) )而不知直接学习的原因是,二者学习的难度是不一样的。
    • 作者认为虽然identity mappings(就是之前提到的x直接作为学习到的函数本身)不太可能是最优的,但是依据这个identity mappings找到一个 perturbation function远比直接学习一个全新的函数要容易的多。residual learning(残差学习?)是成功训练一个非常深的网络的关键所在。

    • 作者基于上述的观察,在网络中加入了residual block(如网络架构图最右侧所示)

    • 推导运算:
      f S ( x ) 为source classifier中 f c c 层的输出, f T ( x ) 为target classifier中 f c c 层的输出
    • 但是 f S ( x ) (大写)被定义为: f S ( x ) = f T ( x ) + Δ f ( x ) 因为target domain没有标签所以如果选择 f T ( x ) 会导致back propagation无法工作
    • 最终的输出都经过softmax 激活处理: f s ( x ) = Δ σ ( f S ( x ) ) f t ( x ) = Δ σ ( f T ( x ) ) σ ( ) 为softmax,为了保证最终的输出为“可能性”。
    • Residual layer f c 1 f c 2 作为全连接层,并保证 f t ( x ) f s ( x ) 太远。
    • 但是即便如此,仍然不能够保证 f t ( x ) 能够很好的切合target domain,因此作者利用entropy minimization principle(熵最小化原理)来优化参数,通过最小化各个类的条件分布 f t j ( x t i ) = p ( y t j = j | x t i ; f t ) 的熵来鼓励target domain上类之间的low-density separation(低密度分离?我的理解是输出更加趋向一个one-hot vector,因为one-hot vector的熵是最低的)
      min f t 1 n t i = 1 n t H ( f t ( x t i ) )
      这就是entropy penalty(熵惩罚)。其中条件信息熵 H ( f t ( x t i ) ) = c j = 1 f t j ( x t j ) l o g ( f t j ( x t j ) ) 为类(label)的数目, 就是label, f t j ( x t j ) = p ( y t j = j | x t i ; f t ) 为给定数据时标签是 的概率,也就是类的后验概率。不了解信息熵可以看一看这里: 信息熵 条件熵

    Residual Transfer Network

    最终的学习公式(整合):
    f S = min f t + Δ f 1 n s i = 1 n s L ( f s ( x s i ) , y s i ) + γ n t i = 1 n t H ( f t ( x t i ) ) + λ D L ( D s , D t ) 是一对tradeoff parameters,用来前面权衡张量MMD惩罚和entropy惩罚的比重。

    Experiments

    • 作者提到说他使用的是动量为0.9的mini-batch SGD,其中在RevGrad(Reverse Gradient)实现的学习率退火策略:
      • 因为计算成本太高,不去搜索合适的学习率
      • 随着SGD的进行网络的学习率会进行自适应调整: η p = η 0 ( 1 + α p ) β 随着训练的进行,线性地从0变为1, α = 10 , β = 0.75 , η = 0.01
      • 性能:
    为了解决传统监督学习需要大量人工标注的问题。顾名思义,就是将某个领域或者任务学习好的知识或模式,应用到到新的不同但相关?的领域中,达到可观的效果。比如我们最常见的fine-tuning。 根据目前已有的研究显示,1)深度神经网络可以很好地学习到数据间的可迁移特征,或者叫做域不变( dom ain in... 论文题目: 《Un super vis ed Dom ain Ada pta t ion with Re sidual Transfer Networks 》 论文信息: NIPS2016, Mingsheng Long, Han Zhu, Jianmin Wang, Tsinghua University http://ise.thss.tsinghua. ed u.cn/~mlong/doc/res 性能最好的深度架构是在大量标记数据上进行训练的。在缺乏特定任务的标记数据的情况下,领域适应通常提供了一个有吸引力的选择,因为可以获得性质相似但来自不同领域的标记数据(例如合成图像)。在这里,我们提出了一种在深度架构中进行领域适应的新方法,该方法可以在来自源领域的大量标记数据和来自目标领域的大量未标记数据(不需要标记目标领域数据)上进行训练。随着训练的进展,该方法促进了“深度”特征的出现,这些特征(i)对源域上的主要学习任务具有区别性,(ii)对于域之间的转移具有不变性。 Long, Mingsheng, et al. “Un super vis ed dom ain ada pta t ion with re sidual transfer networks .” Advances in Neural Informat ion Processing Systems. 2016. dom ain ada pta t ion 用于分类问题。其中source dom ain 具有label,ta... 上一节主要介绍了通过分布匹配来解决领域自适应问题的方法,主要是在神经网络中添加距离约束,利用MMD等距离度量使得源域和目标域的数据经过网络后得到的特征分布比较相似,从而可以使得在源域上学到的模型能更好的迁移到目标域。领域自适应问题的关键就在于如何使得源域和目标域的数据更好的进行分布匹配,这一点除了可以通过MMD等距离约束实现,也可以使用对抗训练的思想,这也是本文将要介绍的重点内容。 一、DANN (RevGrad) 较早的使用对抗训练思想解决领域自适应问题的研究是Yaroslav Ganin等人 本篇是迁移学习专栏介绍的第十三篇论文,发表在ICML15上。论文提出了用对抗的思想进行 dom ain ada pta t ion ,该方法名叫DANN(或RevGrad)。核心的问题是同时学习分类器、特征提取器、以及领域判别器。通过最小化分类器误差,最大化判别器误差,使得学习到的特征表达具有跨领域不变性。 Abstract 高性能的深层体系结构是针对大量标记数据进行训练的。在缺少特定任务的标... 一、 Dom ain ada pta t ion 在开始介绍之前,首先我们需要知道 Dom ain ada pta t ion 的概念。 Dom ain ada pta t ion ,我在标题上把它称之为域适应,但是在文中我没有再翻译它,而是保持它的英文原意,这也有助于我们更好的理解它的概念。 Dom ain ada pta t ion 的目标是在某一个训练集上训练的模型,可以应用到另一个相关但不相同的测试集上。 对这个问题列 有一篇论文([cvpr 2017 ]Joint Geometrical and Statistical Alignment for Vis ual Dom ain Ada pta t ion )对 Dom ain Ada pta t ion 做了一定的总结,我直接把我当时的翻译抄一下: 常见的域适应包括基于实例(instance-bas ed )的适应、基于特征表示( feature representat ion )的适应、 Introduct ion 论文作者希望网络学习由discriminativeness(分歧,应该是source dom ain 和target dom ain 的区别吧)和 dom ain -invariance组合起来的隐藏特征(underlying feature) 通过同时优化以下两个discriminative classifiers来实现 label pr ed ictor预测分类标签(训练与测试的时候) **Bousmalis, Konstantinos, et al. “Un super vis ed pixel-level dom ain ada pta t ion with generative adversarial networks .” CVPR 2017 . ** 问题背景: 将原域的图像转换到目标域。已知源域的图像类别标签,对于目标域的图像标签未知。 1. 域对抗损失: 2. 分类损失...
     
    推荐文章