快速导览

为什么采用这种形式

某日下午(2021.10.16)想着,看一篇论文,我在原文里面写注释和笔记,然后每次看完以后我都得把标注过的论文传到QQ或者微信里,这样方便下一台电脑接着看。这样刚开始好像没啥问题,可是时间长了,最新注释版本的论文也不知道放到哪里去了,也不知道哪个版本是最新的,那么为什么不放在网络的博客里面,这样既可以分享一下,还可以方便存储呢!

对这篇文章的态度

我会从我自己的角度,一个对迁移学习零基础入门的角度,阐释清楚这篇文章的整体结构和一些细节,包括专业术语、对比等等。

数据集和完成的任务

根据文章Introduction部分(第二页左侧倒数第七行),验证模型的数据集是 MNIST, USPS, and SVHN digits datasets。后面还说了为了检验ADDA跨形态检测能力,还用了NYUD dataset(RGB
and HHA encoded depth images as source and target domains respectively各自)

完成的任务有:在上述数据集上实现可视化的自适应结果,测试模型无监督下通过把目标分类器从RGB彩色图像转化为深度在减小更复杂的跨形态数据漂移带来的影响的方面的潜力

名词解释

阅读文献时难免遇到自己不懂的专业术语。我是初学者入门,不认识的还是太多了些。也希望这样能帮助和我一样的人能快速入门,也希望有精力的各位大佬们能接力下去。

标题
我给这篇文章起的中文标题是“对抗性区分域自适应”,Domain Adaptation是迁移学习算法。

Abstract部分(第一页):

名称含义位置
Domain Shift领域漂移数据集不同,数据分布也不同,如猪尾巴(很短)和马尾巴(很长),原因是因为样本数据分布和待预测样本的不一样第四行
Database Bias数据集偏差现有数据集总有某种/些因素被倚重,和domainshift一样导致判断失误第四行
tied weights权重共享,直接拿训练好的模型投入自己的使用,如拿白人的人脸识别模型去识别黑人的第十二行
GAN-based LossGAN的loss公式,核心是最大化判别器、最小化生成器的loss第十三行
untied weight sharing无约束权重共享,迁移时权重可以改变第十九行
domain-adversarial methods域对抗方法,这应该不是某个特定的术语,是统称的方法,思想类似GAN倒数五行

Introduction部分(第一、二页)

对于换页换侧换段的地方,会写出来,后面和它在同一页同一侧同一段的就不详细说明了。

名称含义位置
maximum mean discrepancy最大平均差异,具体原理见MMD介绍,作为最后的Loss函数去优化第二页左侧第四行
correlation distances相关距离=1-相关系数第五行
depth observation观察图像深度,确定彩色图像颜色数第五行

Related work部分(第二页右侧)

名称含义位置
domain invariance域的不变性,是拓扑学中的概念,证明两个拓扑空间同胚第三段倒数第四行
latent space隐空间,降维数据后学习其根本特征第二页最后一个词

3.1 Source and target mappings

名称含义位置
LeNet model辨别手写字符的神经网络,有卷积和pooling运算从input中提取出feature map第二段第八行
mapping consistency这里写出来是为了防止和consistent mapping搞混,原文表达的意思就是源和目标要映射到同一个空间第六段第三行
partial alignment部分对准,个人理解,举个例子说明:源图是黑白点位数字,目标图是彩色连续高清版,利用前者训练出的数字识别模型去做后者的识别,“alignment"原意"对齐”,这里指的应该是做mapping后的结果,也就是找出两类图像的"数字骨架"第六段第三行

3.2 Adversarial losses

名称含义位置
fixed-point properties暂不知第五页公式7下面
cross-entropy loss交叉熵损失函数,常用于分类问题,具体可参考:损失函数|交叉熵损失函数第五页公式8上面

4. Adversarial discriminative domain adaptation部分(第五页左侧下方)

名称含义位置
degenerate solution退化解,意思大致是可行的非唯一解第五页右侧第二段第六行
the inverted label GAN loss暂不知第五页公式9上方右侧

5. Experiments(第六页左侧)

名称含义位置
ReLU activation function线性整流,神经网络的激活函数第六页右侧第一段最后
Source Only没有做适应之前的模型Tabel 2第一个

重点语句分析(部分单词给出中文注释)

我自己的英文水平不算很高,有些单词还得加注中文,也许这也会给您省去查单词的时间。重点语句基本包含了文章对于模型的介绍,对于速度此文相信是莫有裨益。

Abstract部分(第一页)
1.对先前模型的批判(第9行):

