万字长文带你了解变分自编码器VAEs
原文标题:Understanding Variational Autoencoders (VAEs)
原文链接:/understanding-variational-autoencoders-vaes-f70510919f73
原文作者:Joseph Rocca & Baptiste Rocca
最近比较关注文本生成任务,除了用到传统的seq2seq模型,还涉及到一些GAN和VAE的知识。这篇是看的资料里介绍VAE比较好的一篇文章,就翻译了一下,推荐给大家。
正则化协方差∙简介
o大纲
降维,PCA和自编码器
o什么是降维?
o主成分分析(PCA)
o自编码器
变分自编码器(VAE)
o自编码器用于内容生成的局限性
o变分自编码器的定义
o关于正则化的直观解释
VAE的数学细节
o概率框架和假设
o变分推理公式
o将神经网络引入模型
总结
简介
在过去的几年中,由于一些惊人的进步,基于深度学习的生成模型越来越受到关注。依靠大量数据,精心设计的网络结构和训练技术,深度生成模型已经显示出了令人难以置信的能力,可以生成高度逼真的各种内容,例如图像,文本和声音。在这些深度生成模型中,有两个类别脱颖而出,值得特别关注:生成对抗网络(GAN)和变分自编码器(VAE)。
VAE生成的人脸图片
在今年1月发布的文章中,我们深入讨论了生成对抗网络(GANs),并展示了对抗训练如何对抗两个网络(生成器和鉴别器),以推动这两个网络同时迭代。在这篇文章中,我们将介绍另一种主要的深度生成模型:变分自编码器(VAE)。简而言之,VAE是一种自编码器,在训练过程中其编码分布是规范化的,以确保其在隐空间具有良好的特性,从而允许我们生成一些新数据。术语“变分”源自统计中的正则化和变分推理方法。
虽然最后两句话很好地概括了VAE的概念,但是它们也会引出很多问题。什么是自编码器?什么是隐空间,为什么要对其进行规范化?如何用VAE生成新数据?VAE与变分推理之间有什么联系?为了尽可能详细地描述VAE,我们将尝试回答所有这些问题(以及许多其他问题!),并为读者提供尽可能多的知识(从基本直觉到更高级的数学细节)。因此,本文的目的不仅是讨论变分自编码器所依赖的基本概念,而且还要逐步构建出导致这些概念的推理过程。
事不宜迟,让我们一起(重新)发现VAE!
大纲
在第一部分中,我们将回顾一些有关降维和自编码器的重要概念,这些概念将有助于理解VAE。在第二部分中,我们将说明为什么不能使用自编码器来生成新数据,并将介绍变分自编码器,它们是自编码器的规范化版本,使生成数据成为可能。在最后一节中,我们将基于变分推论对VAE进行更数学的描述。
注意:在最后一节中,我们试图使数学推导尽可能完整和清楚,以弥合直觉和方程之间的差距。但是,不想深入了解VAE的数学细节的读者可以跳过本节,而不会影响对主要概念的理解。还要注意,在本文中,我们将大量使用以下符号:对于随机变量,我们将用表示该随机变量的分布(或密度,取决于上下文)。
降维,PCA和自编码器
在这部分中,我们将从讨论与降维有关的一些概念开始。特别地,我们将简要回顾主成分分析(PCA)和自编码器,以展示这两种思想之间的相互关系。
什么是降维?
在机器学习中,降维是减少描述某些数据的特征数量的过程。可以通过选择(仅保留一些现
有特征)或通过提取(基于旧特征来生成数量更少的新特征)来进行降维。降维在许多需要低维数据(数据可视化,数据存储,繁重的计算...)的场景中很有用。尽管存在许多不同的降维方法,但是我们可以构建一个适用于大多数方法都的总体框架。
首先,我们称编码器为从“旧特征”表示中产生“新特征”表示(通过选择或提取)的过程,然后将逆过程称为解码。降维可以理解为为数据压缩,其中编码器压缩数据(从初始空间到编码空间,也称为隐空间),而解码器将其解压缩。当然,根据初始数据分布、隐空间大小和编码器定义,压缩可能是有损的,这意味着一部分信息在编码过程中丢失,并且在解码时无法恢复。
编码器和解码器
降维方法的主要目的是在给定候选中到最佳的编码器/解码器对。换句话说,对于给定的一组可能的编码器和解码器,我们希望编码时保持信息量最大,从而在解码时具有尽可能小的重构误差。如果我们分别用和表示我们正在考虑的编码器和解码器,则降维问题可以表示为

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。