【GAN】生成对抗网络Generative Adversarial Networks理解摘要

【Pytorch】生成对抗网络实战_pytorch生成对抗网络-CSDN博客

【损失函数】KL散度与交叉熵理解-CSDN博客

1406.2661 Generative Adversarial Networks (arxiv.org)
GAN本质是对抗或者说竞争,通过生成器和鉴别器的竞争获取有效地结果,换句话说,GAN是在养蛊,大量数据和批次的训练最终培养出最合适的蛊王,而不合适的死于对抗。

目录

GAN的主要思想

GAN的网络结构

GAN的损失函数

优化判别器

优化生成器


GAN的主要思想

GAN模型的思想比较简单,其先假设一个生成图片的神经网络,称为生成器,设为G,它的作用是将随机分布的噪声映射到图像域,简单来说就是神经网络的输入是随机生成的噪声,然后输出是需要的图像;又假设了一个判断图像是真实的图像还是由生成器生成图像的神经网络,称为鉴别器,设为D,它的作用是判断一副图像是真实的还是由生成器生成的,简单来讲就是输入是一副图像,然后输出是0或1,0表示该图像是由生成器生成的,1表示它是真实的图像。

GAN的网络结构

中 G 表示生成器,D 表示判别器,D(x) 输出 0,1 之间的数,表示判别器 D 判断数据 x 是真实样本的概率。D(x) 的 label 是 0 和 1,0 表示生成器生成的虚假数据 Xfeak,1 表示 从数据集中采样的真实样本 Xreal。GAN 训练的直接目标有两个:

• 使生成器 G 能够尽可能生成贴近真实样本的虚假数据

• 使判别器 D 能尽量好地区分真实样本和虚假数据

GAN的损失函数

真实数据分布是,随机噪声的分布是,GAN 的损失函数为:

其中 D(x) 表示判别器 D 判定 x 是真实样本的概率,D(G(z)) 表示 D 判定 G(z) 是真实样本的概率。

如果分类器 G 的性能好,在判别器 D 的性能固定的情况下;G(z) 贴近真实样本的概 率较高,则 V(D,G) 更小;如果判别器 D 的性能好,在分类器 G 的性能固定的情况下;则 D(x) 更大,D(G(z)) 更小,则 V(D,G) 更大。

因此生成器 G 的优化目标是,而判别器 D 的优化目标是。因此此 G 和 D 产生了对抗关系,这也就是生成对抗网络名字的由来。网络希望找到一个 V (G, D), 使其对于生成器来说最小而对于判别器来说最大。

由于 GAN 需要同时训练生成器和判别器,在实际训练中,GAN 先固定生成器,求出最优的判别器 D∗;然后在判别器固定为 D∗ 时求出最优的生成器 G∗。

优化判别器

先假设生成器 G 固定,计算最优的判别器 D∗

为x 服从数据集数据的分布,x 是训练集里的图像数据,即真实的图像。

为图像数据输入鉴别器D后对应的输出,是一个处于0~1之间的数 。

,为z服从随机噪声的分布,z是随机生成的噪声数据,即非真噪声。

为z输入生成器G后对应的输出,也就是生成器根据噪声生成的(假)图像。

为(假)图像输入鉴别器D后对应的输出,是一个处于0~1之间的数 。

这一步的目的就是优化鉴别器D使得上面这两个平均最大,实际上就是使得尽可能大,也就是尽可能大,实际意义就是对于真实的图像数据输入,鉴别器应使得输出尽可能接近1,即把它判别为真,然后尽可能大,也就是尽可能大,也就是尽可能小,实际意义就是对于生成器生成的图像数据输入,鉴别器应使得输出尽可能接近0,即把它判断为假。可以从更严谨的公式推导说明这一点:

第二行进行了变量替换,且 是两个不同的分布。目标是找到使积分项 最大的 D∗,且 D∗ 应该与 x 无关, 而是与 相关。由于已知,且我们假设 G 固定,则也是固定的,所以只需 使 f(x) 对 D(x) 求导等于 0 即可求出 D∗。即

从而解得

从严谨的公式推导层面说明,GAN 的最终目标是训练出一个性能优异的生成器,当生成器生成的数据的分布 与真实数据的分布非常接近时,,即判别器无法判别生成器生成的数据的真伪。

优化生成器

基于最优的判别器 D∗,计算最优的判别器 G∗

优化生成器G,即使得尽可能小,也就是尽可能大,实际意义就是对于生成器G生成的图像判别器判别结果尽可能接近1,即尽可能接近真实图像。

将D∗ 代入V(G,D)可以得到

其中为JS散度,全称为Jensen-Shannon散度,是一种衡量两个概率分布相似程度的方法。JS 散度 是基于 KL 散度计算的,它与 KL 散度一样具有非负性;但与 KL 散度不 同的是,JS 散度具有对称性。关于KL散度,可以参照【损失函数】KL散度与交叉熵理解-CSDN博客

定义 ,从而两个分布 P (x) 和 Q(x) 之间的 JS 散度为:

因此当且仅当时,

上面两步分布进行,即先优化判别器,再优化生成器。依据这种逻辑多次训练后的生成器生成的数据服从的分布将逐渐有效拟合真实数据。https://arxiv.org/abs/1406.2661​​​​​​​

上图中,黑色散点表示生成器生成的数据服从的分布,绿色线条表示真实数据服从的分布,经过迭代训练,生成器生成的数据服从的分布同真实数据的分布逐渐接近,几乎完全重合。

从而基于这样的损失函数思路,生成的图像将达到较好的逼真效果。https://arxiv.org/abs/1406.2661

相关推荐
梦奇不是胖猫1 分钟前
Marvis保姆级教程:一个帮你点鼠标的 AI 管家
人工智能·计算机外设
意图共鸣16 分钟前
意图共鸣科技《AI记忆链商业化白皮书3.0》假设场景解析:从母亲到消防员,专属AI如何重塑记忆与传承
人工智能·科技·架构
YOLO数据集集合17 分钟前
无人机航拍街道巡检数据集 | 空中视角车辆检测、交通流量统计、违停识别、智能交通YOLO数据集10399期
深度学习·yolo·目标检测·无人机
放下华子我只抽RuiKe524 分钟前
FastAPI 全栈后端(四):认证与授权
开发语言·前端·javascript·python·深度学习·react.js·fastapi
ai产品老杨24 分钟前
解耦安防碎片化:基于 Docker 与边缘计算的 AI 视频管理平台架构演进(附 GB28181/RTSP 统一接入与源码交付实践)
人工智能·docker·边缘计算
OpenAnolis小助手32 分钟前
如何利用 AI Agent 实现热补丁的自动化生成
人工智能·安全·ai·操作系统·agent·龙蜥
米核AI易山40 分钟前
扣子工作流项目交付全流程:从需求分析到上线维护的实战方法论
人工智能·需求分析·coze·扣子工作流·米核ai易山
沫儿笙41 分钟前
弧焊机器人保护气智能节气阀
人工智能·机器人
DS随心转插件42 分钟前
AI 导出鸭实操教程:Markdown 转 Word 高效协作与隐私交付实战指南
人工智能·ai·word·豆包·deepseek·ai导出鸭
腾讯云开发者42 分钟前
探访香港科创高地,洞见 Agentic AI 时代的出海新范式
人工智能