【GAN】基础知识(还在更新)

这篇具有很好参考价值的文章主要介绍了【GAN】基础知识(还在更新)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

还没写完,别骂了.....遇到啥新东西也会补充进来

1. 损失函数/距离度量

1.1 KL散度

用来衡量分布之间距离

1.1.1 推导过程

如果想要对KL散度有一个比较好的理解,我其实建议看一下,从信息熵的角度入手我认为是一个比较好的切入点 相对熵(KL散度)、JS散度和Wasserstein距离

 和都是概率分布,一般代表真实分布,一般代表拟合的近似分布

【GAN】基础知识(还在更新),生成对抗网络,人工智能,神经网络

利用期望的计算公式就可以得到用期望表示的KL散度

1.1.2 性质

  1. 非负性:KL散度始终非负,即 KL(P || Q) ≥ 0。
  2. 零值:当且仅当P和Q相等时,KL散度为0,表示两个分布完全相同。
  3. 不对称性:KL散度是不对称的,即 KL(P || Q) ≠ KL(Q || P),表示P相对于Q的信息增益和P相对于Q的信息损失不同。

1.1.3 前向和反向KL散度

称为前向KL散度(forward Kullback-Leibler Divergence)

称为反向KL散度(reverse Kullback-Leibler Divergence)

【具体分析】进阶详解KL散度 - 知乎 (zhihu.com)

1.2 JS散度(Jensen–Shannon divergence)

为了解决KL散度不对称的的问题引入了 JS散度

1.2.1 公式

【GAN】基础知识(还在更新),生成对抗网络,人工智能,神经网络

 1.2.2 对称性证明

1.2.3 缺陷

当两个分布完全不重叠时,即便两个分布的中心距离有多近,其JS散度都是一个常数,以至于梯度为0,无法更新。

【参考】 GAN:两者分布不重合JS散度为log2的数学证明

1.3 Wasserstein Loss

2. GAN训练三大问题

  1. 不收敛:模型参数震荡,损失函数不能收敛到理论值;
  2. 模式崩溃:合成的样本都趋同;
  3. 梯度消失:判别器太强,生成器的梯度消失,训练无法继续。

生成对抗网络(GAN)的模式崩溃问题

3.1 模式崩溃

GAN本质上就是在对比真实分布和生成器生成的分布。

第一:生成器生成了不真实的样本。对应于那些不真实的样本,Pg(X)>0但Pr(X)≈0,此时KL 散度中间的被积项将会趋于∞;

第二:生成器没能生成真实的样本。对应于没能生成的那些真实样本,pr(x)>0 但 pg(x)≈0,此时 KL 散度中间的被积项将会趋于 0。

GAN 中优化生成器的损失函数要求 KL 散度尽量小。第一种情形损失接近无穷,惩罚巨大,生成器就会避免生成不真实的样本;第二种情形损失接近零,惩罚非常小,因此生成器完全有可能只生成单一的真实样本,而不生成更多不同的真实样本。生成单一的真实样本已经足够欺骗判别器,生成器没有必要冒着失真的风险生成多样化的样本,模式崩溃问题由此产生。

3.模型代码框架

【参考实现】facebookresearch/pytorch_GAN_zoo: A mix of GAN implementations including progressive growing

3.1 损失部分

3.1.1 鉴别器损失

【GAN】基础知识(还在更新),生成对抗网络,人工智能,神经网络

 3.1.2 生成器损失

【GAN】基础知识(还在更新),生成对抗网络,人工智能,神经网络

3.1.2 渐进式训练策略

在ProGAN出来之后,很多模型同样也选择了使用渐进式的训练策略。渐进式的训练策略以方便减少了时间,同时也会在一定程度上避免了模式奔溃

4.评估指标

4.1 FID(Frechet Inception Distance score)

Frechet Inception 距离(FID)是评估生成图像质量的度量标准,专门用于评估生成对抗网络的性能。

基本原理:

  1. 删除模型原本的输出层,将输出层换为最后一个池化层(即全局空间池化层)的激活函数输出值。此输出层有 2,048 维的激活向量,因此,每个图像被预测为 2,048 个激活特征。该向量被称为图像的编码向量或特征向量。
  2. 然后使用以下公式计算 FID 分数:

