AI/Framework
[Tensorflow] ReduceLROnPlateau CallBack 정리
Linuxias
2024. 9. 9. 22:00
반응형
ReduceLROnPlateau
콜백은 Keras에서 학습 과정 중에 모델의 성능이 향상되지 않을 때 학습률(Learning Rate)을 줄여주는 역할을 합니다. 학습률을 적절하게 조정하면 모델이 더 나은 성능을 낼 수 있는데, 이 콜백은 성능이 개선되지 않으면 학습률을 자동으로 감소시켜 학습의 안정성과 최적화 효율성을 높여줍니다.
주요 파라미터:
monitor
: 성능을 평가할 지표(예:val_loss
나accuracy
)를 지정합니다. 기본값은val_loss
입니다.factor
: 학습률을 얼마나 줄일지 설정합니다. 예를 들어,factor=0.1
이면 학습률을 10%로 줄입니다.patience
: 성능 개선이 없을 때 학습률을 줄이기 전에 기다릴 에포크 수를 지정합니다.min_lr
: 학습률이 이 값 이하로 내려가지 않도록 최소 학습률을 설정합니다.cooldown
: 학습률이 조정된 후 다시 지표를 모니터링하기 전에 기다리는 기간입니다.mode
:'auto'
,'min'
,'max'
중 선택할 수 있습니다.'min'
은 성능 지표의 최소값을 모니터링하고,'max'
는 최대값을 모니터링합니다.'auto'
는 지표 이름에 따라 자동으로 선택됩니다.
예시 코드:
from tensorflow.keras.callbacks import ReduceLROnPlateau
reduce_lr = ReduceLROnPlateau(monitor='val_loss', factor=0.2, patience=3, min_lr=0.001)
model.fit(X_train, y_train, epochs=50, validation_data=(X_val, y_val), callbacks=[reduce_lr])
위 예시에서는 val_loss
가 3번 연속으로 향상되지 않으면 학습률을 20%로 감소시키며, 최소 학습률은 0.001입니다.
반응형