【译】变分自编码器教程 1、简介

Tutorial on Variational Autoencoders

Arxiv 1606.05908数据库

摘要

在短短三年内,变分自编码器(VAE)已经成为复杂分布的无监督学习的最流行的方法之一。 VAE 颇有吸引力,由于它们创建在标准函数近似器(神经网络)之上,而且能够用随机梯度降低进行训练。 VAE 已经展现出产生多种复杂数据的但愿,包括手写数字 [1, 2],面部 [1, 3, 4] ,门牌号 [5, 6],CIFAR 图像 [6],场景物理模型 [4],分割 [7] ,以及从静态图像预测将来 [8]。本教程介绍了 VAE 背后的直觉,解释了它们背后的数学,并描述了一些经验行为。不须要变分贝叶斯方法的先验知识。网络

“生成建模”是机器学习的一个普遍领域,它处理分布模型P(X),定义在数据点X上,它在一些潜在的高维空间X中。例如,图像是一种流行的数据,咱们能够为其建立生成模型。每一个“数据点”(图像)具备数千或数百万个维度(像素),而且生成模型的工做是以某种方式捕获像素之间的依赖性,例如,邻近的像素具备类似的颜色,而且被组织成对象。 “捕获”这些依赖关系的确切含义,取决于咱们想要对模型作什么。一种直接的生成模型,简单容许咱们以数字方式计算P(X)。在图像的状况下,看起来像真实图像的X值应该具备高几率,而看起来像随机噪声的图像应该具备低几率。然而,像这样的模型并不必定有用:知道一个图像不太可能没法帮助咱们合成一个可能的图像。数据结构

相反,人们常常关心的是产生更多的例子,像那些已经存在于数据库中的例子,但并不彻底相同。咱们能够从原始图像数据库开始,并合成新的没有见过的图像。咱们可能会采起一个像植物这样的 3D 模型的数据库,并生成更多的模型来填充视频游戏中的森林。咱们能够采起手写文本,并尝试生成更多的手写文本。像这样的工具实际上可能对图形设计师有用。咱们能够形式化这个设置,经过假设咱们获得示例X,它的分布是一些未知分布P[gt](X),咱们的目标是学习咱们能够从中采样的模型P,这样P就可能像P[gt]框架

训练这种类型的模型一直是机器学习社区中长期存在的问题,并且大多数经典方法都有三个严重的缺点之一。首先,他们可能须要数据结构的强力假设。其次,他们可能会进行严格的近似,致使模型不理想。或者第三,他们可能依赖于计算成本昂贵的推理过程,如马尔科夫链蒙特卡洛。最近,一些工做在经过反向传播 [9],将神经网络训练为强大的函数近似器方面,取得了巨大进步。这些进步产生了有但愿的框架,可使用基于反向传播的函数近似器来构建生成模型。机器学习

最受欢迎的此类框架之一是变分自编码器 [1, 3],本教程的主题。这种模型的假设很弱,经过反向传播训练很快。 VAE 确实作了近似,可是这种近似引入的偏差在高容量模型下能够说是很小的。这些特征使其受欢迎程度迅速提高。函数

本教程旨在成为 VAE 的非正式介绍,而不是关于它们的正式科学论文。它针对的是那些人,可能用于生成模型,但可能不具有 VAE 所基于的变分贝叶斯方法,和“最小描述长度”编码模型的强大背景。本教程最初是 UCB 和 CMU 的计算机视觉阅读小组的演示,所以偏向于视觉观众。感谢您的改进建议。工具

1.1 预备:潜变量模型

在训练生成模型时,维度之间的依赖性越复杂,模型训练就越困难。例如,生成手写字符图像的问题。简单地说,咱们只关心数字 0-9 的建模。若是字符的左半部分包含 5 的左半部分,则右半部分不能包含 0 的右半部分,不然很是明显字符看起来不像任何真实的数字。直观地说,若是模型在为任何特定像素指定值以前首先决定生成哪一个字符,它会有所帮助。这种决定被正式称为潜变量。也就是说,在咱们的模型绘制任何东西以前,它首先从集合中随机采样数字值,而后确保全部笔划与该字符匹配。 被称为“潜在”,由于只给出模型产生的字符,咱们不必定知道潜在变量的哪些设置产生了该字符。咱们须要使用相似计算机视觉的东西来推断它。学习

在咱们能够说咱们的模型表示咱们的数据集以前,咱们须要确保对于数据集中的每一个数据点X,潜变量有一个(或许多)取值,它会致使模型生成很是像X的东西。形式上,咱们在高维空间Z中有一个潜变量的向量z,咱们能够根据所定义的某些几率密度函数(PDF)P(z)轻松进行抽样。而后,假设咱们有一系列肯定性函数,在某些空间Θ中由矢量θ参数化,其中f: Z x Θ -> Xf是肯定性的,但若是是z随机的而且θ是固定的,则f(z;θ)产生空间X中的随机变量。咱们但愿优化θ,以便咱们能够从P(z)中采样z,而且f(z;θ)颇有可能将像咱们数据集中X的同样。优化

为了使这个概念在数学上精确,咱们的目标是在整个生成过程当中最大化训练集中每一个X的几率,根据:编码

(1)

这里,f(z;θ)已被分布P(X|z)取代,这使咱们能够经过全几率定律,使Xz的依赖性明确。这个框架背后的直觉称为“最大似然”,若是模型可能产生训练集样本,那么它也可能产生相似的样本,而且不太可能产生不一样的样本。在 VAE 中,这种输出分布的选择一般是高斯分布,即P(X|z;θ)=N(X|f(z;θ), σ^2 * I)。也就是说,它的均值为f(z;θ),协方差为单位矩阵乘以某些标量σ(这是一个超参数)。这种替换对于造成直觉是必要的,即某些z须要产生仅仅像X的样本。通常而言,特别是在训练初期,咱们的模型不会产生与任何特定X相同的输出。经过具备高斯分布,咱们可使用梯度降低(或任何其余优化技术)来增长P(X),经过使一些zf(z;θ)接近X,即逐渐使训练数据在生成模型下更加可能。若是P(X|z)是 Dirac delta 函数,这是不可能的,由于若是咱们肯定性地使用f(z;θ)就会这样!注意,输出分布不必定是高斯的:例如,若是是二项的,那么P(X|z)多是由f(z;θ)参数化的伯努利。重要的特性就是P(X|z)是可计算的,而且在θ中是连续的。今后开始,咱们将省略f(z;θ)θ的来避免混乱。

图 1:表示为图形模型的标准 VAE 模型。 注意任何结构或甚至“编码器”路径的显着缺失:能够在没有任何输入的状况下从模型中进行采样。 这里,矩形是“平板表示法”,这意味着咱们能够从zX采样N次,同时模型参数θ保持固定。

相关文章
相关标签/搜索