WGAN 优势小结

        我在上一篇博文为什么 GAN 不好训练中,分析了原始 GAN 难以训练的原因,本篇博文将分析下 WGAN 的优势。

1. Wasserstein 距离

        W 是指 Wasserstein,Wasserstein 距离又叫Earth-Mover(EM)距离。Wasserstein距离相比KL散度、JS散度的优越性在于,即便两个分布没有重叠,Wasserstein距离仍然能够反映它们的远近。WGAN本作通过简单的例子展示了这一点。考虑如下二维空间中的两个分布P1和P2,P1在线段AB上均匀分布,P2在线段CD上均匀分布,通过控制参数θ可以控制着两个分布的距离远近。

        KL 散度和 JS 散度是突变的,要么最大要么最小,Wasserstein 距离却是平滑的,如果我们要用梯度下降法优化 θ 这个参数,前两者根本提供不了梯度,Wasserstein 距离却可以。类似地,在高维空间中如果两个分布不重叠或者重叠部分可忽略,则KL和JS既反映不了远近,也提供不了梯度,但是 Wasserstein 却可以提供有意义的梯度。

2. WGAN 应用

        WGAN 的核心思想就是通过数学变换将 Wasserstein 距离写成可求解的形式,利用一个参数数值范围受限的判别器神经网络来最大化这个形式,就可以近似 Wasserstein 距离。在此近似最优判别器下优化生成器使得 Wasserstein 距离缩小,就能有效拉近生成分布与真实分布。

        WGAN 的优势如下:

1、彻底解决GAN训练不稳定的问题,不再需要小心平衡生成器和判别器的训练程度。
2、基本解决了collapse mode的问题,确保了生成样本的多样性 。
3、训练过程中终于有一个像交叉熵、准确率这样的数值来指示训练的进程,这个数值越小代表GAN 训练得越好,代表生成器产生的图像质量越高。
4、以上一切好处不需要精心设计的网络架构,最简单的多层全连接网络就可以做到。

        实现步骤如下:

1、判别器最后一层去掉 sigmoid。sigmoid 函数容易出现梯度消失的情况。
2、生成器和判别器的 loss 不取 log
3、每次更新判别器的参数之后把它们的绝对值截断到不超过一个固定常数c
4、不要用基于动量的优化算法(包括 momentum 和 Adam),推荐 RMSProp,SGD 也行(原作者的实验经验)

        算法流程如下:

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

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

相关文章

2024年企业和个人都在备考的权威性 AI人工智能工程师培训类证书

给大家推荐个2024年企业和个人都在备考的权威性 AI人工智能工程师培训类证书,看能否帮到大家的: 由工业和信息化部电子工业标准化研究院颁发的关于以下两类证书: 计算机自然语言及语音处理设计开发工程师(中级) 计算机…

软件设计师——信息安全(二)

📑前言 本文主要是【信息安全】——软件设计师——信息安全的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 &#x1f304…

【无数次任意地址读+栈溢出】ImaginaryCTF2023 -- opportunity

前言 本题不难&#xff0c;但感觉笔者的做法挺有意思&#xff08;嘿嘿&#xff0c;自夸啦&#xff09;&#xff0c;利用到了最近学到的 ret2hbp。 漏洞分析 保护&#xff1a;smap 等都开了&#xff0c;标配啦 >_< 漏洞是直给的&#xff1a;这里存在一个 256 字节的任…

阅读代码的记录

1-utils_metrics.py用在train.py中做指标衡量&#xff0c;现在想在推理&#xff08;predict.py&#xff09;的时候衡量一下指标 2-调研眼睛部位的单独分割。 https://blog.csdn.net/qq_40234695/article/details/88633094 衡量图像语义分割准确率主要有三种方法&#xff1a; …

高级C#技术(二)

前言 本章为高级C#技术的第二节也是最后一节。前一节在下面这个链接 高级C#技术https://blog.csdn.net/qq_71897293/article/details/134930989?spm1001.2014.3001.5501 匿名类型 匿名类型如其名&#xff0c;匿名的没有指定变量的具体类型。 举个例子&#xff1a; 1 创建…

YOLOv8改进《目标对象计数》多任务实验:深度集成版来了!支持自定义数据集训练自定义模型

💡该教程为改进YOLO专栏,属于《芒果书》📚系列,包含大量的原创改进方式🚀 💡🚀🚀🚀内含改进源代码 按步骤操作运行改进后的代码即可💡更方便的统计更多实验数据,方便写作 YOLOv8改进《目标对象计数》多任务实验:深度集成版来了!支持自定义数据集训练自定…

匿名内部类与Lambda表达式

深入了解Java的匿名内部类 Java作为一种面向对象的编程语言&#xff0c;提供了许多灵活的特性&#xff0c;其中之一就是匿名内部类。匿名内部类是一种没有名字的局部内部类&#xff0c;通常用于创建只需在一个地方使用的类的实例。 什么是匿名内部类&#xff1f; 匿名内部类是…

