ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

GAN 学习笔记

2022-07-17 10:03:56  阅读:155  来源: 互联网

标签:log 训练 模型 boldsymbol 笔记 生成 学习 GAN data


GAN

摘要

我们提出了一个通过对抗过程估计生成模型的新框架,其中我们同时训练两个模型:一个捕获数据分布的生成模型 G,以及一个估计样本来自训练数据而不是而不是G生成的的概率的判别模型 D。G 的训练过程是最大化 D 出错的概率。这个框架对应于一个极小极大的两人游戏。在任意函数 G 和 D 的空间中(In the space of arbitrary functions G and D),存在唯一解,G 恢复训练数据分布,D 处处等于 1/2。在 G 和 D 由多层感知器定义的情况下,整个系统可以通过反向传播进行训练。 在训练或生成样本期间,不需要任何马尔可夫链或展开的近似推理网络。实验通过对生成的样本进行定性和定量评估,证明了框架的潜力。

引言

Introduction

深度学习的目标是发现更丰富、更有层次的模型以能够表达人工智能应用中数据各种概率分布,比如自然图片、音频波形包括演讲,自然语言中的符号等。Sp far(至今),深度学习中最成功的包括分辨模型,通常这些模型映射一个高维度、丰富传感的输入到一个类别标签中。这些巨大成功首先基于反向传播算法和dropou算法,使用 piece级的线性单元(which have a particularly well-behaved gradient).深度生成模型则有更小的影响,因为极大似然估计和相关策略等都是棘手的概率计算,还有在生成上下文中利用 piece级的线性单元很难。我们提出了一个新的生成模型估计过程来回避这些困难。

在提出的对抗网络模型中,生成模型就是在与一个对手进行对抗,这个对手就是分辨模型,它用来学习去分辨一个样本是模型分布还是数据分布。双方竞争直至分辨模型无法分出 counterfeits(假币) 与 真实(genuine articles)。

训练方法使用已经很成功的梯度下降和dropout算法。不需要什么近似推理或者马尔科夫链( No approximate inference or Markov chains are necessary).

indistiguishable 难以区分
until 直到
counterfeiters造假者
currency 货币
analogous 类似的
approximating 近似
sidesteps 回避
intractable 棘手的
interaction 相互作用
be pitted do sth
leveraging 利用
genuine 真的

相关工作

不大懂

代替带有潜在变量有向图模型的是带有潜在变量无向图模型,比如 RBMs,DBMs 以及它们的变种。此类模型中的相互作用表示为未归一化势函数的乘积( the product of unnormalized potential functions),通过对随机变量的所有状态的全局求和/积分进行归一化。
This quantity (the partition function) and its gradient are intractable for all but the most trivial instances, although they can be estimated by Markov chain Monte Carlo (MCMC) methods. Mixing poses a significant problem for learning algorithms that rely on MCMC [3, 5].
这个量(配分函数)及其梯度对于除了最微不足道的实例之外的所有实例都是难以处理的,尽管它们可以通过马尔可夫链蒙特卡罗 (MCMC) 方法进行估计。混合对依赖 MCMC [3, 5] 的学习算法提出了一个重大问题。

Deep belief networks(DBNs) 是一个包含了单一无向层和多个有向层的杂交模型。虽然存在快速近似逐层训练的criterion标准,但 DBN 会导致与无向和有向模型相关的计算困难。

还提出了不近似或限制对数似然的替代标准,例如分数匹配 [18] 和噪声对比估计 (NCE) [13]。
两者都需要将学习的概率密度分析指定为归一化常数。请注意,在许多具有多层潜在变量(例如 DBN 和 DBM)的有趣生成模型中,甚至不可能推导出易于处理的非归一化概率密度。一些模型,例如去噪自动编码器 denoising auto-encoders [30] 和收缩自动编码器 contractive autoencoders,其学习规则与应用于 RBM 的分数匹配非常相似。在 NCE 中,就像在这项工作中一样,采用判别训练标准来拟合生成模型。然而,生成模型本身不是拟合一个单独的判别模型,而是用于将生成的数据与固定噪声分布的样本区分开来。因为 NCE 使用固定的噪声分布,所以在模型在观察到的变量的一小部分上学习到一个近似正确的分布后,学习速度会显着减慢。
最后,一些技术不会显式的定义概率分布,而是训练一个生成机器来从渴望的分布中画出样本。其优点是可以使用反向梯度传播算法。最近该领域一些著名的工作包括 generative stochastic network (GSN) framework [5],它扩展了denoising auto-encoders [4]:两者都可以看作是参数化的马尔科夫链,即,学习了形成(perform)生成马尔科夫链机器的参数。相比于GSN,对抗网络不需要马尔科夫链来采样。因为对抗网络不需要生成时的反馈循环,它们能够更好的利用分段线性单位(piecewise linear units),它提高了反向传播的性能,但在反馈循环中使用时存在无界激活(unbounded activation)的问题。最近通过反向传播训练生成机器的例子包括最近关于自动编码变分贝叶斯(auto-encoding variational Bayes)[20]和随机反向传播(stochastic backpropagation)[24]的工作。

