在标准的 GAN 中, 鉴别器用来估计输入样本为真实样本的概率, 生成器用来生成逼真的样本, 来提高被鉴别器鉴别为真实样本的概率. 然而本文提出生成器应该同时降低真实样本的真实性的概率.
首先因为这符合一个先验知识, 即在一个批次中有一半数据是真实的, 并且可以用散度最小化来验证这个设想, 在最佳设置中, 标准的 GAN 等效于积分概率度量 (IPM) 的 GAN.
作者表明相对鉴别器 (relativistic discriminator) 能够产生这样的效果, 即用来估计真实样本比虚假样本更真实的概率.
论文链接: https://arxiv.org/abs/1807.00734v3
相关工作
标准的 GAN 有许多问题, 例如梯度消失, 梯度爆炸, 模型崩溃等等, 改进的方向也是开放的并且变体很多, 例如 LSGAN, WGAN, f-GAN 等等. 在最近有许多变体是基于概率积分度量的 (Integral Probability Metrics, IPSs)[Müller, 1997].
本文改进
设鉴别器为 D ( x ) D(x) D(x), 本文的核心观点是, 当虚假样本 x f x_f xf 的预测概率值 D ( x f ) D(x_f) D(xf) 升高的时候 (即生成器生成的样本变得愈加逼真), 真实样本 x r x_r xr 的预测概率值 D ( x r ) D(x_r) D(xr) 应该降低.
作者在文中给出了三种论证方法. 首先从先验知识的角度来说, 在每一轮迭代中, 从期望的角度考虑, 鉴别器需要鉴别的样本有一半的样本是真实的, 另一半是生成的, 这就意味着随着训练的进行, 对于一个样本的真实性鉴别概率应当等于 0.5. 然而在标准的 GAN 和其它非 IPM 的模型没有利用这一先验知识, 否则的话鉴别器有可能将所有训练样本视为真实的, 即概率值等于 1.
第二种论证角度从散度最小化出发. 从 GAN [Goodfellow et al., 2014] 中我们知道, 训练GAN的过程等价于最小化以下 JS 散度:
J
S
D
(
P
∥
Q
)
=
1
2
(
log
(
4
)
+
max
D
:
X
→
[
0
,
1
]
E
x
r
∼
P
[
log
(
D
(
x
r
)
)
]
+
E
x
f
∼
Q
[
log
(
1
−
D
(
x
f
)
)
]
)
.
J S D(\mathbb{P} \| \mathbb{Q})=\frac{1}{2}\left(\log (4)+\max _{D: X \rightarrow[0,1]} \mathbb{E}_{x_{r} \sim \mathbb{P}}\left[\log \left(D\left(x_{r}\right)\right)\right]+\mathbb{E}_{x_{f} \sim \mathbb{Q}}\left[\log \left(1-D\left(x_{f}\right)\right)\right]\right).
JSD(P∥Q)=21(log(4)+D:X→[0,1]maxExr∼P[log(D(xr))]+Exf∼Q[log(1−D(xf))]).
生成器的训练过程即是最小化散度的过程, 当
D
(
x
r
)
=
D
(
x
f
)
=
1
2
D\left(x_{r}\right)=D\left(x_{f}\right)=\frac{1}{2}
D(xr)=D(xf)=21 时, JS 散度为 0, 当
D
(
x
r
)
=
1
,
D
(
x
f
)
=
0
D\left(x_{r}\right)=1, D\left(x_{f}\right)=0
D(xr)=1,D(xf)=0 时, 散度最大为 ln2. 我们应该有的的训练目标是使得
D
(
x
r
)
D\left(x_{r}\right)
D(xr) 从
1
1
1 趋向于
0.5
0.5
0.5, 使得
D
(
x
f
)
D\left(x_{f}\right)
D(xf) 从
0
0
0 趋向于
0.5
0.5
0.5, 如下图中 (A) 所示. 然而在标准 GAN 中, 训练的目标只有提高
D
(
x
f
)
D\left(x_{f}\right)
D(xf) 的概率值, 而没有降低
D
(
x
r
)
D(x_r)
D(xr). 如下图中 (B) 所示.
另外还有从梯度的角度考虑的, 请参见原文.
为了引出基本的改进方法, 首先本文提出 Relativistic Standard GAN (RSGAN). 设
C
(
x
)
C(x)
C(x) 是鉴别器在激活函数之前的输出, 假设激活函数为 Sigmoid, 则有
D
(
x
)
=
sigmoid
(
C
(
x
)
)
D(x)=\text{sigmoid}(C(x))
D(x)=sigmoid(C(x)). 为了使得鉴别器的变得相对, 也就是同时依赖于真实样本和生成样本, 一种简单的方法是采样真实样本和生成样本对
x
~
=
(
x
r
,
x
f
)
\tilde{x}=\left(x_{r}, x_{f}\right)
x~=(xr,xf). 然后定义鉴别器输出为:
D
(
x
~
)
=
sigmoid
(
C
(
x
r
)
−
C
(
x
f
)
)
.
D(\tilde{x})=\operatorname{sigmoid}\left(C\left(x_{r}\right)-C\left(x_{f}\right)\right).
D(x~)=sigmoid(C(xr)−C(xf)).
于是便得到 RSGAN 的两个损失函数:
L
D
R
S
G
A
N
=
−
E
(
x
r
,
x
f
)
∼
(
P
,
Q
)
[
log
(
sigmoid
(
C
(
x
r
)
−
C
(
x
f
)
)
)
]
.
L
G
R
S
G
A
N
=
−
E
(
x
r
,
x
f
)
∼
(
P
,
Q
)
[
log
(
sigmoid
(
C
(
x
f
)
−
C
(
x
r
)
)
)
]
.
\begin{array}{l} L_{D}^{R S G A N}=-\mathbb{E}_{\left(x_{r}, x_{f}\right) \sim(\mathbb{P}, Q)}\left[\log \left(\operatorname{sigmoid}\left(C\left(x_{r}\right)-C\left(x_{f}\right)\right)\right)\right]. \\ L_{G}^{R S G A N}=-\mathbb{E}_{\left(x_{r}, x_{f}\right) \sim(\mathbb{P}, Q)}\left[\log \left(\operatorname{sigmoid}\left(C\left(x_{f}\right)-C\left(x_{r}\right)\right)\right)\right]. \end{array}
LDRSGAN=−E(xr,xf)∼(P,Q)[log(sigmoid(C(xr)−C(xf)))].LGRSGAN=−E(xr,xf)∼(P,Q)[log(sigmoid(C(xf)−C(xr)))].
以上改进实际上是针对鉴别器的, 所以它可以扩展到其它各种 GAN 的变体. 另外注意到, 在原始的 GAN 中鉴别器用于鉴别输入样本是真实样本的概率, 而在相对 GAN 中, 鉴别器的目标变成了鉴别一个样本比另一个对立面的样本更加真实的概率.
然而这样还不够, 为了使得相对鉴别器表现得更加全局化, 于是提出平均化的相对鉴别器, 可以表达为:
于是得出本文提出的终极 GAN 变体, Relativistic average GAN (RaGAN). 损失函数如下:
L
D
R
a
G
A
N
=
E
x
r
∼
P
[
f
1
(
C
(
x
r
)
−
E
x
f
∼
Q
C
(
x
f
)
)
)
]
+
E
x
f
∼
Q
[
f
2
(
C
(
x
f
)
−
E
x
r
∼
P
C
(
x
r
)
)
]
L
G
R
a
G
A
N
=
E
x
r
∼
P
[
g
1
(
C
(
x
r
)
−
E
x
f
∼
Q
C
(
x
f
)
)
)
]
+
E
x
f
∼
Q
[
g
2
(
C
(
x
f
)
−
E
x
r
∼
P
C
(
x
r
)
)
]
\begin{array}{l} \left.L_{D}^{R a G A N}=\mathbb{E}_{x_{r} \sim \mathbb{P}}\left[f_{1}\left(C\left(x_{r}\right)-\mathbb{E}_{x_{f} \sim Q} C\left(x_{f}\right)\right)\right)\right]+\mathbb{E}_{x_{f} \sim Q}\left[f_{2}\left(C\left(x_{f}\right)-\mathbb{E}_{x_{r} \sim \mathbb{P}} C\left(x_{r}\right)\right)\right] \\ \left.L_{G}^{R a G A N}=\mathbb{E}_{x_{r} \sim \mathbb{P}}\left[g_{1}\left(C\left(x_{r}\right)-\mathbb{E}_{x_{f} \sim Q} C\left(x_{f}\right)\right)\right)\right]+\mathbb{E}_{x_{f} \sim Q}\left[g_{2}\left(C\left(x_{f}\right)-\mathbb{E}_{x_{r} \sim \mathbb{P}} C\left(x_{r}\right)\right)\right] \end{array}
LDRaGAN=Exr∼P[f1(C(xr)−Exf∼QC(xf)))]+Exf∼Q[f2(C(xf)−Exr∼PC(xr))]LGRaGAN=Exr∼P[g1(C(xr)−Exf∼QC(xf)))]+Exf∼Q[g2(C(xf)−Exr∼PC(xr))]
训练伪代码如下:
参考
- Alfred Müller. Integral probability metrics and their generating classes of functions. Advances in Applied Probability, 29(2):429–443, 1997.