GAN:WGAN

论文:https://arxiv.org/pdf/1701.07875.pdf

发表:2017

WGAN 算法流程

从GAN 到 WGAN 的转变

相比于原始 GAN,WGAN 只需要修改以下几点,就能使得训练更稳定,生成质量更高: 

1. 此时的判别器相当于做回归任务,它输出的是一般意义上的分数,而不是之前的概率。所以判别器最后一层去掉 sigmoid;

2. 生成器和判别器的 loss 不取 log;

3. 每次更新判别器的参数之后把它们的绝对值截断到不超过一个固定常数 c;

4. 论文作者推荐使用 RMSProp 等非基于动量的优化算法。 

5. 判别器训练得越好,对生成器的提升更有利,因此可以放心地多训练Critic。所以有n_critic=5,即训练更新5次判别器,训练更新1次生成器。

WGAN 优点:

  • 训练过程中有一个有意义的 loss 值来指示生成器收敛,并且这个数值越小代表 GAN 训练得越好,代表生成器产生的图像质量越高;

  • 改善了优化过程的稳定性,解决梯度消失等问题,并且未发现存在生成样本缺乏多样性的问题。

作者指出我 Wasserstein 距离越小,错误率越低,生成质量越高,因此存在指示训练过程的意义。

对比与 JS 散度,当模型训练得越好,JS 散度或高或低,与生成样本质量之间无关联,没有意义。

实验表明 WGAN 和 DCGAN 都能生成的高质量的样本,左图 WGAN,右图 DCGAN。

而如果都不使用批标准化,左图的 WGAN 生成质量很好,而右图的 DCGAN 生成的质量很差。

如果 WGAN 和 GAN 都是用 MLP,WGAN 生成质量较好,而 GAN 出现样本缺乏多样性的问题。

WGAN 缺点:

1、训练不稳定、训练困难

2、权重裁剪后收敛缓慢(裁剪窗口太大)这源于 weight clipping 的方法太简单粗暴了,导致判别器的参数几乎都集中在最大值和最小值上,相当于一个二值神经网络了,没有发挥深度神经网络的强大拟合能力。

3、梯度消失(裁剪窗口太小)

WGAN 实践:

DCGAN:训练50poch

WGAN:训练50poch. 视觉上看差不多,可能还略输dcgan。训练一次D,训练一次G

WGAN:训练50poch. 感觉还不如上面那个实验。训练五次D,训练一次G

参考文章:

1:WGAN的来龙去脉 - 知乎

2:深度学习GAN系列课程笔记4—Origin GAN训练过程中的一些Tips ( WGAN / EBGAN ) - 知乎

3:Wasserstein GAN (WGAN) 解决本质问题 | 莫烦Python 

4:令人拍案叫绝的Wasserstein GAN - 知乎

参考代码:

1:https://github.com/znxlwm/pytorch-generative-model-collections/blob/master/WGAN.py

2:https://github.com/YixinChen-AI/CVAE-GAN-zoos-PyTorch-Beginner/blob/master/WGAN/WGAN.py

3:https://github.com/Zeleni9/pytorch-wgan 

4:https://github.com/eriklindernoren/PyTorch-GAN/blob/master/implementations/wgan/wgan.py

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/225864.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaSE语法之五:数组的定义与使用(超详解!!!)

文章目录 一、数组的概念1. 什么是数组2. 数组的创建及初始化3. 数组的使用3.1 数组中元素的访问3.2 遍历数组 二、数组是引用类型1. 初始JVM的内存分布2. 基本类型变量与引用变量的区别3. 引用变量4. 认识null 三、数组的应用场景1. 保存数据2. 作为函数的参数2.1 参数传基本类…

2023年淘宝年终好价节精选红包怎么领取?

2023年淘宝年终好价节精选红包怎么领取? 2023年淘宝双十二改名为了年终好价节,活动力度也提升了,不仅有官方立减和跨店满减,还有精选红包可领。那么,2023年淘宝年终好价节精选红包怎么领取?下面小编就给大家介绍下,赶…

教程篇(7.2) 01. 介绍和初始访问 ❀ FortiAnalyzer分析师 ❀ Fortinet 网络安全专家 NSE5

在本课中,你将了解FortiAnalyzer的关键功能和概念,以及如何最初访问FortiAnalyzer。 FortiAnalyzer将日志记录、分析和报告集成到一个系统中,因此你可以快速识别和响应。 在本课中,你将探索上图显示的主题。 通过展示FortiAnalyze…

种下一棵栀子花

女孩说自己是男孩当年伸手就可触及的栀子花.男孩沉默了,明白了当初失去了什么. 时光倒流,13年前的一个夏天夜晚,男孩与女孩同在沪城,女孩分享了自己的照片给男孩.男孩站在窗前,那晚的夜空很美丽,仿佛托着那个白衣裳女孩的纯真的梦,来到了自己的身边. 女孩说彼此间只是少了一个深…

Linux---日志管理

本章主要介绍Linux中的日志管理 了解rsyslog是如何管理日志的查看日志的方法 日志管理简介 工作当中的日志,特指硬件和软件的日志,管理员可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。日志管理包括管理系统日志、应…

ArcGIS提示当前许可不支持影像服务器

1、问题&#xff1a; 在用ArcGIS上处理影像栅格数据时&#xff08;比如栅格数据集裁剪、镶嵌数据集构建镶嵌线等&#xff09;经常会出现。 无法启动配置 RasterComander.ImageServer <详信息 在计算机XXXXX上创建服务器对象实例失败 当前许可不支持影像服务器。 ArcGIS提示当…