Prior generative approaches show compelling引人入胜的 visualizations, but are not optimal on discriminative tasks and can be limited to smaller shifts. Prior discriminative approaches could handle larger domain shifts, but imposed tied weights 参数共享 on the model and did not exploit a GAN-based loss.

从这段话可以看出,文章中说的先前的模型有一下缺点:
(1)生成方法:可视化做得很好,但没有很好地优化判别任务,很容易受到小规模(领域)漂移的限制
(2)判别方法:能处理大规模领域漂移任务,但在模型里只是使用了权重共享

2.提出的模型的总体思路(第13行靠后):

We first outline a novel全新的 generalized framework for adversarial adaptation对抗性自适应, which subsumes归纳 recent state-of-the-art先进的 approaches as special cases, and we use this generalized概括性的 view to better relate与…联系起来 the prior approaches.

这段话写进摘要里应该不奇怪,虽然看上是在自夸,不过在摘要里也算正常了。

后面基本上就是开始说这个模型的特点和夸了——特点是结合了判别模型(discriminative modeling)、无约束权重共享(untied weight sharing)和GAN Loss。优点是比竞争性的域对抗方法更简单,在跨域字分析(各种奇怪的1、2、3、4)和跨形态物体分类比最前沿的无监督适应算法更有前景。

Introduction部分(第一、二页)
1.对领域漂移问题的传统解决方法和窘境:

The typical solution is to further fine-tune微调 these networks on task-specific datasets— however, it is often prohibitively difficult太过困难 and expensive to obtain enough labeled data to properly fine-tune the large number of parameters employed by deep multilayer networks.

参数既然不能直接拿来用,那当然是“微调”啦。可是这说着容易,想有足量的带标记数据去做微调(那差不多是重新学一遍了)还是太过于困难(迁移学习目标之一是利用训练好的模型去识别未标记的数据)。

2.介绍Adversarial adaptation的大概原理,和GAN类似:

Adversarial adaptation methods have become an increasingly popular incarnation化身 of this type of approach which seeks to minimize an approximate domain discrepancy差异 distance through an adversarial objective with respect to a domain discriminator关于域判别器的对抗目标(意思是最大化判别器的差异,这便是对抗性的含义).

3.介绍模型的总体流程

ADDA first learns a discriminative representation using the labels in the source domain and then a separate不同的 encoding that maps the target data to the same space using an asymmetric mapping learned through a domain-adversarial loss.

用在源域的标签学习一个判别模型,再用一个不同的编码方式,它能够利用非对称映射通过域对抗损失优化来把目标数据映射到同样的空间。(个人理解是想办法把猪尾巴弄成马尾巴)

这段话可以说是文章的主旨了,和第三页的流程图结合来看效果更佳:
ADDA流程图下面是原文对上图的说明:现有的对抗性适应方法是我们实现的框架的特例,根据特点不同,对上面深色方框中问题给出的选择也不同。

那么对于ADDA,这个模型的选择又是什么呢?从上面那段话应该是可以看出答案的!当然了,原文第四页的表格更是直接把答案贴出来了。
在这里插入图片描述
从上表中显而易见,ADDA在source和target的映射间选取的基模型是判别式的,采用无约束权值共享,对抗目标是GAN的loss

第四部分其中原句:

Specifically, we use a discriminative base model, unshared weights, and the standard GAN loss

Related work部分(第二、三页)
对几种GAN变种模型的比较后:

In this paper, we observe that modeling the image distributions is not strictly necessary to achieve domain adaptation, as long as the latent feature space is domain invariant

ADDA模型认为,要做到域适应,并不一定要对图像分布建模,因为隐空间是有域不变形的。

后面开始讲模型了,重点语句分析后面基本上没什么内容,但也讲了很多其他迁移学习模型的常见做法,还是值得一读的。

3.2 Adversarial losses(第四页右侧、第五页左侧)
1.表明模型里,source和target的映射是独立的,要学的只有 M M Mt

Note that, in this setting, we use independent mappings for source and target and learn only Mt adversarially.

4. Adversarial discriminative domain adaptation部分(第五页左侧下方)
1.根据原文介绍,这段在流程图下面解释的话说明了模型整体的训练流程(sequential training procedure)

首先:使用含标签的源图像训练编码源的卷积神经网络

然后:学习一个能使得判别器无法准确辨别域标签的编码目标的卷积神经网络(打个比方:现在有个判断动物是否有尾巴的模型,source是马,target是猪,这个网络就是希望把它们“尾巴”的共同特征找到,而不是把短尾当没有)

