[PyTorch][chapter 54][GAN- 1]

这篇具有很好参考价值的文章主要介绍了[PyTorch][chapter 54][GAN- 1]。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

        GAN playground: Experiment with Generative Adversarial Networks in your browser

         生成对抗网络(Generative Adversarial Nets,GAN)是一种基于对抗学习的深度生成模型,最早由Ian Goodfellow于2014年在《Generative Adversarial Nets》中提出.

生成对抗网络(Generative Adversarial Network)由一个生成网络与一个判别网络组成。生成网络从潜在空间(latent space)中随机采样作为输入,其输出结果需要尽量模仿训练集中的真实样本。判别网络的输入则为真实样本或生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能分辨出来。而生成网络则要尽可能地欺骗判别网络。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实

在线工具:

   GAN playground: Experiment with Generative Adversarial Networks in your browser 

训练效果:

[PyTorch][chapter 54][GAN- 1],pytorch,生成对抗网络,人工智能

目录:

  1.    简介
  2.    Generative Adversarial Nets 原理
  3.    损失函数
  4.     训练方法

    


一 简介

          生成对抗网络(Generative Adversarial Networks)是一种无监督深度学习模型,用来通过计算机生成数据,由Ian J. Goodfellow等人于2014年提出。模型通过框架中(至少)两个模块:


 

Discriminative model:  鉴别模型 用于检测样本是来自于模型分布还是数据分布

Generative model:       生成模型可以被认为类似于伪造者团队.  试图制造假货币并在未经检测的情况下使用,而判别模型是类似于警察,试图发现假币此游戏中的竞争驱动 两个团队都在改进他们的方法,直到赝品与真品难以区分。

目前主要应用于样本数据生成、图像生成、图像修复、图像转换、文本生成等方向。


二   Generative Adversarial Nets 原理

[PyTorch][chapter 54][GAN- 1],pytorch,生成对抗网络,人工智能

目的:

              学习一个生成器G,产生的数据分布, 和训练集数据上面的分布

 一致,让鉴别器Discriminative model 无法分辨输入的数据x 到底是

真实的,还是Generative model 产生的

       Generator model:

             生成器模型,简单的多层感知器。

             输入:

                一个随机的噪声

              输出:

                    

          Discriminative model:

                输入:

                        Trainset 得到的 或者 生成器得到的 

                输出:D(x)

                           判别为1

                               判别为0


三  损失函数

   优化的目标函数是:

[PyTorch][chapter 54][GAN- 1],pytorch,生成对抗网络,人工智能                         

    分为两部分

            Discriminative  model 优化目标

             [PyTorch][chapter 54][GAN- 1],pytorch,生成对抗网络,人工智能

            鉴别器的目标是 : 

                            D(x)=1  真实输入,鉴别器输出概率为 D(x)=1

                            D(G(z))  Generator model 输入

                                           鉴别器输出概率为D(G(z))=0,最大化 1-D(G(z))

           Generator  model 优化目标:

             [PyTorch][chapter 54][GAN- 1],pytorch,生成对抗网络,人工智能

             前半部分不需要优化,希望生成的和真实的分布一样,让Discriminative  model

           ,最小化 1-D(G(z)) ,优化目标跟上面相反,所以称为Adversarial 


四   训练方法

           生成器G  隐式地将概率分布定义为 G(z) 样本的分布

当时得到的G(z). 

4.1 训练方法

 通过k次迭代,训练一个  Discriminative  model,

 再 训练一下 Generator model

[PyTorch][chapter 54][GAN- 1],pytorch,生成对抗网络,人工智能

     训练过程
          第一阶段:固定「生成器G」,训练「判别器G」。使用一个性能不错的判别器
         第二阶段:固定「判别器D」,训练「生成器G」。
         重复第一阶段、第二阶段。通过不断的循环,「生成器G」和「判别器D」的能力都越来越强。最终我们得到了一个效果非常好的「生成器G」,就可以用它来生成数据。
 

4.2  优化的目标:

              

              要使随机输入的数据分布和真实数据分布的概率一致

---------------------------待续----------------


参考:

GAN的Loss的比较研究(1)——传统GAN的Loss的理解1_传统gan损失函数_田神的博客-CSDN博客