学习Java第70天,过滤器Filter简介

过滤器概述 Filter,即过滤器,是JAVAEE技术规范之一,作用目标资源的请求进行过滤的一套技术规范,是Java Web项目中最为实用的技术之一 Filter接口定义了过滤器的开发规范,所有的过滤器都要实现该接口 Filter的工作位置是项目中所有目标资源之前,容器在创建HttpServletRequest和…

Unity2023.3(Unity6)版本开始将可以发布WebGPU

翻译一段官网上的话&#xff1a; 利用Unity 2023.3(正式发布时应该称为Unity6)中最新的WebGPU图形API集成&#xff0c;尝试最大限度的提升您的网络游戏的真实感。 通过与谷歌的战略合作&#xff0c;Unity实时3D平台的强大的图形功能现在为图形丰富的网络游戏进行微调&#xff0…

知识库SEO:提升网站内容质量与搜索引擎排名的策略

随着搜索引擎算法的不断更新和优化&#xff0c;单纯依靠关键词堆砌和外部链接的时代已经过去。现在的SEO&#xff08;搜索引擎优化&#xff09;已经转向了以提供高质量、有价值内容为核心的阶段。知识库SEO便是这个新阶段的重要策略之一。 | 一、知识库SEO的概念与意义 1.定义…

python 新手学习 - 简单实用的 Python 周期任务调度工具

如果你想周期性地执行某个 Python 脚本&#xff0c;最出名的选择应该是 Crontab 脚本&#xff0c;但是 Crontab 具有以下缺点&#xff1a; 1.不方便执行秒级任务。 2.当需要执行的定时任务有上百个的时候&#xff0c;Crontab 的管理就会特别不方便。 还有一个选择是 Celery&a…

text-align-last: justify 使用方法,对齐字段交互

<html> <style>.label {display: inline-block;width: 100px;text-align-last: justify;} </style><body><div class"l-content"><div><div class"label">身份证&#xff1a;</div><div class"la…

DDA 算法

CAD 算法是计算机辅助设计的算法&#xff0c;几何算法是解决几何问题的算法 CAD 算法是指在计算机辅助设计软件中使用的算法&#xff0c;用于实现各种设计和绘图功能&#xff0c;CAD 广泛应用于建筑、机械、电子等领域&#xff0c;可以大大提高设计效率和精度 绘图算法是 CAD…

RLC防孤岛负载测试:电力系统安全运行的重要保障

在电力系统中&#xff0c;孤岛效应是一个严重的问题&#xff0c;它可能导致电力系统的不稳定甚至崩溃。为了确保电力系统的安全运行&#xff0c;必须进行RLC防孤岛负载测试。RLC防孤岛负载测试是一种模拟电网故障后&#xff0c;对电力系统进行检测的方法&#xff0c;主要用于检…

性格内向,如何找到适合自己的职业

很多人都会觉得性格内向是一件坏事&#xff0c;这会让自己在竞争激烈的生活中得不到好处&#xff0c;但其实在心理学上看来&#xff0c;每一种性格都有自己的优缺点&#xff0c;如果片面地用好坏去评定&#xff0c;就无法发挥性格的优势&#xff0c;也很难利用它们为自己所用。…

LLM(六)| Gemini:谷歌Gemini Pro 开放API ,Gemini Pro 可免费使用

近期&#xff0c;Google Gemini Pro 开放API 了&#xff0c;且Gemini Pro 可免费使用&#xff01;Gemini Pro支持全球180个国家的38种语言&#xff0c;目前接受文本作为输入并生成文本作为输出。 Gemini API 地址&#xff1a;http://ai.google.dev Gemini Pro 的表现超越了其他…

Linux route命令详解

1、介绍 route命令用于显示和操作IP路由表&#xff0c;它允许用户查看当前系统的路由信息&#xff0c;添加新的路由、删除已有的路由等。 2、命令 2.1 命令选项 -n, --numeric&#xff1a;不解析主机名&#xff0c;直接显示IP地址。使用这个选项可以加快显示速度&#xff0…

Git忽略已经提交的文件

原理类似于 Android修改submodule的lib包名

“唯品会API接口:电商开发者的秘密武器”

一、引言 唯品会作为一家知名的电商平台&#xff0c;提供了丰富的API接口供开发者使用。通过使用唯品会的API接口&#xff0c;开发者可以轻松地与唯品会平台进行交互&#xff0c;实现自动化处理、数据抓取等功能。本文将详细介绍唯品会API接口的使用方法、技术细节以及注意事项…

C语言->动态内存管理

系列文章目录 文章目录 前言 ✅作者简介&#xff1a;大家好&#xff0c;我是橘橙黄又青&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;橘橙黄又青_C语言,函数,指针-CSDN博客 目的&#xff1a;学习malloc&#xff0c…