测试中:目标图像经目标编码器映射到共享特征空间并被源分类器分类。虚线表明这是固定的网络参数(意思是直接套用的)。

An overview of our proposed Adversarial Discriminative Domain Adaptation (ADDA) approach. We first pre-train a source encoder CNN using labeled source image examples. Next, we perform adversarial adaptation by learning a target encoder CNN such that 使得 a discriminator that sees encoded source and target examples cannot reliably 准确地 predict their domain label. During testing, target images are mapped with the target encoder to the shared feature space and classified by the source classifier. Dashed lines 虚线 indicate fixed network parameters.

在这里插入图片描述
其实类似的话在上文也提到过很多次,不过是拆分来说的,细节还在第四部分继续说。

2.关于上述流程中第二部的几个细节问题回答:
(1)为什么要无约束权值共享?这是一个灵活的学习模式,能学习到更多领域特征。

This is a more flexible learning paradigm 学习模式 as it allows more domain specific feature extraction to be learned

(2)为什么要保留一部分权值?有可能产生退化解。

The target domain has no label access, and thus without weight sharing a target model may quickly learn a degenerate solution 退化解

(3)怎么解决?把对source预训练出的模型作为target表达空间初始版本再通过训练去改进。

We use the pre-trained source model as an intitialization for the target representation space and fix the source model during adversarial training.

3.优化步骤:

We choose to optimize this objective in stages 分阶段. We begin by optimizing L c l s \mathcal{L}_{\mathrm{cls}} Lcls over M s M_s Ms and C C C by training, using the labeled source data, X s X_s Xs and Y s Y_s Ys. Because we have opted to leave M s M_s Ms fixed while learning M t M_t Mt, we can thus optimize L a d v D \mathcal{L}_{\mathrm{adv_D}} LadvD and L a d v M \mathcal{L}_{\mathrm{adv_M}} LadvM without revisiting the first objective term. A summary of this entire training process is provided in Figure 3.

5. Experiments(第六页左侧)
1.如何进行的实验:

We use the simple modified LeNet architecture provided in the Caffe source code. When training with ADDA, our adversarial discriminator consists of 3 fully connected layers: two layers with 500 hidden units followed by the final discriminator output. Each of the 500-unit layers uses a ReLU activation function.

符号标记和公式解读

首次出现位置的格式:(段落,行数)负数表示倒数第几行

3.Generalized adversarial adaptation(第三页)

名称含义首次出现位置
Xssource images源图像1,3
Ys源图像的标签1,3
ps(x,y)source domain distribution源域分布1,4
Xttarget images目标图像1,5
pt(x,y)target domain distribution目标域分布1,5
Mttarget representation目标模型1,7
Ct目标图像K分类器1,7
Mssource representation mapping1,-3
Cssource classifier1,-2
L L Ladv D _D D判别器的loss4,-2
L L Ladv M _M Madversarial mapping loss6,-1

公式位置表示(x,y):x=页数,y=0时表示在左侧,y=1时表示在右侧
先搞明白含义,把文章算法步骤搞懂后再来具体看是怎么算的

公式解释位置
C=Cs=Ct源图像和目标图像的映射分布差距很小,可以直接把源图像的分类器用到目标图像上3,2
在这里插入图片描述优化源分类器的standrad supervised loss3,2
在这里插入图片描述Domain Discriminator的loss,需要最大化保证它看不出来数据是来自source还是target3,2
在这里插入图片描述原文说明此为“Generic Formulation",意思就是总体实现的目标:最大化判别器的loss,最小化源和目标在映射之后的差异,最下面的意思是实现一个特定的映射结构3,2

3.1 Source and target mappings

符号名称含义首次出现位置
Mlssource images的l层的参数4,2
{l1,l2,…,ln}l=layer,第几层的意思4,3
公式解释首次出现位置
在这里插入图片描述整体的映射结构是每一层的映射结构组合在一起(原文用词constraints)4,1
在这里插入图片描述每一层的映射结构可以表示为该层的源或目标图像的计算参数4,2

3.2 Adversarial losses

公式解释出现位置
在这里插入图片描述adversarial mapping loss,判断映射的优劣5,1
在这里插入图片描述交叉熵损失的计算公式,D(Md(xd))表示分类器D把第d个样本xd映射为某个类的概率,Md含义和取 1 2 \frac{1}{2} 21的原因是label只有1/0,默认正确率取个一半5,1
在这里插入图片描述ADDA模型的无约束优化公式(unconstrained optimization),具体计算含义见下面公式解读部分5,2

公式计算含义

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