前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >变分自编码器

变分自编码器

作者头像
用户1908973
发布2018-07-25 09:58:49
7560
发布2018-07-25 09:58:49
举报
文章被收录于专栏:CreateAMindCreateAMind

VAE变分自编码器方法是优雅的,理论上令人愉快的,并且易于实现。它也获得了出色的结果,是生成式建模中的最先进方法之一。变分自编码器的一个非常好的特性是,同时训练参数编码器与生成器网络的组合迫使模型学习编码器可以捕获可预测的坐标系。这使得它成为一个优秀的流形学习算法。

变分自编码器 (variational auto-encoder, VAE)(Kingma, 2013; Rezende et al.,2014) 是一个使用学好的近似推断的有向模型,可以纯粹地使用基于梯度的方法进行训练。

为了从模型生成样本,VAE首先从编码分布 pmodel(z) 中采样 z。然后使样本通 过可微生成器网络 g(z)。最后,从分布 pmodel(x;g(z)) = pmodel(x | z) 中采样 x。然 而在训练期间,近似推断网络(或编码器)q(z | x) 用于获得 z,pmodel(x | z) 则被视 为解码器网络。

变分自编码器背后的关键思想是,它们可以通过最大化与数据点 x 相关联的变 分下界 L(q) 来训练:

在式(20.76)中,我们将第一项视为潜变量的近似后验下可见和隐藏变量的联合对数 似然性(正如EM一样,不同的是我们使用近似而不是精确后验)。第二项则可视为 近似后验的熵。当 q 被选择为高斯分布,其中噪声被添加到预测平均值时,最大化 该熵项促进增加该噪声的标准偏差。更一般地,这个熵项鼓励变分后验将高概率质 量置于可能已经产生 x 的许多 z 值上,而不是坍缩到单个估计最可能值的点。在 式(20.77),我们将第一项视为在其他自编码器中出现的重构对数似然。第二项试图 使近似后验分布 q(z | x) 和模型先验 pmodel(z) 彼此接近。

变分推断和学习的传统方法是通过优化算法推断 q,通常是迭代不动点方程 (第19.4节)。这些方法是缓慢的,并且通常需要以闭解形式计算 Ez∼q log pmodel(z, x)。

变分自编码器背后的主要思想是训练产生 q 参数的参数编码器(有时也称为推断网 络或识别模型)。只要 z 是连续变量,我们就可以通过从 q(z | x) = q(z; f (x; θ)) 中 采样 z 的样本反向传播,以获得相对于 θ 的梯度。学习则仅包括相对于编码器和解 码器的参数最大化 L。L 中的所有期望都可以通过蒙特卡罗采样来近似。

变分自编码器方法是优雅的,理论上令人愉快的,并且易于实现。它也获得了 出色的结果,是生成式建模中的最先进方法之一。它的主要缺点是从在图像上训练 的变分自编码器中采样的样本往往有些模糊。这种现象的原因尚不清楚。一种可能 性是模糊性是最大似然的固有效应,因为最小化 DKL(pdata||pmodel)。如图3.6所示, 这意味着模型将为训练集中出现的点分配高的概率,但也可能为其他点分配高的概 率。还有其他原因可以导致模糊图像。模型选择将概率质量置于模糊图像而不是空 间的其他部分的部分原因是实际使用的变分自编码器通常在 pmodel(x;g(z)) 使用高 斯分布。<BAD> 最大化这种分布似然性的下界与训练具有均方误差的传统自编码器类似,这意味着它会忽略由少量像素导致特征或亮度微小变化的像素。如Theiset al. (2015) 和Huszar (2015) 指出的,该问题不是VAE特有的,而是与优化对数似 然或 DKL(pdata||pmodel) 的生成模型共享的。现代VAE模型另一个麻烦的问题是,它 们倾向于仅使用 z 维度中的小子集,就像编码器不能够将具有足够局部方向的输入 空间变换到边缘分布与分解前匹配的空间。

VAE框架可以直接扩展到大范围的模型架构。相比玻尔兹曼机,这是关键的优 势,因为玻尔兹曼机需要非常仔细地设计模型来保持易解性。VAE可以与多种可 微算子族一起良好工作。一个特别复杂的VAE是深度循环注意写者 (DRAW) 模型(Gregor et al., 2015)。DRAW 使用一个循环编码器和循环解码器并结合注意机制。DRAW 模型的生成过程包括顺序访问不同的小图像块并绘制这些点处的像素值。 还可以通过在VAE框架内使用循环编码器和解码器来定义变分RNN(Chung et al.,2015b) 来扩展VAE以生成序列。从传统RNN生成样本仅在输出空间涉及非确定性操 作。<BAD> 变分RNN也具有由VAE潜变量捕获的潜在更抽象层的随机变化性。

VAE框架已不仅仅扩展到传统的变分下界,还有重要加权自编码器(importance- weighted autoencoder)(Burda et al., 2015) 的目标:

这个新的目标在 k = 1 时等同于传统的下界 L。然而,它也可以被解释为基于提议 分布 q(z | x) 中 z 的重要采样而形成的真实 log pmodel(x) 估计。重要加权自编码器目 标也是 log pmodel(x) 的下界,并且随着 k 增加而变得更紧。

变分自编码器与MP-DBM和其他涉及通过近似推断图的反向传播方法有一些有 趣的联系 (Goodfellow et al., 2013d; Stoyanov et al., 2011; Brakel et al., 2013)。这些 以前的方法需要诸如均匀场不动点方程的推断过程来提供计算图。变分自编码器被 定义为任意计算图,这使得它能适用于更广泛的概率模型族,因为不需要将模型的 选择限制到具有易处理的均匀场不动点方程的那些模型。变分自编码器还具有增加 模型对数似然边界的优点,而MP-DBM和相关模型的准则更具启发性,并且除了使 近似推断的结果准确外很少有概率的解释。变分自编码器的一个缺点是它仅针对一 个问题学习推断网络,给定 x 推断 z。较老的方法能够在给定任何其他变量子集的 情况下对任何变量子集执行近似推断,因为均匀场不动点方程指定如何在所有这些 不同问题的计算图之间共享参数。

变分自编码器的一个非常好的特性是,同时训练参数编码器与生成器网络的组合迫使模型学习编码器可以捕获可预测的坐标系。这使得它成为一个优秀的流形学习算法。图20.6展示了由变分自编码器学到的低维流形的例子。图中所示的情况之 一,算法发现了存在于面部图像中两个独立的变化因素:旋转角和情绪表达。

图 20.6: 由变分自编码器学习的高维流形在 2 维坐标系中的示例 (Kingma and Welling, 2014a)。 我们可以在纸上直接绘制两个可视化的维度,因此可以使用 2 维潜在编码训练模型来了解模型的 工作原理(即使我们认为数据流形的固有维度要高得多)。所示的图像不是来自训练集的样本,而 是仅仅通过改变 2 维 ‘‘编码”z,由模型 p(x | z) 实际生成的图像 x(每个图像对应于 ‘‘编码”z 位 于 2 维均匀网格的不同选择)。(左)Frey人脸流形的 2 维映射。其中一个维度(水平)已发现大致 对应于面部的旋转,而另一个(垂直)对应于情绪表达。(右)MNIST流形的 2 维映射。

内容摘自:https://github.com/exacity/deeplearningbook-chinese/releases/ 20.10.3

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-01-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CreateAMind 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档