GAN的loss函数的解读 - 简书

GAN模型总结_lreaderl的博客-CSDN博客

GAN模型总结 - 知乎

常用几种GAN——Loss的理解 - 知乎文章来源地址https://www.toymoban.com/news/detail-699198.html

到了这里,关于[PyTorch][chapter 54][GAN- 1]的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 学习笔记:Pytorch利用MNIST数据集训练生成对抗网络(GAN)

    2023.8.27        在进行深度学习的进阶的时候,我发了生成对抗网络是一个很神奇的东西,为什么它可以“将一堆随机噪声经过生成器变成一张图片”,特此记录一下学习心得。         2014年,还在蒙特利尔读博士的Ian Goodfellow发表了论 文《Generative Adversarial Networks》(网址

    2024年02月10日
    浏览(40)
  • pytorch生成对抗网络GAN的基础教学简单实例(附代码数据集)

    这篇文章主要是介绍了使用pytorch框架构建生成对抗网络GAN来生成虚假图像的原理与简单实例代码。数据集使用的是开源人脸图像数据集img_align_celeba,共1.34G。生成器与判别器模型均采用简单的卷积结构,代码参考了pytorch官网。 建议对pytorch和神经网络原理还不熟悉的同学,可

    2024年02月15日
    浏览(42)
  • PyTorch深度学习实战(31)——生成对抗网络(Generative Adversarial Network, GAN)

    生成对抗网络 ( Generative Adversarial Networks , GAN ) 是一种由两个相互竞争的神经网络组成的深度学习模型,它由一个生成网络和一个判别网络组成,通过彼此之间的博弈来提高生成网络的性能。生成对抗网络使用神经网络生成与原始图像集非常相似的新图像,它在图像生成中应用

    2024年01月22日
    浏览(48)
  • 使用PyTorch构建GAN生成对抗网络源码(详细步骤讲解+注释版)01 手写字体识别

    前面的博客讲了如何基于PyTorch使用神经网络识别手写数字 使用PyTorch构建神经网络 下面在此基础上构建一个生成对抗网络,生成对抗网络可以模拟出新的手写数字数据集。 生成对抗网络(GAN)是一种用于生成新的照片,文本或音频的模型。它由两部分组成:生成器和判别器

    2024年02月02日
    浏览(31)
  • 人工智能基础部分20-生成对抗网络(GAN)的实现应用

    大家好,我是微学AI,今天给大家介绍一下人工智能基础部分20-生成对抗网络(GAN)的原理与简单应用。生成对抗网络是一种由深度学习模型构成的神经网络系统,由一个生成器和一个判别器相互博弈来提升模型的能力。本文将从以下几个方面进行阐述:生成对抗网络的概念、

    2024年02月09日
    浏览(109)
  • PyTorch训练深度卷积生成对抗网络DCGAN

    将CNN和GAN结合起来,把监督学习和无监督学习结合起来。具体解释可以参见 深度卷积对抗生成网络(DCGAN) DCGAN的生成器结构: 图片来源:https://arxiv.org/abs/1511.06434 model.py 训练使用的数据集:CelebA dataset (Images Only) 总共1.3GB的图片,使用方法,将其解压到当前目录 图片如下图所

    2024年02月12日
    浏览(42)
  • PyTorch 深度学习实战 | 基于生成式对抗网络生成动漫人物

    生成式对抗网络(Generative Adversarial Network, GAN)是近些年计算机视觉领域非常常见的一类方法,其强大的从已有数据集中生成新数据的能力令人惊叹,甚至连人眼都无法进行分辨。本文将会介绍基于最原始的DCGAN的动漫人物生成任务,通过定义生成器和判别器,并让这两个网络

    2023年04月17日
    浏览(47)
  • 【计算机视觉|生成对抗】生成对抗网络(GAN)

    本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题: Generative Adversarial Nets 链接:Generative Adversarial Nets (nips.cc) 我们提出了一个通过**对抗(adversarial)**过程估计生成模型的新框架,在其中我们同时训练两个模型: 一个生成模型G,捕获数据分布 一个判别模型

    2024年02月12日
    浏览(58)
  • 生成对抗网络----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)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包