首页 文章

Wasserstein GAN评论家培养模糊性

提问于
浏览
0

我正在运行一个基于DCGAN的GAN,正在试验WGAN,但对如何训练WGAN感到有些困惑 .

在官方Wasserstein GAN PyTorch implementation中,据说每个发电机培训的鉴别人员/评论员都经过培训 Diters (通常是5次) .

这是否意味着评论家/鉴别者在 Diters 批次或整个数据集 Diters 次?如果我没有弄错的话,官方的实施表明鉴别者/评论家在整个数据集上训练了_596169次,但WGAN的其他实现(在PyTorch和TensorFlow等中)却恰恰相反 .

哪个是对的? The WGAN paper(至少对我而言),表示它是 Diters 批次 . 整个数据集的训练显然要慢几个数量级 .

提前致谢!

1 回答

  • 0

    正确的是将迭代视为批处理 . 在原始paper中,对于批评者/鉴别者的每次迭代,他们正在对一批大小 m 的实际数据和一批大小 m 的先前样本 p(z) 进行抽样 . 在批评者经过 Diters 次迭代训练之后,他们训练发电机,这也是通过对一批先前的样品 p(z) 进行采样而开始的 . 因此,每次迭代都在处理批处理 .

    在_596178中,这也正在发生 . 可能令人困惑的是,他们使用变量名称 niter 来表示训练模型的时期数 . 虽然他们使用不同的方案在行162 -166处设置 Diters

    # train the discriminator Diters times
        if gen_iterations < 25 or gen_iterations % 500 == 0:
            Diters = 100
        else:
            Diters = opt.Diters
    

    正如文中所述,他们正在批评批评者 .

相关问题