生成对抗网络 - 架构与类型



生成对抗网络 (GAN) 通常使用卷积神经网络 (CNN) 等架构。GAN框架由两个神经网络组成:**生成器**和**判别器**。这两个网络扮演着重要的角色,生成器专注于创建新数据,而判别器则对其进行评估。阅读本章,了解GAN的架构、组件、类型及其使其如此强大的机制。

生成器在GAN架构中的作用

GAN架构的第一个主要部分是生成器。让我们看看它的功能和结构:

生成器:功能和结构

生成器的主要目标是生成新的数据样本,这些样本旨在类似于数据集中的真实数据。它从一个随机噪声向量开始,并通过全连接层(如Dense或卷积层)将其转换以生成合成数据样本。

生成器:层和组件

以下是生成器神经网络的层和组件:

  • **输入层** - 生成器接收低维随机噪声向量或输入数据作为输入。
  • **全连接层** - FLC用于增加输入噪声向量的维数。
  • **转置卷积层** - 这些层也称为反卷积层。它用于上采样,即生成具有比输入特征图更大的空间维度的输出特征图。
  • **激活函数** - 两个常用的激活函数是:**Leaky ReLU**和**Tanh**。Leaky ReLU激活函数有助于减少ReLU单元死亡问题,而Tanh激活函数确保输出在特定范围内。
  • **输出层** - 它产生最终的数据输出,例如特定分辨率的图像。

生成器:目标函数

生成器神经网络的目标是创建判别器无法区分于真实数据的数据。这是通过最小化生成器的损失函数实现的:

$$\mathrm{L_{G} \: = \: \log(1 \: - \: D(G(Z)))}$$

这里,G(z) 是生成的数据,D(⋅) 表示判别器的输出。

判别器在GAN架构中的作用

GAN架构的第二部分是判别器。让我们看看它的功能和结构:

判别器:功能和结构

判别器的主要目标是将输入数据分类为真实数据或由生成器生成的数据。它将数据样本作为输入,并输出一个概率值,指示样本是真是假。

判别器:层和组件

以下是判别器神经网络的层和组件:

  • **输入层** - 判别器接收来自真实数据集或生成器的样本作为输入。
  • **卷积层** - 它用于对输入数据进行下采样以提取相关特征。
  • **全连接层** - FLC用于处理提取的特征并进行最终分类。
  • **激活函数** - 它使用Leaky ReLU激活函数来解决梯度消失问题。它还引入了非线性。
  • **输出层** - 正如其名称所示,它输出一个介于0和1之间的单个概率值,指示样本是真是假。

判别器:目标函数

判别器神经网络的目标是最大化其正确区分真实数据和生成数据的能力。这是通过最小化判别器的损失函数实现的:

$$\mathrm{L_{D} \: = \: -(\log D(X) \: + \: \log(1 \: - \: D(G(Z))))}$$

这里,“x”是真实数据样本。

生成对抗网络类型

根据生成器和判别器网络相互交互的方式,我们可以拥有不同类型的GAN模型。以下是一些值得注意的变体:

Vanilla GAN

Vanilla GAN 代表生成对抗网络 (GAN) 的最简单形式。它提供了对 GAN 工作原理的基本理解。“Vanilla”一词意味着这是最简单的形式,没有任何高级修改或增强。

深度卷积GAN (DCGAN)

DCGAN 是 GAN 最流行的实现之一。它由**卷积网络 (ConvNets)**代替**多层感知器**来稳定 GAN 训练。这些准则显著稳定了 GAN 的训练,尤其是在图像生成任务中。

DCGAN的一些关键特性包括:

  • 带步长的卷积
  • 批归一化
  • 移除全连接隐藏层

条件GAN (cGAN)

条件GAN (cGAN) 将附加的条件信息(如类别标签、属性甚至其他数据样本)包含到生成器和判别器中。借助这些条件信息,条件GAN使我们可以控制生成输出的特性。

CycleGAN

CycleGAN 用于非配对图像到图像的转换任务,其中输入和输出图像之间没有关系。循环一致性损失用于确保从一个域转换到另一个域再转换回来会产生一致的结果。

渐进式GAN (ProGAN)

ProGAN 通过在训练期间逐步提高生成器和判别器的分辨率来生成高分辨率图像。使用这种方法,可以创建更详细和更高质量的图像。

StyleGAN

StyleGAN是由英伟达开发的,专门用于生成逼真的高质量图像。它们引入了一些创新的图像合成技术,并对特定属性具有更好的控制能力。

拉普拉斯金字塔GAN (LAPGAN)

拉普拉斯金字塔GAN (LAPGAN) 是一种生成对抗网络,它使用多分辨率方法来生成高质量图像。它使用拉普拉斯金字塔框架,其中图像在多个尺度上生成。

与标准 GAN 相比,LAPGAN 在创建详细和逼真的图像方面更有效。

结论

GAN使我们能够在各个领域创建逼真的数据。在本章中,我们解释了GAN的架构和机制。

广告