https://blog.csdn.net/nockinonheavensdoor/article/details/82055147

注明:直观理解而已,正儿八经的严谨证明看最下面的参考。

Earth Mover’s Distance

推土机距离的例子:有一堆土的分布是 PrPr, 其随机变量是xx,现在要求把这堆土挪动成为分布 PgPg ,其随机变量是yy(图上是PθPθ),这样做的方法很多,那么做最小功的挪动该是什么?这是一个优化问题对应着的最优解是:

这里Π(Pr,Pg)Π(Pr,Pg) 表示的是边缘分布是PrPr 和 PgPg 的联合分布(Pr,Pg)(Pr,Pg) 集合,即 ∑xγ(x,y)=Pr(y)∑xγ(x,y)=Pr(y) ,∑yγ(x,y)=Pθ(x)∑yγ(x,y)=Pθ(x).

γ∈Π(Pr,Pθ)γ∈Π(Pr,Pθ), 求解(x,y)(x,y)服从联合分布γγ 时,关于||x−y||||x−y||的期望,所有的解中最小的期望便是推土机距离。

直观的测度论
测度论提供了一些集合的特征,用来描述适用于RnRn空间的大多数点。
零测度:零测度集合在我们的度量空间中不占有任何的体积。比如二维空间中的一条直线的测度是0。

高维空间的低维子空间
高维空间中的很多点是多余的,真实数据蜷缩在低维子空间的流形上(即高维曲面),因为维度低,所占空间体积几乎为0,所以原始的GANs存在的问题是生成器的生成数据广泛分布在高维空间中,侦测不到真实数据,KL距离始终是log2,所以对生成器的梯度始终是0,怎么训练也没用。

Wasserstein距离的对偶式

相当于找到一个函数 ff 求(3)的最大目标函数。这个函数满足∥f∥L≤1‖f‖L≤1, 1-Lipschitz 函数。
参考:https://www.zhihu.com/question/41752299
:https://vincentherrmann.github.io/blog/wasserstein/
:《深度学习》《hulu百面》
---------------------
作者:NockinOnHeavensDoor
来源:CSDN
原文:https://blog.csdn.net/nockinonheavensdoor/article/details/82055147
版权声明:本文为博主原创文章,转载请附上博文链接!

wasserstein 距离的更多相关文章

  1. KL散度、JS散度、Wasserstein距离

    1. KL散度 KL散度又称为相对熵,信息散度,信息增益.KL散度是是两个概率分布 $P$ 和 $Q$  之间差别的非对称性的度量. KL散度是用来 度量使用基于 $Q$ 的编码来编码来自 $P$ 的 ...

  2. Wasserstein距离 和 Lipschitz连续

    EMD(earth mover distance)距离: 在计算机科学与技术中,地球移动距离(EMD)是一种在D区域两个概率分布距离的度量,就是被熟知的Wasserstein度量标准.不正式的说,如果 ...

  3. 【深度学习】K-L 散度,JS散度,Wasserstein距离

    度量两个分布之间的差异 (一)K-L 散度 K-L 散度在信息系统中称为相对熵,可以用来量化两种概率分布 P 和 Q 之间的差异,它是非对称性的度量.在概率学和统计学上,我们经常会使用一种更简单的.近 ...

  4. PyTorch 实战:计算 Wasserstein 距离

    PyTorch 实战:计算 Wasserstein 距离 2019-09-23 18:42:56 This blog is copied from: https://mp.weixin.qq.com/ ...

  5. Wasserstein距离

    https://blog.csdn.net/leviopku/article/details/81388306 https://blog.csdn.net/nockinonheavensdoor/ar ...

  6. 不要怂,就是GAN (生成式对抗网络) (六):Wasserstein GAN(WGAN) TensorFlow 代码

    先来梳理一下我们之前所写的代码,原始的生成对抗网络,所要优化的目标函数为: 此目标函数可以分为两部分来看: ①固定生成器 G,优化判别器 D, 则上式可以写成如下形式: 可以转化为最小化形式: 我们编 ...

  7. 概率分布之间的距离度量以及python实现(四)

    1.f 散度(f-divergence) KL-divergence 的坏处在于它是无界的.事实上KL-divergence 属于更广泛的 f-divergence 中的一种. 如果P和Q被定义成空间 ...

  8. Generative Adversarial Nets[Wasserstein GAN]

    本文来自<Wasserstein GAN>,时间线为2017年1月,本文可以算得上是GAN发展的一个里程碑文献了,其解决了以往GAN训练困难,结果不稳定等问题. 1 引言 本文主要思考的是 ...

  9. Wasserstein CNN: Learning Invariant Features for NIR-VIS Face Recognition

    承接上上篇博客,在其基础上,加入了Wasserstein distance和correlation prior .其他相关工作.网络细节(maxout operator).训练方式和数据处理等基本和前 ...

随机推荐

  1. PostgreSQL pg_dump&psql 数据的备份与恢复

    Usage:   pg_dump [OPTION]... [DBNAME] 数据库名放最后,不指定默认是系统变量PGDATABASE指定的数据库. General options:(一般选项)   - ...

  2. python中复数的几件事儿

    第8题相当于1.23e+4 + 0即9.87e+6j.real的实部其实是0,9.87e+6全是虚部 第15题相当于1.23e+4 + 9.87e+6,即加了9.87e+6j.imag的虚部的数值9. ...

  3. C#字符串加密解密

    /// <summary> /// 加密字符串 /// 注意:密钥必须为8位 /// </summary> /// <param name="strText&q ...

  4. Block 语法

    Block,代码块,^符号是block的语法标记. 比如说,一个block的参数列表是一个UIView,返回值是个CGFloat,block名称是testBlock 可以定义为  CGFloat (^ ...

  5. vue:在路由跳转中使用拦截器

    1:首先在路由对象中的某一个具体的路由对象加这样一个属性 meta: {  requireAuth:true  } 2:然后在main.js中添加这段代码 router.beforeEach((to, ...

  6. GIS案例学习笔记-CAD数据分层导入现有模板实例教程

    GIS案例学习笔记-CAD数据分层导入现有模板实例教程 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 1. 原始数据: CAD数据 目标模板 2. 任务:分5个图层 ...

  7. Java调用C/C++实现的DLL动态库——JNI

    由于项目的需要,最近研究了java 调用DLL的方法,将如何调用的写于此,便于日后查阅: 采用的方法是JNI:Java Native Interface,简称JNI,是Java平台的一部分,可用于让J ...

  8. 利用原生态的(System.Web.Extensions)JavaScriptSerializer将mvc 前台提交到controller序列化复杂对象

    主要代码如下: public JsonResult Test() { string s = Request.Form.ToString(); JavaScriptSerializer jss = ne ...

  9. 函数练习以及 if else 三元运算

  10. JS获取任意月份的最后一天

    在获取月份天数的时候,因为月份不同,所以每个月的天数也有差异,并且由于平闰年,2月份天数也有所不同,导致程序中获取任意月份的天数十分复杂,下面就用这个方法解决此问题,调用此方法将任意年份和月份传进去, ...