- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在运行基于 DCGAN 的 GAN,并正在尝试 WGAN,但对如何训练 WGAN 有点困惑。
在官方Wasserstein GAN PyTorch implementation ,据说每次生成器训练时,鉴别器/批评器都会被训练 Diters
(通常为 5 次)。
这是否意味着批评者/鉴别器在 Diters
批处理 或整个数据集 Diters
次上进行训练?如果我没记错的话,官方的实现表明鉴别器/批评器是在整个数据集 Diters
次上进行训练的,但是 WGAN 的其他实现(在 PyTorch 和 TensorFlow 等中) )做相反的事情。
哪个是正确的? The WGAN paper (至少对我来说),表明它是 Diters
批处理。对整个数据集的训练显然要慢几个数量级。
提前致谢!
最佳答案
正确的做法是将迭代视为一个批处理。原文paper ,对于批评者/鉴别器的每次迭代,他们都会对一批大小为 m
的真实数据和一批大小为 m
的先前样本 p(z )
来工作。在对批评者进行 Diters 迭代训练后,他们训练生成器,该生成器也通过对 p(z) 的一批先前样本进行采样来开始。因此,每次迭代都是针对一个批处理进行的。
在 official implementation这也正在发生。可能令人困惑的是,他们使用变量名 niter 来表示训练模型的纪元数。尽管他们使用不同的方案在 162 行设置 Diters
-166:
# train the discriminator Diters times
if gen_iterations < 25 or gen_iterations % 500 == 0:
Diters = 100
else:
Diters = opt.Diters
正如论文中所述,他们正在对 Diters
批处理的批评家进行训练。
关于python-3.x - Wasserstein GAN 批评者训练歧义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53401431/
我目前正在使用(大约)Wasserstein 损失在 keras 中训练 WGAN,如下所示: def wasserstein_loss(y_true, y_pred): return K.m
我正在使用 Wasserstein GAN 开展一个项目,更具体地说,是实现 Wasserstein GAN 的改进版本。我有两个关于 wGAN 的稳定性和训练过程的理论问题。首先,众所周知,损失函数
当源分布和目标分布 x 和 y(也称为边际分布)为一维时,下面的公式是 Wasserstein 距离/最优传输的特例,也就是说,是向量。 其中 F^{-1} 是边际 u 和 v 的累积分布的逆概率分布
我正在运行基于 DCGAN 的 GAN,并正在尝试 WGAN,但对如何训练 WGAN 有点困惑。 在官方Wasserstein GAN PyTorch implementation ,据说每次生成器训
我是一名优秀的程序员,十分优秀!