美文网首页@EZ翻译计划
EZ | 生成对抗性网络 | 02

EZ | 生成对抗性网络 | 02

作者: 杜若飞er | 来源:发表于2019-11-15 15:34 被阅读0次

    3.对抗网络

当模型都是多层感知机时,多抗网络得到最直接的应用,未来在数据 x 上学习生成器的分布pg,我们的输入噪声变量pz(Z)上进行先验,然后将数据空间的映射表示为G(z;θg),其中的G表示为多层感知机的可微函数,我们又定义了一个多层感知机D(x;θd),它输出的是单个的标量。D(x)表示的x来自于数据而不是pg的概率。我们训练D以最大化为训练样本,将其和来自G的样本分配正确标签的概率,我们同时对G进行训练,把log(1-D(G(z)))这个式子做最小化处理。

在另一个角度上,DG扮演了MiniMax游戏中两个玩家的角色,其价值函数为V(G,D),表示如下:

\min\limits_{G} \max\limits_{D} = {\Bbb{E}}_{z~p_{data(x)}}[logD(x)]+{\Bbb{E}}_{z~p_z(z)}[log(1-D(G(z)))]\tag{1}

在下一节中,我们提出了对抗网络的理论分析,基本上,训练标准允许人们完全恢复数据的分布情况,因为DG都被给予了足够的容量,在非参数下限制下,这个方法不怎么严谨,只起到教学上的作用。可以看一下Fig.1。在实际应用时,我们必须使用迭代的数值方法来实现,在计算中,训练内循环中一直优化D是不允许的,并且,在有限的数据集上,这会导致过拟合,相反,我们在优化Dk步和优化G的一步之间交替,只要G的变化足够缓慢,D就能够保持在最优解附近。这种策略类似于SML/PCD[31,29],将马尔可夫链中的样本从一个学习步骤维持到下一个学习步骤,避免了马尔可夫链作为内循环的一部分。这一过程也在算法1中呈现出来。

Fig.1

生成对抗网络通过同时判别分布(D,蓝色,虚线)进行训练,区分来自数据生成分布(黑色,虚线)p_x的样本和生成分布的样本p_g(G)(绿色,实线),下面的水平线是从中采样z的域,在这种情况下,分布是均匀的。上方的水平线则表示x的域的一部分。向上的箭头表示映射x = G(z)如何在变换样本上增加非均匀的分布p_g,G在高密度区域会收缩,在p_g低密度区域会增长。其中(a)考虑了收敛附近的对抗对,其中对p_g类似于p_data,D则是部分精确的分类器,(b)在算法D的内循环中训练,用以区分样本和数据,收敛到D^*(x) = \frac{p_{data}(x)}{p_{data}(x)+p_g(x)}, (c)则是在更新了G之后D的梯度引导G(z)流向更有可能的区域并被归类为数据。(d)是经过几个步骤的训练之后,如果GD还有足够的容量,它们将达到两个无法继续改善的点,因为p_g = p_{data}鉴别器无法区分这两个分布,此时的D(x) = \frac{1}{2}

    4.理论成果

生成器G隐含地把概率分布p_g定义为当zp_z时获得的样本G(z)的分布。因此,如果给定足够的容量和训练时间,我们希望算法1能够收敛到p_{data}的水平。这一部分的结果在非参数的设置中完成,举个例子说我们通过研究概率密度函数空间中的收敛情况来表示具有无限容量大模型。

我们将在4.1节中展示这个Minimax博弈游戏对于p_g = p_{data} 是全局最优的解,而后,在4.2节和4.3节中,会展示算法1优化等式1,从而推导出所需要的结论。


算法1:小型的梯度下降训练,应用在判别器的步骤数k是一个超参数,在我们的试验中,我们的k = 1,这是最经济的选择。


for number of training iterations do
    for k steps do
        · Sample minibatch of m noise sample {z^{(1)}…z^{(2)} } from noise prior p_g(z).
        · Sample minibatch of m examples {x^{(1)}…x^{(2)}} from data generating distribution p_{data}(x)
        · Update the discriminator by ascending its stochastic gradient:
∇_{θ_{d}}\frac{1}{m}\sum_{i=1}^{m}[log D(x^{(i)})+log(1-D(g(z^{(i)})))]    end for
    · Sample minibatch of noise sample{z^{(1)}…z^{(2)}} from noise prior p_g(z)
    ·Update t he generator by descending its stochastic gradient:
∇_{θ_{g}}\frac{1}{m}\sum_{i=1}{m}log(1-(D(z^{(i)})))end for
The gradient-based updates can use any standard gradient-based rule.We used momentary in our experiments.


4.1p_g=p_{data}的全局最优化

