시작하기무료로 시작하기

최적화 매개변수 바꾸기

이제 직접 최적화를 실습해 볼 시간이에요. 아주 낮은 learning rate, 아주 높은 learning rate, 그리고 “적당한” learning rate로 모델을 각각 최적화해 보세요. 이 연습을 실행한 뒤 결과를 살펴보고, 손실 함수 값이 낮을수록 좋다는 점을 기억하세요.

이 연습에서는 이전의 분류 모델(타이타닉에서 누가 생존했는지 예측)의 predictors와 target 값을 미리 불러왔어요. learning rate를 바꿀 때마다 공정하게 비교하려면, 매번 최적화를 처음부터 다시 시작해야 해요. 그래서 최적화되지 않은 새 모델을 만들어 주는 get_new_model() 함수를 준비해 두었어요.

이 연습은 강의의 일부입니다

Python으로 시작하는 Deep Learning

강의 보기

연습 안내

  • tensorflow.keras.optimizers에서 SGD를 import 하세요.
  • 최적화에 사용할 learning rate 목록 lr_to_test를 만드세요. 값은 .000001, 0.01, 1이어야 합니다.
  • for 루프로 lr_to_test를 순회하면서:
    • get_new_model() 함수를 사용해 새롭고 아직 최적화되지 않은 모델을 만드세요.
    • 키워드 인수 lr=lrSGD() 생성자를 호출해 my_optimizer라는 optimizer를 만드세요.
    • 모델을 컴파일하세요. 위에서 만든 SGD 객체를 optimizer 매개변수로 설정하고, 이 문제는 분류이므로 loss'categorical_crossentropy'로 지정하세요.
    • predictorstarget을 사용해 모델을 학습(fit)하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Import the SGD optimizer
____

# Create list of learning rates: lr_to_test
lr_to_test = ____

# Loop over learning rates
for lr in lr_to_test:
    print('\n\nTesting model with learning rate: %f\n'%lr )
    
    # Build new model to test, unaffected by previous models
    model = ____
    
    # Create SGD optimizer with specified learning rate: my_optimizer
    my_optimizer = ____
    
    # Compile the model
    ____
    
    # Fit the model
    ____
코드 편집 및 실행