Skip to content

Commit 9184f2f

Browse files
committed
add: DDA method
1 parent c2e328e commit 9184f2f

6 files changed

Lines changed: 206 additions & 95 deletions

File tree

src/chaps/ch06_distributionadapt.tex

Lines changed: 87 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -266,8 +266,6 @@ \subsubsection{核心方法}
266266

267267
可是伪标签终究是伪标签啊,肯定精度不高,怎么办?有个东西叫做\textit{迭代},一次不行,我们再做一次。后一次做的时候,我们用上一轮得到的标签来作伪标签。这样的目的是得到越来越好的伪标签,而参与迁移的数据是不会变的。这样往返多次,结果就自然而然好了。
268268

269-
\subsubsection{扩展}
270-
271269
JDA方法是十分经典的迁移学习方法。后续的相关工作通过在JDA的基础上加入额外的损失项,使得迁移学习的效果得到了很大提升。我们在这里简要介绍一些基于JDA的相关工作。
272270

273271
\begin{itemize}
@@ -279,7 +277,11 @@ \subsubsection{扩展}
279277
\item JAN~(Joint Adaptation Network)~\cite{long2017deep}: 提出了联合分布度量JMMD,在深度网络中进行联合分布的优化
280278
\end{itemize}
281279

282-
特别地,在最近的研究中,来自中科院计算所的Wang等人~\cite{wang2017balanced}注意到了JDA的不足:\textit{边缘分布自适应和条件分布自适应并不是同等重要}。回到图~\ref{fig-distribution}表示的两种分布的问题上来。显然,当目标域是图~\ref{fig-distribution-target1}所示的情况时,边缘分布应该被优先考虑;而当目标域是图~\ref{fig-distribution-target2}所示的情况时,条件分布应该被优先考虑。JDA以及后来的扩展工作均忽视了这一问题。
280+
\subsection{动态分布自适应}
281+
282+
\textbf{平衡分布自适应BDA}
283+
284+
在最近的研究中,来自中科院计算所的Wang等人~\cite{wang2017balanced}注意到了JDA的不足:\textit{边缘分布自适应和条件分布自适应并不是同等重要}。回到图~\ref{fig-distribution}表示的两种分布的问题上来。显然,当目标域是图~\ref{fig-distribution-target1}所示的情况时,边缘分布应该被优先考虑;而当目标域是图~\ref{fig-distribution-target2}所示的情况时,条件分布应该被优先考虑。JDA以及后来的扩展工作均忽视了这一问题。
283285

284286
作者提出了BDA方法(Balanced Distribution Adaptation)来解决这一问题。该方法能够根据特定的数据领域,自适应地调整分布适配过程中边缘分布和条件分布的重要性。准确而言,BDA通过采用一种\textit{平衡因子}$\mu$来动态调整两个分布之间的距离
285287
\begin{equation}
@@ -315,18 +317,92 @@ \subsubsection{扩展}
315317
\label{fig-distribution-bda}
316318
\end{figure*}
317319

