개발학습일지

[AI] 딥러닝 미분 기울기의 이동 보폭 optimizer learning rate 셋팅 본문

AI/Deep Learning

[AI] 딥러닝 미분 기울기의 이동 보폭 optimizer learning rate 셋팅

처카푸 2024. 4. 17. 22:59

텐서플로우 옵티마이저 런닝레이트(학습률) 셋팅하기

: learning rate란 미분 기울기의 이동 보폭(step) 이다

: 숫자가 적을수록 파라미터의 오차를 줄이는 숫자가 조금씩 내려간다

: 에포크 와 마찬가지로 Learning rate의 값이 적합하지 않을 경우, Overflow가 발생할 수 있다

 

- 모델 컴파일 할때 원래는 옵티마이져를 문자열로 불러왔지만,

  함수로 불러오면 런닝레이트 파라미터를 직접 지정 할 수 있다

  런닝레이트 파라미터의 디폴트 값은 0.001이다

 

def build_model() :
  model = Sequential()
  model.add(Dense(64, 'relu', input_shape=(X_train.shape[1],)))
  model.add(Dense(64, 'relu'))
  model.add(Dense(1, 'linear'))

  # learning_rate을 셋팅하고 싶다면 문자열말고 tf.keras.optimizers.로 옵티마이저를 불러와 설정
  model.compile( optimizer= tf.keras.optimizers.Adam(learning_rate=0.001), loss= 'mse', metrics= [ 'mae' ])

  return model