Keras 학습률 스케줄 콜백 — 훈련 중 학습률 변경
Keras 학습률 스케줄 콜백 — 훈련 중 학습률 변경
Keras의 LearningRateScheduler 는 콜백(Callback) 으로 매 에폭이 끝날 때마다 학습률을 변경하는 방법이에요.
사용
def scheduler(epoch, lr):
if epoch < 10:
return lr
else:
return float(lr * tf.math.exp(-0.1))
keras.callbacks.LearningRateScheduler(schedule=scheduler, verbose=1)
schedule 함수는 (epoch, current_lr)을 받아 새 학습률을 반환하고, Keras가 이를 옵티마이저에 반영해요. 스케줄을 코드로 직접 표현해 에폭 단위 감쇠·스텝 전환을 쉽게 구현할 수 있어요.
스케줄 API와의 차이
LearningRateScheduler콜백: 매 에폭 끝마다 동작하는 에폭 단위 제어.learning_rate_schedulesAPI: 옵티마이저에 바로 꽂아 스텝 단위로 세밀하게 제어.
복잡한 모델 구성에서는 스케줄 API를, 간단한 에폭 기반 정책은 콜백을 쓰는 게 자연스러워요.