1700540266
图13.7 Wasserstein距离
1700540267
1700540268
1700540269
1700540270
怎么理解这个公式?想象你有一个很大的院子,院子里有几处坑坑洼洼需要填平,四个墙角都有一堆沙子,沙子总量正好填平所有坑。搬运沙子很费力,你想知道有没有一种方案,使得花的力气最少。直觉上,每个坑都选择最近的沙堆,搬运的距离最短。但是存在一些问题,如果最近的沙堆用完了,或者填完坑后近处还剩好多沙子,或者坑到几个沙堆的距离一样,我们该怎么办?所以需要设计一个系统的方案,通盘考虑这些问题。最佳方案是上面目标函数的最优解。可以看到,当沙子分布和坑分布给定时,我们只关心搬运沙子的整体损耗,而不关心每粒沙子的具体摆放,在损耗不变的情况下,沙子摆放可能有很多选择。对应式(13.16),当你选择一对(x,y)时,表示把x处的一些沙子搬到y处的坑,可能搬部分沙子,也可能搬全部沙子,可能只把坑填一部分,也可能都填满了。x处沙子总量为,y处坑的大小为,从x到y的沙子量为γ(x,y),整体上满足等式
1700540271
1700540272
1700540273
,
1700540274
1700540275
(13.16)
1700540276
1700540277
1700540278
.
1700540279
1700540280
(13.17)
1700540281
1700540282
为什么Wasserstein距离能克服JS距离解决不了的问题?理论上的解释很复杂,需要证明当生成器分布随参数θ变化而连续变化时,生成器分布与真实分布的Wasserstein距离也随θ变化而连续变化,并且几乎处处可导,而JS距离不保证随θ变化而连续变化。
1700540283
1700540284
通俗的解释,接着“布网”的比喻,现在生成器不再“布网”,改成“定位追踪”了,不管真实分布藏在哪个低维子空间里,生成器都能感知它在哪,因为生成器只要将自身分布稍做变化,就会改变它到真实分布的推土机距离;而JS距离是不敏感的,无论生成器怎么变化,JS距离都是一个常数。因此,使用推土机距离,能有效锁定低维子空间中的真实数据分布。
1700540285
1700540286
问题3 WGAN之道:怎样具体应用Wasserstein距离实现WGAN算法?
1700540287
1700540288
难度:★★★★★
1700540289
1700540290
分析与解答
1700540291
1700540292
一群老鼠开会,得出结论:如果在猫脖上系一铃铛,每次它靠近时都能被及时发现,那多好!唯一的问题是:谁来系这个铃铛?现在,我们知道了推土机距离这款武器,那么怎么计算这个距离?推土机距离的公式太难求解。幸运的是,它有一个孪生兄弟,和它有相同的值,这就是Wasserstein距离的对偶式
1700540293
1700540294
1700540295
1700540296
1700540297
(13.18)
1700540298
1700540299
1700540300
1700540301
对偶式大大降低了Wasserstein距离的求解难度,计算过程变为找到一个函数f,使得它最大化目标函数,这个式子看上去很眼熟,对比原GANs的, 它只是去掉了log,所以只做微小改动就能使用原GANs的框架。
1700540302
1700540303
细心的你会发现,这里的f与D不同,前者要满足|| f ||L≤1,即1-Lipschitz函数,后者是一个Sigmoid函数作输出层的神经网络。它们都要求在寻找最优函数时,一定要考虑界的限制。如果没有限制,函数值会无限大或无限小。Sigmoid函数的值有天然的界,而1-Lipschitz不是限制函数值的界,而是限制函数导数的界,使得函数在每点上的变化率不能无限大。神经网络里如何体现1-Lipschitz或K-Lipschitz呢?WGAN的思路很巧妙,在一个前向神经网络里,输入经过多次线性变换和非线性激活函数得到输出,输出对输入的梯度,绝大部分都是由线性操作所乘的权重矩阵贡献的,因此约束每个权重矩阵的大小,可以约束网络输出对输入的梯度大小。
1700540304
1700540305
1700540306
判别器在这里换了一个名字,叫评分器(Critic),目标函数由“区分样本来源”变成“为样本打分”:越像真实样本分数越高,否则越低,有点类似支持向量机里margin的概念(见图13.8)。打个龟兔赛跑的比方,评分器是兔子,生成器是乌龟。评分器的目标是甩掉乌龟,让二者的距离(或margin)越来越大;生成器的目标是追上兔子。严肃一点讲,训练评分器就是计算生成器分布与真实分布的Wasserstein距离;给定评分器,训练生成器就是在缩小这个距离,算法中要计算Wasserstein距离对生成器参数θ的梯度,,再通过梯度下降法更新参数,让Wasserstein距离变小。
1700540307
1700540308
1700540309
1700540310
1700540311
图13.8 WGAN的训练
1700540312
1700540313
1700540314
1700540315
[
上一页 ]
[ :1.700540266e+09 ]
[
下一页 ]