生成式对抗网络虽然概念上直接,但是其背后的理论值得深究。简单来说,GAN定义了两个网络,分别是生成网络$G(z;\theta_g)$和判别网络$D(x;\theta_d)$。生成网络基于先验分布$p_z(z)$生成数据$x$的分布$p_g$。判别网络用于判别样本来自于训练数据$x$而不是$p_g$的概率。模型训练时,可看作基于值函数$V(G,D)$对$D$与$G$实行two-player最小最大博弈。
$$
\begin{aligned}
\underset{G}{min}\quad\underset{D}{max}V(D,G)=\mathbb{E}_{x\sim p_{data}(x)}[logD(x)]+\mathbb{E}_{z\sim p_z(z)}[log(1-D(G(z)))]
\end{aligned}\tag{1}
$$

模型训练时,由于基于模型$D$与$G$的单步交替迭代更新致使$D$计算复杂度过高,且很容易对有限数据集过拟合。因此,在$k$步优化$D$与单步优化$G$之间交替训练。具体,可见算法1。同时,在训练的初始阶段,生成器的性能较弱,那么判别器很容易区分数据,即$log(1-D(G(z)))$处于饱和态。那么,在训练的初始阶段,以最大化$logD(G(z))$代替最小化$log(1-D(G(z)))$。

理论分析

$p_g$与$p_{data}$的全局最优

命题1:对于给定最优生成器$G$,最优分类器$D$为

$$
\begin{aligned}
D^{*}_G(x)=\frac{p_{data}(x)}{p_{data}(x)+p_g(x)}
\end{aligned}\tag{2}
$$
证明:对于给定最优生成器$G$,分类器$D$的训练是最大化$V(G,D)$
$$
\begin{aligned}
V(G,D) &= \int_{x}p_{data}(x)log(D(x))dx+\int_zp_z(z)log(1-D(g(z)))dz \\
&= \int_xp_{data}(x)log(D(x))+p_g(x)log(1-D(x))dx
\end{aligned}\tag{3}
$$
对于给定$(a,b)\in\mathbb{R}^2\setminus\{0,0\}$,函数$y\to a log(y)+blog(1-y)$在$\frac{a}{a+b}$处取得最大值,即命题1得证。

那么,在给定最优生成器$G$下式(1)可被定义为
$$
\begin{aligned}
C(G) &= \underset{D}{max}V(G,D) \\
&= \mathbb{E}_{x\sim p_{data}}[logD^{*}_G(x)]+\mathbb{E}_{x\sim p_{data}}[log(1-D^{*}_G(G(z)))] \\
&= \mathbb{E}_{x\sim p_{data}}[logD^{*}_G(x)]+\mathbb{E}_{x\sim p_g}[log(1-D^*_G(x))] \\
&= \mathbb{E}_{x\sim p_{data}}[log\frac{p_{data}(x)}{p_{data}(x)+p_g(x)}] +\mathbb{E}_{x\sim p_g}[log\frac{p_g(x)}{p_{data}(x)+p_g(x)}]
\end{aligned}\tag{4}
$$

理论1:目标函数$C(G)$的全局最小值只有在$p_g=p_{data}$处实现,且在该点上$C(G)=-log4$。

证明:若$p_g=p_{data}$,那么$D^{*}_G=\frac{1}{2}$,进而$C(G)=-log4$。

另外,$C(G)$可表达为
$$
\begin{aligned}
C(G) &= -log(4)+KL(p_{data}\Vert\frac{p_{data}+p_g}{2})+KL(p_g\Vert\frac{p_{data}+p_{g}}{2}) \\
&= -log(4)+2\cdot JSD(p_{data}\Vert p_g)
\end{aligned}\tag{5}
$$
式(5)中$JSD$表示的是Jensen-Shannon不等式。由于JSD为非负的,且只有$p_g=p_{data}$时,$JSD=0$,所以$C(G)$最小为$-log(4)$。

plus:此时神经网络的输出应该在0附近,从而经过sigmoid函数之后输出概率为0.5。

算法的收敛性

命题2:若$G$与$D$拥有足够的容量,算法1的每一步中分类器在给定生成器$G$的情况被允许达到最优,且$p_g$被更新以最小化式(6)
$$
\begin{aligned}
\mathbb{E}_{x\sim p_{data}}[logD^{*}_G(x)]+\mathbb{E}_{x\sim p_g}[log(1-D^{*}_G(x))]
\end{aligned}\tag{6}
$$
那么,$p_g$收敛到$p_{data}$。

证明:考虑$V(G,D)=U(p_g,D)$作为$p_g$的的函数。由于$U(p_g,D)$为凸函数,那么根据凸函数性质:若$f(x)=SUP_{\alpha\in\mathcal{A}}f_{\alpha}(x)$与$f_{\alpha}(x)$为凸函数且$\beta=argsup_{\alpha\in\mathcal{A}}f_{\alpha}(x)$,那么$\partial f_{\beta}(x)\in\partial f$,可得:

由于$sup_{D}U(p_g,D)$为凸函数,且根据理论1可知式(1)具有唯一的全局最优点,那么随着$p_g$的更新,$p_g$收敛到全局最优点。

标签: GANs

版权: 本篇博文采用《CC BY-NC-ND 4.0》,转载必须注明作者和本文链接

添加新评论