参考资料:http://blog.csdn.net/sallyxyl1993/article/details/64123922
https://baijiahao.baidu.com/s?id=1580024390078548003&wfr=spider&for=pc
https://sherlockliao.github.io/2017/06/20/gan_math/
http://blog.csdn.net/u011534057/article/details/52840788
https://zhuanlan.zhihu.com/p/25071913
注意:(由于符号是截取不同的图片,不同的两种表示两种分布情况)
经典的GAN网络简介
最初的目标函数
参数含义:
对目标函数的变换:(先将G固定)
上式中,由于在G固定的情况下,训练D对真实数据判断的最大值。而z分布通过固定的G之后会被映射到x的分布中,但有些不在x分布中,则它的概率就是0,所以公式的后半部分就简化为z能够映射到x的范围中的计算。
若想得到D的最大值这得到上式的最大值,如第二个式子的形式的最大值,通过求导为0可以得到最大值为:a/(a+b),及在G固定的情况下,目标函数最大值是:
当最优的判别器确定后,若想得到最好的G,则两个分布相同时,也就是pdata(x)=pg(x)=0.5,判别式可转换为如下所示,
由于常数的均值不变,则C(G) = -log 4,及最优的情况下目标函数值,也是在D确定的情况下,G的最小值。在没有达到最优的G时,可以将上式提出一个-log 4,通过变化得到下面的式子(参考:https://blog.csdn.net/stalbo/article/details/79283399):
又知道JS散度的计算公式
可将上面的式子最终化简为,
目标函数的问题
参考:https://www.zhihu.com/question/315253041/answer/877635189
对于前面提到的目标函数的最优解:
以及当D为最优时的G的目标函数
下面是KL散度的公式,两中分布(P,Q)可能出现多种情况,
P和Q无重合分布点,这生成器分布Q(x)=0,此时,KL的散度无意义,JS散度会成为一个常数。下面是二维平面数据分布的几种情况,
在实际中,分布的情况是多维的,而上图中只是二维,可以想象一下三维空间的两个平面的分布设为(F1,F2),这时的分布的重合范围就是一条线,相比与整个分布来说可以忽略,如果到更高维的分布则重合部分的比重会更少。也就是**JS散度是常数log 2,此时,梯度下降法的梯度为0 。**而且当D无线接近最优解时,生成器的梯度消失越严重,则训练越困难。
重新定义的目标函数
其中lb是指log 2,结合前面提到的算法,该式子可以转换为
其中式10,要求两个分布的概率相同,但式11,要求两个分布不一样,这中情况下不可能得到最优解。当对单一条件得到最优解:
只是满足式子10时,
这个说明生成了最真实的样本,但没有多样性,生成正确重复的样本,也不会生成多样性样本,就是模式崩溃。
只是满足式子11时,
该情况下,样本生成的随机性较强,但没能生成真实样本。
Wasserstein距离又叫Earth-Mover(EM)距离
比较普遍的解释就是移动图堆或搬砖的方式,通过调整现有的分布将生成网络的分布调整到对应的真实分布一样。
上图,有点儿怪,但可以理解为两个特殊分布,一个分布在x=θ处,一个分布在x=0处,会得到如下关系
其中,W是一个平滑的目标值,即使两个分布完全无交集,也有合理的度量