如何通过内网穿透实现无公网IP也能远程访问内网的宝塔面板

文章目录 一、使用官网一键安装命令安装宝塔二、简单配置宝塔&#xff0c;内网穿透三、使用固定公网地址访问宝塔 宝塔面板作为建站运维工具&#xff0c;适合新手&#xff0c;简单好用。当我们在家里/公司搭建了宝塔&#xff0c;没有公网IP&#xff0c;但是想要在外也可以访问内…

java聊天程序(群聊)简单版

先运行服务端&#xff0c;如果不先连接服务端&#xff0c;就不监听&#xff0c;那客户端不知道连接谁 服务端 import java.io.*; import java.net.*; import java.util.ArrayList; public class QLFWD{public static ServerSocket server_socket;public static ArrayList<S…

LeetCode:1466. 重新规划路线(DFS C++、Java)

目录 1466. 重新规划路线 题目描述&#xff1a; 实现代码与解析&#xff1a; DFS 原理思路&#xff1a; 1466. 重新规划路线 题目描述&#xff1a; n 座城市&#xff0c;从 0 到 n-1 编号&#xff0c;其间共有 n-1 条路线。因此&#xff0c;要想在两座不同城市之间旅行只有…

联想范建平:联想混合AI架构具备两大明显优势

12月7日&#xff0c;首届AI PC创新论坛在北京联想集团总部举办。联想集团副总裁、联想研究院人工智能实验室负责人范建平表示&#xff0c;为提供真正可信、个性化的AI专属服务&#xff0c;联想提出了混合智能&#xff08;Hybrid AI&#xff09;概念&#xff0c;并已经显现出更强…

物联网智能水表如何保证用户隐私和数据安全?

随着科技的发展, 物联网已经渗透到了我们生活的各个领域, 智能水表作为其中的一种应用之一。但是&#xff0c;在使用智能水表时&#xff0c;不可避免地涉及到用户隐私和数据安全的问题。所以&#xff0c;我们应该如何保证智能水表的用户隐私和数据安全呢&#xff1f; 首先&…

Java面向对象(高级)-- 注解(Annotation)

文章目录 一、 注解概述&#xff08;1&#xff09; 什么是注解&#xff08;2&#xff09; 注解与注释&#xff08;3&#xff09; 注解的重要性 二、常见的Annotation作用&#xff08;1&#xff09;示例1&#xff08;2&#xff09;示例2&#xff08;3&#xff09;示例3 三、 三个…

自动化测试:PO模式详解!

PO&#xff08;Page Object&#xff09;模式是一种在自动化测试中常用的设计模式&#xff0c;将页面的每个元素封装成一个对象&#xff0c;通过操作对象来进行页面的交互。 概括来说就是&#xff0c;每个页面都有对应的PO类&#xff0c;PO类中包含了页面的元素定位和操作方法。…

OMSA无法打开无法显示等服务异常时如何处理

文章目录 为何需要重启OMSAWindows 重启OMSA服务Linux 重启OMSA服务VMware 环境重启OMSA服务重启无效的解决办法推荐阅读 为何需要重启OMSA 在安装 OMSA 的服务器中&#xff0c;OMSA 管理软件运行可能会不稳定。例如&#xff1a; 某些信息&#xff08;如存储信息&#xff09;…

使用DockerUI结合内网穿透工具轻松实现公网访问和管理docker容器

文章目录 前言1. 安装部署DockerUI2. 安装cpolar内网穿透3. 配置DockerUI公网访问地址4. 公网远程访问DockerUI5. 固定DockerUI公网地址 前言 DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基…

C - 语言->内存函数

目录 系列文章目录 前言 1. memcpy使⽤和模拟实现 1.2 memcpy函数的模拟实现: 2. memmove 使⽤和模拟实现 2.1memmove的模拟实现&#xff1a; 3. memset 函数的使⽤ 4. memcmp 函数的使⽤ 系列文章目录 ✅作者简介&#xff1a;大家好&#xff0c;我是橘橙黄又青&#xff…

我有才打造知识付费小程序

一站式线上线下活动管理 为用户提供“精彩城市生活和人脉资源”。 在线活动提供创业、互联网、科技、投资、金融、教育、亲子、生活、聚会交友、医疗、设计、分享会、脱口秀、音乐演出等多种活动类型, 为职场白领提升技能、拓展人脉、聚会交友的首选平台。 为主办方提供“一…

迅镭激光受邀参加中国船舶与海洋工程产业知识产联盟年会

近日&#xff0c;由中国船舶工业行业协会知识产权分会、中国船舶与海洋工程产业知识产权联盟主办的“知识产权高质量发展高端论坛暨中国船舶工业行业协会知识产权分会及中国船舶与海洋工程产业知识产权联盟年会”在南通举行。 本次会议荟聚中国船舶行业专家、高校、科研院所及船…

基于ssm学生请假系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本学生请假系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息&am…

Java网络编程——创建非阻塞的HTTP服务器

HTTP&#xff08;Hypertext Transfer Protocol&#xff0c;超级文本传输协议&#xff09;是网络应用层的协议&#xff0c;建立在TCP/IP基础上。HTTP使用可靠的TCP连接&#xff0c;默认端口是80端口。HTTP的第1个版本是HTTP/0.9&#xff0c;后来发展到了HTTP/1&#xff0c;现在最…