hybrid 杂交种
tractable 容易处理的
Prominent 著名的

对抗网络

Adversarial nets

为了学习对于数据 \(\bold{x}\) 生成器的分布 \(p_g\),我们定义关于先验的输入噪声变量 \(p_z{z}\),然后表达一个对 \(G(\bold{z};\theta_g)\) 数据空间的映射(\(\theta_g\)是多层感知机G的参数)。
\(D(\bold{x})\) 表达样本\(\bold{x}\)来自数据而非\(p_g\)的概率。

这个对抗游戏的目标是:

\[\min _{G} \max _{D} V(D, G)=\mathbb{E}_{\boldsymbol{x} \sim p_{\text {data }}(\boldsymbol{x})}[\log D(\boldsymbol{x})]+\mathbb{E}_{\boldsymbol{z} \sim p_{\boldsymbol{z}}(\boldsymbol{z})}[\log (1-D(G(\boldsymbol{z})))] \tag{1} \]

下节我们将理论分析对抗网络,特别是该训练标准能够发现一个数据生成分布G和有足够能力的分辨器D。在训练的内部循环中完成D的优化的计算量十分庞大,并且有效的数据集将导致过拟合。所以,我们进行对D的k步优化,然后再进行对G的一轮优化。这样D维持最近的优化结果,保证了了G变化的组后缓慢。这个策略与 SML/PCD[31,29] 很像。训练维持样本来自一个马尔科夫链从一步学习到下一步来避免在一次内部循环中用完整个马尔科夫链。

在实际中,(1)式可能不会为G的学习提供足够的梯度,所以早期学习中,G是很弱的,D能够很容易的分辨真假样本是因为两者数据确实差距过大。此时 \(log(1-D(G(z)))\)饱和。相比于训练G来最小化\(log(1-D(G(z)))\),我们可以通过最大化 \(logD(G(z))\)来训练G。这个目标函数使得G和D有相同动态固定点但是再训练早期提供了更强的梯度。

straightforward 直截了当的
pedagogical 与教学相关的
prohibitive 禁止
saturates 饱和
uniformly 均匀的-
imposes 强加。
convergence 收敛。

对抗图示:

GAN_Fig1

图一:生成对抗网络通过更新D分辨分布来进行训练,图中,下面的横线表示对噪声 z 的均匀采样,上面的横线是 x 的部分 domain,向上的箭头表示映射关系:\(\bold{x}=G(z)\) 如何 imposes the non-uniform distribution \(p_g\) on transformed samples. G 在 \(p_g\) 的高密度区域收缩,在 \(p_g\) 的低密度区域膨胀。(意思就是G趋向于 \(p_g\)更大的地方)。该图表示的训练对抗的过程。

理论结果

我们将证明 \(p_g = p_{data}\) 是对抗游戏的全局最优解,并展示算法1能够优化式(1)以获取渴望的结果。

GAN_Fig2

全局最优解 \(p_g = p_{data}\)

我们首先考虑给定生成器G的最优分辨器D。

主张一(Proposition 1)
对于固定G,最优分辨器D是。

\[ D_{G}^{*}(\boldsymbol{x})=\frac{p_{\text {data }}(\boldsymbol{x})}{p_{\text {data }}(\boldsymbol{x})+p_{g}(\boldsymbol{x})} \]

证明略,可以看论文:
GAN_proof1

$ \operatorname{supp}(f)={x \in X \mid f(x) \neq 0}¥

Note that the training objective for D can be interpreted as maximizing the log-likelihood for estimating the conditional probability \(P(Y = y|x)\), where Y indicates whether \(\bold{x}\) comes from p data(with y = 1) or from \(p_g\) (with y = 0). The minimax game in Eq. 1 can now be reformulated as:

