购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.7 WGAN-GP

为了解决判别器的1-Lipschitz问题,WGAN使用了最直接的方式——权值裁剪,即将判别器的权值限制在某个范围[ -c , c ]内。训练判别器时,在每次迭代中,根据批量样本计算权值的梯度并更新得到新的权值,最后将超出[ -c , c ]范围的权值裁剪为 c -c

权值修剪方法简单,计算速度快,但是也会产生一些问题。首先,它是一种粗糙、近似的解决办法,并不能严格保证1-Lipschit限制;其次,若阈值 c 选取得过大,则需要较长时间才能收敛并使判别器达到最优,且容易造成梯度爆炸;而若阈值 c 选取得过小,则容易产生梯度消失的问题;最后,根据实验观察,权值裁剪方法会促使判别器趋向于一个非常简单的函数,忽略了数据分布的高阶矩,即判别器会关注数据分布的均值、方差,而忽略偏度、峰度。无论是使用权值裁剪、L2范数裁剪还是L1、L2权重衰减方法,均会产生上述问题。

一个可导函数满足1-Lipschit限制当且仅当该函数在任意点的梯度的范数小于或等于1;再者,WGAN的判别器达到最优时,在 p g p data 两个分布上, f ( x )的梯度的范数几乎处处为1。考虑到这两点,WGAN-GP 6 在判别器的目标函数中引入正则项,使任意点梯度的范数接近1,即

其中, λ 为大于0的惩罚系数。需要说明,梯度惩罚项只是施加了“软”约束,并没有严格要求||▽ x f w x )|| 2 处处等于1,允许有上下轻微波动,故不严格满足1-Lipschit限制。

另外,实际训练时需要考虑如何获得惩罚项的样本。因为无法遍历全空间的所有样本使其梯度的范数接近1,所以我们通常需要利用线性插值构造惩罚项的样本,例如对一个来源于 p data 的样本 x data 和一个来源于 p g 的样本 x g ,产生一个随机数 ε U [0,1],可得一个惩罚项的样本 x gp ,如图2-20所示。

图2-20 惩罚样本示意图(见彩插) /WcoEFGT5f1I9CPiNqz98jbPuBd4B2saCVHnOz1GUHlwJ/3w5M4gVA8Md56urCcH

点击中间区域
呼出菜单
上一章
目录
下一章
×