对于DAN方法的解读-Learning Transferable Features with Deep Adaptation Networks

上周汇报了该篇经典文章,现在回顾并且记录一下自己对DAN方法的理解

深度适配网络-DAN 《利用深度适应网络学习可迁移特征》

下面分为五个部分来讲解:

一. 研究背景
二. 本论文所解决的问题
三. DAN 方法
四. 实验部分
五. 结合自己的论文

一.研究背景

 精简的说, 研究表明:深度 神经网络可以学习可迁移特征,这些特征用于域适应时在新的任务上表现出很好的泛化能力。然而由于深度特征随着网络层数的增加由一般到特殊转变,特征的可迁移能力在网络高层急剧下降,极大地增加了域之间的差异性
  神经网络通常在 前面几层都学习到的是通用的特征( general feature ),随着网络的加深,后面的网络更偏重于学习特定的特征( specific feature )。
其中有两篇经典论文可以作为背景来介绍。
第一篇是《how transferable are features in deep neural networks?》
对于DAN方法的解读-Learning Transferable Features with Deep Adaptation Networks_第1张图片
该论文可以说是迁移学习非常有里程碑意义的一篇了,其中画出的这个图很能说明问题。我们基础的神经网络可以单独看作B,在此基础上,把网络A进行迁移,其中n代表了迁移,比如BnB+就是把B的前n层迁移到B,+表示微调,意味着更加符合后面网络的形状。我们可以重点来看AnB和AnB+两者,当单纯的把A网络迁移到B上时,可观察到,随着网络层数的增加,前三层变化不大,从第四层开始精确度下降,这也说明了对于AlexNet模型来说,前三层学习到的是通用特征,后面学习到的是specific feature。
第二篇是《Deepdomainconfusion: maximizing for domain invariance
 该论文 提出了一种 DDC 方法, 针对于预训练的 AlexNet 8 层)网络,在第 7 层(也就是 feature 层, softmax 的上一层)加入了 MMD 距离来减小 source target 之间的差异。这个方法简称为 DDC

二.本论文所解决的问题

  DAN 解决 的是 迁移学习和机器学习中经典的 domain adaptation 问题,只不过是以深度网络为载体来进行适配迁移 。主要应用在分类和回归问题上。
域适应方法一般要求源域的数据是有标签的,目标域上的数据是无标签的,即实现目标域能够和源域相似的分类。
  域适应强调的是解决有来自两个相关域但分布不同的数据问题。比如汽车图像问题。域差异是不同域之间适应预测模型的主要障碍。

.本文提出的方法:DAN

  DAN 是在 DDC 的基础上发展起来的,它很好地解决了 DDC 的两个问题:
  一、 DDC 只适配了一层网络,可能还是不够, 因为之前的 工作中已经明确指出不同层都是可以迁移的。所以 DAN 就多适配几
  二、 DDC 是用了单一核的 MMD ,单一固定的核可能不是最优的核。 DAN 用了多核的 MMD MK-MMD ),效果比 DDC 更好。
  DAN 主要思想:通过明确地减少域差异来增强深度学习神经网络的具体任务层的特征迁移性。
  域差异可以通过使用平均嵌入匹配的最佳多核选择方法来被进一步减小。)
  为了实现这一目标,所有具体任务层的隐藏表示被嵌入到 Reproducing kernel Hilbert space ,在希尔伯特空间中不同的域分布的平均嵌入可以被明确分配。由于平均嵌入对内核的选择非常敏感,所以设计最优多内核选择过程,这可以进一步减少域差异。
创新点一:多层适配
  DAN 也基于 AlexNet 网络,适配最后三层( 6~8 层)。为什么是这三层 ?在前面的图中可以看出,网络 的迁移能力在这三层开始就会特别地 task-specific ,所以要着重适配这三层。至于别的网络(比如 GoogLeNet VGG )等是不是这三层那就不知道了,那得一层一层地计算相似度。 DAN 只关注使用 AlexNet
  结合自己的实验时,需要考虑适配哪几层
