In the GAN example of the documentation, did we update D several times before updating G?
    6 ビュー (過去 30 日間)
  
       古いコメントを表示
    
Hi,
In the following example of GAN for the deep learning toolbox ( https://www.mathworks.com/help/deeplearning/examples/train-generative-adversarial-network.html ), did we update Discriminator D several times before updating the generator G?
As per the GAN algorithm (say the original paper of Goodfellow 2014), we would update D k-times before updating G.
But I don't think the value of k is mentioned in the example. It looks like D and G are updated together in every loops.
The relevant codes:
        % Update the discriminator network parameters.
        [dlnetDiscriminator.Learnables,trailingAvgDiscriminator,trailingAvgSqDiscriminator] = ...
            adamupdate(dlnetDiscriminator.Learnables, gradientsDiscriminator, ...
            trailingAvgDiscriminator, trailingAvgSqDiscriminator, iteration, ...
            learnRateDiscriminator, gradientDecayFactor, squaredGradientDecayFactor);
        % Update the generator network parameters.
        [dlnetGenerator.Learnables,trailingAvgGenerator,trailingAvgSqGenerator] = ...
            adamupdate(dlnetGenerator.Learnables, gradientsGenerator, ...
            trailingAvgGenerator, trailingAvgSqGenerator, iteration, ...
            learnRateGenerator, gradientDecayFactor, squaredGradientDecayFactor);
Thanks!
0 件のコメント
回答 (1 件)
  Sourav Bairagya
    
 2020 年 1 月 10 日
        GANs can be trained in many fashions. Here, discriminator, D is updated once before updating generator, G. Hence, first, discriminator, D is updated and then the generator, G is updated in every iteration.
参考
カテゴリ
				Help Center および File Exchange で Deep Learning Toolbox についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

