강의 소개
PyTorch 기반으로 여러 config들을 통해 학습할 때에 사용되는 parameter들을 실험자가 손 쉽게 지역 최적해를 구할 수 있도록 도와주는 Ray Tune 프레임워크로 최적화하는 방법을 학습합니다.
이를 통해 Grid & Random, 그리고 Bayesian 같은 기본적인 Parameter Search 방법론들과 Ray Tune 모듈을 사용하여 PyTorch 딥러닝 프로젝트 코드 구성을 하는 방법을 익히게 됩니다.
성능 개선 방법
1. 모델 변경(성능이 좋은 모델로...)
2. 데이터 변경(추가, 오류 확인, 증량)
3. 하이퍼 파라미터 튜닝
1번이 가장 개선이 많이 되지만, 사실 1번의 경우 task에 따라 모델이 구분되어 있으므로, 그 안에서 성능을 높일 방향은 데이터를 변경하는 것이다. 하지만 그 마저도 불가할 경우 하이퍼 파라미터 튜닝을 통해 성능을 개선한다. 단 생각보다 크게 성능이 개선되지는 않는다.
Hyperparameter Tuning
grid search

Ray
config : 학습 공간을 지정
ASHA(Async Successive Halving Algorithm) Scheduler : early stopping 조건 지정, 알고리즘이 실행되며 중간중간 의미 없는 metric들을 잘라냄
tune.run() : 실행
partial : 데이터 나눔,
resources_per_trial : 1번 실행 시 사용할 수 있는 자원(CPU,GPU 개수)
config : search space
즉 train_cifar 데이터를 각 cpu에 할당하여 학습을 진행하는데, 이 때 metric 기준 성능이 떨어지는 변수 조건은 제외시키고 나머지를 학습하며 최적의 하이퍼파라미터를 지정함

