生成对抗网络:判别器损失和生成器损失-AI快速进阶系列
1. 简介
在本教程中,我们将讨论生成对抗网络(GAN),一种无监督的深度学习方法。主要,我们将介绍构成 GAN 的两个主要模型的架构,即生成器和鉴别器模型。我们还将通过它们的损失函数分析两个模型之间的主导行为。
2. 生成对抗网络
GAN是一个机器学习框架,由Ian J. Goodfellow于2014年首次推出。通常,GAN的目的是学习数据的分布和模式,以便能够从原始数据集生成可用于现实场合的合成数据。该论文的作者提出了一种算法,其中同时训练的两个神经网络,生成器和鉴别器,相互竞争,形成对抗游戏。GAN框架的架构如下所示:
生成器的任务是从原始数据创建合成(假)数据,而鉴别器的任务是确定其输入数据是原始数据还是从生成器创建。这两个模型的训练一直持续到生成器能够模仿原始数据,达到鉴别器难以将数据分类为假数据或原始数据的水平。
2.1. GAN的损失函数
生成器 (G) 和鉴别器 (D) 尝试两个玩家的游戏,其中第一个尝试最小化,第二个尝试最大化损失函数的值 (V):
其中G(z), D(x), D(G(z))表示生成器接收输入噪声z时的输出,判别器原始数据x为实的概率,判别器合成样本数据G(z)为实的概率,Ex, Ez分别表示所有原始数据和合成数据的平均似然。
在上面的等式中,我们注意到,在鉴别器(D)的训练过程中,它专注于最大化logD(x),这意味着在x的分类过程中实现正确的标签(真实的或合成的),而生成器(G)专注于最小化log(1-D(G(z)))并且不能直接影响logD(x)。
3. 生成器
生成器负责生成新的足够合成数据,这些数据无法通过研究实际输入的分布来与原始数据区分开来。在生成器神经网络的训练过程中,它接收有效数据以及噪声,并从该合成中创建新数据,这些数据由鉴别器直接接收,判别器决定每个样本的验证并将其分类为合成或真实。
3.1. 生成器的奖励
在鉴别器分类后,生成器接收第一个做出的决定并采取相应的行动。如果鉴别器对数据进行不正确的分类,生成器将在它们之间的竞争游戏中获胜,获得奖励,因此对损失函数的贡献更大。否则,生成器将失败并受到处罚。生成器的训练侧重于更新和最小化:
其中符号与上述相同,是多层感知的超参数,表示将输入噪声z映射到数据空间的可微函数
。
4. 鉴别器
鉴别器负责将数据分类为两个类,合成或真实。在判别器的神经网络训练期间,它接收生成器产生的数据(真实的和合成的),并被要求决定其验证。在早期阶段,鉴别器的工作很容易,因为生成器不能产生难以区分的样本。因此,鉴别器能够以高置信度对样本进行分类。
4.1. 鉴别器的奖励
如果做出正确的决定,鉴别器在最小-最大游戏中占上风。否则,它将输掉并受到处罚。鉴别器的培训侧重于更新和最大化:
其中符号与上述相同。
5. GAN的局限性
生成对抗网络可以实现重要的性能,并且是训练半监督分类器的明智选择,但它们在某些情况下可能会遇到困难。首先,两个神经网络在训练过程中必须很好地同步,每个模型不能在没有另一个的情况下连续训练。此外,他们需要各种各样的数据,以便生成器产生广泛的输出并提高整体模型的准确性。此外,GAN 很难从文本或语音中生成离散数据。
6. 应用
GAN 可以应用于需要新的合理数据的各种应用中。特别是,GAN 主要用于创建新的图像和视频,这些图像和视频可能是关于人脸或姿势的生成照片、逼真的照片,甚至是卡通人物和表情符号。
生成的输出可用于营销、游戏或用于科学和研究目的,由于标准化的数据保护,很难找到数据集和基准。
7. 结论
在本文中,我们介绍了 GAN,这是一个用于从真实创建合成数据的半监督框架。特别是,我们详细讨论了两个主要的神经网络,生成器和鉴别器,并讨论了它们如何玩一个竞争性的最小-最大游戏,试图复制概率分布。我们主要关注每个模型的损失函数是如何受到影响的,以及模型是否受到奖励或惩罚。最后,我们提到了GAN的一些限制和应用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
2022-02-17 Elasticsearch从入门到精通- Elasticsearch 分片分配