On Adversarial Mixup Resynthesis
目的
本文主要的工作是利用GAN和MixUp的技术来对两个图像进行混合,生成新的图像,具体效果如下图所示:
方法细节
无监督部分
首先,利用encoder-decoder模式来在对图像进行提取特征和重构,为了让重构的图像与原始的输入差别尽可能的小,使用了L2 loss
m
i
n
F
E
x
∼
p
(
x
)
∣
∣
x
−
g
(
f
(
x
)
)
∣
∣
2
min_{F}\: E_{x\sim p(x)}||x-g(f(x))||_{2}
minFEx∼p(x)∣∣x−g(f(x))∣∣2
在这里,
g
g
g是decoder,
f
f
f是encoder。做这一步的目的是为了后续对
f
(
x
)
f(x)
f(x)做一些更改后输出任然是一个图片,而不是生成乱码。
然后,作者为了让生成的图片更加真实,在这里还利用了GAN里面的detector,并模仿GAN的训练模式,一方面让decoder生成的图像令detector无法分辨,一方面又提高detector的分辨准确率,具体使用俩个loss实现:
m
i
n
F
E
x
∼
p
(
x
)
λ
∣
∣
x
−
g
(
f
(
x
)
)
∣
∣
2
+
l
G
A
N
(
D
(
g
(
f
(
x
)
)
)
,
1
)
m
a
x
D
E
x
∼
p
(
x
)
l
G
A
N
(
D
(
x
)
,
1
)
+
l
G
A
N
(
D
(
g
(
f
(
x
)
)
)
,
0
)
min_F\: E_{x\sim p(x)} \lambda||x-g(f(x))||_{2}+l_{GAN}(D(g(f(x))),1)\\ max_D\: E_{x\sim p(x)} l_{GAN}(D(x),1)+l_{GAN}(D(g(f(x))),0)
minFEx∼p(x)λ∣∣x−g(f(x))∣∣2+lGAN(D(g(f(x))),1)maxDEx∼p(x)lGAN(D(x),1)+lGAN(D(g(f(x))),0)
在这里,
l
G
A
N
l_{GAN}
lGAN是BCELoss,具体可以去看GAN论文。通过这一步,可以让decoder生成的图片越来越像真实图片。
接着,作者又对混合后的图像也使用了GAN技术
m
i
n
F
E
x
,
x
′
∼
p
(
x
)
λ
∣
∣
x
−
g
(
f
(
x
)
)
∣
∣
2
+
l
G
A
N
(
D
(
g
(
f
(
x
)
)
)
,
1
)
+
l
G
A
N
(
D
(
g
(
M
i
x
(
f
(
x
)
,
f
(
x
′
)
)
)
)
,
1
)
m
a
x
D
E
x
,
x
′
∼
p
(
x
)
l
G
A
N
(
D
(
x
)
,
1
)
+
l
G
A
N
(
D
(
g
(
f
(
x
)
)
)
,
0
)
+
l
G
A
N
(
D
(
g
(
M
i
x
(
f
(
x
)
,
f
(
x
′
)
)
)
)
,
0
)
min_F\: E_{x,x'\sim p(x)} \lambda||x-g(f(x))||_{2}+l_{GAN}(D(g(f(x))),1)+l_{GAN}(D(g(Mix(f(x),f(x')))),1)\\ max_D\: E_{x,x'\sim p(x)} l_{GAN}(D(x),1)+l_{GAN}(D(g(f(x))),0)+l_{GAN}(D(g(Mix(f(x),f(x')))),0)
minFEx,x′∼p(x)λ∣∣x−g(f(x))∣∣2+lGAN(D(g(f(x))),1)+lGAN(D(g(Mix(f(x),f(x′)))),1)maxDEx,x′∼p(x)lGAN(D(x),1)+lGAN(D(g(f(x))),0)+lGAN(D(g(Mix(f(x),f(x′)))),0)
这里的
M
i
x
(
.
,
.
)
Mix(. , .)
Mix(.,.)函数就是利用了MixUp技术,具体表示为:
M
i
x
(
h
1
,
h
2
)
=
α
h
1
+
(
1
−
α
)
h
2
Mix(h1,h2)=\alpha h1 + (1-\alpha)h2
Mix(h1,h2)=αh1+(1−α)h2
具体可以看MixUp和manifold MixUp 这两篇论文。
该方法是基于无监督的,可以自动生成两种输入图像的混合模式。
有监督部分
首先,对于一个标签,作者使用了MLP对他进行编码后得到一个伯努利分布的参数 P P P,并利用该参数进行伯努利采样得到一个和隐层特征channel数目相同的mask m m m,接着用这个 m m m对隐层进行MixUp得到混合的特征,具体如下图所示:
为了方便记录,作者将该过程写为 h ~ m i x = M i x s u p ( h 1 , h 2 , y ~ m i x ) \tilde{h}_{mix}=Mix_{sup}(h_1,h_2,\tilde{y}_{mix}) h~mix=Mixsup(h1,h2,y~mix),且记 y ~ m i x = α y 1 + ( 1 − α ) y 2 \tilde{y}_{mix}=\alpha y_1+(1-\alpha)y_2 y~mix=αy1+(1−α)y2
该过程的loss为:
m
i
n
F
E
x
1
,
y
1
∼
p
(
x
,
y
)
,
x
2
,
y
2
∼
p
(
x
,
y
)
,
α
∼
U
(
0
,
1
)
l
G
A
N
(
D
(
g
(
h
~
m
i
x
)
)
,
1
)
+
l
c
l
s
(
p
(
y
∣
g
(
h
~
m
i
x
)
)
,
y
~
m
i
x
)
m
i
n
D
E
x
1
,
y
1
∼
p
(
x
,
y
)
,
x
2
,
y
2
∼
p
(
x
,
y
)
,
α
∼
U
(
0
,
1
)
l
G
A
N
(
D
(
g
(
h
~
m
i
x
)
)
,
0
)
min_{F}\:E_{x_1,y_1\sim p(x,y),x_2,y_2\sim p(x,y),\alpha\sim U(0,1)}l_{GAN}(D(g(\tilde{h}_{mix})),1)+l_{cls}(p(y|g(\tilde{h}_{mix})),\tilde{y}_{mix})\\ min_{D}\:E_{x_1,y_1\sim p(x,y),x_2,y_2\sim p(x,y),\alpha\sim U(0,1)}l_{GAN}(D(g(\tilde{h}_{mix})),0)
minFEx1,y1∼p(x,y),x2,y2∼p(x,y),α∼U(0,1)lGAN(D(g(h~mix)),1)+lcls(p(y∣g(h~mix)),y~mix)minDEx1,y1∼p(x,y),x2,y2∼p(x,y),α∼U(0,1)lGAN(D(g(h~mix)),0)