랜덤 서치 구현하기
하이퍼파라미터 서치는 서로 다른 하이퍼파라미터 값을 실험하는 계산 비용이 큰 방법이지만, 성능 향상을 이끌 수 있습니다. 이 연습 문제에서는 랜덤 서치 알고리즘을 구현해 보겠습니다.
균등분포에서 학습률과 모멘텀 값을 각각 10개씩 무작위로 샘플링할 것입니다. 이를 위해 np.random.uniform() 함수를 사용하세요.
numpy 패키지는 이미 np로 임포트되어 있으며, 결과를 시각화하기 위한 plot_hyperparameter_search() 함수가 준비되어 있습니다.
이 연습은 강의의 일부입니다
PyTorch로 배우는 딥러닝 입문
연습 안내
- 학습률(
lr)이 $10^{-2}$에서 \(10^{-4}\) 사이가 되도록,2와4사이에서 학습률 지수 값을 무작위로 샘플링하세요. - 모멘텀을 0.85에서 0.99 사이에서 무작위로 샘플링하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
values = []
for idx in range(10):
# Randomly sample a learning rate factor between 2 and 4
factor = ____
lr = 10 ** -factor
# Randomly select a momentum between 0.85 and 0.99
momentum = ____
values.append((lr, momentum))
plot_hyperparameter_search(values)