320+
\textbf{动态分布自适应}
321+
322+
BDA方法是首次给出边缘分布和条件分布的定量估计。然而,其并未解决平衡因子$\mu$的精确计算问题。最近,作者扩展了BDA方法,提出了一个更具普适性的动态迁移框架DDA(Dynamic Distribution Adaptation)~\cite{wang2019transfer}来解决$\mu$值的精确估计问题。
323+
324+
注意到,可以简单地将$\mu$视为一个迁移过程中的参数,通过交叉验证 (cross-validation)来确定其最优的取值$\mu_{opt}$。然而,在本章的无监督迁移学习问题定义中,目标域完全没有标记,故此方式不可行。有另外两种非直接的方式可以对$\mu$值进行估计:随机猜测和最大最小平均法。随机猜测从神经网络随机调参中得到启发,指的是任意从$[0,1]$区间内选择一个$\mu$的值,然后进行动态迁移,其并不算是一种技术严密型的方案。如果重复此过程$t$次,记第$t$次的迁移学习结果为$r_t$,则随机猜测法最终的迁移结果为$r_{rand} = \frac{1}{t} \sum_{i=1}^{t} r_t$。最大最小平均法与随机猜测法相似,可以在$[0,1]$区间内从0开始取$\mu$的值,每次增加0.1,得到一个集合$[0,0.1,\cdots,0.9,1.0]$,然后,与随机猜测法相似,也可以得到其最终迁移结果$r_{maxmin}=\frac{1}{11} \sum_{i=1}^{11} r_i$
325+
326+
然而,尽管上述两种估计方案有一定的可行性,它们均需要大量的重复计算,给普适计算设备带来了严峻的挑战。另外,上述结果并不具有可解释性,其正确性也无法得到保证。
327+
328+
作者提出的动态迁移方法是首次对$\mu$值进行精确的定量估计方法。该方法利用领域的整体和局部性质来定量计算$\mu$(计算出的值用$\hat{\mu}$来表示)。采用$\mathcal{A}-distance$~\cite{ben2007analysis}作为基本的度量方式。$\mathcal{A}-distance$被定义为建立一个二分类器进行两个不同领域的分类得出的误差。从形式化来看,定义$\epsilon(h)$作为线性分类器$h$区分两个领域$\Omega_s$$\Omega_t$的误差。则,$\mathcal{A}-distance$可以被定义为:
329+
\begin{equation}
330+
d_A(\Omega_s,\Omega_t) = 2(1 - 2 \epsilon(h)).
331+
\end{equation}
332+
333+
直接根据上式计算边缘分布的$\mathcal{A}-distance$,将其用$d_M$来表示。对于条件分布之间的$\mathcal{A}-distance$,用$d_c$来表示对应于类别$c$的条件分布距离。它可以由式$d_c = d_A(\Omega^{(c)}_s,\Omega^{(c)}_t)$进行计算,其中$\Omega^{(c)}_s$$\Omega^{(c)}_t$分别表示来自源域和目标域的第$c$个类的样本。最终,$\mu$可以由下式进行计算:
334+
\begin{equation}
335+
\label{eq-meda-mu}
336+
\hat{\mu} = 1 - \frac{d_M}{d_M + \sum_{c=1}^{C} d_c}.
337+
\end{equation}
338+
339+
由于特征的动态和渐近变化性,此估计需要在每一轮迭代中给出。值得注意的是,这是\textbf{首次}给出边缘分布和条件分布的定量估计,对于迁移学习研究具有很大的意义。
340+
341+
具体而言,作者将机器学习问题规约成一个统计机器学习问题,可以用统计机器学习中的结构风险最小化的原则(Structural Risk Minimization, SRM)~\cite{belkin2006manifold,vapnik1998statistical}进行表示学习。在SRM中,分类器$f$可以被表示为:
342+
\begin{equation}
343+
\label{eq-meda-srm}
344+
f = \mathop{\arg\min}_{f \in \mathcal{H}_{K}, (\mathbf{x},y) \sim \Omega_l} J(f(\mathbf{x}),y) + R(f),
345+
\end{equation}
346+
其中第一项表示$f$在有标记数据上的损失,第二项为正则项,$\mathcal{H}_{K}$表示核函数$K(\cdot,\cdot)$构造的希尔伯特空间 (Hilbert space)。符号$\Omega_l$表示有标记的数据领域。在本章的问题中,$\Omega_l = \Omega_s$,即只有源域数据有标记。特别地,由于在迁移学习问题中,源域和目标域数据有着不同的数据分布,为了表示此分布距离,可以进一步将正则项表示成如下的形式:
347+
\begin{equation}
348+
R(f) = \lambda \overline{D_f}(\Omega_s,\Omega_t) + R_f(\Omega_s,\Omega_t),
349+
\end{equation}
350+
其中$\overline{D_f}(\cdot, \cdot)$表示$\Omega_s$$\Omega_t$的分布距离,$\lambda$为平衡系数,$R_f(\cdot, \cdot)$则为其他形式的正则项。根据公式~(\ref{eq-meda-srm})中的结构风险最小化公式,如果用$g(\cdot)$来表示特征学习过程,则$f$可以被表示为:
351+
\begin{equation}
352+
\label{equ-f-orig}
353+
f = \mathop{\arg\min}_{f \in \sum_{i=1}^{n} \mathcal{H}_{K}} J(f(g(\mathbf{x}_i)),y_i) + \eta ||f||^2_K + \lambda \overline{D_f}(\Omega_s,\Omega_t) + \rho R_f(\Omega_s,\Omega_t),
354+
\end{equation}
355+
其中$||f||^2_K$$f$的平方标准形式。$\overline{D_f}(\cdot,\cdot)$这一项表示本章提出的动态迁移学习。引入拉普拉斯约束作为$f$的额外正则项~\cite{belkin2006manifold}。$\eta,\lambda$,和$\rho$是对应的正则项系数。
356+
357+
上式则为通用的一个迁移学习框架,可以适用于任何问题。为了对此框架进行学习,作者分别提出了基于流形学习的动态迁移方法MEDA (Manifold Embedded Distribution Alignment)~\cite{wang2018visual}和基于深度学习的动态迁移方法DDAN (Deep Dynamic Adaptation Network)~\cite{wang2019transfer}来进行学习。这两种方法分别如图~\ref{fig-distribution-meda}和~\ref{fig-distribution-ddan}所示。
358+
359+
%\begin{figure}[t!]
360+
% \centering
361+
% \begin{subfigure}[1]{0.48\textwidth}
362+
% \includegraphics[width=\textwidth]{./figures/fig-meda-main.pdf}
363+
% \caption{流形空间动态迁移MEDA}
364+
% \label{fig-meda-manifold}
365+
% \end{subfigure}
366+
%
367+
% \hspace{.2in}
368+
%
369+
% \begin{subfigure}[1]{0.48\textwidth}
370+
% \includegraphics[width=\textwidth]{./figures/fig-meda-deep.pdf}
371+
% \caption{深度网络动态迁移DDAN}
372+
% \label{fig-meda-deep}
373+
% \end{subfigure}
374+
% \caption{基于流形学习和深度学习的动态迁移方法MDDA和DDAN}
375+
% \label{fig-meda-main}
376+
%\end{figure}
377+
378+
\begin{figure*}[h]
379+
\centering
380+
\subfigure[流形空间动态迁移MEDA]{
381+
\includegraphics[scale=0.45]{./figures/fig-meda-main.pdf}
382+
\label{fig-distribution-meda}}
383+
384+
\subfigure[深度网络动态迁移DDAN]{
385+
\includegraphics[scale=0.45]{./figures/fig-meda-deep.pdf}
386+
\label{fig-distribution-ddan}}
387+
\caption{动态分布自适应}
388+
\label{fig-distribution-dda}
389+
\end{figure*}
390+
391+
最近,作者在~\cite{yu2019transfer}中将DDA的概念进一步扩展到了对抗网络中,证明了对抗网络中同样存在边缘分布和条件分布不匹配的问题。作者提出一个动态对抗适配网络DAAN (Dynamic Adversarial Adaptation Networks)来解决对抗网络中的动态分布适配问题,取得了当前的最好效果。图~\ref{fig-daan}展示了DAAN的架构。
392+
393+
\begin{figure}[htbp]
394+
\centering
395+
\includegraphics[scale=.35]{./figures/fig-distribution-daan.png}
396+
\caption{动态对抗适配网络DAAN结构示意图}
397+
\label{fig-daan}
398+
\end{figure}
399+
318400
\subsection{小结}
319401

