目录
一、说明
二、GAN的工作
三、如何手动计算生成对抗网络(GAN)?✍️
四、GAN的应用
一、说明
生成对抗网络 (GAN) 是一种机器学习算法,可以生成与现实世界数据几乎无法区分的合成数据。它们的工作原理是让两个神经网络在类似游戏的竞争中相互对抗,每个网络都试图通过智取另一个网络来提高其性能。
赣语
第一个网络,称为生成器,创建它认为是真实的合成数据。第二个网络称为鉴别器,评估数据并试图确定数据是真实的还是生成的。
随着生成器生成外观和行为类似于真实数据的数据的能力提高,鉴别器也提高了区分真实数据和生成数据的能力。随着时间的流逝,这两个网络变得越来越复杂和准确,最终达到了人类难以区分真实数据和生成数据的地步。
GAN 具有广泛的应用,包括生成图像、文本和语音,以及计算机视觉、自然语言处理和机器翻译等领域。它们还被用于生成用于训练机器学习模型的合成数据,从而减少了对大量真实世界数据的需求。
二、GAN的工作
生成对抗网络 (GAN) 的工作可以被认为是两个神经网络、生成器和判别器之间的博弈。生成器创建它认为是真实的合成数据,而鉴别器评估数据并尝试确定它是真实的还是生成的。
赣语
发电机网络首先随机生成可能看起来与真实数据不同的数据。然后,鉴别器网络评估这些数据并向生成器提供反馈,指示它认为生成的数据是真实的还是假的。然后,生成器使用此反馈来提高其生成看起来越来越像真实数据的数据的能力。
同时,鉴别器网络也在提高其区分真实数据和生成数据的能力。它评估真实数据和从生成器生成的数据,并学习在评估中变得更加准确。
这个过程以迭代方式继续进行,生成器和鉴别器网络并行提高其性能。随着时间的流逝,生成的数据变得如此之好,以至于鉴别器网络很难将其与真实数据区分开来,而生成器网络能够产生与真实数据几乎无法区分的真实数据。
在总之,GAN使用生成器网络和鉴别器网络之间的类似游戏的竞争,通过迭代提高两个网络的性能,创建与真实世界数据几乎无法区分的合成数据。
三、如何手动计算生成对抗网络(GAN)?✍️
GAN无需介绍。GAN由Ian Goodfellow于2014年发明,负责开创视觉数据的生成式AI领域。
目标:从二维噪声中生成逼真的四维数据。
[1] 给定
↳ 4 个 2D 噪声向量 (N)↳ 4D 4D (X)
真实数据向量
[2] 🟩 生成器:第一层
↳ 将噪声向量与权重和偏差相乘,得到新的特征向量
[3] 🟩 生成器:ReLU
↳ 应用 ReLU 激活函数,具有抑制负值的作用。在本练习中,-1 和 -2 被划掉并设置为 0。
[4] 🟩 生成器:第二层
↳ 将特征与权重和偏差相乘,以获得新的特征向量。
↳ 应用 ReLU。但是,由于每个值都是正数,因此没有影响。
↳ 这些新的特征向量是由这个简单的 2 层生成器网络生成的“假”数据 (F)。
[5] 🟦 鉴别器:第一层
↳ 将假数据 (F) 和真实数据 (X) 都提供给第一线性层
↳ 将 F 和 X 与权重和偏差相乘以获得新的特征向量。
↳ 应用 ReLU。但是,由于每个值都是正数,因此没有影响。
[6] 🟦 鉴别器:第二层
↳ 将特征乘以一组权重和偏差,得到新的特征。
↳ 预期效果是将每个数据向量减少到只有一个特征值。
[7] 🟦 判别器:Sigmoid σ
↳ 使用 Sigmoid 函数
将特征 (Z) 转换为概率值 (Y↳ 1 表示判别器 100% 确信数据是真实的。
↳ 0 表示鉴别器 100% 确信数据是假的。
[8] 🏋️ 训练:🟦判别器
↳ 用 Y — YD 的简单方程计算判别器的损耗梯度。为什么这么简单?因为当我们同时使用乙状结肠和二元熵损失时,数学神奇地简化为这个方程。
↳ YD 是从鉴别器的角度来看的目标预测。鉴别器必须学会预测四个假数据 (F) 的 0 和四个真实数据 (X) 的 1。YD=[0,0,0,0,1,1,1,1]。
↳ 请注意,鉴别器的丢失涉及虚假数据和真实数据。
↳ 通过计算损失梯度,我们可以启动反向传播过程,以更新鉴别器的权重和偏差(蓝色边框)。
[9] 🏋️ 训练:🟩生成器
↳ 通过 Y — YG 的简单方程计算生成器的损耗梯度。
↳ YG 是生成器视角的目标预测。生成器必须欺骗鉴别器,使其预测四个假数据 (F) 的 1。YG=[1,1,1,1]。
↳ 请注意,生成器的丢失仅涉及虚假数据。
↳ 通过计算损失梯度,我们可以启动反向传播过程以更新生成器的权重和偏差(绿色边框)。
四、GAN的应用
生成对抗网络 (GAN) 在各个领域都有广泛的应用。以下是一些示例:
- 图像和视频生成:GAN 通常用于生成合成图像和视频,例如创建逼真的人脸或风景。它们还可用于数据增强,这涉及通过生成现有图像的变体来创建额外的训练数据。
- 图像到图像转换:GAN 可用于将一种类型的图像转换为另一种类型的图像,例如将黑白图像转换为彩色图像或将房间图像转换为不同的风格。
- 文本到图像生成:GAN 可以根据文本描述生成图像,从而允许创建与特定提示或请求匹配的图像。
4. 超分辨率:GAN可用于提高低分辨率图像的分辨率,使它们看起来更清晰、更详细。
5. 修复:GAN 可以通过填充图像的缺失部分来生成逼真的图像,例如修复损坏或删失的图像。
6. 风格转移:GAN 可以将一个图像的风格转移到另一个图像上,从而可以创建具有独特风格和构图的图像。
7. 语音合成:GAN 可用于生成听起来自然逼真的合成语音。
8. 数据增强:GAN可用于生成合成数据,用于训练计算机视觉、自然语言处理和机器人等各个领域的机器学习模型。
这些只是GAN广泛应用的几个例子。随着 GAN 的不断发展和改进,它们可能会对许多行业产生越来越重大的影响。