摘要
尽管生成对抗网络(GAN)已在各种主题中广泛采用,但在本文中,我们通过将真实性视为可以从多个角度估计的随机变量,将标准GAN推广到一个新的视角。 在这个称为RealnessGAN1的通用框架中,鉴别器输出分布作为真实性的度量。 尽管RealnessGAN与标准GAN具有相似的理论保证,但它提供了更多关于对抗性学习的见解。 与多个基准相比,RealnessGAN为生成器提供了更强大的指导,实现了对合成数据集和真实数据集的改进。 此外,当从头开始训练时,它使基本的DCGAN(Radford等人,2015)架构能够生成1024 * 1024分辨率的逼真的图像。
1.引言
自生成对抗网络(Goodfellow等人,2014; Radford等人,2015; Arjovsky等人,2017)第一次出现于(Goodfellow等人,2014)以来,他的发展一直是机器学习中最重要的主题之一。它以对抗的方式与目标生成器一起学习鉴别器,其中鉴别器的作用是将生成的样本与真实样本区分开。 由于其在处理高维数据时的灵活性,GAN在逼真的图像生成方面取得了显着进展(Brock等人,2019)。
在标准公式中(Goodfellow等人,2014),输入样本的真实性由鉴别器使用单个标量估算。 但是,对于诸如图像之类的高维数据,我们自然会从多个角度感知它们,并基于多个标准来推断它是否逼真。 如图1所示,当被提供一张肖像时,我们可能会关注其面部结构,皮肤色调,头发纹理,甚至虹膜和牙齿等细节(如果允许的话),他们每一个都代表真实性的不同方面。 基于此观察,单个标量可以看作是多个量度的抽象或汇总,它们共同反映了图像的整体真实性。 这种简洁的测量可能传达的信息不足,无法引导生成器,有导致众所周知的问题如模式崩溃和梯度消失的可能。
图1: 真实感取决于各个方面。 (a)人眼感到真实。 (b)由于以下原因可能会降低真实感:面部结构/组件不协调,背景不自然,样式组合异常和纹理变形。
在本文中,我们建议通过将逼真度视为随机变量(表示为分布而不是单个标量)来推广标准框架(Goodfellow等,2014)。 我们将这种推广称为RealnessGAN。 RealnessGAN的学习过程遵循标准设置,但采用分布的形式。 然而标准GAN可以看作是RealnessGAN的特例,RealnessGAN和标准GAN具有相似的理论保证。 即RealnessGAN收敛到Nash均衡器,在该均衡器中生成器和鉴别器达到最佳状态。此外,通过将标量真实性得分扩展为分布的真实性得分,鉴别器D自然为生成器G提供了更强的指导,其中G不仅需要匹配整体真实性(如在标准GAN中一样),而且还需要匹配基础真实性分布。 因此,RealnessGAN有助于G在生成体面样本的同时更好地近似数据流形。 如实验所示,基于一个非常简单的DCGAN架构,RealnessGAN可以成功地从头开始学习以生成1024 * 1024分辨率的逼真的图像。
2.REALNESSGAN
2.1通用对抗网络
生成对抗网络联合地学习生成器G和判别器D,其中G尝试生成与真实样本没有区别的样本,D则对生成的样本和真实样本进行分类。 在(Goodfellow et al。,2014)的原始工作中,D和G的学习过程遵循具有最小化最大值的函数V(G; D):
min
G
max
D
V
(
G
,
D
)
=
E
x
∼
p
data
[
log
D
(
x
)
]
+
E
z
∼
p
z
[
log
(
1
−
D
(
G
(
z
)
)
)
]
,
(1)
\min _{G} \max _{D} V(G, D)=\mathbb{E}_{\boldsymbol{x} \sim p_{\text {data }}}[\log D(\boldsymbol{x})]+\mathbb{E}_{\boldsymbol{z} \sim p_{\boldsymbol{z}}}[\log (1-D(G(\boldsymbol{z})))],\tag{1}
GminDmaxV(G,D)=Ex∼pdata [logD(x)]+Ez∼pz[log(1−D(G(z)))],(1)
min
G
max
D
V
(
G
,
D
)
=
E
x
∼
p
data
[
log
D
(
x
)
−
0
]
+
E
x
∼
p
g
[
log
(
1
−
D
(
x
)
)
]
,
(2)
\min _{G} \max _{D} V(G, D)=\mathbb{E}_{\boldsymbol{x} \sim p_{\text {data }}}[\log D(\boldsymbol{x})-0]+\mathbb{E}_{\boldsymbol{x} \sim p_{\boldsymbol{g}}}[\log (1-D(x))],\tag{2}
GminDmaxV(G,D)=Ex∼pdata [logD(x)−0]+Ex∼pg[log(1−D(x))],(2)
其中近似数据分布
p
g
p_g
pg由输入潜变量G的先验
p
z
pz
pz定义。正如Goodfellow等人所证明的,在这样的学习目标下,对于固定的G,最优的D满足:
D
G
∗
(
x
)
=
p
d
a
t
a
(
x
)
p
d
a
t
a
(
x
)
+
p
g
(
x
)
D_{G}^{*}(\boldsymbol{x})=\frac{p_{\mathrm{data}}(\boldsymbol{x})}{p_{\mathrm{data}}(\boldsymbol{x})+p_{g}(\boldsymbol{x})}
DG∗(x)=pdata(x)+pg(x)pdata(x)将D固定为最优值,最优G满足
p
g
=
p
d
a
t
a
p_g=p_{data}
pg=pdata。理论上的保证为GAN在许多应用中的成功提供了有力的支持(Radford 等,2015; Yu等,2017; Zhu等,2017; Dai等人,2017年),并启发了多种变体 (Arjovsky等人,2017; Mao等人,2017; Zhao等人,2017; Berthelot等人,2017)来改善原始设计。但是,始终采用单个标量作为真实性的度量,而现实的概念本质上是一个涵盖多个因素的随机变量,例如质地和对于图像的整体构造。在这项工作中,我们打算遵循这一观察, 促进判别器D去学习真实性分布。
2.2 逼真度的分布图
我们先用一个分布
p
r
e
a
l
n
e
s
s
p_{realness}
prealness替换一个鉴别器D的标量输出,那么对于一个输入
x
x
x,
D
(
x
)
=
{
p
r
e
a
l
n
e
s
s
(
x
,
u
)
;
u
∈
Ω
}
D(x)=\{p_{realness}(x,u);u\in \Omega \}
D(x)={prealness(x,u);u∈Ω}其中
Ω
\Omega
Ω是输出
p
r
e
a
l
n
e
s
s
p_{realness}
prealness的结果集。可以将每个结果u视为通过某些标准估算的潜在真实性度量。虽然公式2中的0和1分别用作两个虚拟的地面真实性标量,分别表示真实和虚假图像的真实性,但我们还需要两个虚拟的地面真实性分布来代表真实和虚假图像的真实性分布。我们将这两个分布称为
A
1
A_1
A1(真)和
A
0
A_0
A0(伪),它们也在
Ω
\Omega
Ω上定义。 与标准GAN中的0和1可以用其他标量(例如-1和1)代替的情况一样,
A
1
A_1
A1和
A
0
A_0
A0也有多种选择。导致一对好的
A
1
A_1
A1和
A
0
A_0
A0的因素将在后面讨论。 因此,两个标量之间的差异被Kullback-Leibler(KL)散度取代。因此生成器G和判别器D之间的最小化最大值博弈变为
max
G
min
D
V
(
G
,
D
)
=
E
x
∼
p
data
[
D
K
L
(
A
1
∥
D
(
x
)
)
]
+
E
x
∼
p
g
[
D
K
L
(
A
0
∥
D
(
x
)
)
]
.
(3)
\max _{G} \min _{D} V(G, D)=\mathbb{E}_{\boldsymbol{x} \sim p_{\text {data }}}\left[\mathcal{D}_{\mathrm{KL}}\left(\mathcal{A}_{1} \| D(\boldsymbol{x})\right)\right]+\mathbb{E}_{\boldsymbol{x} \sim p_{g}}\left[\mathcal{D}_{\mathrm{KL}}\left(\mathcal{A}_{0} \| D(\boldsymbol{x})\right)\right]. \tag{3}
GmaxDminV(G,D)=Ex∼pdata [DKL(A1∥D(x))]+Ex∼pg[DKL(A0∥D(x))].(3)
一个直接的观察是,如果我们让
p
r
e
a
l
n
e
s
s
p_{realness}
prealness是一个有两个结果
u
0
,
u
1
u_0,u_1
u0,u1的离散分布,且令
A
0
(
u
0
)
=
A
1
(
u
1
)
=
1
A_0(u_0) = A_1(u_1) = 1
A0(u0)=A1(u1)=1,
A
0
(
u
1
)
=
A
1
(
u
0
)
=
0
A_0(u_1) = A_1(u_0) = 0
A0(u1)=A1(u0)=0, 公式3中更新后的目标可以明确转换为公式2中原始目标,这表明RealnessGAN是原始GAN的广义版本。
根据这一观察,我们随后在Goodfellow等人2014年的研究中扩展了理论分析。以RealnessGAN为例。 与Goodfellow等人的研究类似,我们的分析涉及概率密度函数的空间,其中D和G被假定具有无限的能力。 我们从找到给定任意生成器G的最佳现实鉴别符D开始。
定理1. 当 G 固定时,对于任何结果u和输入样本x,最佳鉴别器 D
满足
D
G
⋆
(
x
,
u
)
=
A
1
(
u
)
p
d
d
t
a
(
x
)
+
A
0
(
u
)
p
g
(
x
)
p
d
a
t
a
(
x
)
+
p
g
(
x
)
(4)
D_{G}^{\star}(\boldsymbol{x}, u)=\frac{\mathcal{A}_{1}(u) p_{d d t a}(\boldsymbol{x})+\mathcal{A}_{0}(u) p_{g}(\boldsymbol{x})}{p_{d a t a}(\boldsymbol{x})+p_{g}(\boldsymbol{x})} \tag{4}
DG⋆(x,u)=pdata(x)+pg(x)A1(u)pddta(x)+A0(u)pg(x)(4)
证明 对于一个给定的G,目标D为:
min
D
V
(
G
,
D
)
=
E
x
∼
p
data
[
D
K
L
(
A
1
∥
D
(
x
)
)
]
+
E
x
∼
p
g
[
D
K
L
(
A
0
∥
D
(
x
)
)
]
=
∫
x
(
p
data
(
x
)
∫
u
A
1
(
u
)
log
A
1
(
u
)
D
(
x
,
u
)
d
u
+
p
g
(
x
)
∫
u
A
0
(
u
)
log
A
0
(
u
)
D
(
x
,
u
)
d
u
)
d
x
=
−
∫
x
(
p
data
(
x
)
h
(
A
1
)
+
p
g
(
x
)
h
(
A
0
)
)
d
x
−
∫
x
∫
u
(
p
data
(
x
)
A
1
(
u
)
+
p
g
(
x
)
A
0
(
u
)
)
log
D
(
x
,
u
)
d
u
d
x
(5)–(7)
\begin{aligned} \min _{D} V(G, D) &=\mathbb{E}_{\boldsymbol{x} \sim p_{\text {data }}}\left[\mathcal{D}_{\mathrm{KL}}\left(\mathcal{A}_{1} \| D(\boldsymbol{x})\right)\right]+\mathbb{E}_{\boldsymbol{x} \sim p_{g}}\left[\mathcal{D}_{\mathrm{KL}}\left(\mathcal{A}_{0} \| D(\boldsymbol{x})\right)\right] \\ &=\int_{\boldsymbol{x}}\left(p_{\text {data }}(\boldsymbol{x}) \int_{u} \mathcal{A}_{1}(u) \log \frac{\mathcal{A}_{1}(u)}{D(\boldsymbol{x}, u)} d u+p_{g}(\boldsymbol{x}) \int_{u} \mathcal{A}_{0}(u) \log \frac{\mathcal{A}_{0}(u)}{D(\boldsymbol{x}, u)} d u\right) d x \\ &={-\int_{\boldsymbol{x}}\left(p_{\text {data }}(\boldsymbol{x}) h\left(\mathcal{A}_{1}\right)+p_{g}(\boldsymbol{x}) h\left(\mathcal{A}_{0}\right)\right) d x} {-\int_{\boldsymbol{x}} \int_{u}\left(p_{\text {data }}(\boldsymbol{x}) \mathcal{A}_{1}(u)+p_{g}(\boldsymbol{x}) \mathcal{A}_{0}(u)\right) \log D(\boldsymbol{x}, u) d u d x}\end{aligned} \tag{5)--(7}
DminV(G,D)=Ex∼pdata [DKL(A1∥D(x))]+Ex∼pg[DKL(A0∥D(x))]=∫x(pdata (x)∫uA1(u)logD(x,u)A1(u)du+pg(x)∫uA0(u)logD(x,u)A0(u)du)dx=−∫x(pdata (x)h(A1)+pg(x)h(A0))dx−∫x∫u(pdata (x)A1(u)+pg(x)A0(u))logD(x,u)dudx(5)–(7)
其中
h
(
A
1
)
h(A_1)
h(A1) 和
h
(
A
0
)
h(A_0)
h(A0)是它们的熵。将公式 7 中的第一项标记为
C
1
C_1
C1,由于它与 D 无关,因此目标等同于:
min
D
V
(
G
,
D
)
=
−
∫
x
(
p
d
a
t
a
(
x
)
+
p
g
(
x
)
)
∫
u
p
d
a
t
a
(
x
)
A
1
(
u
)
+
p
g
(
x
)
A
0
(
u
)
p
d
a
t
a
(
x
)
+
p
g
(
x
)
log
D
(
x
,
u
)
d
u
d
x
+
C
1
(8)
\min _{D} V(G, D)=-\int_{\boldsymbol{x}}\left(p_{\mathrm{data}}(\boldsymbol{x})+p_{g}(\boldsymbol{x})\right) \int_{u} \frac{p_{\mathrm{data}}(\boldsymbol{x}) \mathcal{A}_{1}(u)+p_{g}(\boldsymbol{x}) \mathcal{A}_{0}(u)}{p_{\mathrm{data}}(\boldsymbol{x})+p_{g}(\boldsymbol{x})} \log D(\boldsymbol{x}, u) d u d x+C_{1} \tag{8}
DminV(G,D)=−∫x(pdata(x)+pg(x))∫updata(x)+pg(x)pdata(x)A1(u)+pg(x)A0(u)logD(x,u)dudx+C1(8)
其中
p
x
(
u
)
=
p
d
a
t
a
(
x
)
A
1
(
u
)
+
p
g
(
x
)
A
0
(
u
)
p
d
a
t
a
(
x
)
+
p
g
(
x
)
p_x(u) =\frac{p_{\mathrm{data}}(\boldsymbol{x}) \mathcal{A}_{1}(u)+p_{g}(\boldsymbol{x}) \mathcal{A}_{0}(u)}{p_{\mathrm{data}}(\boldsymbol{x})+p_{g}(\boldsymbol{x})}
px(u)=pdata(x)+pg(x)pdata(x)A1(u)+pg(x)A0(u)为一个定义在
Ω
\Omega
Ω上的分布。令
C
2
=
p
d
a
t
a
(
x
)
+
p
g
(
x
)
C_2 = p_{data}(x)+p_g(x)
C2=pdata(x)+pg(x),我们将得到
min
D
V
(
G
,
D
)
=
C
1
+
∫
x
C
2
(
−
∫
u
p
x
(
u
)
log
D
(
x
,
u
)
d
u
+
h
(
p
x
)
−
h
(
p
x
)
)
d
x
=
C
1
+
∫
x
C
2
D
K
L
(
p
x
∥
D
(
x
)
)
d
x
+
∫
x
C
2
h
(
p
x
)
d
x
(9)–(10)
\begin{aligned} \min _{D} V(G, D) &=C_{1}+\int_{\boldsymbol{x}} C_{2}\left(-\int_{u} p_{\boldsymbol{x}}(u) \log D(\boldsymbol{x}, u) d u+h\left(p_{\boldsymbol{x}}\right)-h\left(p_{\boldsymbol{x}}\right)\right) d x \\ &=C_{1}+\int_{\boldsymbol{x}} C_{2} \mathcal{D}_{\mathrm{KL}}\left(p_{\boldsymbol{x}} \| D(\boldsymbol{x})\right) d x+\int_{\boldsymbol{x}} C_{2} h\left(p_{\boldsymbol{x}}\right) d x \end{aligned} \tag{9)--(10}
DminV(G,D)=C1+∫xC2(−∫upx(u)logD(x,u)du+h(px)−h(px))dx=C1+∫xC2DKL(px∥D(x))dx+∫xC2h(px)dx(9)–(10)
观察方程10,可以看到,对于任意有效的x,当
D
K
L
(
p
x
∥
D
(
x
)
)
\mathcal{D}_{\mathrm{KL}}\left(p_{\boldsymbol{x}} \| D(\boldsymbol{x})\right)
DKL(px∥D(x))取得最小值时,
D
D
D得到他的最优值
D
⋆
D^{\star}
D⋆,导致
D
⋆
(
x
)
=
p
x
D^{\star}(x) = p_x
D⋆(x)=px,得证。接下来,我们继续研究当
D
=
D
G
⋆
D=D^{\star}_G
D=DG⋆时
G
G
G达到最优值的条件。
定理2. 当
D
=
D
G
⋆
D=D^{\star}_G
D=DG⋆且存在一个输出
u
∈
Ω
u\in \Omega
u∈Ω 使
A
1
(
u
)
≠
A
0
(
u
)
A_1(u)\neq A_0(u)
A1(u)=A0(u)时,当且仅当
p
g
=
p
d
a
t
a
p_g = p_{data}
pg=pdata时,
V
(
G
,
D
G
⋆
)
V(G,D^{\star}_G)
V(G,DG⋆)取得最大值。
证明 当
p
g
=
p
d
a
t
a
p_g = p_{data}
pg=pdata,
D
G
⋆
(
x
,
u
)
=
A
1
(
u
)
+
A
0
(
u
)
2
D^{\star}_G(x,u)=\frac{A_1(u)+A_0(u)}{2}
DG⋆(x,u)=2A1(u)+A0(u)时:
V
⋆
(
G
,
D
G
⋆
)
=
∫
u
A
1
(
u
)
log
2
A
1
(
u
)
A
1
(
u
)
+
A
0
(
u
)
+
A
0
(
u
)
log
2
A
0
(
u
)
A
1
(
u
)
+
A
0
(
u
)
d
u
(11)
V^{\star}\left(G, D_{G}^{\star}\right)=\int_{u} \mathcal{A}_{1}(u) \log \frac{2 \mathcal{A}_{1}(u)}{\mathcal{A}_{1}(u)+\mathcal{A}_{0}(u)}+\mathcal{A}_{0}(u) \log \frac{2 \mathcal{A}_{0}(u)}{\mathcal{A}_{1}(u)+\mathcal{A}_{0}(u)} d u \tag{11}
V⋆(G,DG⋆)=∫uA1(u)logA1(u)+A0(u)2A1(u)+A0(u)logA1(u)+A0(u)2A0(u)du(11)
从
V
(
G
,
D
G
⋆
)
V(G,D^{\star}_G)
V(G,DG⋆)中减去
V
⋆
(
G
,
D
G
⋆
)
V^{\star}(G,D^{\star}_G)
V⋆(G,DG⋆)得:
V
′
(
G
,
D
G
⋆
)
=
V
(
G
,
D
G
⋆
)
−
V
⋆
(
G
,
D
G
⋆
)
=
∫
x
∫
u
(
p
data
(
x
)
A
1
(
u
)
+
p
g
(
x
)
A
0
(
u
)
)
log
(
p
data
(
x
)
+
p
g
(
x
)
)
(
A
1
(
u
)
+
A
0
(
u
)
)
2
(
p
data
(
x
)
A
1
(
u
)
+
p
g
(
x
)
A
0
(
u
)
)
d
u
d
x
=
−
2
∫
x
∫
u
p
data
(
x
)
A
1
(
u
)
+
p
g
(
x
)
A
0
(
u
)
2
log
p
data
(
x
)
A
1
(
u
)
+
p
g
(
x
)
A
0
(
u
)
2
(
p
data
(
x
)
+
p
g
(
x
)
)
(
A
1
(
u
)
+
A
0
(
u
)
)
4
d
u
d
x
=
−
2
D
K
L
(
p
data
A
1
+
p
g
A
0
2
∥
(
p
data
+
p
g
)
(
A
1
+
A
0
)
4
)
\begin{aligned} V^{\prime}\left(G, D_{G}^{\star}\right) &=V\left(G, D_{G}^{\star}\right)-V^{\star}\left(G, D_{G}^{\star}\right) \\ &=\int_{x} \int_{u}\left(p_{\text {data }}(\boldsymbol{x}) \mathcal{A}_{1}(u)+p_{g}(\boldsymbol{x}) \mathcal{A}_{0}(u)\right) \log \frac{\left(p_{\text {data }}(\boldsymbol{x})+p_{g}(\boldsymbol{x})\right)\left(\mathcal{A}_{1}(u)+\mathcal{A}_{0}(u)\right)}{2\left(p_{\text {data }}(\boldsymbol{x}) \mathcal{A}_{1}(u)+p_{g}(\boldsymbol{x}) \mathcal{A}_{0}(u)\right)} d u d x \\&{=-2 \int_{\boldsymbol{x}} \int_{u} \frac{p_{\text {data }}(\boldsymbol{x}) \mathcal{A}_{1}(u)+p_{g}(\boldsymbol{x}) \mathcal{A}_{0}(u)}{2} \log \frac{\frac{p_{\text {data }}(\boldsymbol{x}) \mathcal{A}_{1}(u)+p_{g}(\boldsymbol{x}) \mathcal{A}_{0}(u)}{2}}{\frac{(p_{ \text {data }}(\boldsymbol{x})+p_{g}(\boldsymbol{x}))(\mathcal{A}_{1}(u)+\mathcal{A}_{0}(u))}{4}} d u d x}\\&{=-2 \mathcal{D}_{\mathrm{KL}}\left(\frac{p_{\text {data }} \mathcal{A}_{1}+p_{g} \mathcal{A}_{0}}{2} \| \frac{\left(p_{\text {data }}+p_{g}\right)\left(\mathcal{A}_{1}+\mathcal{A}_{0}\right)}{4}\right)} \end{aligned}
V′(G,DG⋆)=V(G,DG⋆)−V⋆(G,DG⋆)=∫x∫u(pdata (x)A1(u)+pg(x)A0(u))log2(pdata (x)A1(u)+pg(x)A0(u))(pdata (x)+pg(x))(A1(u)+A0(u))dudx=−2∫x∫u2pdata (x)A1(u)+pg(x)A0(u)log4(pdata (x)+pg(x))(A1(u)+A0(u))2pdata (x)A1(u)+pg(x)A0(u)dudx=−2DKL(2pdata A1+pgA0∥4(pdata +pg)(A1+A0))
由于
V
⋆
(
G
,
D
G
⋆
)
V^{\star}(G,D^{\star}_G)
V⋆(G,DG⋆)是相对于
G
G
G的常数,最大化
V
(
G
,
D
G
⋆
)
V(G,D^{\star}_G)
V(G,DG⋆)等价于最大化
V
′
(
G
,
D
G
⋆
)
V^{\prime}(G,D^{\star}_G)
V′(G,DG⋆),当且仅当KL散度达到其最小值时,才能获得最佳
V
′
(
G
,
D
G
⋆
)
V^{\prime}(G,D^{\star}_G)
V′(G,DG⋆),其中,对于任何有效的
x
x
x和
u
u
u:
p
data
A
1
+
p
g
A
0
2
=
(
p
data
+
p
g
)
(
A
1
+
A
0
)
4
(
p
data
−
p
g
)
(
A
1
−
A
0
)
=
0
(15)-(16)
\begin{aligned} \frac{p_{\text {data }} \mathcal{A}_{1}+p_{g} \mathcal{A}_{0}}{2} &=\frac{\left(p_{\text {data }}+p_{g}\right)\left(\mathcal{A}_{1}+\mathcal{A}_{0}\right)}{4} \\\left(p_{\text {data }}-p_{g}\right)\left(\mathcal{A}_{1}-\mathcal{A}_{0}\right) &=0 \end{aligned} \tag{15)-(16}
2pdata A1+pgA0(pdata −pg)(A1−A0)=4(pdata +pg)(A1+A0)=0(15)-(16)
因此,只要存在一个有效的
u
u
u,使
A
1
(
u
)
≠
A
0
(
u
)
A_1(u)\neq A_0(u)
A1(u)=A0(u),对于任何有效
x
x
x,我们都有
p
d
a
t
a
=
p
g
p_{data} = p_g
pdata=pg。
2.3讨论
理论分析使我们对RealnessGAN有了更多的见解。
结果的数量: 根据式16,每一个满足
A
1
(
u
)
≠
A
0
(
u
)
A_1(u)\neq A_0(u)
A1(u)=A0(u)的
u
∈
Ω
u\in \Omega
u∈Ω可能看作一个约束使
p
g
p_g
pg趋向于
p
d
a
t
a
p_{data}
pdata,在离散分布的情况下,随着结果数量的增加,对
G
G
G施加的约束因此变得更加严格,并可能使
G
G
G付出更多的努力去学习。这是由于以下事实:具有更多结果表明G匹配的真实性分布的形状更细致。 在第4节中,我们验证了随着结局数量的增加,在D进行更新之前更新G的次数越多越有利。
锚点的有效性: 将公式16视为成本函数以最小化,当
p
d
a
t
a
≠
p
g
p_{data}\neq p_g
pdata=pg,对于一些
u
∈
Ω
u \in \Omega
u∈Ω,
A
1
(
u
)
A_1(u)
A1(u)和
A
0
(
u
)
A_0(u)
A0(u)之间的差异越大,对
G
G
G的约束就越强。直观地,如果我们选择
A
0
A_0
A0和
A
1
A_1
A1足够不同,可以更有效地训练RealnessGAN。
G的目标: 根据等式3,欺骗D的最佳方法是增加假样本的
D
(
x
)
D(x)
D(x)和锚点分布
A
0
A_0
A0之间的KL散度,而不是减小真实样本的
D
(
x
)
D(x)
D(x)和锚点分布
A
1
A_1
A1之间的KL散度 。值得注意的是,这两个目标在原始工作中是相同的(Goodfellow等,2014)。 直观的解释是,在真实性的分布视图中,真实样本的真实性分布不一定相同。它们中的每一个都可能对应于一个不同的对象。 尽管
A
1
A_1
A1仅用作为锚点,但是将所有生成的样本拖向同一目标是无效的。
RealnessGAN的灵活性: 作为标准框架的一般化,可以很容易地将RealnessGAN与不同的GAN架构进行集成,例如渐进式GAN(Karras等,2018; 2019)和条件GAN(Zhu等,2017; Ledig等,2017)。 )。 此外,还可以将RealnessGAN的视角与标准GAN的其他重新组合形式结合起来,例如用推土机距离(EMD)替换方程式3中的KL散度。
2.4执行
在我们的实现中,逼真度分布被描述为
N
N
N个离散的分布结果
Ω
=
{
u
0
,
u
1
,
,
,
u
N
−
1
}
\Omega =\{u_0,u_1,,,u_{N-1}\}
Ω={u0,u1,,,uN−1},给定一个输入样本
x
x
x,鉴别器
D
D
D 返回这
N
N
N
个结果的概率,如下:
p
realness
(
x
,
u
i
)
=
e
ψ
i
(
x
)
∑
j
e
ψ
j
(
x
)
(17)
p_{\text {realness }}\left(\boldsymbol{x}, u_{i}\right)=\frac{e^{\psi_{i}(\boldsymbol{x})}}{\sum_{j} e^{\boldsymbol{\psi}_{j}(\boldsymbol{x})}}\tag{17}
prealness (x,ui)=∑jeψj(x)eψi(x)(17)
其中
ψ
=
(
ψ
0
,
ψ
1
ψ
2
,
.
.
.
,
ψ
N
−
1
)
\psi=(\psi_{0},\psi_{1}\psi_{2},...,\psi_{N-1})
ψ=(ψ0,ψ1ψ2,...,ψN−1)是
D
D
D的参数,同样地,
A
1
A_1
A1和
A
0
A_0
A0是定义于
Ω
\Omega
Ω的离散分布。
如理论分析所示,
G
G
G的理想目标是使生成的样本的
D
(
x
)
D(x)
D(x)与
A
0
A_0
A0之间的KL差异最大:
(
G
objective1
)
min
G
−
E
z
∼
p
z
[
D
K
L
(
A
0
∥
D
(
G
(
z
)
)
]
(18)
\left(G_{\text {objective1 }}\right) \quad \min _{G}-\mathbb{E}_{\boldsymbol{z} \sim p_{\boldsymbol{z}}}\left[\mathcal{D}_{\mathrm{KL}}\left(\mathcal{A}_{0} \| D(G(\boldsymbol{z}))\right]\right.\tag{18}
(Gobjective1 )Gmin−Ez∼pz[DKL(A0∥D(G(z))](18)
但是,由于鉴别器D并不总是处于最优值,尤其是在早期阶段,因此在实践中直接应用该目标只会得到一个生成能力有限的生成器。 因此,需要一个正则化器来提高G.正则化器有多种选择,例如(Jolicoeur-Martineau,2019)中引入的相对项可以最大程度地减少生成样本的D(x)与随机实样本之间的KL差异, 或使生成的样本的
A
1
A_1
A1和
D
(
x
)
D(x)
D(x)之间的KL散度最小化的项,它们各自导致不同的目标:
(
G
objective2
)
min
G
E
x
∼
p
data
,
z
∼
p
z
[
D
K
L
(
D
(
x
)
∥
D
(
G
(
z
)
)
]
−
E
z
∼
p
z
[
D
K
L
(
A
0
∥
D
(
G
(
z
)
)
]
(19)
{\left(G_{\text {objective2 }}\right)} {\min _{G} \mathbb{E}_{\boldsymbol{x} \sim p_{\text {data }, \boldsymbol{z} \sim p_{\boldsymbol{z}}}}\left[\mathcal{D}_{\mathrm{KL}}(D(\boldsymbol{x}) \| D(G(\boldsymbol{z}))]-\mathbb{E}_{\boldsymbol{z} \sim p_{\boldsymbol{z}}}\left[\mathcal{D}_{\mathrm{KL}}\left(\mathcal{A}_{0} \| D(G(\boldsymbol{z}))\right]\right.\right.} \tag{19}
(Gobjective2 )GminEx∼pdata ,z∼pz[DKL(D(x)∥D(G(z))]−Ez∼pz[DKL(A0∥D(G(z))](19)
(
G
objective
3
)
min
G
E
z
∼
p
z
[
D
K
L
(
A
1
∥
D
(
G
(
z
)
)
]
−
E
z
∼
p
z
[
D
K
L
(
A
0
∥
D
(
G
(
z
)
)
]
(20)
{\left(G_{\text {objective } 3}\right)} {\min _{G} \mathbb{E}_{\boldsymbol{z} \sim p_{\boldsymbol{z}}}\left[\mathcal{D}_{\mathrm{KL}}\left(\mathcal{A}_{1} \| D(G(\boldsymbol{z}))\right]-\mathbb{E}_{\boldsymbol{z} \sim p_{\boldsymbol{z}}}\left[\mathcal{D}_{\mathrm{KL}}\left(\mathcal{A}_{0} \| D(G(\boldsymbol{z}))\right]\right.\right.}\tag{20}
(Gobjective 3)GminEz∼pz[DKL(A1∥D(G(z))]−Ez∼pz[DKL(A0∥D(G(z))](20)
在第 4 节中比较了这些目标。方程19中的目标被作为默认选择。
特征重采样: 在实践中,尤其是在图像的情况下,我们正在学习来自连续数据流形的有限数量的离散样本。 在培训过程中,我们可能会遇到由于数据覆盖不足而引起的问题。 受(Zhang et al。,2016)中提到的条件增强的启发,我们引入了对真实性输出执行的重采样技术以增强数据方差。给定一个大小为
M
M
M的mini-batch
{
x
0
,
.
.
.
,
x
M
−
1
}
\{x_0,...,x_{M-1}\}
{x0,...,xM−1},在判别器计算出的第i个结果的对数
{
ψ
i
(
x
0
)
,
ψ
i
(
x
1
)
,
.
.
.
ψ
i
(
x
M
−
1
)
,
\{\psi_i(x_0),\psi_i(x_1),...\psi_i(x_{M-1}),
{ψi(x0),ψi(x1),...ψi(xM−1),上拟合高斯分布
N
(
μ
i
,
σ
i
)
\mathcal{N}(\mu_i,\sigma_i)
N(μi,σi),然后,我们重新采样
M
M
M个新的对数
{
ψ
i
′
(
x
0
)
,
ψ
i
′
(
x
1
)
,
.
.
.
ψ
i
′
(
x
M
−
1
)
}
,
\{\psi^{\prime}_i(x_0),\psi^{\prime}_i(x_1),...\psi^{\prime}_i(x_{M-1})\},
{ψi′(x0),ψi′(x1),...ψi′(xM−1)},作为第i个结果,并成功使用它们。
重采样引入的随机性在两个方面都对RealnessGAN的训练有好处。 首先,它通过探测有限的训练样本周围的实例来增强数据,从而获得更强大的模型。 其次,重采样方法隐含地要求在整个mini-batch中,
ψ
i
(
x
)
\psi_i(x)
ψi(x)的实例必须是同源的,从而使每个结果在样本之间始终反映出真实性。 从经验上我们发现,如果使用特征重采样,则RealnessGAN的学习曲线会更加稳定,尤其是在后期阶段,模型容易过拟合。
3.相关工作
生成对抗网络(GAN)最早是在(Goodfellow et al,2014)中提出的,该网络以对抗的方式联合学习了鉴别器D和生成器G。 由于其出色的学习能力,GAN已被用于各种生成任务(Radford等,2015; Yu等,2017; Zhu等,2017),其中包括深度卷积GAN(DCGAN)(Radford等)。 (2015年)显示了令人鼓舞的图像生成结果。尽管已经取得了显着进步。 众所周知,GAN会遇到梯度减小和模式崩溃的问题。 已经提出针对这些问题的GAN变体。 具体而言,Wasserstein GAN(WGAN)Arjovsky等。 (2017年)用EMD距离代替了JS散度,而最小二乘GAN(LSGAN)(Mao等人,2017年)将G的目标转化为Pearson散度。 基于能量的GAN(EBGAN)(Zhao等人,2017)和边界平衡GAN(BEGAN)(Berthelot等人,2017)采用预训练的自动编码器作为判别器,通过重建学习区分真实样本和生成样本。除了调整GAN的目标外,替代方法还包括更复杂的体系结构和训练范式。 广泛地,ProgressiveGAN(Karras等,2018)和StyleGAN(Karras等,2019)提出了一种渐进的范式,它从专注于低分辨率的浅层模型开始,逐渐发展成为更深层的模型,以包含更多细节。 分辨率提高。 另一方面,COCO-GAN(Lin等人,2019)采用分而治之的策略解决了高分辨率图像的生成问题。 它学会在相应的子区域生成合适的色块,并将这些色块拼接起来以生成更高分辨率的图像。
值得注意的是,生成对抗网络上的许多工作中都讨论了“分布”(Goodfellow等,2014; Radford等,2015; Arjovsky等,2017),这通常是指样本的基本分布。 现有的一些工作旨在使用不同的度量标准来改善原始目标,以测量学习的分布
p
g
p_g
pg和实际分布
p
d
a
t
a
p_{data}
pdata之间的差异。 但是,始终采用单个标量来表示真实性的概念。 在本文中,我们提出了一种补充性修改,该模型将真实性建模为随机变量遵循分布优先性。 在未来的工作中,我们可能会研究现实鉴别器和其他GAN变体的组合,以增强对抗性学习的有效性和稳定性。
Figure 2: Left: real data sampled from the mixture of 9 Gaussian distributions. Right: samples generated by Std-GAN, WGAN-GP, LSGAN, HingeGAN and RealnessGAN.
4.实验
在本节中,我们将从多个方面研究RealnessGAN。 具体来说,1)我们首先关注RealnessGAN在合成数据集上的模式覆盖能力。 2)然后,我们定性和定量地评估了CIFAR10(32 * 32)(Krizhevsky,2009)和CelebA(256 * 256)(Liu等人,2015)数据集上的RealnessGAN。 3)最后,我们在高分辨率图像生成任务上探索RealnessGAN,该任务对于无条件的非渐进式体系结构具有挑战性。 令人惊讶的是,在FFHQ数据集上(Karras等,2019),RealnessGAN设法基于非渐进式体系结构以1024 * 1024的分辨率生成图像。 我们将RealnessGAN与生成对抗性学习中的其他流行目标进行了比较,包括标准GAN(Std-GAN)(Radford等人,2015),WGAN-GP(Arjovsky等人,2017),HingeGAN(Zhao等人,2017) )和LSGAN(Mao等人,2017)。
对于合成数据集的实验,我们使用具有四个完全连接的隐藏层的生成器,每个隐藏层具有400个单位,然后进行批量归一化和ReLU激活。 鉴别器具有三个完全连接的隐藏层,每层包含200个单位。 采用具有5个maxout片的LinearMaxout,并且在鉴别器中不使用批处理归一化。 潜在输入z是从高斯分布
N
(
0
,
I
)
\mathcal{N}(0,I)
N(0,I)采样的32维向量。 所有模型均使用Adam(Kingma&Ba,2015)进行了500次迭代训练。
在实际数据集上,网络架构与Radford等人的DCGAN架构相同,先验
p
z
(
z
)
p_z(z)
pz(z)为128维高斯分布
N
(
0
,
I
)
\mathcal{N}(0,I)
N(0,I)。使用Adam(Kingma&Ba,2015)对模型进行了520k次迭代训练。 为了保证训练的稳定性,我们采用了被证明对基线方法有效的设置。 批处理归一化(Ioffe&Szegedy,2015)用于
G
G
G,光谱归一化(Miyato 等,2018)用于
D
D
D.对于WGAN-GP,我们使用
l
r
=
1
e
−
4
,
β
1
=
0.5
,
β
2
=
0.9
lr =1e-4,\beta_1=0.5,\beta_2=0.9
lr=1e−4,β1=0.5,β2=0.9在G的每次更新中D更新5次。对于其余的模型,我们使用
l
r
=
2
e
−
4
,
β
1
=
0.5
,
β
2
=
0.999
lr =2e-4,\beta_1=0.5,\beta_2=0.999
lr=2e−4,β1=0.5,β2=0.999,在G的每次更新中D更新一次。评估了Fr’echet起始距离(FID)(Heusel等,2017)和SlicedWasserstein距离(SWD)(Karras等,2018)。 除非另有说明,否则选择
A
1
A_1
A1和
A
0
A_0
A0以分别类似于具有正偏度和负偏度的两个正态分布的形状。 特别是,根据经验,CelebA和FFHQ数据集的结果数设置为51,而CIFAR10数据集的结果数设置为3。
4.1综合数据集
由于
p
d
a
t
a
p_{data}
pdata通常在真实数据集上很难处理,因此我们使用玩具数据集来比较学习到的分布
p
g
p_g
pg和数据分布
p
d
a
t
a
p_{data}
pdata。 玩具数据集由从9个各向同性的高斯分布的混合物中采样的100,000个2D点组成,其均值排列在3 x 3的网格中,方差等于0.05。 如图2所示,数据分布
p
d
a
t
a
p_{data}
pdata包含9个井眼分离模式,尽管其维数较低,但仍是一项艰巨的任务。
为了评估
p
g
p_g
pg,我们抽取10000个样本并测量其质量和多样性。 正如(Dumoulin 等,2016)所建议的,如果样本距其最近的高斯分布的
μ
\mu
μ在
4
σ
4\sigma
4σ以内,则我们认为该样本为高质量。 当高斯分配了100多个高质量样本时,我们认为
p
d
a
t
a
p_{data}
pdata的这种模式是在
p
g
p_g
pg中恢复的。图2可视化了不同方法的采样点,其中LSGAN和HingeGAN遭受明显的模式崩溃,仅恢复了单个模式。 WGAN-GP采样的点过于分散,只有0.03%是高质量的。Std-GAN使用32.4%的高质量样本恢复pdata中的4个模式,而RealnessGAN使用60.2%的高质量样本恢复8个模式。 这些高质量样本在Std-GAN和RealnessGAN中的平均值分别为0.083和0.043。结果表明,将真实性视为随机变量而不是单个标量会导致更严格的区分器,该区分器从各个方面批评生成的样本,从而提供更多信息指导。 因此,RealnessGAN学习到的
p
g
p_g
pg更加多样化和紧凑。
图3:第一行:固定kG = kD = 1并增加结果数时RealnessGAN的结果。 第二行:适当增加kG时RealnessGAN的结果。 底部曲线:在第二行的设置下,高质量样本的比例和恢复模式的数量。
我们进一步研究了调整逼真度分布
p
r
e
a
l
n
e
s
s
p_{realness}
prealness中的结果数对该数据集的影响。 首先,我们将
k
G
k_G
kG和
k
D
k_D
kD固定为1,他们是一次迭代中G和D的更新次数,并调整
p
r
e
a
l
n
e
s
s
p_{realness}
prealness的结果数
A
0
A_0
A0和
A
1
A_1
A1。 如图3的第一行所示,可以看出,随着结果数量的增加,G通常会恢复较少的模式,这是D越来越严格并且对G施加更多约束的直接结果。 增加
k
G
k_G
kG,使G能够赶上当前的D。图3的第二行演示了用合适的
k
G
k_G
kG收敛的情况,这表明当给G足够的学习能力时,RealnessGAN是有效的。在这些情况下,高质量样本的比例
r
H
Q
r_{HQ}
rHQ和恢复模式的数量
n
m
o
d
e
n_{mode}
nmode被绘制在图3中。 这两条曲线表明,除了
k
G
k_G
kG之外,
r
H
Q
r_{HQ}
rHQ和
n
m
o
d
e
n_{mode}
nmode都与结果数量成正相关,这证明从更多方面衡量逼真度会产生更好的生成器。
4.2真实数据集
由于GAN在对诸如自然图像之类的复杂数据进行建模时已显示出令人鼓舞的结果,因此我们在真实数据集(即CIFAR10,CelebA和FFHQ)上评估RealnessGAN,这些数据集分别包含32 * 32、256 * 256和1024 * 1024分辨率的图像。 CelebA和CIFAR10上的基线方法和RealnessGAN的训练曲线如图4所示。 表1列出了用FID和SWD测得的定性结果。 我们报告在训练过程中计算出的最小,最大,均值和标准差。 与基线相比,在两个数据集上,RealnessGAN在两个指标上均获得更好的分数。 同时,RealnessGAN的学习过程更加平稳(参见表1中的SD和图4中的曲线)。 在两个数据集上生成的图像样本都包括在图8中。
在FFHQ上,我们将生成图像的分辨率提高到1024 * 1024,这对于非渐进式体系结构尤其具有挑战性。 如图8所示,尽管RealnessGAN建立在相对简单的DCGAN架构上,却能够从头开始以如此高的分辨率生成逼真的样本。 从数量上看,RealnessGAN的FID得分为17.18。 作为参考,我们在类似环境下训练的重新实施的StyleGAN(Karras等,2019)的FID得分为16.12。 这些结果有力地支持了RealnessGAN的有效性,因为StyleGAN是迄今为止最先进的GAN架构之一。
图4:在CelebA和CIFAR10上以FID和SWD表示的不同方法的训练曲线,其中后期的曲线上升表示模式崩溃。 彩色效果最佳。
表1:在CelebA和CIFAR10上FID和SWD的最小(最小),最大(最大),均值和标准差(SD),以20k,30k等迭代计算。 强调了基线方法中的最佳指标。
RealnessGAN的实现提供了几个值得深入探讨的选择。 在综合数据集上,我们探索了结果数量与G更新频率之间的关系。 在真实的的数据集上,除了整体评估RealnessGAN之外,我们还研究了特征重采样,
A
0
A_0
A0和
A
1
A_1
A1的不同设置以及G目标的选择的影响。
表2:使用20k,30k,…迭代计算的不同锚分布的CelebA FID的最小(最小),最大(最大),均值和标准差(SD)。
图5:带有和不带有特征重新采样的RealnessGAN的训练FID曲线。
图6:由RealnessGAN用理想目标(等式18)训练生成的样本。 顶行:当
D
K
L
(
A
1
∣
∣
A
0
)
=
11.05
\mathcal{D}_{KL}(A_1||A_0)= 11.05
DKL(A1∣∣A0)=11.05时的采样。 底行:当
D
K
L
(
A
1
∣
∣
A
0
)
=
33.88
\mathcal{D}_{KL}(A_1||A_0)= 33.88
DKL(A1∣∣A0)=33.88时的采样。
特征重采样: 图5显示了带有和不带有特征重采样的RealnessGAN的训练曲线。 可以注意到,尽管结果相似,但特征重采样可以稳定训练过程,尤其是在后期。
锚的有效性: 表2指出了改变锚分布
A
0
A_0
A0和
A
1
A_1
A1之间的KL散度的结果。 FID分数表明,随着
A
0
A_0
A0和
A
1
A_1
A1之间的KL散度增加,RealnessGAN的表现趋向于更好,这验证了我们在第2.3节中的讨论,即锚分布之间的较大差异对G施加了更强的约束。为进一步证明,研究两对具有相似的KL差异(11.95和11.67)的不同的的锚,它们产生了类似的FID分数(23.98和24.22)。
表3:在不同目标下训练的CIFAR 10上G的FID得分。
图7:使用目标2(方程式19)和目标3(方程式20)在CelebA上训练RealnessGAN的曲线。
G 的目标 : 如第2.3节所述,理论上,G的目标是
max
G
E
x
∼
p
g
[
D
K
L
(
A
0
∥
D
(
x
)
]
\max_{G}\mathbb{E}_{\boldsymbol{x} \sim p_{\boldsymbol{g}}}\left[\mathcal{D}_{\mathrm{KL}}\left(\mathcal{A}_{0} \| D(x)\right]\right.
maxGEx∼pg[DKL(A0∥D(x)].但是,在实践中,由于D并不总是最优的,因此我们需要一对完全不同的
A
0
A_0
A0和
A
1
A_1
A1,或者需要一个附加约束来帮助实现此目标。 图6表明,仅凭理想目标,当
A
0
A_0
A0和
A
1
A_1
A1之间的KL散度足够大时,在CelebA上我们可以得到生成能力有限的生成器。 另一方面,通过应用第2.4节中讨论的约束,G可以学习产生更多逼真的样本,如图8所示。 如表3所示,在CIFAR10上观察到了相似的结果,其中RealnessGAN在有约束和无约束的情况下均获得了类似的FID分数。 图7还提供了使用这两个替代目标的RealnessGAN在CelebA上的训练曲线。
图8:分别从Realness GAN采样的图像,分别在CIFAR 10(顶部),Celebs(中间)和FFHQ(底部)上训练。
5.结论
在本文中,我们从分布的角度扩展了生成对抗网络的逼真性。 在我们提议的扩展RealnessGAN中,我们将逼真度的概念表示为逼真度分布而不是单个标量。 因此,相应的鉴别器会从多个角度估算真实性,从而为生成器提供更多信息指导。 我们证明RealnessGAN在生成器和鉴别器的最优性上具有理论保证。 在合成数据集和真实数据集上,RealnessGAN都展示了有效,稳定地捕获基础数据分布的能力。