为什么我们不使用自动编码器而不是 GAN?

人工智能 计算机视觉 生成对抗网络 自动编码器
2021-11-17 02:48:14

我看过斯坦福关于人工智能的讲座,我目前有一个问题:为什么我们不使用自动编码器而不是 GAN?

基本上,GAN 所做的是它接收一个随机向量并从中生成一个新样本。那么,如果我们训练自动编码器,例如,在猫对狗数据集上,然后切断解码器部分,然后输入随机噪声向量,它不会做同样的工作吗?

2个回答

自动编码器被广泛使用,甚至可能比 GAN 使用得更多(事实上,自动编码器比 GAN 更早,尽管 GAN 背后的主要总体思想相当古老)。例如,自动编码器用于世界模型、药物设计(例如参见本文)和许多其他涉及数据压缩或生成的任务。

那么,如果我们训练自动编码器,例如,在猫对狗数据集上,然后切断解码器部分,然后输入随机噪声向量,它不会做同样的工作吗?

是的,自动编码器的编码器部分会生成一个向量,该向量以压缩形式表示输入。您可能还对去噪自动编码器感兴趣,但还有其他变体,例如卷积自动编码器或变分自动编码器。

事实上,自动编码器用于生成任务。查看关于变分自动编码器 (VAE) 的教程。

VAE 最酷的地方在于,可以根据从潜在空间中提取的向量轻松放大或抑制抽象特征。让我们想象一个在 MNIST 上训练来生成数字的模型。如果您拍摄两个仅在厚度上不同的相同数字的图像,对它们进行编码并减去两个向量,得到的向量将是潜在空间中厚度的描述。现在您可以生成任意数字并根据该向量逐步调整其粗细。