KD3A论文阅读笔记
Posted LeoJarvis
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KD3A论文阅读笔记相关的知识,希望对你有一定的参考价值。
《KD3A: Unsupervised Multi-Source Decentralized Domain Adaptation via
Knowledge Distillation》是一篇被ICML 2021接收的论文,论文作者来自浙江大学CAD&CG国家重点实验室。这篇文章提出一个对来自多个源域的模型进行知识蒸馏来构建可迁移的共识知识,并可应用于联邦学习的无监督多源域适应方法。
简介
传统的无监督多源域适应UMDA(Unsupervised Multi-source Domain Adaptation)假设所有源域数据都可以直接访问。然而,隐私保护政策要求所有数据和计算都必须在本地进行,这对域适应方法提出了三个挑战:
首先,最小化域间距离需获取源域和目标域的数据并进行成对计算,而在隐私保护要求下,源域数据本地存储、不可访问。
其次**,通信成本和隐私安全限制了现有域适应方法的应用。
最后,由于无法鉴别源域数据质量,更易出现不相关或恶意源域**,从而导致负迁移。
为解决上述问题,该文章提出一种满足隐私保护要求的去中心化无监督域适应范式,称为基于知识蒸馏的去中心化域适应KD3A(Knowledge Distillation based Decentralized Domain Adaptation),通过对来自多个源域的模型进行知识蒸馏来构建可迁移的共识知识。大量实验表明,KD3A显著优于其他域适应方法。此外,与其他去中心化的域适应方法相比,KD3A 对负迁移具有鲁棒性,并可将通信成本降低100倍。
UMDA的相关研究即不足
UMDA通过减小源域
D
S
D_S
DS和目标域
D
T
D_T
DT之间的H-divergence来建立可迁移特征。maximum mean discrepancy (MMD)和对抗训练是实现H-divergence的优化策略的两种主流范式。此外,知识蒸馏也被用于模型上的知识迁移。
基于MMD的各种方法都需要对来自源域和目标域的数据进行成对计算,这在去中心化约束下是不允许的。
对抗训练要求完成每个batch的训练后,每个源域都要与目标域交换和更新模型参数,这会产生巨大的通信代价。
由于不相关和恶意源域,应用于域适应中的传统的知识蒸馏策略可能无法获得正确的知识。
KD3A技术框架
该文章提出了一种解决上述问题的方法——Knowledge Distillation based Decentralized Domain Adaptation (KD3A),旨在通过对来自不同源领域的模型进行知识蒸馏来实现去中心化的域适应。
KD3A通过串联使用三个组件组成。
首先提出一种多源知识提取方法——Knowledge Vote,以获得高质量的域间共识知识。
第二,根据不同域的共识知识的质量,设计了一种动态加权策略Consensus Focus来识别恶意和无关的源域。
最后给出了一种对H-divergence的去中心化优化策略——BatchNorm MMD。并从理论角度分析了KD3A的去中心化泛化边界。
框架中提到的共识知识是什么,共识知识的质量怎么定义,具体权重要怎么给?别急,继续看下面的技术细节。
KD3A技术细节
D
S
D_S
DS和
D
T
D_T
DT分别代表源域和目标域,在UMDA中,设置k个源域{
D
S
k
D_S^k
DSk}
k
=
1
k
_{k=1}^k
k=1k,每个源域包括
N
K
N_K
NK个已标注样本:
D
S
k
D_S^k
DSk:={
x
i
k
x_i^k
xik,
y
i
k
y_i^k
yik}
i
=
1
N
k
_{i=1}^{N_k}
i=1Nk。目标域
D
T
D_T
DT具有
N
T
N_T
NT个无标注样本:
D
T
D_T
DT:={
x
i
T
x_i^T
xiT}
i
=
1
N
T
_{i=1}^{N_T}
i=1NT。
UMDA的目标是学习一个模型h,该模型能最小化
D
T
D_T
DT的任务风险
ε
D
T
ε_{D_T}
εDT,
ε
D
T
ε_{D_T}
εDT定义如下:
一、利用共识知识扩展源域
考虑一个C-way分类任务,并假设目标域与源域的任务相同。
假设k个源域上的k个完全训练模型为{
h
S
k
h_S^k
hSk}
k
=
1
K
_{k=1}^K
k=1K,
q
S
k
(
X
)
q_S^k(X)
qSk(X)代表每个类的置信度,并且以具有最高置信度的类作为标签,
即
h
S
k
(
X
)
h_S^k(X)
hSk(X) =
a
r
g
c
m
a
x
[
q
S
k
(
X
)
]
c
arg_cmax[q_S^k(X)]_c
argcmax[qSk(X)]c
如图a所示,UMDA中的知识蒸馏可以分为两步。
首先,对于每个目标域的数据
X
i
T
X_i^T
XiT,获取各源域中模型的推断(inferences)。
然后,利用集成方法获得各源模型的共识知识
P
i
P_i
Pi,即
P
i
P_i
Pi = 1/K
Σ
k
=
1
K
Σ_{k=1}^K
Σk=1K
q
S
k
(
X
i
T
)
q_S^k(X_i^T)
qSk(XiT)
为了将共识知识应用于源域,我们根据每个目标域数据
X
i
T
X_i^T
XiT和共识知识
P
i
P_i
Pi定义了一个扩展源域
D
S
K
+
1
D_S^{K+1}
DSK+1,
D
S
K
+
1
D_S^{K+1}
DSK+1 = {
(
X
i
T
,
P
i
)
(X_i^T, P_i)
(XiT,Pi)}
i
=
1
N
T
_{i=1}^{N_T}
i=1NT。
D
S
K
+
1
D_S^{K+1}
DSK+1的任务风险定义为:
在这一新源域上,可以以知识蒸馏的损失函数来定义源模型
h
S
k
+
1
h_S^{k+1}
hSk+1的训练,定义如(3)。
二、Knowledge Vote : Producing Good Consensus
若如上一小节所述,只是简单地用集成方法来获取各源模型的共识知识
P
i
P_i
Pi = 1/K
Σ
k
=
1
K
Σ_{k=1}^K
Σk=1K
q
S
k
(
X
i
T
)
q_S^k(X_i^T)
qSk(XiT),可能结果并不如人意,因为源域中可能存在一些无关的或者恶意源域。因此,文章提出Knowledge Vote以获得高质量的共识知识。
Knowledge Vote的主要思想是,如果某个共识知识被更多高置信度的源域支持(例如> 0.9),那么它就更有可能是真正的标签。如图b所示,Knowledge Vote包括三个步骤:
1、confidence gate:过滤”不自信的模型”(如
q
s
4
q_s^4
qCVPR 2020 论文阅读笔记(三维点云/三维重建)
SurfaceDefectsDetectionBasedonAdaptiveMultiscaleImageCollectionandConvolutionalNeuralNetworks-论文阅读笔记