网络编程
位置:首页>> 网络编程>> Python编程>> Python人工智能学习PyTorch实现WGAN示例详解

Python人工智能学习PyTorch实现WGAN示例详解

作者:Swayzzu  发布时间:2022-10-20 18:49:32 

标签:pytorch,WGAN,人工智能

1.GAN简述

在GAN中,有两个模型,一个是生成模型,用于生成样本,一个是判别模型,用于判断样本是真还是假。但由于在GAN中,使用的JS散度去计算损失值,很容易导致梯度弥散的情况,从而无法进行梯度下降更新参数,于是在WGAN中,引入了Wasserstein Distance,使得训练变得稳定。本文中我们以服从高斯分布的数据作为样本。

2.生成器模块

这里从2维数据,最终生成2维,主要目的是为了可视化比较方便。也就是说,在生成模型中,我们输入杂乱无章的2维的数据,通过训练之后,可以生成一个赝品,这个赝品在模仿高斯分布。

Python人工智能学习PyTorch实现WGAN示例详解

3.判别器模块

判别器同样输入的是2维的数据。比如我们上面的生成器,生成了一个2维的赝品,输入判别器之后,它能够最终输出一个sigmoid转换后的结果,相当于是一个概率,从而判别,这个赝品到底能不能达到以假乱真的程度。

Python人工智能学习PyTorch实现WGAN示例详解

4.数据生成模块

由于我们使用的是高斯模型,因此,直接生成我们需要的数据即可。我们在这个模块中,生成8个服从高斯分布的数据。

Python人工智能学习PyTorch实现WGAN示例详解

5.判别器训练

由于使用JS散度去计算损失的时候,会很容易出现梯度极小,接近于0的情况,会使得梯度下降无法进行,因此计算损失的时候,使用了Wasserstein Distance,去度量两个分布之间的差异。因此我们假如了梯度惩罚的因子。

Python人工智能学习PyTorch实现WGAN示例详解

其中,梯度惩罚的模块如下:

Python人工智能学习PyTorch实现WGAN示例详解

6.生成器训练

这里的训练是紧接着判别器训练的。也就是说,在一个周期里面,先训练判别器,再训练生成器。

Python人工智能学习PyTorch实现WGAN示例详解

7.结果可视化

通过visdom可视化损失值,通过matplotlib可视化分布的预测结果。

Python人工智能学习PyTorch实现WGAN示例详解

来源:https://blog.csdn.net/Swayzzu/article/details/121192285

0
投稿

猜你喜欢

  • 本文实例讲述了python常见数制转换用法。分享给大家供大家参考。具体分析如下:1.进位制度Python中二进制是以0b开头的:例如: 0b
  • 本文实例讲述了Python双链表原理与实现方法。分享给大家供大家参考,具体如下:Python实现双链表文章目录Python实现双链表定义链表
  • prototype框架最早是出于方便Ruby开发人员进行JavaScript开发所构建的,从这个版本上更加体现的淋漓尽致。比起1.3.1版本
  • PySnooper 是一个非常方便的调试器。如果您正在试图弄清楚为什么您的Python代码没有按照您的预期去做,您会希望使用具有断点和监视功
  • 最近要搭建一个阿里云的LMAP环境,选了CentOS7来做搭建。1.ApacheCentos7默认已经安装httpd服务,只是没有启动。如果
  • 数据集介绍《悲惨世界》中的人物关系图,图中共77个节点、254条边。数据集截图:打开README文件:Les Misérables netw
  • Python中有哪几种方法安装第三方模块,安装Python第三方模块的方法有很多,这里介绍三种方法安装第三方模块。【方法一】: 通过setu
  • 以前写点小程序其实根本不在乎并行,单核跑跑也没什么问题,而且我的电脑也只有双核四个超线程(下面就统称核好了),觉得去折腾并行没啥意义(除非在
  • 前言在《Python中if语句的使用方法》中提到,对于一种可能性、两种可能性或者多种可能性的情况,可以通过if语句来实现。而用if语句实现多
  • 市场上很多火车票抢票软件大家应该非常熟悉,但很少有人研究具体是怎么实现的,所以觉得很神秘,其实很简单。下面使用Python模拟抢票程序,给大
  • 对以下数据画图结果图不显示,修改过程如下df3 = {'chinese':109, 'American':8
  • 近日在月影的blog上找到一段代码。看了老半天没明白什么意思,倍受打击!不死心,于是仔细分析思考了好几次,才明白过来这段函数的意义。js果然
  • 【OpenCV】⚠️高手勿入! 半小时学会基本操作 ⚠️ 对象测量概述OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大.
  • 本文实例讲述了php文件上传类。分享给大家供大家参考,具体如下:/**$file=new class_file($file_array,&q
  • 函数声明为:func Notify(c chan<- os.Signal, sig ...os.Signal)官方描述:Notify函
  • 高阶函数英文叫Higher-order function。什么是高阶函数?我们以实际代码为例子,一步一步深入概念。变量可以指向函数以Pyth
  • 本文实例讲述了PHP设计模式之装饰器模式定义与用法。分享给大家供大家参考,具体如下:什么是装饰器模式作为一种结构型模式, 装饰器(Decor
  • 在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。我前段时间写
  • 定义列表和其他类型的列表稍有不同,它由两部分组成:名称和定义。DT 指定名称,为内联元素。DD 指定定义,为块级元素。标准属性id, cla
  • 前两天看的时候,所用的歌曲地址加密方式已变更。将以前的发出来供大家赏玩。解密函数是从flash里面反编译出来的,加密函数是自己根据解密函数写
手机版 网络编程 asp之家 www.aspxhome.com