1. General Framework
Df(P||Q)表示P和Q分布的距离, 这就代表两个分布像不像, GAN的目的就是为了让Genorator产生的图像分布尽量接近target domain的图像分布
f-divergence就表示计算divergence的一个通用的表达方式, 不同的divergence就是不同的量度Generator domain和target domain距离的方法
image.png不同的f(x)就得到不同的divergence
image.png
f(x)的共轭f*(t), 这玩意儿有什么用呢?
image.pngimage.png
举个栗子
f(x)=xlogx时, f*(t)是exp(t-1)
证明
image.png与GAN的联系
image.pngt = D(x), 找一个D(x)它可以max约等于后面那长串, 这个D就是Discriminator
image.png这些divergence其实并没有太大的差别
image.pngMode Collapse就是产生出来的Distribution越来越小, 无法泛化real data
image.pngMode Dropping就是只能产生real data某一模式的特定分布, 蓝色是real data, 有两群分布, 而黄色是GAN产生的fake data, 只模仿了其中一群的分布
比如slide中, 一次iteration, 就会让GAN产生一种特定肤色的人脸
image.png猜想 - 上面两个问题有可能是divergence选的不好造成的, 如果是KL-devergence, 那就是学一个两个都不像, 出来的效果就是blur, 如果用reverse KL, 那就是mode dropping, 只能学其中一个distribution学的特别好, 另外的就管不了
image.png
那实际上, Mode Collapse / Dropping并不完全是由选择不同的f-divergence导致的
有效避免Model Collapse / Dropping的手段是Ensemble, 多训几个Genorator, 随机挑选
image.png
网友评论