1. Learning rate(학습률)
- 딥러닝을 할 때 학습률은 적당한 값을 넣어주는 것이 가장 중요, 학습률에 따라 인공지능 성능 좌우
- 일반적으로 Learning Rate의 값을 0.01로 설정, 필요에 따라 조금씩 조정
- 학습률 값을 너무 크게 설정 할 경우
- 지그재그의 방향으로 이상하게 학습하는 오버슈팅(Overshooting) 문제 발생
- 학습률 값을 너무 적게 설정 할 경우
- 학습 단계가 너무 많이 필요, 하이퍼 파라미터를 찾는 과정에서 국소 최저치(Local Minima) 현상 발생
- 국소 최저치(Local Minima)
- 경사 하강법(gradient descent)을 시도할 때 최적의 해인 전역 최저치(global minima)가 아닌 학습 데이터의 특성으로 인해 국소적으로 낮은 값이 부분적 해(partial solution)로 얻어지게 되는 현상
2. 텐서플로우에서 learning rate 설정하는 방법
- 모델 컴파일 할 때 설정한다.
- 학습률을 정해주려면 옵티마이저를 문자열이 아닌 함수로 넣어줘야 한다.
model.compile(optimizer= tf.keras.optimizers.Adam(learning_rate=0.001),
loss= 'mse', metrics= ['mse', 'mae'])
모델 전체 코드 예시
model = Sequential()
model.add( Dense(64, 'relu', input_shape=(9,) ) )
model.add( Dense(64, 'relu') )
model.add( Dense(1, 'linear') )
model.compile(optimizer= tf.keras.optimizers.Adam(learning_rate=0.001),
loss= 'mse', metrics= ['mse', 'mae'])
'Machine Learning > Deep Learning' 카테고리의 다른 글
Tensorflow - 콜백 EarlyStopping 사용법 (0) | 2022.12.29 |
---|---|
Tensorflow - Validation(검증)을 사용하는 방법 (0) | 2022.12.29 |
Tensorflow - regression(수치예측) 문제의 인공신경망(ANN) (0) | 2022.12.28 |
Tensorflow - Grid Search 를 이용한, 최적의 하이퍼 파라미터 찾기 (0) | 2022.12.28 |
Tensorflow에서 학습시 batch size, step, epoch 란? (0) | 2022.12.28 |