Tensorflow - learning rate(학습률)

Learning Rate(학습률)

  • 딥러닝을 할 때 학습률은 적당한 값을 넣어주는 것이 가장 중요, 학습률에 따라 인공지능 성능 좌우
  • 일반적으로 Learning Rate의 값을 0.01로 설정, 필요에 따라 조금씩 조정
  • 학습률 값을 너무 크게 설정 할 경우
    • 지그재그의 방향으로 이상하게 학습하는 오버슈팅(Overshooting) 문제 발생
  • 학습률 값을 너무 적게 설정 할 경우
    • 학습 단계가 너무 많이 필요, 하이퍼 파라미터를 찾는 과정에서 국소 최저치(Local Minima) 현상 발생

 

  • 국소 최저치(Local Minima)
    • 경사 하강법(gradient descent)을 시도할 때 최적의 해인 전역 최저치(global minima)가 아닌 학습 데이터의 특성으로 인해 국소적으로 낮은 값이 부분적 해(partial solution)로 얻어지게 되는 현상


Learning Rate 설정하는 방법

  • 인공지능 모델링시 컴파일 할 때 설정 가능
    • tf.keras.optimizers.RMSprop(learning_rate=0.001) : 학습률의 보폭을 설정, 기본 값은 0.001
    • 소스 코드
model.compile(tf.keras.optimizers.RMSprop(learning_rate=0.01), loss='mse', metrics=['mse', 'mae'])