创新点二:MK-MMD(Multi-kernel MMD)
  传统学习方法有一个假设: training sample test sample 都是从同一个分布抽样得到,即训练集和测试集是 独立同分布的,这个假设使得离线的学习方法得以运行。在迁移学习环境下 training sample test sample 分别取样自分布 p q ,两个样本不同但相关,现在我们要通过测试样本改善模型性能。求解这个问题的思路比较多,这里只列一个目前流行的思路:
  利用深度神经网络的特征变换能力,来做特征空间的 transformation ,直到变换后的特征分布相匹配,这个过程可以是 source domain 一直变换直到匹配 target domain ,也可以是 source domain target domain 一起变换直到匹配(例如下图
  ( 还有其他方法, KLd )
对于DAN方法的解读-Learning Transferable Features with Deep Adaptation Networks_第2张图片

【对该图的理解:源域和目标域的数据都放在一起,通过AlexNet来训练,前三层frozen,第四层第五层fine-tuning,当到后面几层时,source data和target data分开,然后通过MK-MMD方法来计算两个域的距离,并且通过损失函数来进行优化,最后当损失函数优化到设定的阈值时,就可进行最终的分类】

概率分布pq之间的MK-MMDdkpq)被定义为pq的平均嵌入之间的RKHS距离。对于两个概率分布,它们的MK-MMD距离平方就是


这个多个核一起定义的kernel就是:

对于DAN方法的解读-Learning Transferable Features with Deep Adaptation Networks_第3张图片

  MMD 的书面表达是 source  sample x target  sample y 经过函数 f χ→ R 随机投影后,期望值 的差值上确界
 对于核,原来我们的k就是一个固定的核函数,现在我们把它用m个不同kernel进行加权,权重就是β_μ

总的方法(DAN)

的优化目标由两部分组成:损失函数和分布距离。损失函数用来度量预测值和真实值的差异。分布距离就是我们上面提到的MK-MMD距离。于是,DAN的优化目标就

对于DAN方法的解读-Learning Transferable Features with Deep Adaptation Networks_第4张图片

公式里面的字母具体含义都在论文里,可以翻阅查看一下。

其中,λ可以控制MMD的限制程度。如下图,该损失函数不仅能使模型对训练集进行很好地分类能让训练集和测试集的分布尽可能地相近

对于DAN方法的解读-Learning Transferable Features with Deep Adaptation Networks_第5张图片

图 算法对两个数据集的处理结果

损失函数的两部分就是干了这样的一件事情,一个优化带有标签的source域的分类结果,另一个通过MK-MMD来让Target域尽可能的和source域适配,减少域差异。

四.实验部分:

 用的都是标准的数据集,可以直接看论文结果即可。
Office-31 这个 数据集是一个用于域适应的标准数据集 31 个类别的 4652 张图片组成。这些图片收集于三个不同的域
  Amazon(A)
  Webcam(W)
    DSLR(D)


  对于这些实验我们可以进行以下的总结:
  1 )基于深度学习的方法比传统的浅层迁移方法效果提升地非常大
  2 )在以上方法里,半监督式学习 LapCNN 相对于 CNN 并没有提高,说明域差异问题不能通过半监督学习来解决。
  3 DAN7 DAN8 都优于 DDC ,说明多核的 MMD 比单核的 MMD 在减轻域差异问题上表现的更好。
  4 DAN_SK 效果比 DDC 更好,说明深度神经网络对分布适应能力更强,即有多个全连接层,他们具有不同抽象级别的隐藏特征,每层都能提取出独特的隐藏特征,这可以增强深度学习的效率。

五.结合自己的论文:

就不细讲啦,这也是我自己接下来要思考并且努力发论文的方向!

 
 









你可能感兴趣的:(transfer,learning)