【GAN】基础知识(还在更新),生成对抗网络,人工智能,神经网络

  • 该分数被记为 d^2,表示它是一个有平方项的距离。
  • 「mu_1」和「mu_2」指的是真实图像和生成图像的特征均值(例如,2,048 维的元素向量,其中每个元素都是在图像中观察到的平均特征)。
  • C_1 和 C_2 是真实图像的和生成图像的特征向量的协方差矩阵,通常被称为 sigma。
  • || mu_1-mu_2 ||^2 代表两个平均向量差的平方和。Tr 指的是被称为「迹」的线性代数运算(即方阵主对角线上的元素之和)。
  • sqrt 是方阵的平方根,由两个协方差矩阵之间的乘积给出

【参考】学习GAN模型量化评价,先从掌握FID开始吧文章来源地址https://www.toymoban.com/news/detail-559794.html

到了这里,关于【GAN】基础知识(还在更新)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 生成对抗网络----GAN

    ` GAN (Generative Adversarial Network) : 通过两个神经网络,即生成器(Generator)和判别器(Discriminator),相互竞争来学习数据分布。 { 生成器 ( G e n e r a t o r ) : 负责从随机噪声中学习生成与真实数据相似的数据。 判别器 ( D i s c r i m i n a t o r ) : 尝试区分生成的数据和真实数据。

    2024年02月20日
    浏览(46)
  • GAN(生成对抗网络)

    简介:GAN生成对抗网络本质上是一种思想,其依靠神经网络能够拟合任意函数的能力,设计了一种架构来实现数据的生成。 原理:GAN的原理就是最小化生成器Generator的损失,但是在最小化损失的过程中加入了一个约束,这个约束就是使Generator生成的数据满足我们指定数据的分

    2024年02月11日
    浏览(47)
  • GAN生成对抗网络介绍

    GAN 全称是Generative Adversarial Networks,即 生成对抗网络 。 “生成”表示它是一个生成模型,而“对抗”代表它的训练是处于一种对抗博弈状态中的。 一个可以自己创造数据的网络! 判别模型与生成模型 判别模型(Discriminative Model) 主要目标是对给定输入数据直接进行建模,

    2024年01月17日
    浏览(52)
  • 了解生成对抗网络 (GAN)

            Yann LeCun将其描述为“过去10年来机器学习中最有趣的想法”。当然,来自深度学习领域如此杰出的研究人员的赞美总是对我们谈论的主题的一个很好的广告!事实上,生成对抗网络(简称GAN)自2014年由Ian J. Goodfellow和共同作者在《

    2024年02月12日
    浏览(39)
  • 生成式对抗网络GAN

    Generative Adversarial Nets 由伊恩·古德费洛(Ian J.Goodfellow)等人于2014年发表在Conference on Neural Information Processing Systems (NeurIPS)上。NeurIPS是机器学习和计算神经科学领域的顶级国际学术会议之一。 图像生成: 论文地址:styleGAN styleGAN2 图像生成是生成模型的基本问题,GAN相对先前的

    2024年01月16日
    浏览(40)
  • 生成对抗网络 (GAN)

    生成对抗网络(Generative Adversarial Networks,GAN)是由Ian Goodfellow等人在2014年提出的一种深度学习模型。GAN由两部分组成:一个生成器(Generator)和一个判别器(Discriminator),它们通过对抗过程来训练,从而能够生成非常逼真的数据。 生成器(Generator) 生成器的任务是创建尽可

    2024年03月10日
    浏览(57)
  • GAN-对抗生成网络

    generator:

    2024年02月09日
    浏览(37)
  • 【神经网络】生成对抗网络GAN

    欢迎访问Blog总目录! Generative Adversarial Networks 生成对抗网络(GAN) - 知乎 (zhihu.com) 深度学习----GAN(生成对抗神经网络)原理解析_gan神经网络-CSDN博客 图解 生成对抗网络GAN 原理 超详解_生成对抗网络gan图解-CSDN博客 GAN包含两个模型: 生成模型(Generator) :接收随机噪声,生

    2024年04月13日
    浏览(56)
  • 深度学习生成对抗网络(GAN)

    生成对抗网络(Generative Adversarial Networks)是一种无监督深度学习模型,用来通过计算机生成数据,由Ian J. Goodfellow等人于2014年提出。模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。生成对抗网络被认为是当

    2024年02月07日
    浏览(58)
  • GAN(生成式对抗网络)简介

    本文利用通俗易懂的语言对生成对抗网络(GAN)进行介绍,包括技术背景、原理、应用场景、未来发展趋势等。 一、技术背景 生成对抗网络(Generative Adversarial Networks,GAN)是一种生成模型,由Goodfellow等人在2014年提出。相比于其他生成模型,GAN具有更高的生成能力和更好的

    2024年02月10日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包