\[\begin{aligned} C(G) &=\max _{D} V(G, D) \\ &=\mathbb{E}_{\boldsymbol{x} \sim p_{\text {data }}}\left[\log D_{G}^{*}(\boldsymbol{x})\right]+\mathbb{E}_{\boldsymbol{z} \sim p_{\boldsymbol{z}}}\left[\log \left(1-D_{G}^{*}(G(\boldsymbol{z}))\right)\right] \\ &=\mathbb{E}_{\boldsymbol{x} \sim p_{\text {data }}}\left[\log D_{G}^{*}(\boldsymbol{x})\right]+\mathbb{E}_{\boldsymbol{x} \sim p_{g}}\left[\log \left(1-D_{G}^{*}(\boldsymbol{x})\right)\right] \\ &=\mathbb{E}_{\boldsymbol{x} \sim p_{\text {data }}}\left[\log \frac{p_{\text {data }}(\boldsymbol{x})}{P_{\text {data }}(\boldsymbol{x})+p_{g}(\boldsymbol{x})}\right]+\mathbb{E}_{\boldsymbol{x} \sim p_{g}}\left[\log \frac{p_{g}(\boldsymbol{x})}{p_{\text {data }}(\boldsymbol{x})+p_{g}(\boldsymbol{x})}\right] \end{aligned} \tag{4} \]

结论1 Theorem 1

\(C(G)\) 当且仅当 \(p_g=p_{data}\)时取得全局最小值。在那个点,C(G)达到值 \(-log4\)

Proposition 主张

算法1的收敛性

Convergence of Algorithm 1

主张二(Proposition 2)

如果G和D有足够的能力,再算法1的每步分辨器能达到给定G的最优,\(p_g\) 被更新来提高标准:

\[\mathbb{E}_{\boldsymbol{x} \sim p_{\text {data }}}\left[\log D_{G}^{*}(\boldsymbol{x})\right]+\mathbb{E}_{\boldsymbol{x} \sim p_{g}}\left[\log \left(1-D_{G}^{*}(\boldsymbol{x})\right)\right] \]

然后 \(p_g\) 收敛于 \(p_{data}\)

证明:
GAN_proof3

实验

The generator nets used a mixture of rectifier linear activations [19,9] and sigmoid activations, while the discriminator net used maxout [10] activations. Dropout [17]was applied in training the discriminator net.

While our theoretical framework permits the use of dropout and other noise at intermediate layers of the generator, we used noise as the input to only the bottommost layer of the generator network.
虽然我们的理论框架允许在生成器的中间层使用 dropout 和其他噪声,但我们仅使用噪声作为生成器网络最底层的输入。

We estimate probability of the test set data under p g by fitting a Gaussian Parzen window to the samples generated with G and reporting the log-likelihood under this distribution. The σ parameter of the Gaussians was obtained by cross validation on the validation set. This procedure was introduced in Breuleux et al. [8] and used for various generative models for which the exact likelihood is not tractable [25, 3, 5]. Results are reported in Table 1. This method of estimating the likelihood has somewhat high variance and does not perform well in high dimensional spaces but it is the best method available to our knowledge. Advances in generative models that can sample but not estimate likelihood directly motivate further research into how to evaluate such models.

我们估计测试集数据在 \(p_g\) 下的概率通过 fit 一个 Gaussian Parzen window 到用G生成的样本 并 报告在这种分布下的 log 似然函数(log-likelihood)。高斯分布的参数方差(\(\sigma\))通过对验证集进行交叉验证来获取。...
这种估计可能性的方法具有一定的高方差,并且在高维空间中表现不佳,但它是我们所知的最佳方法。
可以采样但不能估计可能性的生成模型的进步直接推动了对如何评估此类模型的进一步研究。

学习到了

如何判断两个数据是否来自同一分布?t分布检验?不,高维数据建议直接训练一个分类来判断,比如 GAN 的做法。还有 KL散度...
应用:
如何判断一个模型部署到新环境后数据分布是否一致?训练一个分类器来分类,能分类出来就说明不是来自同一分布,否则就是来自同一分布。

标签:log,训练,模型,boldsymbol,笔记,生成,学习,GAN,data
来源: https://www.cnblogs.com/eiyi/p/16483698.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有