GAN与对抗自动编码器模型的选择


引言

在过去的几年里,生成模型在深度学习社区中受到了广泛关注。其中,对抗自动编码器 (AAE) 和生成对抗网络 (GAN) 是两种最流行的生成逼真图像的模型。AAE更擅长生成各种准确捕捉训练数据核心特征的图像,而GAN更擅长生成与训练数据高度相似的、高质量的图像。本文将讨论在图像生成问题中选择GAN和AAE模型。

生成对抗网络 (GAN)

Ian Goodfellow于2014年提出了生成对抗网络 (GAN)。GAN由两个神经网络组成:生成器网络和判别器网络。生成器网络接收一个随机噪声向量作为输入,并输出一个图像。判别器网络试图区分生成的图像和真实的图像。生成器网络的目标是生成与真实图像无法区分的图像,而判别器网络的目标是准确地区分真实图像和生成的图像。

另一方面,Alireza Makhzani等人于2015年提出了对抗自动编码器 (AAE)。AAE是GAN和自动编码器模型的结合。与GAN一样,AAE也包含一个生成器网络和一个判别器网络。然而,在AAE中,生成器网络是一个自动编码器,由编码器网络和解码器网络组成。编码器网络将输入图像映射到低维潜在空间,解码器网络将潜在向量转换回图像。在AAE中,判别器网络试图区分由编码器网络生成的潜在向量和来自先验分布的潜在向量。

生成对抗网络 (GAN) 是目前最著名的深度生成模型方法之一。GAN与VAE的主要区别在于,GAN以不同的方式优化模型分布以逼近真实分布,并旨在匹配像素级分布而不是数据分布。

训练GAN网络

我们知道GAN修改输入以遵循目标分布,那么GAN如何优化网络以学习输出分布呢?这可以通过“直接”和“间接”两种方法实现。“直接”方法比较真实分布和生成分布,识别差异,然后相应地调整网络。这种方法被生成匹配网络 (GMN) 所采用。另一方面,真实分布可能很难表达。不像高斯分布,只需均值和方差就能描述。直接表达真实和生成分布将很困难。取而代之的是,使用真实分布和生成分布的样本进行分布比较。通过真实和生成数据的样本,我们可以研究差异并估计分布。

对抗网络

对抗自动编码器 (AAE) 巧妙地结合了自动编码器的架构和GAN中的对抗损失思想。它使用对抗损失而不是KL散度来正则化潜在代码,类似于变分自动编码器 (VAE)。

VAE使用KL散度(分布之间的差异)(或任何选择的任意分布)将编码的潜在代码拟合到正态分布。AAE用对抗损失代替了这一点,增加了判别器的数量,并将编码器变成了生成器。与GAN不同的是,GAN的生成器的输出是生成的图像,判别器的输入包含真实图像和虚假图像;在AAE中,生成器产生潜在代码并试图欺骗判别器使其相信该潜在代码是来自预定义分布的样本。另一方面,判别器将判断特定的潜在代码是由自动编码器生成的(虚假)还是从正态分布中随机抽取的向量(真实)。

三种不同的编码器选择:

  • 编码器,与自动编码器中的编码器相同,将尝试将输入压缩成表示为向量z的所需特征。

  • 高斯后验编码器将使用两个变量(均值和方差)记录每个特征的高斯分布,而不是将每个特征编码为单个值。

  • 通用逼近器后验也用于将特征编码为分布。但是,我们不假设特征分布本质上是高斯分布。在这个例子中,编码器将是一个名为f(x, n)的函数,其中x是输入,n是任何可能的分布的随机噪声。

因此,AAE架构包含以下组件:

  • 编码器将输入转换为低维表示(潜在代码z)。

  • 解码器将潜在代码z转换为最终图像。

  • 判别器接收自动编码器的编码潜在代码z(虚假)和从预定义分布中随机选择的向量z(真实)。它将判断输入是真实的还是虚假的。

现在让我们讨论一些可以指导我们决定在图像生成任务中使用GAN还是AAE的因素:

  • 数据集:数据集类型会影响模型选择。如果数据集很大且多样化,GAN可能是更好的选择。GAN生成的图像质量高,可以捕捉数据集的多样性。另一方面,如果数据集较小且多样性较低,AAE可能更合适。AAE能够从较小的数据集中生成更多样化的图像。

  • 数量与质量:生成的图像数量和质量会影响模型的选择。如果主要目标是生成高质量图像,GAN可能是更好的选择。GAN能够生成逼真、清晰且美观的图像。但是,如果目标是生成大量的图像,AAE是更好的选择。

  • 熟练程度:用户的熟练程度会影响模型的选择。GAN以训练难度大而闻名,找到合适的超参数可能具有挑战性。相比之下,AAE更容易训练,并且比GAN更稳定。因此,如果用户缺乏深度学习经验,AAE可能是更好的选择。

结论

总之,在图像生成任务中选择GAN还是AAE,取决于数据集、质量与数量、应用场景、计算资源和用户熟练程度等因素。AAE擅长捕捉训练数据的本质,生成多样化的图像,而GAN更擅长生成与训练数据相似的、高质量的图像。AAE计算量较小,适合资源受限的环境。然而,如果图像质量至关重要,即使计算量更大,GAN仍然是首选。最终的选择取决于用户的技能水平和任务需求。

更新于:2023年7月13日

浏览量:174

开启你的职业生涯

完成课程获得认证

开始学习
广告