您当前的位置: 首页 >  数学

wendy_ya

暂无认证

  • 3浏览

    0关注

    342博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

生成对抗网络前言(1)——生成对抗网络的数学推导

wendy_ya 发布时间:2020-09-01 12:12:28 ,浏览量:3

目录
    • 一、预备知识
        • 1.1 数学期望
        • 1.2 最大似然估计
          • 例子
        • 1.3 熵与交叉熵
        • 1.4 KL散度(Kullback-Leibler divergence)
        • 1.4 零和博弈
    • 二、数学描述

一、预备知识

在推导GAN公式之前,为了理解生成对抗网络的基本原理,需要首先了解一些预备知识。

1.1 数学期望

在概率论和统计学中,数学期望(mean)(或均值,亦简称期望)是试验中每次可能结果的概率乘以其结果的总和,是最基本的数学特征之一。它反映随机变量平均取值的大小。

对于连续型随机变量x,其概率密度函数为f(x),则X的数学期望E(x)为: 在这里插入图片描述

1.2 最大似然估计

最大似然估计(maximum likelihood estimation, MLE)一种重要而普遍的求估计量的方法。最大似然法明确地使用概率模型,是用来估计一个概率模型的参数的一种方法,其目标是寻找能够以较高概率产生观察数据的系统发生树。

(最大似然估计是一种“模型已定,参数未知”的方法)

例子

举个通俗的例子:假设一个袋子装有白球与红球,比例未知,现在抽取10次(每次抽完都放回,保证事件独立性),假设抽到了7次白球和3次红球,在此数据样本条件下,可以采用最大似然估计法求解袋子中白球的比例(最大似然估计是一种“模型已定,参数未知”的方法)。当然,这种数据情况下很明显,白球的比例是70%,但如何通过理论的方法得到这个答案呢?一些复杂的条件下,是很难通过直观的方式获得答案的,这时候理论分析就尤为重要了,这也是学者们为何要提出最大似然估计的原因。我们可以定义从袋子中抽取白球和红球的概率如下: 在这里插入图片描述 似然估计: 在这里插入图片描述 两边取ln,方便求导: 在这里插入图片描述 取平均: 在这里插入图片描述 最大似然估计的过程,就是找一个合适的theta,使得平均对数似然的值为最大。因此,可以得到以下公式: 在这里插入图片描述 推广到多个: 在这里插入图片描述 我们定义M为模型(也就是之前公式中的f),表示抽到白球的概率为theta,而抽到红球的概率为(1-theta),因此10次抽取抽到白球7次的概率可以表示为: 在这里插入图片描述在这里插入图片描述 求导,令其导数为零: 在这里插入图片描述 由此可得,当抽取白球的概率为0.7时,最可能产生10次抽取抽到白球7次的事件。

参考: https://www.jianshu.com/p/f1d3906e4a3e

1.3 熵与交叉熵

熵(Entropy):

交叉熵(Cross-Entropy):

1.4 KL散度(Kullback-Leibler divergence)

KL散度,又称“相对熵”,在信息论中,用生成的概率分布Q来拟合逼近真实的概率分布P时,所产生的信息损耗,即描述两个概率分布的差异,其本身是非对称的。

设x是连续型随机变量,其真实概率分布为P(x),拟合分布概率为Q(x),则P对Q的KL散度为: 在这里插入图片描述 从上述公式可以看出,当且仅当P=Q时,KL(P||Q)=0。同时KL散度具有非负性,即KL(P||Q)≥0;KL散度不具备对称性,也就是说P对Q的KL散度并不等于Q对P的KL散度。

KL散度的理论意义在于度量两个概率分布之间的差异程度。当KL散度越高时,说明两者的差异程度越大;而当KL散度低时,则说明两者的差异程度小。如果两者相同的话,则该KL散度应该为0。

【特定情况下,通常是P用以表示数据的真实分布,而Q表示数据的模型分布或近似分布。】

参考: 【1】https://zhuanlan.zhihu.com/p/22464760

1.4 零和博弈

零和博弈:指参与博弈的双方,在严格的竞争下,一方的收益必然意味着另一方的损失,博弈过程中,双方的各自收益和损失的相加总和永远为零,双方完全不存在合作的可能。 就好比下棋一样,你和对手的每一步棋都是向着自己最有利的方向走,最终只有一方赢一方输,而下棋的总成绩永远为零。 关于博弈论的详细知识,可参考:https://blog.csdn.net/didi_ya/article/details/108979939

二、数学描述

在这里插入图片描述 上图中,x是真实数据,Pdata(x)是x的概率分布,z表示随机噪声,P(z)是z的概率分布,噪声分布。

z通过一个神经网络输出x,x为fake sample,如图所示:

在这里插入图片描述 D(x;θg):代表是真品的概率。越趋近于1,越可能是真品;越趋近于0,越可能是赝品。 其大致表示如下: 在这里插入图片描述 目标: 对于判别器D: 如果 x 来自 pdata,则 D(x)偏高;=>log D(x)↑ 如果 x 来自 pg(即z 来自 pz),则 D(x)偏低,即(1-D(x))偏高 ==> log(1-D(x))↑ (由于x=G(z)) 因此 max 在这里插入图片描述 【为什么是期望?】 求期望是因为这是要在整个数据集上做运算,而这个数据集是x~pdata,即数学期望 在这里插入图片描述

对于生成器D: 如果 x 来自 pg(即z 来自 pz),则 D(x)偏高,即(1-D(x))偏低 ==> log(1-D(x))↓

因此 min 在这里插入图片描述

总目标:(生成器G建议在判别器D的基础上) 在这里插入图片描述

因为,min的对象是G,max的对象是D,而第一项不包括G,因此min计算时不包括第一项的期望。

GAN的目的是将随机噪声z通过生成器G得到一个和真实数据分布Pdata(x)类似的生成分布Pg(G(z)),

关注
打赏
1659256378
查看更多评论
立即登录/注册

微信扫码登录

0.0597s