Обратный вызов Keras ReduceLROnPlateau - параметр восстановления - PullRequest
0 голосов
/ 14 сентября 2018

ReduceLROnPlateau обратный вызов в Keras, кажется, интересный инструмент для использования в учебных моделях.Но я не мог понять, что конкретно означает cooldown параметр в функции обратного вызова ReduceLROnPlateau в Keras.

Вот что говорится в документации:

Во-первых, интерфейс интерфейсафункция:

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 после его уменьшения.) - И скорость обучения устанавливается на свое первое значение (снова lr=A) после cooldown числа эпох.

Верно ли мое понимание?Если нет, то какова здесь реальная функция параметра перезарядки?

PS.Когда я гуглю его, я вижу несколько примеров, когда люди устанавливают параметр cooldown на ноль, что заставляет меня думать, что мое восприятие этого параметра неверно.

1 Ответ

0 голосов
/ 14 сентября 2018

Правда, в описании это не указано четко. Это означает, что если вы устанавливаете время восстановления, вам придется подождать, прежде чем возобновить нормальную работу (то есть начать отслеживать, если есть какие-либо улучшения в отслеживаемой метрике за patience эпох).

Например, скажем, cooldown=5. После того, как скорость обучения снижается, алгоритм ждет 5 эпох, прежде чем снова начать мониторинг метрик. Таким образом, если нет улучшения в метрике и patience=10, скорость обучения снова будет снижена после 15 эпох.

Вы можете подтвердить это, посмотрев на соответствующий код .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...