我们首先考虑了对于指定的生成器G,找到一个最好的判别器D

命题1:对于给定的GD应该这么算:D^{*}_{G}(x)=\frac{p_{data}(x)}{p_{data}(x)+p_{g}(x)}\tag{2}

证明:对于给定的G,鉴别器D的训练标准就是把V(G,D)给最大化。V(G,D)=\int_x^{ }{p_{data}(x)log(D(x))}^{}dx+\int_zp_{z}(z)log(1-D(g(z)))dz\tag{}
=\int_xp_{data}log(D(x))+p_g(x)log(1-D(d))dx\tag{3}对于任何属于R^2\ {0,0} 的(a,b),函数y\to{a log(x)+b log(1-y)}达到最大值。这本判别器不需要在Supp(p_{data})Supp(p_y)
鉴别符不需要在Supp(pdata)∪Supp(pg)之外定义,结束证明。

我们还注意到,D的训练目标可以解释为最大似然估计条件概率P(Y=y|x),其中的Yx来自于p_{data}(此时y=1)或是p_g(此时y=0)。Minimax博弈游戏现在可以这样表示:C(G)=\max\limits_DV(G,D)
={\Bbb{E}}_{x~p_{data}}[logD^{*}_G(x)+{\Bbb{E}}_{z~p_x[log(a-D^{*}_G(G(z)))}]\tag{4}
={\Bbb{E}}_{x~p_{data}}[log\frac{p_{data}(x)}{P_{data}+p_{g}(x)}]+{\Bbb{E}}_{x~p_g}[log\frac{p_g(x)}{p_{data}(x)+p_g(x)}]定理1:当且仅当p_g=p_{data}时,取得全局最小值,此时C(G)值为-log(4)

证明2:对于p_g = p_{data}D^{*}_G(x) = \frac{1}{2},(考虑到式2),因此,在D^{*}_G(x) = \frac{1}{2},使用公式4,我们发现此时C(G) = log\frac{1}{2} + log\frac{1}{2} = -log4,另外,这是C(G)最佳可能的值,仅面对p_g=p_{data}时,观察:{\Bbb{E}}_{x~p_{data}}\left[-log2\right]+{\Bbb{E}}_{x~p_g}\left[-log2\right] = -log4C(G) = V(D^{*}_G,G)中减去该式,就可以得到:C(G) = -log(4) + KL\left(p_{data}\middle\|\frac{p_{data}+p_g}{2}\right)+KL\left(p_g\middle\|\frac{p_{data}+p_g}{2}\right)\tag{5}KL(Kullback-Leibler)散度,在最前面的表示式中认识到Jensen模型分布和数据生成过程之间有香农差(Shannon divergence):C(G) = -log(4) + 2 · JSD\left(p_{data}\middle\|p_g\right)\tag{6}由于两个分布之间的Jensen-Shannon差总是非负数,只有在相等时才为零,我们证明了C^{*} = -log(4)C(G)的全局最小值,只有分解在g = p_{data}上时,生成模式完美复制了演化过程。

4.2算法1的收敛性

命题2:如果GD都有足够的容量,在算法1中每一步都把鉴别器达到给定G的最佳状态,并更新p_g以改进标准:{\Bbb{E}}_{x~p{data}}\left[logD^{*}_G(x)\right] + {\Bbb{E}}_{x~p_g}\left[log(1-D^{*}_G(x))\right]然后,p_g就收敛到了p_{data}处。

证明:考虑到V(G,D) = U(p_g,D)在上述标准中作为一个p_g的函数出现,并注意到U(p_g,D)p_g处是凸的。凸函数上限还包括了函数在达到最大值点处的导数,换而言之,对于每个{\alpha},如果f(x) = suo_{a\in{\cal{A}}}f_{\alpha}(x)f_{\alpha}(x)x处是凸的,那么当\beta = arg{\;}sup_{a\in{\cal{A}}}f_{\alpha}(x),则∂f_{\beta}(x){\in}∂f。这就相当于在最佳D处计算p_g的梯度下降更新,给定相应的Gsup_{D}U(p_g,D)在{p_g}处是凸的,并具有在理论1中所证明的唯一全局最优解,因此,更新p_g足够小,而p_g收敛于p_x,证明完毕。

在实验中,对抗性网络通过函数G(z;θ_g)表示为有限的p_g分布,我们优化了θ_g而不是p_g其本身,使用多层感知机把G定义在参数空间中,引入了多个关键节点,然而,多层感知机在实验中表现出了优异的性能,这多少能表明它们的合理性(尽管在理论上不太妥贴)。

相关文章

网友评论

    本文标题:EZ | 生成对抗性网络 | 02

    本文链接:https://www.haomeiwen.com/subject/mflokctx.html