Linuxias
Developer's Delight
Linuxias
  • Category
    • AI
      • Deep Learning
      • Machine Learning
      • Data Science
      • Framework
      • MLOps
      • Paper-Review
      • Tips
    • Android
      • Kotlin
      • Component
      • Compose
      • Compose UI
      • Material
      • Testing
    • Software Architecture
      • Architecture Pattern
      • Design Pattern
      • Requirement Engineering
    • Linux
      • Compile & Link
      • Command & Tool
      • Container
      • Debugging & Testing
      • Profiling
      • Kernel Analysis
      • Server
      • Shell Script
      • System Programming
    • Language
      • Carbon
      • C,C++
      • C#
      • Java
      • Python
    • ETC
      • Data Struct | Algorithm
      • git
      • Security
    • Book
    • 경제공부
      • 세금
      • 부동산
hELLO · Designed By 정상우.
Linuxias

Developer's Delight

AI/Framework

[Tensorflow] ReduceLROnPlateau CallBack 정리

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입니다.

반응형
저작자표시 비영리 (새창열림)

'AI > Framework' 카테고리의 다른 글

Flax: JAX 기반 딥러닝 프레임워크의 특징과 미래  (1) 2024.11.18
[Tensorflow/keras] Tensorflow용 DataLoader 만들기  (0) 2024.04.28
[PyTorch] DataLoader 멀티프로세싱하기  (0) 2024.04.28
    'AI/Framework' 카테고리의 다른 글
    • Flax: JAX 기반 딥러닝 프레임워크의 특징과 미래
    • [Tensorflow/keras] Tensorflow용 DataLoader 만들기
    • [PyTorch] DataLoader 멀티프로세싱하기
    Linuxias
    Linuxias
    I want to be a S/W developer who benefits people.

    티스토리툴바