理解辅助分类器:GAN
先决条件: GAN(通用对抗网络)
在本文中,我们将讨论一种特殊的类条件 GAN 或 c-GAN,称为辅助分类器 GAN 或 AC-GAN。在开始之前,了解什么是类条件 GAN 是很重要的。
类条件 GAN (c-GAN):
c-GAN 可以理解为带有一些条件参数的 GAN。我们考虑原始 GAN 框架并以类标签的形式添加先验信息。在 c-GAN 中,生成器中添加了一个额外的参数“y”,用于生成相应的数据。标签也被放入判别器的输入中,以便判别器帮助区分真实数据和假生成数据。
在哪里,
L = 正确预测的可能性。
S = 来源(真/假)
X = 输入图像
P = 概率分布
直觉:
直观地看,生成器和判别器是两个神经网络。目标是使生成器生成与输入图像相似的图像。
Step 1 - The Generator (G) takes in the input image (x) and generates its own image of a shoe (G(x)).
Step 2 - The generated image and the input image is then fed to the Discriminator (D) that compares the two images
and tells if it is a real or a generated fake image.
Step 3 - So the Discriminator backpropagates information back to the Generator and tells it what was missing from
the generated image when compared to the original image (y).
Step 4 - Repeat the above three steps until the error generated by the Discriminator has reached the minimum.
This information makes the Generator generate more accurate images. This is how the c-GAN model is trained.
辅助分类器:GAN
辅助分类器 GAN 只是类条件 GAN 的扩展,它要求鉴别器不仅要预测图像是“真实”还是“伪造”,还必须提供图像的“来源”或“类别标签”。给定的图像。
例如,如果生成器生成鞋子的图像,模型必须预测它是真实图像还是假图像,并预测真实图像和生成图像的“类别标签”。
AC-GAN 架构:
AC-GAN 架构包括生成器 2 模型:
生成器:它从潜在空间中获取随机点作为输入并生成图像。
鉴别器:它将图像分类为真实的(来自数据集)或假的(生成的)并预测类标签。
在AC-GAN中,对基本GAN模型的训练进行了改进。
在这里,生成器提供了两个参数而不是一个。它从潜在空间中获取随机点以及类标签作为输入,它尝试为该类生成图像。添加类标签作为输入使得图像生成和分类过程依赖于类标签,因此得名。使用这个 Generator 模型,训练过程变得更加稳定,现在可以使用类标签生成特定类型的图像。
这里的鉴别器提供了图像和类标签。所以现在,它必须对图像是真还是假(与以前相同)进行分类,并且还必须预测图像的类别标签。
这里的目标函数现在有两部分:
在哪里,
L S = 预测正确来源的可能性。
S = 来源
X = 输入图像
在哪里
LS = 预测正确类别的可能性。
c = 类别标签
X = 输入图像
训练模型的主要目标是这样的
- 训练鉴别器以最大化L C +L S 。
- 生成器被训练以最大化L C - L S 。
与 GAN 模型的工作类似,这里发生了一个“极大极小博弈”,其中鉴别器试图最大化其奖励 (L c + L s ),而生成器试图最小化鉴别器的奖励 (L c – L s ) ,即最大化其损失。
提供的附加信息有助于更好地训练模型,并产生比以前的模型更好的输出。
与之前型号的效率比较:
在早期的模型中,观察到在使用相同模型的同时增加类的数量会降低模型生成的输出的质量。但在这里,AC-GAN 模型允许将大型数据集分成子集(按类别),并为每个子集单独训练生成器和鉴别器模型。
在结构上,该模型与现有的 GAN 模型非常相似。但是,上面对基础 GAN 模型所做的更改往往会提供出色的结果并稳定训练过程。