【GANs学习笔记】(六)JS Divergence不是最好的Divergence
完整笔记:http://www.gwylab.com/note-gans.html
———————————————————————
3. JS divergence不是最佳的divergence
在第三篇当中我们介绍了fGAN告诉我们的结论:不只是JS divergence,任何的divergence(统称为f-Divergence)都可以被放到GANs的架构中去。
现在有了这个结论,我们开始思考,原始GANs的JS Divergence到底是不是最好的divergence。也就是说,我们得去发掘,JS Divergence是否存在一些毛病。
我们先考虑一下 与 的实际分布情况,我们会发现,大多数情况下 与 是没有重合的。因为一方面, 与 都属于高维空间中的低维流形,二者具有重合的可能性是非常低的(如下左图);另外一方面,即算 与 的分布有了重合区域,但是在实际训练中我们是从 与 中取的采样,这些采样也基本不可能出现重复(如下右图)。所以我们可以认为,大多数情况下 与 是没有重合的。
那如果与是没有重合的,然后用JS divergence去衡量与的距离的话,就会造成如下障碍:
在上图中可以看出,与都与没有交集,但是与的距离比与的距离近,然而用JS divergence去衡量二者的距离却是一样的,都为log2,这是我们认为JS divergence不合理的地方,因为实际情况是,应当比,要小,才能反映出与比与要靠的更近。有必要说明一下,为什么如果两个分布完全没有重合的话,那么这两个分布的JS divergence会是一样的。前面有提到,JS divergence是通过discriminator计算出来的,而discriminator的本质是binary classifier,只要与完全没有重合,discriminator就能100%地鉴别出与的差异,因此二者的JS divergence就是一样的。
因此,我们发现JS divergence是存在问题的。为了解决这些问题,我们开始介绍下面几篇paper,它们从不同角度采用了不同的方法,实现GANs的改进与提升。
【GANs学习笔记】(六)JS Divergence不是最好的Divergence相关推荐
- JS学习笔记六:js中的DOM操作
1. JS学习笔记六:js中的DOM操作 文章目录 1. JS学习笔记六:js中的DOM操作 1.1. 获取Dom节点 1.2. 元素属性的操作方式 1.3. DOM节点的创建.插入和删除 1.4. ...
- opencv 手选roi区域_【opencv学习笔记六】图像的ROI区域选择与复制
图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感兴趣区域ROI.今天我们来看一下如何设置图像的感兴趣区域ROI.以及对ROI区域图像 ...
- Ethernet/IP 学习笔记六
Ethernet/IP 学习笔记六 EtherNet/IP defines two primary types of communications: explicit and implicit (Ta ...
- 吴恩达《机器学习》学习笔记六——过拟合与正则化
吴恩达<机器学习>学习笔记六--过拟合与正则化 一. 过拟合问题 1.线性回归过拟合问题 2.逻辑回归过拟合问题 3.过拟合的解决 二. 正则化后的代价函数 1.正则化思想 2.实际使用的 ...
- ROS学习笔记六:理解ROS服务和参数
ROS学习笔记六:理解ROS服务和参数 主要介绍ROS服务和参数,同时使用命令行工具rosservice和rosparam. ROS service service是节点之间互相通信的另一种方式,se ...
- Python学习笔记六——画小猪佩奇
目录 Python学习笔记六--画小猪佩奇 画布 画笔 属性设置 操纵命令 运动命令 画笔控制命令 全局控制命令 其他命令 Python学习笔记六--画小猪佩奇 使用Python的turtle库可以绘 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(六) indigo xtion pro live
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- 前端学习笔记(js基础知识)
前端学习笔记(js基础知识) JavaScript 输出 JavaScript 数据类型 常见的HTML事件 DOM 冒泡与捕获 流程控制语句 for..in 计时器 let,var,const的区别 ...
- TS学习笔记04 JS创建对象的方式
TS学习笔记04 JS创建对象的方式 首先我们回顾下JS中创建对象的方式 比如说我按照下面的创建了两个对象分别为stu1和stu2,比如说我现在想给这两个对象都添加一个新的方法,但是这两个对象 ...
- Polyworks脚本开发学习笔记(六)-比较运算、数学运算、逻辑运算及流程控制
Polyworks脚本开发学习笔记(六)-比较运算.数学运算.逻辑运算及流程控制 前言 比较运算.逻辑运算及流程控制是编程的基本语法,Polyworks的语法规则与VB/C#/Python等并没有很大 ...
最新文章
- php字符串比较函数
- python中怎么绘制柱状簇_用Python绘制簇的质心
- Wordpress 更新时 不输入ftp相关信息的方法
- 分布式基础篇总结(谷粒商城)
- excel数据命令导入mysql_如何将EXCEL数据导入MYSQL
- SpringCloud创建Eureka Client服务注册
- 平衡二叉树(AVL)python实现
- 工作不饱和 ? 给你 8 个程序员接私活的网站
- 每日记载内容总结14
- [渝粤教育] 浙江大学 物理光学实验及仿真 参考 资料
- 500强企业校园招聘经典面试问题汇编
- 知乎提示浏览器版本过低的完美解决办法
- 跪了,腾讯数据工程师用Python可视化绘制的中国GDP数据地图,大佬就是不一样
- Python实现汉字人名按拼音或笔画顺序排序
- 核心网技术之SDN学习总结
- [Windows10]Win10如何获取最高管理员权限
- javascript字符串方法indexOf、lastIndexOf 方法的使用
- 常用SQL语句大全实例总结-基础篇
- 解决报错dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.64.dylib
- 数据科学家应当了解的五个统计基本概念