背景(Domain Adaption在深度学习中的应用)
Domain adaptation的应用中有两个域:一个包含大量的标签信息,称为源域(source domain);另一个只有少量的甚至没有标签,但是却包含我们要预测的样本 ,称为目标域(target domain)。所以,按照常理,我们可以在源域上通过一般的机器学习方法来训练得到判别模型。但是由于源域和目标域上的dataset bias,这个判别模型不能直接移植到目标域。如何在尽量不损失判别模型的条件下将判别模型由源域迁移到目标域,就是domain adaptation要解决的问题,也称为迁移学习(transfer learning)。
大致目的
与以往的Domain adaptation在Deep Learing中的运用不同,这篇论文提出,在source domain和target domain之间使用不同的参数而非共享参数(当然不是所有的layers都不共享参数,有些层还是共享了)。他们提出在试验中这种网络的表现会好于那些使用共享参数的网络。
- It therefore seems reasonable that the higher layers of the network, which encode higher-level information, should be domain-specific.(domain adaptation 的高层提取了高阶的信息,这些高阶的信息可以是域特定的(source domain和target domain特定)
Loss Function
- Xs:source domain的输入图像
- Ys:source domain上的标签
- Ns:source domain上的输入图像个数
- θs:source domain上的各个权重
- Xt,Yt,θt则是target domain上的
- Ntl:targetdomain中有标签的图像的个数
- c:某种形式的standard classification loss ,比如the logistic loss or the hinge loss
- λw,λu:regularizers (正则化的参数?)通常被设置为1
- rw:表现source domain和target domain中对应层之间的损失(后面讲,通常是对应参数的线性损失)
- ru:使用MMD表现两个层之间的相似程度。(?)
- Ω:使用不同参数的层(cov layer)
- Ls:source domain上的损失
- Lt:target domain上的损失
- Lw:因为source domain和target domain中对应层之间的不同造成的损失
- Lmmd:因为因为source domain和target domain中对应层之间的(?)
Weight Regularizer(rw)
- 为了避免overfit,所以引入了一个正则化的参数rw(target domain上labeled的图像太少),使source domain上的参数和target domain上的参数有所关联。
- 为了使变化更加灵活,惩罚的形式不是linear的(就是常数乘以差值那种,L1?酱的)
或者
实验中指数形式的惩罚有更好的表现
Unsupervised Regularizer(ru)
- 使用Ru是为了最小化source domain和targetdomain中之间的距离
- 使用MMD(maximum mean discrepancy:最大平均差异)来描述source domain和targetdomain中之间的距离
-
MMD使用Reproducing Kernel Hilbert
Space (RKHS)多两个与中的样本进行一个映射
φ:即RKHS的映射函数。实际中通常不可知
- 通过使用kernel trick(?这个是?有一篇论文里有介绍)可以化成
-
网络架构
Training
在BP的时候,使用了 AdaDelta algorithm(我在这里写了一下,有兴趣可以看看)。选择了mini-batch而不是SGD
网络结构
- 分为两个流(即stream)(source和target),其中每个流包含卷积层和max-pooling层(取最大值的汇聚层),以及最后是full-connected layers(全连接层)。
- 实验中发现使用铰链损失(SVM)比logistics损失要好(sigmoid那个)
- 他们在选择共享权重的网络的时候,发现,MMD平方值(指的是训练完毕以后输出两个stream的output之间的)越低的网络,相应的精度也越高。因此,他们选择基于MMD来选择网络架构。(After training, we then computed the MMD2 value between the output of both streams for each configuration... the MMD2 value ought to be small when our architecture accounts well for the domain shift ... It therefore makes sense to choose the configuration that yields the smallest MMD2 value.)
- 取消Loss Function中的Lw项(即使得两个stream之间的参数不相关联)会使得结果变糟,导致overfit。
应用范围及优缺点
- 总的来说,允许在两个stream之间的一些层之间不共享参数可以更好地提升性能。即直接地对域迁移建模是有用的。
- 然而,哪些层应该或不应该共享其权重的最佳选择取决于实际的应用。
- 在无人机识别的数据里,让前两个层的参数不共享可以得到最佳的结果,这是因为无人机识别的两个域里的数据差别主要来自low-level change(大概指的是低阶的图像差异,比如光照,这样的)。
- 但是在Office dataset里,让最后两层的参数不共享可得到最佳的结果,因为两个图像域的差异更加地复杂。
- 作者在论文中反复强调这个实验结果优于DDC(Deep Domain Confusion: Maximizing for Domain Invariance,我可能还需要读论文来了解)
experiment
总结
- 论文作者假设Domain adaptation在deep learning中的应用不应当集中在对domain invariant feature的学习,相反的,应该对the domain shift进行直接的建模。
- 为了证明这个假设,作者引入了一个two-stream的CNN网络结构,其中对应层的参数可以共享也可以不共享
- 为了保证两个stream对应的参数是相关的,作者对非共享参数的层引入了额外的损失函数项来保证两个stream对应的参数之间接近线性的转换
- 最后作者发现,他的网络相比于那些共享权重的网络(无论是回归问题还是分类问题),都有更高的精度。
- 作者未来希望研究更加复杂的权重转换函数(而不是像本文中的仅仅只是线性)。