【发布时间】:2018-09-14 19:20:34
【问题描述】:
Keras 中的ReduceLROnPlateau 回调似乎是用于训练模型的有趣工具。但我无法真正弄清楚 Keras 中的回调函数 ReduceLROnPlateau 中的 cooldown 参数是什么意思。
文档是这样说的:
一、函数的接口:
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 倍。此回调监控一个数量,如果“耐心”的 epoch 数量没有改善,则学习率会降低。
cooldown: 减少 lr 后恢复正常操作之前等待的 epoch 数。
这个解释并没有让我很清楚。这里的意思是:
- 说lr=A。如果在patience epoch 数期间相关监控指标没有改善,则学习率会降低。 (并在减少它之后说lr=B。)
- 在cooldown epoch 数之后,学习率设置为它的第一个值(再次lr=A)。
我的理解正确吗?如果不是,这里冷却参数的真正作用是什么?
PS。当我谷歌它时,我看到一些例子,人们将cooldown参数设置为零,这让我觉得我对这个参数的看法是错误的。
【问题讨论】:
标签: tensorflow machine-learning callback keras