Answers.Body: <p><strong>Auto-encoders are widely used</strong> and maybe even more used than GANs (in fact, auto-encoders are older than GANs, although the main general idea behind GANs is quite old). For example, auto-encoders are used in <a href="https://worldmodels.github.io/" rel="nofollow noreferrer">World Models</a>, for drug design (e.g. see <a href="http://proceedings.mlr.press/v80/jin18a.html" rel="nofollow noreferrer">this paper</a>) and many other tasks that involve data compression or generation.</p>
  <blockquote>
  <p>So, if we train autoencoders, for example, on cats vs dogs dataset, and then cut off the decoder part and then input random noise vector, wouldn't it do the same job?</p>
  </blockquote>
  <p>Yes, the encoder part of the auto-encoder produces a vector that represents the input in a compressed form. You may also be interested in <strong>denoising auto-encoders</strong>, but there are other variations, such as convolutional auto-encoders or variational auto-encoders.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-03T08:04:12.593Z
Answers.Text: The work done in World Models blew my mind. Do you know about any application of generative modeling for robotics?
Answers.UserDisplayName: conscious_process
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-03T10:07:37.807Z
Answers.Text: @MightestDuck Off the top of my head, no, but I am sure they have been used in robotics too.
Answers.UserDisplayName: nbro
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-02T23:37:39.500Z
Answers.LastActivityDate: 2020-09-27T19:21:54.213Z
Answers.LastEditDate: 2020-09-27T19:21:54.213Z
Answers.UserDisplayName: nbro
Answers.Body: <p>In fact, autoencoders are used for generative tasks. Have a look at <a href="https://arxiv.org/pdf/1606.05908.pdf" rel="nofollow noreferrer">Tutorial on Variational Autoencoders</a> (VAEs).</p>
  <p>The coolest thing about VAE is that abstract features can be easily amplified or suppressed based on extracted vectors from the latent space. Let's imagine a model trained on MNIST to generate digits. If you take two images of the same digit which only vary in thickness, encode both of them and subtract the two vectors, the resulting vector will be a description of thickness in the latent space. Now you can generate an arbitrary digit and incrementally adjust its thickness based on that vector.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-01T09:07:57.300Z
Answers.LastActivityDate: 2020-09-01T09:07:57.300Z
Answers.UserDisplayName: conscious_process
Body: <p>I have watched Stanford's lectures about artificial intelligence, I currently have one question: why don't we use autoencoders instead of GANs?</p>
  <p>Basically, what GAN does is it receives a random vector and generates a new sample from it. So, if we train autoencoders, for example, on cats vs dogs dataset, and then cut off the decoder part and then input random noise vector, wouldn't it do the same job?</p>
  
Tags: <computer-vision><generative-adversarial-networks><autoencoders>
Title: Why don't we use auto-encoders instead of GANs?
UserDisplayName: dato nefaridze
ThreadText: # Why don't we use auto-encoders instead of GANs?
  
  (Asked by: username_0 on 2020-08-31)
  
  I have watched Stanford's lectures about artificial intelligence, I currently have one question: why don't we use autoencoders instead of GANs?
  
  Basically, what GAN does is it receives a random vector and generates a new sample from it. So, if we train autoencoders, for example, on cats vs dogs dataset, and then cut off the decoder part and then input random noise vector, wouldn't it do the same job?
  
  **Tags:** computer-vision, generative-adversarial-networks, autoencoders
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2020-09-02. Score: 4 | Accepted answer
  
  **Auto-encoders are widely used** and maybe even more used than GANs (in fact, auto-encoders are older than GANs, although the main general idea behind GANs is quite old). For example, auto-encoders are used in [World Models](https://worldmodels.github.io/), for drug design (e.g. see [this paper](http://proceedings.mlr.press/v80/jin18a.html)) and many other tasks that involve data compression or generation.
  
  > So, if we train autoencoders, for example, on cats vs dogs dataset, and then cut off the decoder part and then input random noise vector, wouldn't it do the same job?
  
  Yes, the encoder part of the auto-encoder produces a vector that represents the input in a compressed form. You may also be interested in **denoising auto-encoders**, but there are other variations, such as convolutional auto-encoders or variational auto-encoders.
  
  > **Comments:**
  > **username_2**: The work done in World Models blew my mind. Do you know about any application of generative modeling for robotics?  
  > **username_1**: @MightestDuck Off the top of my head, no, but I am sure they have been used in robotics too.  
  
  ---
  
  ### Answer by username_2 on 2020-09-01. Score: 4
  
  In fact, autoencoders are used for generative tasks. Have a look at [Tutorial on Variational Autoencoders](https://arxiv.org/pdf/1606.05908.pdf) (VAEs).
  
  The coolest thing about VAE is that abstract features can be easily amplified or suppressed based on extracted vectors from the latent space. Let's imagine a model trained on MNIST to generate digits. If you take two images of the same digit which only vary in thickness, encode both of them and subtract the two vectors, the resulting vector will be a description of thickness in the latent space. Now you can generate an arbitrary digit and incrementally adjust its thickness based on that vector.
  
  
  ---
  
  