深度学习【24】变分自编码

本文深入探讨了变分自编码(VAE)的概念,从变分贝叶斯理论出发,介绍了如何通过变分自编码来逼近后验概率。论文《Auto-Encoding Variational Bayes》作为基础,讨论了变分自编码的网络结构,包括编码器和解码器的设计,以及利用KL散度和重构误差构建的损失函数。此外,还提到了在实际应用中采用的可导蒙特卡罗采样算法。
摘要由CSDN通过智能技术生成

变分自编码

论文:Auto-Encoding Variational Bayes

(https://arxiv.org/pdf/1312.6114v10.pdf)

在最大化含有隐藏变量的后验概率问题时,一般我们可以用EM算法,采样算法以及变分贝叶斯等方法。其中变分贝叶斯是用一个较为简单的Q函数去逼近后验概率密度函数,其中的主要问题是如何求解Q函数。传统的变分贝叶斯,其Q函数的求解可以用平均场理论。在变分自编码中,作者将要求解的Q函数假设为高斯分布,这样一来直接将问题转化成求解Q函数的均值和方差。

为了更好的理解变分自编码,我们首先应该知道一些变分贝叶斯的理论基础。因此,我们会先简单介绍一下变分法和变分贝叶斯。

1.泛函与变分法

首先我们看一个经典数学问题,最速线问题。该问题的描述是:在重力作用且忽略摩擦力的情况下,一个质点在一点A以速率为零开始,沿某条曲线,去到一点不高于A的B,怎样的曲线能令所需的时间最短呢?

将该问题看作一个”函数“,那么该“函数”的特点是:其定义域为函数(曲线),而值域为实数(最短距离)。我们称类似这样的”函数”为泛函。而求解泛函极值的方法称为变分法。

2.变分贝叶斯

我们都知道贝叶斯的目的是求得后验概率,朴素贝叶斯是这样的,假设已知P(A),P(A|B),P(B),我们可以根据贝叶斯公式求得后验概率P(B|A):

P(B|A)=P(A|B)P(B)P(A) P ( B | A ) = P ( A | B ) P ( B ) P ( A )
(1)

由于朴素贝叶斯公式中的先验概率分布以及各种边沿概率分布都比较好求,因此可以直接利用贝叶斯公式。然而在有些情况下,我们不可能获取所有事件的数据,如事件B,这就是含有隐藏变量的情况。或者后验概率及其复杂,很难求解。在这些情况下,我们就无法根据贝叶斯公式直接求的后验概率。这样的情况下,特别是后验概率分布未知且难以求解的情况下,我们可以利用变分贝叶斯求解。

后验概率函数太复杂,那么我们是否可以用一个简单一点的函数来逼近?答案是可以的,我们称这个函数为Q。因此,我们现在的问题是,如何从众多的相对简单的函数中找到一个合适的函数来逼近后验概率函数。这其实就是变分问题,在引入Q函数后的贝叶斯公式就是一个泛函。尽管这是个变分问题,但是我们没有必要对变分法非常熟悉。我们上面说了那么多就是为了说明什么是变分贝叶斯。

那么我们用数学语言来描述变分贝叶斯。假设有已知数据X,求隐藏变量Z的后验概率P(Z|X)。我们之前说过用Q(Z)来逼近P(Z|X)。那么我们可以用KL散度来度量Q(Z)和P(Z|X)的相似度,我们的目标也就是最小化KL散度,即:

DKL(Q(Z)||P(Z|X))=Q(Z)logQ(Z)P(Z|X)dZ=Q(Z)logQ(Z)P(Z,X)dZ+l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值