变分自动编码器介绍
Published:
VAEs的介绍
变分自动编码器介绍
https://towardsdatascience.com/intuitively-understanding-variational-autoencoders-1bfe67eb5daf
按照这个帖子介绍VAEs的概念,基本结构、重构损失函数(reconstruction loss)等等。
VAEs的基础是自动编码器,自动编码器由于通过编码将信息进行压缩,同时将编 码信息复原,通过重构损失函数比较复原的好坏,从而判断编码的质量,通过神 经网络的训练过程,获得较高质量的编码,这些编码可以用于后续的信息处理, 因而训练好的自动编码器,往往只是使用前半部分的编码网络。
传统自动编码器的问题是它一般将输入编码成离散的、可区分的编码空间,从而 使得解码器更容易工作,传统自动编码器往往用于信息的去噪处理,但是自动编 码器很难用于生成模型,因为编码器的输出不是连续的编码,不能微分,因此反 向传播算法不能使用。 传统自动编码器往往适用于信息的重新复原,很难用于 生成新的数据。因为编码的隐变量空间不是连续的,期间有间隙,如果是在间隙 中采用隐变量,则解码器不能产生相似的数据。
变分自动编码器就是要解决上述困难,其和传统的自动编码器的最大区别是,编 码器输出的不是单一的n维隐变量,而是两个n维向量,分别对应某种分布的均值 和方差(一般采用高斯分布),同时解码器的输入也不是隐变量,而是上面这种 分布的一个采样。也就是说变分编码器中解码器的输入不是一个点,而是一个范 围,范围的大小由编码器的方差变量决定。为了使得变分编码器的编码输出隐变 量空间是连续的,它的损失函数除了传播编码器的重构损失函数外,还要加上KL 交叉熵损失函数。这两种损失函数迫使变分自动编码器能生成一个连续的隐空间 编码分布。
Variational Inference A review for Statisticians
Variational Inference A Review for Statisticians 1601.00670
变分自动编码器和马尔科夫蒙特卡洛方法的最大区别是,MCMC是利用马尔科夫链 来抽样,从而计算复杂函数的积分或函数值,而VAE则是利用优化的方法求解函 数的最优值。MCMC比较耗时但是可以得到较精确的概率分布,而VAE只能得到目 标概率的近似边界,但是其优化速度较快。
变分推导的目的是寻找已有数据下隐变量的条件概率分布密度,重点利用参数优 化的方法得到这个概率密度分布。