首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keras回调ReduceLROnPlateau -冷却参数

Keras回调ReduceLROnPlateau -冷却参数
EN

Stack Overflow用户
提问于 2018-09-14 19:20:34
回答 1查看 5.2K关注 0票数 18

Keras中的ReduceLROnPlateau回调似乎是用于培训模型的一个有趣的工具。但是,我无法真正弄清楚cooldown参数在Keras中回调函数ReduceLROnPlateau中的确切含义。

以下是文档中的内容:

首先,函数的接口:

代码语言:javascript
复制
keras.callbacks.ReduceLROnPlateau(monitor='val_loss', 
                                  factor=0.1, 
                                  patience=10, 
                                  verbose=0, 
                                  mode='auto', 
                                  min_delta=0.0001, 
                                  cooldown=0, 
                                  min_lr=0)

ReduceLROnPlateau:一旦学习停滞,模型通常会从将学习率降低2-10倍中获益。这个回调监视一个数量,如果没有看到一个“耐心”时代的改善,学习率就会降低。

cooldown:在lr减少后恢复正常运行所需等待的时间数。

这个解释对我来说并不是很清楚。意思是:-说那个lr=A。如果相关的监测度量在patience的历元数中没有改善,那么学习率就会降低。(并表示在减少lr=B之后)--学习速率在cooldown的历元数之后被设置为其第一个值(再次是lr=A)。

我的理解正确吗?如果不是,这里的冷却参数的真正作用是什么?

PS。当我搜索它时,我看到了一些人们将cooldown参数设置为零的例子,这使我认为我对这个参数的看法是错误的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-14 19:36:01

的确,它没有在描述中清楚地说明这一点。这意味着,如果您设置了一个冷却时间,您必须等待才能恢复正常操作(即,开始监视在patience历元上的受监视度量是否有任何改进)。

例如,假设是cooldown=5。在学习速率降低后,该算法等待5历元,然后再开始对指标进行监控。因此,如果在度量和patience=10方面没有改进,那么在15时代之后,学习率将再次降低。

您可以通过查看相应的代码来确认这一点。

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

https://stackoverflow.com/questions/52338090

复制
相关文章

相似问题

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