모델 성능 개선을 위해 Hyperparameter optimization method를 찾던 중 알게 된 정보
크게 두 가지로 나뉨
Parallel search
서로 다른 하이퍼파라미터 set을 사용해 동시에 학습하여 가장 좋은 것을 선택
Sequential optimization
기존의 시행착오를 바탕으로 더 좋은 setting을 찾아보고 학습
Parallel search는 많은 컴퓨팅 적 비용이 소요되고, Sequential optimization은 많은 시간이 소요됨
PBT는 parallel search와 sequential optimization을 연결(bridge)하는 기법
Optimization의 대표적인 two strategy
Exploitation
찾은 것 중 Best를 탐구
Exploration
새로운 정보를 지속적으로 탐색
Trade-off 이기에 둘을 적절히 고려해야 함
Sequential Optimization의 대표적인 방법론
f(x)를 max로 만드는 하이퍼파라미터 x를 찾는 것
함수 f(x)는 미지의 함수이기에 Gaussian Process로 approximate함
성능은 좋으나 시간이 매우 오래 걸리는 단점
Parallel search의 대표적인 방법론
서로 다른 hyperparameter set으로 여러 개의 모델을 돌려서 가장 좋은 것을 찾음
같은 시간 동안 돌렸을 때 bayesian optimization 보다 좋은 성능
그러나 이미 돌려본 것에 대한 정보를 활용하지 못함
모델을 한번에 몇 개 학습할 것 인지 설정
각 model마다 hyperparameter set과 weight를 random 설정
설정한 step 만큼 학습을 진행 후, 기존에 정한 threshold에 도달하면 각 model에 exploit & explore 적용
Exploit
Explore
iter 3~5
RL, Machine Translation, GAN 등에서 좋은 성능을 보임
PBT라는 최적화 기법을 제시