变分自编码器(VAE)
今天我们接着来聊聊VAE
上期回顾:#宽客进化:什么是变分自动编码器 (VAE)
VAE的思想
我们可以把我们观察到的数据看作是由相关的看不见的潜在变量表示或生成的,我们可以用随机变量z表示。
我们在现实世界中遇到的对象也可以作为一些更高层次表示的函数生成;例如,我们可以封装诸如颜色、大小、形状等抽象属性。然后,我们观察到的东西可以被解释为三维投影或这种抽象概念的实例化.
VAE就是基于隐空间的思想进行展开,VAE会构建两个部分,分别是编码器与解码器. 编码器负责将数据映射到隐空间.而解码器负责将隐空间的数据解码成真实数据.
我们依然使用极大似然估计来化简我们的模型,以期求得概率分布

通过简单的变换,我们发现概率分布的对数是大于一个分布的,这个被称为ELOB.我们没有办法趋近概率分布,但是我们可以趋近于ELBO.

我们换一种方式来分解概率分布P(x)发现了ELBO与概率分布的真实关系.
概率分布等于ELBO与一个KL散度之前的和.所以我们可以最大化ELBO.
这样就会让KL散度的值越来越小.也就是说,模型构建的隐空间分布与真实的隐空间分布之间的距离越来越接近.
这就意味着我们学到了隐空间的内容.

我们可以将ELBO再次进行分解,分解为重建误差,与隐空间误差.并以ELBO的相反数为模型的损失函数,这样我们就可以构建网络来优化这个损失就行了.
其中p_theta 表示解码器 q_theta 表示编码器,编码器和解码器都可以直接使用神经网络进行建模.

其实ELBO是真实分布的变分下界,之所以用变分下界而不是直接拟合真实分布,纯属于无奈之举.为了让模型可以落地,必须将问题进行适当的简化.ELBO也是其中一种简化的方式.
下期内容:
Diffusion的前身,Hierarchical Variational Autoencoders
关注 #@宽客进化,了解更多合成数据应用。
编辑:时光小篆
#北京宽客进化科技有限公司
——用数据智慧加速人工智能
whole 0 Comments