320402
综合上述三种概率分布自适应方法,我们可以得出如下的结论:
321403

322404
\begin{enumerate}
323-
\item 精度比较:BDA > JDA > TCA > 条件分布自适应。
324-
\item 将不同的概率分布自适应方法用于神经网络,是一个发展趋势。图~\ref{fig-distribution-deep}展示的结果表明,将概率分布适配加入深度网络中,往往会取得比非深度方法更好的结果。
405+
\item 精度比较:DDA > JDA > TCA > 条件分布自适应。
406+
\item 将不同的概率分布自适应方法用于神经网络,是一个发展趋势。将概率分布适配加入深度网络中,往往会取得比非深度方法更好的结果。
325407
\end{enumerate}
326408

327-
\begin{figure}[htbp]
328-
\centering
329-
\includegraphics[scale=0.6]{./figures/fig-distribution-deep.pdf}
330-
\caption{不同分布自适应方法的精度比较}
331-
\label{fig-distribution-deep}
332-
\end{figure}

src/chaps/ch09_deep.tex

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,17 @@ \subsubsection{核心方法}
408408
E=\frac{1}{n_t} \sum_{\mathbf{x}_i \in \mathcal{D}_t} H(G_y(G_f(\mathbf{x}_i)))
409409
\end{equation}
410410

411+
\textbf{4. DAAN}
412+
413+
最近,Yu等人在~\cite{yu2019transfer}中将动态分布适配的概念进一步扩展到了对抗网络中,证明了对抗网络中同样存在边缘分布和条件分布不匹配的问题。作者提出一个动态对抗适配网络DAAN (Dynamic Adversarial Adaptation Networks)来解决对抗网络中的动态分布适配问题,取得了当前的最好效果。图~\ref{fig-deep-daan}展示了DAAN的架构。
414+
415+
\begin{figure}[htbp]
416+
\centering
417+
\includegraphics[scale=.35]{./figures/fig-distribution-daan.png}
418+
\caption{动态对抗适配网络DAAN结构示意图}
419+
\label{fig-deep-daan}
420+
\end{figure}
421+
411422
\subsubsection{小结}
412423

413424
使用对抗网络进行迁移学习是近年来的研究热点。我们期待在这个领域会有越来越多的工作发表。
130 KB
Loading

src/main.tex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
\usepackage{multicol}
2121
\usepackage{listings}
2222
\usepackage{color}
23+
\usepackage{subfigure}
2324
\newcommand*{\Scale}[2][4]{\scalebox{#1}{$#2$}}%
2425

2526
\makeatletter % `@' now normal "letter"

0 commit comments

Comments
 (0)