VAE 。即Auto-encoding variational bayes是13年由Kingma, Diederik P., and Max Welling. 提出的 。
论文地址:https://arxiv.org/abs/1312.6114
想要深刻理解VAE背后的原理需要一定的数学基础 。其中涉及到变分推理和贝叶斯等 。本文的重点放在对VAE的思想的理解上 。重点并不是怎么去做公式的推导和解释 。
首先 。VAE是结合了神经网络和贝叶斯思想做的变分推理 。那神经网络 。在这其中起到什么作用呢?
我们知道我们可以通过增加神经网络的复杂结构 。来增强神经网络的非线性拟合功能 。因此可以用神经网络去逼近一些比较复杂的函数 。这些函数如果不用神经网络逼近的话 。可能非常复杂 。甚至无法以非常显形的方式建模出来(要知道 。只有一部分自然界中的规律能让我们用数学公式抽象地表达出来) 。
我们再来继续看 。VAE中哪一步需要神经网络的帮助?
VAE是生成模型 。先不看VAE 。简单地说 。如果我们想要生成一个数据 。可以通过什么样的方式做到呢?如下图所示 。比如 。我们输入一个向量[1, 0, 0, 0] 。想让它经过神经网络后生成一张猫的图片 。我们不断训练这个网络去减小生成的图像和原始图像的平均平方误差 。那么训练完后 。这个图像的信息就被保留在了网络的参数中 。
文章插图
按照这个想法 。我们再向网络输入[0, 1, 0, 0]代表狗 。让网络能生成一个狗的图片 。基于这个思想 。我们可以上升一个层次扩展下去 。我们可以不输入独热编码 。而是输入实数值向量 。从而能用更低维度的向量 。编码更多的图片 。例如可以输入 [3.3, 4.5, 2.1, 9.8]代表猫 。输入[3.4, 2.1, 6.7, 4.2] 代表狗 。这个已知的初始向量就对应了VAE中提到的概念latent variable 。而上述得到的网络叫做解码器 。因为给网络输入一个指定的向量 。就能把这个向量通过网络解码得到与编码向量对应的一张图片 。但这么做的前提是 。你已经知道在latent variable这个集合中 。怎样的向量输给网络能生成猫 。怎样的向量输给网络能生成狗 。如果你不知道这个latent variable 。你会怎么办 。你只能去试 。比如随机选一个latent variable向量输进网络 。看结果会不会是你想要的猫或者狗 。但这种做法实在是一言难尽 。一点不像是搞科研的人干的事情 。
因此 。我们需要一个编码器 。能够把输入的图像进行编码 。而这个编码的结果不再是规律不可循的了 。而是服从我们指定的简单的分布 。这个编码的结果服从的分布 。一方面是基于输入数据的 。因此它也具备了能被解码器解码回去的能力 。另一方面 。它服从一种简单的我们能够掌握的分布 。因此我们能够有规律可循的生成一个latent variable 。把这个latent variable输入给解码器 。就能生成一张图片 。我们把latent variable记作Z(Z是可以有很多分量 。同时它的分量也可以是一个多维向量 。总之Z可以是一个多维的向量) 。而Z的这个分布我们可以记作q(Z) 。
实际上 。真实世界的过程应该是这样的 。比如对于一张动物图片 。决定它是一个猫还是一个狗 。应该是由很多隐含变量的 。比如图片中的动物眼睛、鼻子、嘴、耳朵都是什么样的、而且这个变量之间往往不是相互独立的 。是错综复杂的关系 。这个真实世界中的latent variable的分布我们记作p(Z) 。真实世界生成一种张图片的过程应该是:
我们先在p(Z)中选在一个编码向量 。在根据这个编码向量生成图片 。就是因为真实的先验概率p(Z)实在不好捕捉和发现 。我们才利用VAE中的encoder去编码一个q(Z) 。这个q(Z)的意义就是为了去逼近近似p(Z) 。能完成p(Z)的功能 。即采样之后能生成一张图片的功能 。
因此 。我们就能理解VAE中的loss函数的组成了 。一方面 。是图片的重构误差 。我们可以用平均平方误差来度量 。另一方面 。我们可以用KL散度来度量我们的q(Z)分布和p(Z)分布的差异 。
最后 。我们给出利用VAE生成手写数字的结果:
文章插图
感兴趣的同学也可以看一下 。下面的有关VAE的更详细的论文:
http://lanl.arxiv.org/pdf/1606.05908v2
其他观点:
代码详解:一文读懂自动编码器的前世今生 。希望对你有帮助~
全文共5718字 。预计学习时长20分钟或更长
文章插图
变分自动编码器(VAE)可以说是最实用的自动编码器 。但是在讨论VAE之前 。还必须了解一下用于数据压缩或去噪的传统自动编码器 。
推荐阅读
- 做人做事脚踏实地的经典语录 做人做事脚踏实地的名言警句
- 皋兰县学校 2023皋兰县小学一年级招生报名政策
- 结婚三年了,发现老公越来越没有担当,越来越懒了!怎么说都不管用怎么办?
- 2023江苏省本科批次录取时间 江苏省本一批次录取时间
- 2023年仙桃市中考一分一段统计表公布 湖北省仙桃市2021中考一分一段
- 太原市实验中学多少分 太原市实验中学校中考录取分数线
- 筋膜枪对疏通经络有用吗
- 2023仙桃中考录取分数线是多少啊 2023仙桃中考录取分数线是多少
- 深度学习相关的职位面试时一般会问什么?会问一些传统的机器学习算法吗?