1700540210
分析与解答
1700540211
1700540212
GANs的判别器试图区分真实样本和生成的模拟样本。Goodfellow在论文中指出,训练判别器,是在度量生成器分布和真实数据分布的JS距离;训练生成器,是在减小这个JS距离。即使我们不清楚形成真实数据的背后机制,还是可以用一个模拟生成过程去替代之,只要它们的数据分布一致。
1700540213
1700540214
但是实验中发现,训练好生成器是一件很困难的事,生成器很不稳定,常出现坍缩模式。什么是坍缩模式?拿图片举例,反复生成一些相近或相同的图片,多样性太差。生成器似乎将图片记下,没有泛化,更没有造新图的能力,好比一个笨小孩被填鸭灌输了知识,只会死记硬背,没有真正理解,不会活学活用,更无创新能力。
1700540215
1700540216
为什么会这样?既然训练生成器基于JS距离,猜测问题根源可能与JS距离有关。高维空间中不是每点都能表达一个样本(如一张图片),空间大部分是多余的,真实数据蜷缩在低维子空间的流形(即高维曲面)上,因为维度低,所占空间体积几乎为零,就像一张极其薄的纸飘在三维空间,不仔细看很难发现。考虑生成器分布与真实数据分布的JS距离,即两个KL距离的平均:
1700540217
1700540218
1700540219
1700540220
1700540221
(13.12)
1700540222
1700540223
初始的生成器,由于参数随机初始化,与其说是一个样本生成器,不如说是高维空间点的生成器,点广泛分布在高维空间中。打个比方,生成器将一张大网布满整个空间,“兵力”有限,网布得越大,每个点附近的兵力就越少。想象一下,当这张网穿过低维子空间时,可看见的“兵”几乎为零,这片子空间成了一个“盲区”,如果真实数据全都分布在这,它们就对生成器“隐身”了,成了“漏网之鱼”(见图13.6)。
1700540224
1700540225
1700540226
1700540227
1700540228
图13.6 高维空间中的生成器样本网点与低维流形上的真实分布
1700540229
1700540230
回到公式,看第一个KL距离:
1700540231
1700540232
1700540233
1700540234
1700540235
(13.13)
1700540236
1700540237
1700540238
高维空间绝大部分地方见不到真实数据,pr(x)处处为零,对KL距离的贡献为零;即使在真实数据蜷缩的低维空间,高维空间会忽略低维空间的体积,概率上讲测度为零。KL距离就成了:。
1700540239
1700540240
再看第二个KL距离:
1700540241
1700540242
1700540243
1700540244
1700540245
(13.14)
1700540246
1700540247
1700540248
同理KL距离也为:。因此,JS距离为log 2,一个常量。无论生成器怎么“布网”,怎么训练,JS距离不变,对生成器的梯度为零。训练神经网络是基于梯度下降的,用梯度一次次更新模型参数,如果梯度总是零,训练还怎么进行?
1700540249
1700540250
问题2 破解武器:WGAN针对前面问题做了哪些改进?什么是Wasserstein距离?
1700540251
1700540252
难度:★★★★☆
1700540253
1700540254
分析与解答
1700540255
1700540256
直觉告诉我们:不要让生成器在高维空间傻傻地布网,让它直接到低维空间“抓”真实数据。道理虽然是这样,但是在高维空间中藏着无数的低维子空间,如何找到目标子空间呢?站在大厦顶层,环眺四周,你可以迅速定位远处的山峦和高塔,却很难知晓一个个楼宇间办公室里的事情。你需要线索,而不是简单撒网。处在高维空间,对抗隐秘的低维空间,不能再用粗暴简陋的方法,需要有特殊武器,这就是Wasserstein距离(见图13.7),也称推土机距离(Earth Mover distance)
1700540257
1700540258
1700540259
[
上一页 ]
[ :1.70054021e+09 ]
[
下一页 ]