M2RD for Domain Adaptation
M2RD 即A Multi-Domain and Multi-Modal Representation Disentangler,该方法是由Yang Fu-En等人于2019年提出,M 2 ^2 2RD是一个统一的网络,其目标是学习到域不变特征和域相关特征;其次,通过使用先进对抗网络和解纠缠方法,使模型能够基于多个模型实现跨域的连续图像操作。
Introduction
深度学习在计算机视觉和机器学习中展现出很好的发展前景,目前一些研究者将其用于视觉分析与合成,如风格转换、图至图的转化、跨域视觉分类等。而实现上述任务的主要方法分为两者,其一是确定性映射(Deterministic mapping),另一种是将所需信息嵌入到潜在的特征空间。而该文章使用的是特征解纠缠方法,其能够观察并操作感兴趣的特定特征属性。
数据域之间的自适应或转换需要展示出多模态多样性,其概念是:一个实例输入可对应多个可能的同属性输出,如一张图片的风格可以是相片或者是素描;而要实现该目标,即使是对抗神经网络(GAN)也存在问题。为实现多模态多样性,有研究者利用解纠缠的特征实现多模态,如MUNIT和DRIT,这两个方法是通过将潜在的特征分解为不想关联的特征,以这些不相关特征来描述内容与风格信息,但这两个方法由于其网络结构的设计,无法实现跨域处理。
于是作者根据上述方法所存在的问题,提出了一个M
2
^2
2RD网络实现跨域图像合成和分类,其网络是一个统一的框架。网络框架如下图所示,其可分为内容提取和域处理两个部分。
本文的贡献有以下几点:
- 将潜在的图像信息分解为不相关的特征,以表示域不变信息和特定信息
- 将对抗学习、生成模块、特征解纠缠三者相结合
- 所获得域不变特征可实现无监督域自适应
Related Works
Representation Disentanglement
- Chen等提出的InfoGAN,最大化潜在特征空间与生成图片之间的交互信息,以实现特征解纠缠。
- Higgins等提出的 β \beta β-VAE,通过在VAE中加入一个调节超参数,实现对潜在信道容量和独立性约束的平衡。
- Tulyakov等提出的MoCoGAN,该方法实现了对生成网络生成的视频的分解。
上述方法存在的不足之处:由于其无法获得解纠缠背后明确的语义信息,因此无法直接操纵潜在的因素。
- Odena等提出增强GANs,其原理是在GANs的基础上添加一个辅助的分类器
- Peng等人应用重构解耦和自监督来保证潜在因素的完全解耦。
- Tian等人利用GAN和循环一致性(Cycle-Consistency)对多视角图像进行特征解耦。
即使能够实现特征解耦,但是上述的方法均只是在单个域中进行操作,并未在多个域中进行操作。
Image-to-Image Translation
- Isola等通过利用图像数据对来学习对抗网络。
- Taigman等提出Domain Transfer Network
- 其次还有CoGAN、UNIT等
以上方法能实现风格转换,但是却无法实现多模态输出或者会出现模型崩溃的问题。
为实现多模态输出,Zhu等人注意到通过输入一对(a pair)图像以获得潜在空间与输出空间之间的双向映射关系;但是在一些情况下,我们是无法得到数据对。
Cross-Domain Image Manipulation
为充分利用图像分析的结果,研究者需能够对图像中感兴趣的属性进行操作。为此,研究者提出了StarGAN、AttGAN、UFDN等,这些网络均能对人脸图像进行操作。
Unsupervised Domain Adaptation
无监督域自适应是指在不使用目标域的标签的情况下,实现对目标域图片数据的分类。如GAKT、DANN、CycleGAN等。
注:论文文献8、11-13、15,这几篇论文是跨域分类的文献,值得继续看
Proposed Methods:M 2 ^2 2RD
M
2
^2
2RD网络的架构如下图所示,其由两部分组成:特征解缠器和图像处理,其中
E
d
E_d
Ed、
E
c
E_c
Ec、
D
c
D_c
Dc完成对特征解缠,并将特征分为两类:
z
d
z_d
zd与域相关的,
z
c
z_c
zc与内容相关,即域不变特征;
G
G
G与
E
c
E_c
Ec一起构成对图像处理的部分,其中
G
G
G的输入为
z
=
[
z
i
c
,
z
ˉ
d
,
l
j
]
z=[z_i^c,\bar z^d,l_j]
z=[zic,zˉd,lj],
z
c
z_c
zc是为了保证生成器生成的图片与输入具有内容一致性;
D
d
o
m
D_{dom}
Ddom是对生成器所生成图片的域进行分辨,最终达到使生成器生成的图片的域与
l
i
l_i
li一致。
为实现上述所提出的贡献,作者定义了以下10种损失,这10种损失分别对应不同的目标,其表达式如下:
-
L a d v D c L^{D_c}_{adv} LadvDc:根据不变特征 z c z^c zc正确预测域码(domain code)
L a d v D c = E [ l o g ( P ( l ^ = l i ∣ E c ( x i ) ) ) ] L^{D_c}_{adv}=\mathbb{E}[log(P(\hat l=l_i|E_c(x_i)))] LadvDc=E[log(P(l^=li∣Ec(xi)))] -
L a d v E c L^{E_c}_{adv} LadvEc: E c E^c Ec的目标是从输入数据中获取域不变特征,因此最大化不变特征的交叉熵即可,
L a d v E c = − L a d v D c = − E [ l o g ( P ( l ^ = l i ∣ E c ( x i ) ) ) ] L^{E_c}_{adv}=-L^{D_c}_{adv}=-\mathbb{E}[log(P(\hat l=l_i|E_c(x_i)))] LadvEc=−LadvDc=−E[log(P(l^=li∣Ec(xi)))] -
L K L L_{KL} LKL:为获得联合且连续的特征表示,设计出使域相关特征 z d z^d zd符合一个高斯分布,KL为Kullback-Leibler散度,
L K L = E [ K L ( E d ( x i ) ) ∣ ∣ N ( 0 , I ) ] L_{KL}=\mathbb{E}[KL(E_d(x_i))||N(0,I)] LKL=E[KL(Ed(xi))∣∣N(0,I)] -
L c l a L_{cla} Lcla:为实现跨域分类,需加入跨域分类器,下式即为衡量跨域分类准确性的损失项,
L c l a = − ∑ k = 1 N s r c y k s r c . l o g y ~ k s r c L_{cla}=-\sum_{k=1}^{N_{src}} y^{src}_k.log \tilde{y}_k^{src} Lcla=−k=1∑Nsrcyksrc.logy~ksrc -
L r e c L_{rec} Lrec:为使生成器生成的最终图像与输入相似,需加入下面这一项损失项来对输入图像进行重构,即求输入图像与生成图像之间的1范数
L r e c = ∣ ∣ x i − x ^ i ∣ ∣ 1 L_{rec}=||x_i-\hat x_i||_1 Lrec=∣∣xi−x^i∣∣1
- L r e c L_{rec} Lrec:为保证最终图像与输入图像的内容一致性,即不变特征一致,需加入下面这些损失项,
L r e c = ∣ ∣ E c ( x i ) − E c ( x ~ i ) ∣ ∣ 2 L_{rec}=||E_c(x_i)-E_c(\tilde x_i)||_2 Lrec=∣∣Ec(xi)−Ec(x~i)∣∣2
- L s t y L_{sty} Lsty:利用下面这个回归损失对域相关特征进行重构,
L s t y = ∣ ∣ E d ( G ( [ z i c , z ˉ d , l j ] ) ) − z ˉ d ∣ ∣ 2 L_{sty}=||E_d(G([z_i^c,\bar z^d,l_j]))-\bar z^d||_2 Lsty=∣∣Ed(G([zic,zˉd,lj]))−zˉd∣∣2
- 以下三项损失是为了使输出图像满足指定的域码 l j l_j lj,
L a d v D d o m = E [ l o g ( D d o m ( x ~ i ) ) ] + E [ l o g ( 1 − D d o m ( x i ) ) ] L^{D_dom}_{adv}=\mathbb{E}[log(D_{dom}(\tilde x_i))]+\mathbb{E}[log(1-D_{dom}(x_i))] LadvDdom=E[log(Ddom(x~i))]+E[log(1−Ddom(xi))]
L a u x D d o m = E [ l o g ( P ( l ˉ = l j ∣ x ~ i ) ) ] + E [ l o g ( P ( l ˉ = l j ∣ x i ) ) ] L^{D_dom}_{aux}=\mathbb{E}[log(P(\bar l=l_j|\tilde x_i))]+\mathbb{E}[log(P(\bar l=l_j|x_i))] LauxDdom=E[log(P(lˉ=lj∣x~i))]+E[log(P(lˉ=lj∣xi))]
L a d v G = − E [ − l o g ( D d o m ( x ~ i ) ) ] L^{G}_{adv}=-\mathbb{E}[-log(D_{dom}(\tilde x_i))] LadvG=−E[−log(Ddom(x~i))]
最终总的损失是将上面10项损失加在一起,并对每一项乘以一个权重,权重的选择需要具体而定,因为不同的损失的数值可能是不一样的数量级。
最终结果
需要指出的是该方法最终的跨域识别率很高,但是其在训练过程中对域进行了标定,这就说明当遇到一个未知的域,是否最终能够提取到域不变特征是一个值得思考的问题。
参考文献
- Yang, F. E., et al. (2020). “A Multi-Domain and Multi-Modal Representation Disentangler for Cross-Domain Image Manipulation and Classification.” Ieee Transactions on Image Processing 29: 2795-2807.