本文主要是介绍GAN笔记_李弘毅教程(五)General Framework,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这个章节主要讲的是不同的divergence对GAN的影响
f-divergence都可以放到GAN架构中。
f是凸函数并且f(1)=0
当p=q时,divergence为0,0是最小值。
代入不同的 f ( x ) f(x) f(x),即有不同的KL。
每一个 f ( x ) f(x) f(x)都有一个 f ∗ f^* f∗,凸共轭。
有两种方法,分别为穷举法和画图法
穷举法:
穷举x,看当x等于多少时,能使 f ∗ f^* f∗最大。
当 t 1 {t_1} t1时, x 1 {x_1} x1最大,就选 x 1 {x_1} x1;
当 t 2 {t_2} t2时, x 3 {x_3} x3最大,就选 x 3 {x_3} x3
画图法,红线即为 f ∗ f^* f∗
f ∗ f^* f∗也一定是凸函数。
当 f ( x ) = x log x f(x) = x\log x f(x)=xlogx时,把不同的x代进去,以t为未知数会有不同的直线。这时的红线就是exp函数
具体证明如下
这和GAN有啥联系?输入哪一个x,使t最大?
用概率分布p对D(x)取值
可以用的f-divergence,把f(u)代进本章节刚开始的公式。
不同的f-divergence有什么用?
因为我们在训练GAN的过程中可能会碰到Mode Collapse。
比如二次元生成中,同一张人脸会出现几次,发色改变也算之内。
Mode Dropping
迭代不同次数,出现的也只是同一群。
比如下图,仅仅是皮肤的变换。
出现以上两种现象,可能是因为divergence选的不好。
选不同的divergence,最后Maximum likelihood的分布是不同的。
出现这种问题如果是因为divergence,那就可以换一个divergence,如果换后还有,说明是因为其他原因。
下图左图Mode Collapse出现模糊,右图Mode Dropping
所以用很多不同G,就可以产生不同的图片。避免Mode Collapse。
这篇关于GAN笔记_李弘毅教程(五)General Framework的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!