首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keras中的GAN优化器设置

Keras中的GAN优化器设置
EN

Data Science用户
提问于 2019-04-12 05:29:27
回答 1查看 186关注 0票数 1

我正在研究一个生成性的对抗性网络,在Keras中实现。我有我的生成器模型G和鉴别器D,它们都是由两个函数创建的,然后使用这两个模型创建GAN模型,就像代码中的这个简单示例:

代码语言:javascript
复制
gopt=Adam(lr=0.0001, beta_1=0.9, beta_2=0.999, epsilon=1e-08)
dopt=Adam(lr=0.00005, beta_1=0.9, beta_2=0.999, epsilon=1e-08)
opt_gan = Adam(lr=0.00006, beta_1=0.9, beta_2=0.999, epsilon=1e-08)

G= gmodel(......)
G.compile(loss=...., optimizer=gopt)

D=dmodel(..)
D.trainable = False

GAN=ganmodel(generator_model=G,discriminator_model=D,...)

GAN_model.compile(loss=["mae", "binary_crossentropy"], loss_weights=[0.5, 0.5], optimizer=opt_gan)

D.trainable = True
D.compile(loss='binary_crossentropy', optimizer=dopt)

现在我的问题或者更好的问题是,当我们训练GAN模型时,优化将如何工作?更确切地说,我对学习速度感兴趣。当我训练GAN时,发电机上的学习率是多少?

由于我在把G发送到GAN模型之前已经编译了它,所以它的优化器不应该改变,所以学习率应该是0.0001?或者采用GAN的学习率,即0.00006?那鉴别器呢?

EN

回答 1

Data Science用户

发布于 2022-02-18 09:38:25

发电机只通过GAN进行训练。因此,您不需要为生成器定义优化器,也不需要编译它。

当你训练发电机的时候,你实际上是在训练整个GAN。只有鉴别者是独立训练的。

为了回答你的问题,在训练GAN时使用GAN参数,在训练鉴别器时使用判别器参数。生成器参数永远不会使用,并且可以删除。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/49173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档