DDC——Deep Domain Confusion Maximizing for Domain Invariance
Posted 炫云云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DDC——Deep Domain Confusion Maximizing for Domain Invariance相关的知识,希望对你有一定的参考价值。
8.5 意境级讲解迁移学习
本文是为了解决迁移学习域适应问题
前言
数据样本不够怎么使用深度学习?第一时间想到的肯定是微调已经训练好的模型。但是由于源域与目标域的差距,对深度模型进行微调可能需要大量的数据。但是,目标域仅有少量或没有带标注的数据时,就无法有效的通过微调网络来实现对新样本的识别。
为了解决源数据与目标数据之间的分布差距,使源数据与目标数据之间具有相似的分布情况,这也就是所说的域适应问题。
DDC1这篇论文,通过在源域与目标域之间添加了一层适应层及添加域损失函数来让网络在训练的同时来减小源域及目标域之间的分布差异,从而实现域的自适应。
网络结构
本文所采用的网络结构如图1所示,网络包括两个流向,第一条流向的输入为源数据,蓝色框,是带标签的;另一条流向的输入是目标数据,橙红色框,包含少量的带标签数据或不包含带标签数据,两个流向的卷积神经网络共享权值。和以往不同的是,作者在两个流向的网络的特征层之间增加了一个适应层,并通过适应层的输出计算出一个域损失函数。
域损失函数的作用:最小化源分布和目标分布之间距离,使得那些在源数据训练的网络,可以直接应用到目标域中,且精度损失最小。
使用最大平均偏差MMD(Maximum Mean Discrepancy)来度量距离。定义: ϕ ( ⋅ ) \\phi(\\cdot) ϕ(⋅) 为网络的表征, x s ∈ X S x_{s} \\in X_{S} xs∈XS 为源数据点, x t ∈ X T x_{t} \\in X_{T} xt∈XT为目标数据点。MMD计算:
MMD
(
X
S
,
X
T
)
=
∥
1
∣
X
S
∣
∑
x
∗
∈
X
S
ϕ
(
x
s
)
−
1
∣
X
T
∣
∑
x
t
∈
X
T
ϕ
(
x
t
)
∥
\\begin{aligned} &\\operatorname{MMD}\\left(X_{S}, X_{T}\\right)= \\left\\|\\frac{1}{\\left|X_{S}\\right|} \\sum_{x_{*} \\in X_{S}} \\phi\\left(x_{s}\\right)-\\frac{1}{\\left|X_{T}\\right|} \\sum_{x_{t} \\in X_{T}} \\phi\\left(x_{t}\\right)\\right\\| \\end{aligned}
MMD(XS,XT)=∥∥∥∥∥∣XS∣1x∗∈XS∑ϕ(xs)−∣XT∣1xt∈XT∑ϕ(xt)∥∥∥∥∥
如图2,对于有偏数据集(左),在源域学习的网络不能很好地转移到目标域。通过最小化MMD,实现网络在源域和目标域的分布差异减少,从而实现域适应,完成迁移学习。
最终损失函数是要加上网络的损失函数:
L
=
L
C
(
X
L
,
y
)
+
λ
MMD
2
(
X
S
,
X
T
)
\\mathcal{L}=\\mathcal{L}_{C}\\left(X_{L}, y\\right)+\\lambda \\operatorname{MMD}^{2}\\left(X_{S}, X_{T}\\right)
L=LC(XL,y)+λMMD2(XS,XT)
其中
L
C
(
X
L
,
y
)
\\mathcal{L}_{C}\\left(X_{L}, y\\right)
LC(XL,y) 表示在数据
X
L
X_{L}
XL 和标签
y
y
y 的损失。
适应层(adaptation layer)位置的选取及大小的设定
网络的结构已经确定了,但是这个适应层的位置及尺寸该如何确定呢?文中通过利用MMD距离来实现对两者的确定。首先,在适应层位置的选取上,通过逐层的计算源数据与目标数据之间的MMD距离,来选择最小的MMD距离的层的位置为适应层的位置。确定适应层的位置后,同样通过尝试不同的尺寸的适应层,选择能使MMD距离最小的尺寸来作为适应层的尺寸。
为了确定将自适应层放在哪一层。作者用预训练分别提取源域和目标域的fc6,fc7和fc8输出的特征,将同层的源域和目标域的特征进行MMD计算,得出fc7输出的特征的MMD最低。
为了验证这一点,用了domain adaptation baseline方法2 来计算准确率,实验结果如图3(a)所示,从图上可以看出,测试准确率最高出现在MMD最小出的附近。最终得出自适应层应放在fc7之后。
同样作者在尺寸上分别实验了64到4096的大小,实验结果如图3(b)所示,从图上可以看出,测试准确率最高出现在MMD最小的附近,最终作者在fc7出设置尺寸为256大小的适应层。
(
a
)
特
征
层
与
测
试
准
确
率
及
M
M
D
之
间
的
关
系
(
b
)
适
应
层
尺
寸
与
测
试
准
确
率
及
M
M
D
之
间
的
关
系
图
3
(a)特征层与测试准确率及MMD之间的关系\\qquad\\qquad\\qquad\\qquad\\qquad\\qquad\\qquad (b)适应层尺寸与测试准确率及MMD之间的关系\\\\ 图3
(a)特征层与测试准确率及MMD之间的关系(b)适应层尺寸与测试准确率及MMD之间的关系图3
确定超参数λ
- 为了兼顾分类任务和缩小域间距离的任务,作者将λ设为0.25,这样让分类任务依然是主任务,同时主任务也不至于过拟合导致没有学习缩小域间距离的任务。但作者并没有给出更多解释如何设置为0.25的。
参考
以上是关于DDC——Deep Domain Confusion Maximizing for Domain Invariance的主要内容,如果未能解决你的问题,请参考以下文章
Towards a Robust Deep Neural Network in Text Domain A Survey
BSN-DDC基础网络DDC SDK详细设计五:官方合约BSN-DDC-1155