Keras 3 API 文档 / 回调API / 学习率调节 (ReduceLROnPlateau)

学习率调节 (ReduceLROnPlateau)

[source]

ReduceLROnPlateau class

keras.callbacks.ReduceLROnPlateau(
    monitor="val_loss",
    factor=0.1,
    patience=10,
    verbose=0,
    mode="auto",
    min_delta=0.0001,
    cooldown=0,
    min_lr=0.0,
    **kwargs
)

当指标停止改善时降低学习率.

模型通常会在学习停滞时通过将学习率减少2-10倍而受益.此回调监控一个量,如果在一定数量的"耐心”周期内没有看到改善,则降低学习率.

示例:

reduce_lr = ReduceLROnPlateau(monitor='val_loss', factor=0.2,
                              patience=5, min_lr=0.001)
model.fit(x_train, y_train, callbacks=[reduce_lr])

参数: monitor: 字符串.要监控的量. factor: 浮点数.学习率将减少的因子.new_lr = lr * factor. patience: 整数.在减少学习率之前,没有改善的周期数. verbose: 整数.0: 安静,1: 更新消息. mode: 字符串.{'auto', 'min', 'max'}之一.在'min'模式下,当监控的量停止减少时,学习率将减少;在'max'模式下,当监控的量停止增加时,学习率将减少;在'auto'模式下,方向会根据监控量的名称自动推断. min_delta: 浮点数.测量新最优值的阈值,仅关注显著变化. cooldown: 整数.学习率降低后等待恢复正常操作的周期数. min_lr: 浮点数.学习率的下限.