大家好,这里是好评笔记,本文为试读,查看全文请移步公主号:Goodnote。本文详细介绍早期生成式AI的代表性模型:生成对抗网络GAN。
[toc]
生成对抗网络(Generative Adversarial Network, GAN)是一种生成模型,由 Ian Goodfellow 等人于 2014 年提出。GAN 通过两个网络——生成器(Generator)和判别器(Discriminator)之间的对抗训练,使得生成器能够生成逼真的数据,从而被判别器难以区分。GAN 已广泛应用于图像生成、图像修复、风格迁移、文本生成等任务。
论文:Generative Adversarial Nets
一、基本结构
GAN 包含两个核心部分:生成器和判别器。
生成器
- 功能:生成器接收一个随机噪声向量(通常是高斯分布或均匀分布),并将其映射到数据空间,使生成的数据尽可能接近真实数据。
- 目标:生成器的目标是 “欺骗”判别器,使其无法区分生成数据和真实数据。
- 网络结构:生成器通常由一系列
反卷积(或上采样)层组成,以逐步生成更高分辨率的图像。
判别器
- 功能:判别器接收输入样本,并判断该样本真假。
- 目标:判别器的目标是尽可能准确地分辨出真假样本。
- 网络结构:判别器通常是一个
卷积神经网络(CNN),将输入数据压缩为一个概率值,表示该样本属于真实数据的概率。
二、损失函数
GAN 的训练是一个生成器和判别器相互博弈的过程,通过对抗训练逐步提高生成器的生成质量。训练过程主要包括以下步骤:
判别器
- 训练判别器时,其输入是真实数据和生成器的生成数据。
- 判别器的目标是区分真实数据和生成数据,即使得判别器输出接近 1 的概率表示真实数据,接近 0 的概率表示生成数据。
- 判别器的损失函数通常使用二元交叉熵(Binary Cross-Entropy):
参数含义:
- :真实数据样本,来自于真实数据分布 。
- :生成器输入的噪声向量,通常从均匀分布或正态分布中采样。
- :判别器对真实样本 的输出,表示判别器认为该样本是真实数据的概率。
- :判别器对生成数据 的输出,表示判别器认为该样本为真实数据的概率。
判别器损失的计算过程:
- 第一部分:
- 表示对真实样本的损失。
- 判别器希望尽量将真实数据的输出 接近 1,因此这部分的目标是最小化 。
详细全文请移步公主号:Goodnote。