什么是生成对抗网络(GAN)2024年10月22日 | 阅读 10 分钟 引言在本教程中,我们将讨论生成对抗网络(GAN)。GAN是深度学习的一种架构。生成对抗网络由两个神经网络组成。这两个网络在一个零和博弈框架中相互竞争。生成对抗网络(GAN)可以被描述为一种极其强大的神经网络,用于辅助无监督学习。它们由 Ian J. Goodfellow 于 2014 年创建并首次推出。GAN 由两个相互竞争的神经网络组成,可以分析数据集中的变化。生成对抗网络生成新的数据,这些数据与一些已知的数据分布相匹配。 GAN 是一种生成建模方法,它使用深度学习方法,如 CNN(卷积神经网络)。生成建模是一种无监督学习方法,可以自动发现和学习输入数据中的模式,以便模型可以用于来自原始数据集的新示例。 GAN 是一种通过将问题构建为监督学习问题并使用两个子模型来训练生成模型的方法。GAN 具有两个组成部分:
当生成器生成假数据时,判别器可以区分伪造数据和原始数据。 示例生成器生成随机图像(例如,生成器生成一些随机图像(例如,表格),然后判别器将这些图像与真实世界的表格图像进行比较。最后,生成器直接将反馈发送给生成器。参见下图中的 GAN 结构。 ![]() GAN 最初是如何发明的?生成对抗网络或 GAN 最初是被发明的。其背后的原因在此进行了讨论。众所周知,主流研究中使用的大多数神经网络很容易被引入微小噪声的数据所误导。令人惊讶的是,添加噪声后修改的模型出现错误的概率比它做出正确预测时更高。这是因为机器从最少量的数据中学习。这是一个主要缺点,因为它可能导致过拟合。输入和输出之间的关系几乎是线性的。虽然不同类别之间的分隔线可能是线性的,但它们是由线性组成的,即使特征空间中的一个点的微小变化也可能导致数据被错误分类。 GAN 如何工作?生成对抗网络(GAN)可以分解为三个部分,下面将进行讨论:
之前我们说过 GAN 有两个神经网络。一个是生成器,另一个是判别器。生成器用于生成假数据或伪造数据。另一方面,判别器用于识别伪造数据。伪造数据可以是生成器生成的图像、音频、视频等。这两个神经网络在训练阶段进行竞争。生成器和判别器的步骤会重复多次。并且随着时间的推移,结果会比之前的结果更好。在下面的图中,我们可以可视化这个过程。 生成模型可以捕捉数据分布。它试图最大化判别器出错的概率。因此,判别器无法区分真实数据和伪造数据。另一方面,判别器试图理解接收到的数据是来自训练数据还是来自生成器。生成对抗网络用于极小化极大博弈。在这里,判别器的作用是最小化奖励 V(D, G)。另一边,生成器则致力于最小化判别器的奖励并最大化损失。GAN 的数学公式如下: V (D,G)=Ex~pdata (x) [log?D(x)]+ Ez~pz(z) [log?(1-D(G(z))] 上述方程中的术语如下: D = 判别器 G = 生成器 pdata(x) = 真实数据分布 x = pdata(x) 样本 D(x) = 判别器网络 p(z) = 生成器分布 z = p(z) 样本 G(z) = 生成器网络 生成器模型是什么意思?在这种情况下,当判别器空闲时,生成器会被训练。之后,生成器生成数据,并根据这些数据训练判别器。我们也可以预测数据,并将此结果用于生成器训练。随着时间的推移,结果会变得更好。生成器成功欺骗了判别器,然后判别器就无法识别哪个数据是假的。 判别器模型是什么意思?在这种情况下,当生成器空闲时,判别器会被训练。在判别器中,网络不进行反向传播。判别器中的网络主要进行前向传播。判别器主要训练 n 个 epoch 来查找真实数据。然后它还会验证它是否正确预测了数据是真实数据。判别器还使用生成器生成的数据进行训练。然后它还会验证它是否正确预测了数据是伪造数据。 示例 现在我们举一个例子,说明如何在生成对抗网络中生成狗的图像。 步骤 1:训练判别器第一步是使用空闲的生成器来训练判别器。我们下面将讨论这些步骤:
![]() 步骤 2:训练生成器第二步是使用空闲的判别器来训练生成器。我们下面将讨论这些步骤:
![]() 经过几次迭代后,生成器将开始生成与真实世界图像相似的图像。 生成对抗网络或 GAN 模型有哪些类型?GAN 模型或生成对抗网络模型有多种类型。它们如下所示: 1. 条件 GAN 这是一种 GAN。条件 GAN 也表示为 CGAN。这种 GAN 主要描述了深度学习方法。在 CGAN 中,我们输入一些条件参数。在生成器中,当我们添加数据“X”时,它会生成相应的数据。在 CGAN 中,标签被输入到模型中,以帮助判别器区分伪造数据和真实数据。 2. Vanilla GAN 这是最简单的 GAN 类型之一。Vanilla GAN 也表示为 VGAN。在 vanilla GAN 中,生成器和判别器非常简单,并且具有多层感知机。VGAN 的算法也非常简单。VGAN 用于优化在随机梯度下降中使用的数学方程。 3. 拉普拉斯金字塔 GAN 这是另一种 GAN。拉普拉斯金字塔 GAN 也表示为 LAPGAN。LAPGAN 表示线性可逆图像。它由一组带通图像组成,这些图像是低频图像的残差。图像之间的间隔也是一个倍频程。在拉普拉斯金字塔 GAN 中,我们使用多个生成器和判别器。我们也在这里使用了不同级别的拉普拉斯金字塔。LAPGAN 生成高质量图像。在第一步中,图像在拉普拉斯金字塔 GAN 中总是被下采样。之后,图像在金字塔的每一层都被上采样,然后将带有噪声的图像通过 CGAN。图像属于 CGAN,直到达到原始尺寸。 4. 超分辨率 GAN 这是另一种生成对抗网络。超分辨率 GAN 也表示为 SRGAN。SRGAN 生成高分辨率图像。在此 GAN 中,深度神经网络与对抗网络一起使用。SRGAN 非常有助于将低分辨率图像放大到高分辨率图像。它还用于最小化图像中的错误。 5. 深度卷积 GAN 最后一种生成对抗网络或 GAN 是深度卷积 GAN。深度卷积 GAN 也表示为 DCGAN。这种 GAN 比其他 GAN 更强大。DCGAN 非常受欢迎。深度卷积 GAN 使用卷积神经网络(ConvNets)代替多层感知机。它易于实现,无需使用最大池化。DCGAN 的层不是全连接的。 生成对抗网络的优点生成对抗网络有多种优点。优点如下: 1. 产生高质量的结果 GAN 为视频合成、图像合成、音乐合成等各种任务产生逼真的高质量结果。 2. 无监督学习 GAN 已经实现了无监督学习。GAN 可以在没有任何条件的情况下训练数据,例如它不需要任何标记数据。GAN 可以轻松地为学习无监督任务创建数据。在无监督学习中,很难获得标记数据。因此,它使用未标记的数据。 3. 合成数据生成 GAN 还可以生成一些新的合成数据。它用于组装已知数据的分布。此功能有助于各种创意应用、数据增强等等。 4. 通用性 生成对抗网络具有通用性。它可用于各种任务,例如图像到文本合成、文本到图像合成、图像到图像合成、图像合成、数据增强、异常检测等等。 生成对抗网络的缺点生成对抗网络有各种缺点。缺点如下: 1. 计算成本 GAN 需要非常高的计算成本。它需要更多的计算资源。由于计算量大,GAN 在处理大型数据集和高分辨率图像时训练速度较慢。 2. 公平性和偏见 生成对抗网络可能会反映训练数据中存在的 Thus and biases。它还可能导致合成数据带有偏见,或导致歧视。 3. 难以训练 生成对抗网络或 GAN 非常难以训练,存在模式崩溃、不稳定性、收敛失败等各种风险。 4. 过拟合 生成对抗网络存在过拟合问题。训练数据和生成的合成数据可能在这里过拟合。这与缺乏多样性和训练数据相似。 可解释性和问责制生成对抗网络在确保其应用的问责制和透明度方面具有挑战性。GAN 是不透明的,难以解释。 GAN 的应用生成对抗网络有各种应用。应用如下: 1. 生成图像 GAN 用于图像生成和图像合成。它可以创建新鲜逼真的图像。生成对抗网络可以制作高分辨率图像。 2. 超分辨率 GAN 用于超分辨率图像。这是生成对抗网络的重要应用之一。 3. 图像修改 生成对抗网络用于修改图像。调整图像大小和其他类型的修改。 4. 真人照片 生成对抗网络用于生成真人照片。它在实际领域中使用。 5. 人脸年龄变化 生成对抗网络用于人脸年龄变化。它可以轻松地增加或减少图像中人脸的年龄。 6. 文本到图像合成 GAN 用于文本到图像合成。这用于创建来自文本的逼真可视化图像。 7. 图像到图像合成 GAN 用于图像到图像合成。它可以用于改变图像的主题、改变图像的白天到夜晚、将真实图像转换为绘画图像反之亦然,还可以改变图像的创意风格。 下一主题什么是数据分析 |
我们请求您订阅我们的新闻通讯以获取最新更新。