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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
测试驱动开发的艺术
Lasse Koskela / 李贝 / 人民邮电出版社 / 20101023 / 59.00元
在传统的软件开发中,开发人员对于代码是否正确心中无底,一切依赖于后期的测试环节。极限编程反其道而行之,主张采用测试驱动开发(TDD)的方法,即通过测试定义所要开发的功能的接口,然后实现功能的开发过程。TDD通过不断地测试推动代码的开发,既简化了代码,又保证了软件质量。 本书采用“手把手”的教学方式,通过大量实例来解释TDD,还专门用几章的篇幅来讲解如何为难于测试的技术编写单元测试。全书内容循......一起来看看 《测试驱动开发的艺术》 这本书的介绍吧!