[AI] Hyperparameter - Successive Halving Algorithm
- Article History
- RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
Sucessive Halving 은 하이퍼파라미터 최적화 알고리즘 중 하나입니다.
최소 Loss를 갖는 모델의 파라미터 구성을 찾는 것을 목표로 합니다.
■ Sucessive Halving Algorithm Process
Sucessive Halving Algorithm 알고리즘은 다음과 같이 구현됩니다.
1. N개의 모델은 Hyperparameter의 Candidate가 됩니다.
위 그림에서는 8개의 모델(= Hyperparameter Search Space)이 Hyperparameter의 Candidate입니다.
8개의 후보모델을 가지고 동일한 리소스를 구현합니다.
2. R 이라는 리소스를 설정합니다.
Sikit-learn(라이브러리)을 활용한다면 Number of Samples 또는 Observvations의 갯수를 R(리소스)로 설정합니다.Random Forest Algorithm은 Estimate의 갯수, Deep Neural Network는 Epoch 등을 리소스로 설정할 수 있습니다.
위의 그림에서는 Budget(%)로 표시됩니다.
R 또는 Budget은 모델에 할당되는 평가 비용을 의미합니다.
3. Iterations이 돌 때마다 50%의 모델만 남기는 것을 위의 그림에서 확인할 수 있습니다.
R을 12.5로 줬을 때 남아있는 모델은 초기 8개에서 4개로 줄어든 것을 확인할 수 있습니다.
리소스가 줄어들 수록 학습은 빨리 진행됩니다.
4. 다음 Iterations을 돌 때, 4개의 모델 중 2개만 남아있는 것을 확인할 수 있습니다.
남아있는 모델들을 기준으로 리소스를 활용하며 후보 모델을 줄여나갈 수 있습니다.
■ Sucessive Halving Algorithm 단점
여기서 B(전체 리소스)와 n(초기 후보 모델 수)에 따라서 좋은 모델을 찾을 수 있다.
리소스의 설정, 초기 후보 모델의 개수를 기준으로 최적의 모델을 놓칠 수 있습니다.
■ Hyperband
Sucessive Halving Algorithm의 단점을 보완한 알고리즘이 Hyperband입니다..
■ Hyperband
Sucessive Halving Algorithm의 단점을 보완한 알고리즘이 Hyperband입니다.
https://blog.dataiku.com/a-slightly-better-budget-allocation-for-hyperband
1. 최대로 할당한 budget을 설정합니다.
여러개의 Hyperparameter를 랜덤하게 선택합니다.
2. Evaluation을 진행하여 일정 비율의 budger을 사용합니다.
평가 성능이 뒤떨어지는 비율(η) - 리소스를 증가시키는 비율을 설정합니다.
3. 모든 budget을 사용하는 것이 아니라 n과 r을 여러개 만들어 Sucessive Halving Algorithm을 실행합니다.
Random Sampling으로 Estimation시간이 많이 단축된다라는 장점이 있습니다.