我正在研究WGAN,并且想实施WGAN-GP。
在其原始论文中,由于1-Lipschitiz约束,WGAN-GP实施时具有梯度损失。但是像Keras这样的软件包可以将梯度范数裁剪为1(根据定义,它等同于1-Lipschitiz约束),那么为什么还要麻烦惩罚梯度呢?我们为什么不剪裁渐变呢?
最佳答案
原因是从数学意义上讲,裁剪通常是一个相当困难的约束,而不是从实现复杂性的角度来看。如果检查原始的WGAN纸张,则会注意到剪辑过程输入了模型的权重和一些超参数c,该参数控制剪辑的范围。
如果c小,则权重将严重限制在一个很小的值范围内。问题是如何确定适当的c值。它取决于您的模型,问题中的数据集,培训过程等等。那么,为什么不尝试软处罚而不是硬剪辑呢?这就是WGAN-GP论文为损失函数引入附加约束的原因,该函数强制梯度的范数尽可能接近1,避免硬折叠到预定义的值。
关于machine-learning - 如果我们可以在WGAN中裁剪渐变,为什么还要为WGAN-GP烦恼呢?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58723838/