繁体   English   中英

Keras GAN批量训练

[英]Keras GAN Batch Training

我已经看了一些代码/教程(教程: 12 ),用于在Keras中实现GAN。

两者都进行批量培训如下:

for epoch in range(epochs):
    # ---------------------
    # Train Discriminator
    # ---------------------
    # Select a random batch of images

    # Generate a batch of new images

    # Train the discriminator

    # ---------------------
    # Train Generator
    # ---------------------

在上面的代码中(取自(2)中的第92行),它们遍历所有时期,但是对于每个时期,仅在一批上进行训练。 据我所知,对于每个时代,我们应该进行多批次训练; 这样我们就可以浏览整个数据集了。 例如,如果我们有100个样本且批量大小为10,那么对于每个时期,我们训练10个批次大小为10.为什么在此代码中,它们仅针对每个时期在单个批次上进行训练? 对不起,如果这是一个基本问题; 我对机器学习很陌生。

当你做GAN时,很少有东西会从正常的神经网络训练中改变。

  1. 您的输入数据随时间而变化。 来自Generator网络的人工图像在每次更新网络中的权重时都会发生变化。
  2. 你必须同时训练两个网络。 如果您随后更新生成器,那么在大量数据上训练鉴别器是没有意义的。 因为这会改变鉴别器学习的数据分布。 因此,您可能希望经常更新两个网络。 因此,最好每批次更新两个网络。

我不知道他们为什么称这个更新为一个时代,我想你可能不同意这个命名。 但请记住,在修复训练数据时,时代和批次具有意义。 在这种情况下它不是,所以也许他们只是称之为时代,因为他们没有更好的词。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM