An introduction to Variational Auto Encoders (VAEs)
Understanding Variational Autoencoders (VAEs) from theory to practice using PyTorch
Jun 17 ·10min read
VAE are latent variable models [1,2]. Such models rely on the idea that the data generated by a model can be parametrized by some variables that will generate some specific characteristics of a given data point. These variables are called latent variables.
One of the key ideas behind VAE is that instead of trying to construct a latent space (space of latent variables) explicitly and to sample from it in order to find samples that could actually generate proper outputs (as close as possible to our distribution), we construct an Encoder-Decoder like network which is split in two parts:
- The encoder learns to generate a distribution depending on input samples X from which we can sample a latent variable that is highly likely to generate X samples. In other words we learn a set of parameters θ1 that generate a distribution Q(X,θ1) from which we can sample a latent variable z maximizing P(X|z).
- The decoder part learns to generate an output which belongs to the real data distribution given a latent variable z as an input. In other words, we learn a set of parameters θ2 that generates a function f(z,θ2) that maps the latent distribution that we learned to the real data distribution of the dataset.
In order to understand the mathematics behind Variational Auto Encoders, we will go through the theory and see why these models works better than older approaches.
This article will cover the following
- How to define the construct the latent space
- How to generate data efficiently from latent space sampling.
- The final architecture of VAEs
- Some experiments showing interesting properties of VAEs
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入理解计算机系统
Randal E.Bryant、David O'Hallaron / 龚奕利、雷迎春 / 中国电力出版社 / 2004-5-1 / 85.00元
从程序员的视角,看计算机系统! 本书适用于那些想要写出更快、更可靠程序的程序员。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好的理解程序的行为为什么是这样的,以及效率低下是如何造成的。粗略来看,计算机系统包括处理器和存储器硬件、编译器、操作系统和网络互连环境。而通过程序员的视角,读者可以清晰地明白学习计算机系统的内部工作原理会对他们今后作为计算机科学研究者和工程师的工作有......一起来看看 《深入理解计算机系统》 这本书的介绍吧!