首页 > 其他分享 >生成对抗网络的Wasserstein距离:度量两个概率分布之间距离

生成对抗网络的Wasserstein距离:度量两个概率分布之间距离

时间:2024-04-03 22:58:21浏览次数:21  
标签:概率分布 生成器 散度 距离 生成 GAN Wasserstein

生成对抗网络的Wasserstein距离

作者:禅与计算机程序设计艺术

1. 背景介绍

生成对抗网络(Generative Adversarial Network,GAN)是近年来机器学习领域最重要的创新之一。GAN通过训练两个相互竞争的神经网络模型—生成器(Generator)和判别器(Discriminator),从而学习生成接近真实数据分布的样本。这种对抗训练的方式可以让生成器生成出高质量、接近真实数据分布的样本。

传统的GAN模型使用Jensen-Shannon散度作为生成器和判别器之间的损失函数。然而,Jensen-Shannon散度存在一些问题,比如当生成分布和真实分布没有重叠时梯度会消失,导致训练陷入困境。为了解决这一问题,Wasserstein GAN (WGAN)被提出,它使用Wasserstein距离作为生成器和判别器之间的loss函数。

2. 核心概念与联系

2.1 Wasserstein距离

Wasserstein距离,也称为Earth Mover’s Distance (EMD),是度量两个概率分布之间距离的一种方法。

给定两个概率分布 P P P和 Q Q Q,Wasserstein距离定义为:

W ( P , Q ) = inf ⁡ γ ∈ Γ ( P , Q ) E ( x , y ) ∼ γ [ ∣ ∣ x − y ∣ ∣ ] W(P,Q) = \inf_{\gamma \in \Gamma(P,Q)} \mathbb{E}_{(x,y)\sim \gamma}[||x-y||] W(P,Q)=γ∈Γ(P,Q)inf​E(x,y)∼γ​[∣∣x−y∣∣]

其中 Γ ( P , Q ) \Gamma(P,Q) Γ(P,Q)表示所有可能的联合分布 γ ( x , y ) \gamma(x,y) γ(x,y)的集合,其边缘分布为 P P P和 Q Q Q。直观上来说,Wasserstein距离就是将一个分布变形为另一个分布所需要的最小"工作量"。

与KL散度和JS散度不同,Wasserstein距离是一个真正的度量,满足以下性质:

  1. 非负性: W ( P , Q ) ≥ 0 W(P,Q) \geq 0 W(P,Q)≥0,等号成立当且仅当 P = Q P=Q P=Q
  2. 对称性: W ( P , Q ) = W ( Q , P ) W(P,Q) = W(Q,P) W(P,Q)=W(Q,P)
  3. 三角不等式: W ( P , R ) ≤ W ( P , Q ) + W ( Q , R ) W(P,R) \leq W(P,Q) + W(Q,R) W(P,R)≤W(P,Q)+W(Q,R)

这些性质使得Wasserstein距离更适合作为GAN的损失函数。

2.2 WGAN

WGAN通过最小化生成器G和判别器D之间的Wasserstein距离来训练GAN,损失函数定义如下:

min ⁡ G max ⁡ D W ( P g , P r ) \min_G \max_D W(P_g, P_r)

标签:概率分布,生成器,散度,距离,生成,GAN,Wasserstein
From: https://blog.csdn.net/2301_76268839/article/details/137213616

相关文章

  • 题解:P2758 编辑距离
    第一步:确定子问题有4种操作(删除,添加,修改,不变)。所以4个子问题就是操作后的A变为B需要多少步。第二步:确定状态设$dp[i][j]$为将A的前i位变为B的前j位的最小代价。第三步:确定转移方程删除:$dp[i][j]=dp[i-1][j]+1$添加:$dp[i][j]=dp[i][j-1]+1$修改:$dp[i][j]=dp[i-1][j......
  • 【图像分割】基于平方Hellinger距离和局部相关特征的自适应活动轮廓非均匀图像分割附m
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • 编辑距离算法
    constlevenshteinDistance=(str1:string,str2:string)=>{constlen1=str1.length;constlen2=str2.length;constmatrix:Array<number[]>=[];//初始化第一行for(leti=0;i<=len1;i++){matrix[i]=[i];......
  • (55/60)两个字符串的删除操作、编辑距离
    两个字符串的删除操作leetcode:583.两个字符串的删除操作动态规划思路先求最长子序长度然后计算两个原字符串离最长子序长度差多少。代码实现classSolution{public:/*(之前搞错了)最长子序长度word[0:i-1]和word2[0:j-1]的最长子序长dp[i][j]if(word1[i-1]==wo......
  • QT在界面两点画一条线并测算距离
    记录一下在界面划线的过程在QT插件界面有QProductSetShowWidget2::QProductSetShowWidget2(QWidget*parent)框其中缺陷图片是由ui->def_view设置def_view是一个自定义类 QSynchShowImageView继承自vml::QZoomGraphicsView再继承自QT官方的QGraphicsView在类QSynchShowIm......
  • java基础操作4——计算三维空间两点之间的绝对距离
    在实际项目中,计算两个坐标点的距离算是比较常见的问题。具体可参考如下文章:https://blog.csdn.net/w10463672p/article/details/136877796但是涉及到三维空间的距离计算,或者准确说是两点的相似度,需要用到欧式距离算法或者其他数学方法。此算法计算的距离衡量的是多维空间中......
  • 巨控GRM110系列:短距离内的无线通讯模块
    标签:#巨控GRM110#无线通讯#ROLA技术#工业自动化#远程数据采集在工业自动化和智能制造的领域中,数据的准确传输是实现高效生产的关键。随着技术的不断进步,无线通讯技术已成为破解远距离数据传输难题的利器。今天,我们将聚焦于一款革命性的无线通讯模块——巨控GRM110系......
  • UE5(行为树)EQS的距离检测
      EQS是一个通过数学计算进行一系列检测的节点,可以辅助行为树进行更加准确的需求实现。这里简单讲解一下EQS的距离检测。1.创建一个网格检测体Grid,将网格半大小调到700、之间的空间因为损耗性能太大的缘故也调到300,在创建好EQS检测员_Player之后,将周围生成改为这个带玩......
  • 重新梳理Attention Is All You Need(Transformer模型): Attention=距离,权重,概率;Multi-He
    Attention并非transformer原创,但是transformer把Attention置为核心地位,取得了巨大的成功!我来尝试理解并介绍一下Attention注意机制。Attention的目的是:提取特征,获得权重。Attention是什么:提取特征(权重)的手段。比如:给定一张图片,人类大脑很快就会把注意力放在最具辨识度的部分......
  • 编辑距离算法
    1.题目给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数  。你可以对一个单词进行如下三种操作:删除一个字符替换一个字符插入一个字符示例:输入:word1="horse",word2="ros"输出:3解释:horse->rorse(将'h'替换为'r')ror......