趋近智
使用 Wasserstein-1 距离 (W1) 作为 GAN 的损失函数,为训练稳定性提供了理论上的优点。Kantorovich-Rubinstein 对偶性将此距离表达为:
W1(Pr,Pg)=sup∣∣f∣∣L≤1Ex∼Pr[f(x)]−Ex~∼Pg[f(x~)]
此处,上确界是针对所有 1-Lipschitz 函数 f 取的。在 WGAN 的情形下,我们的判别器(现在常称为“评论者”)的目标是近似此函数 f。因此,WGAN 目标函数要准确近似 Wasserstein 距离的一个重要条件是,评论者函数 fw(由权重 w 参数化)必须是 1-Lipschitz 的。这意味着其梯度范数在各处应最多为 1:∣∣∇xfw(x)∣∣2≤1。
在训练期间,我们如何才能对神经网络施加此约束?原始 WGAN 论文提出了一种直接但有些粗糙的方法:权重剪裁。
权重剪裁是一种简单操作,在每次梯度更新后应用于评论者的权重。对于评论者网络中的每个权重 wi,它被限制在一个小的固定范围 [−c,c] 内,其中 c 是一个小的正数常数(例如 0.01)。
权重 wi 在标准梯度下降更新(例如使用 RMSProp 或 SGD,而不是像 Adam 那样基于动量的优化器,原始论文中是这样建议的)后的更新步骤如下:
此操作有效地将超出 [−c,c] 区间范围的任何权重“剪裁”回边界。
其原理是,通过保持权重较小,我们间接限制了函数 fw 可能的梯度。如果一个函数 fw 是 K-Lipschitz 的,它满足 ∣fw(x1)−fw(x2)∣≤K∣∣x1−x2∣∣。权重的量级影响着网络输出相对于其输入的改变速度。将权重限制在一个小范围 [−c,c] 内,希望可以对 Lipschitz 常数 K 施加一个界限,使其理想情况下接近 1。
剪裁常数 c 的选择很重要且敏感。
为 c 寻找一个合适的值通常需要针对每个具体问题和架构进行细致调整。
虽然易于实现,但权重剪裁引入了几个主要问题:
不正常的权重分布:根据经验,通常观察到,在使用权重剪裁时,评论者的大部分权重倾向于精确地聚集在边界值 −c 和 +c 处。这表明网络未能有效利用其全部参数空间,并被人为限制。
梯度问题:硬剪裁操作可能导致梯度问题。对于处于边界的权重,梯度信息可能被有效“剪裁”掉或变为零,阻碍学习。反之,如果 c 过大,梯度仍然可能爆炸。这使得训练对 c 的选择很敏感。
能力降低:通过强制权重保持较小,我们限制了评论者的表达能力。评论者可能难以学习准确估计 Wasserstein 距离或向生成器提供有益梯度所需的复杂映射。这鼓励评论者学习比它原本可能需要的更简单函数。
考虑对评论者权重的影响。权重剪裁不是产生潜在平滑的分布,而是迫使许多权重聚集在边界 −c 和 +c 处。
直方图显示权重剪裁(粉色)如何导致权重堆积在剪裁边界(±c)处,与没有剪裁的更平滑、更自然的分布(蓝色)相比。
由于这些缺点,特别是 c 值调整的困难以及潜在的梯度流动不良,现代 WGAN 实现中通常避免使用权重剪裁。它曾作为最初的验证手段,但已基本被更具理论依据且更实用的方法所取代,这些方法旨在施加 Lipschitz 约束。最突出的替代方案是梯度惩罚(WGAN-GP),它直接处理梯度范数要求,并将在下一节中阐述。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造