words

单词意思
analogous相似的
intractable棘手的
have less of an impact效果一般
refer to...as把..称为
stochastic随机的
criterion
a sequence of
in spirit
sufficient
emulating仿真

something need to know

abstract

why

none

what

提出一个评估生成模型的框架,基于对抗过程。

how

对抗过程中,训练 G, D 两个模型。生成模型 G 捕获数据分布;判别模型 D 估计一个概率:样本来自 train data 而不是 G。

那么训练 G 就是让 D 判断出错,错误率越高越好。

G,D 用多层感知机定义,用后向传播训练整个系统。

conclusion

none

Introduction

  • prograph 1。之前效果一般及其原因,作为文章提出的 estimation procedure 的背景理由。

    dl 的目的是能够在大量数据中找到一个概率分布的模型。在判别模型中好,但在 deep generative model 中表现一般。

    原因在于:极大似然繁杂计算和一些策略,还有分段线性单元的收益

  • prograph 2。解释 adversarial nets 概念。

    D 来辨别 the model distribution(come from G) or the
    data distribution。

  • prograph 3。说明文章主旨,提出一个特殊例子用于说明。

    例子(adversarial nets ):G 会生成样本,通过多层感知机传递随机噪声。D 也是一个多层感知机。

个人觉得就是扩充了一下 abstract,具体讲了一些概念。

还用了一些生活例子去类比,属实有生活气息。

但是接下来的数学公式就多了。

Related work

likelihood 会引入一些计算上的繁琐。

Adversarial nets

为了基于数据 x 学习到 $p_g$ 分布,定义了一个输入噪声 $p_z(z)$,一般是服从均匀分布或者高斯分布。

定义一个 MLP $G(z)$ 用于将输入噪声映射为 data(或者说映射为 x)

在定义一个 MLP $D(x)$ 用于判断输入数据 x 是来自 data(样本)还是来自 $p_g$ (生成的数据)的概率值。

对于 $D$,要最大化他的正确率。

对于 $G$,要最小化 $log(1 - D(G(z)))$。也就是 $G$ 生成的数据本来是假,应该被 $D$ 判断为 0,但 $G$ 骗过了 $D$,使得它判断生成数据来自 data,判断输出趋近 1(毕竟是输出的概率),使得 $log(1 - D(G(z)))$ 趋近于负无穷,所以要最小化这个式子。

所以经典 minimax 式子就出来了。对于 $D$ 来说,采样自 data 的 x 的 $log(D(x))$ 要尽可能判断出是 1。而采样自 z 并且通过 $G$ 生成的数据要尽量判断出是 0(来自 $p_g$),所以整体来说,$D$ 要最大化,尽可能正确。

而对于 $G$ 来说,只需要看第二项即可。也就是上文提到的最小化。

总结一下就是下图。

实际训练,往往使用 maximize $log(D(G(z)))$,让 $D$ 以为是真的。因为一开始 $D$ 是很容易分辨出数据来自 data 还是生成的,导致了 $G$ 不好训练,这个问题也体现在了后头提到的算法上。

文中使用下图展示了大致的训练过程。黑色点图是分布在 data 的 sample 的数据,绿色是分布在 $p_g$ 的 sample 的数据。蓝色点图是 $D$ 对于两种分布判别输出的概率值。(a) ~ (d) 图可以发现 $D$ 逐步训练趋于稳定和正确。同时训练完 $D$ 后,再训练 $G$,让 $G(z)$ 与 data 更接近。直到最后,完全重合,$D$ 只有 1/2 的概率判断来自哪个分布,这已经是靠猜了。

Theoretical Results

首先抛出他的训练算法。主要分成对 $D$ 和 $G$ 的训练。$D$ 训练 k 次,$G$ 训练一次,所以 k 的选取变得很重要。如果一开始训练 $D$ 训练的太好,那么 $G$ 无法更新。而如果 $D$ 训练的太差,那么 $G$ 的优劣将没有什么说服力。

Global Optimality of $p_g = p_{data}$

再给定 $G$ 的情况下,$D$ 可以达到最优情况。这个证明返回论文看就行,不是很难。证明这个就在于,我们看一下前头的训练算法,当 $G$ 训练完,训练 $D$ 的时候,就属于这个情况。所以理论上,k 选取得当,$D$ 的训练是会收敛的。

然后 $D$ 训练完,要接着训练 $G$,那么把刚才收敛的 $D^*$ 代入之前的式子。图里和文章后头都提到了,其实这个就是两个 KL 散度,它衡量了两个分布之间的距离。

只不过这里需要做一点变化,就可以得到 Eq 5(log 中乘一个 1/2 保持一致,就可以得到)

而最佳情况是 KL 散度都是 0(衡量的两个分布相等,推出 $p_{data} = p_g$),则得到对于 G 的训练,当 $p_{data} = p_g$ 时,Eq 1 会得到 $-log(4)$

Advantages and disadvantages

在跟着李沐大神的带读中,他有提到这篇文章提供了一个启发:用有监督的 loss 来训练无监督学习,加快了训练速度。同时此生成网络相比于是用 likelihood 方法,也是有更快的训练速度。

但是在其他 GAN 文献中都有提到,GAN 的训练不稳定,生成质量参差不齐。原因就在于他的训练,需要衡量的很好,不然就很容易进入 $D$ 太好或 $G$ 太好的两个极端,就容易训练出意义不明的东西。

添加新评论