Hyperband; A Novel Bandit-Based Approach to Hyperparameter Optimization 정리
by Sangheon Lee
Hyperband; A Novel Bandit-Based Approach to Hyperparameter Optimization 정리
- 저자 : Lisha Li, Kevin Jamieson, Giulia DeSalvo,Afshin Rostamizadeh, Ameet Talwalkar
 - 학회 : JMLR 2018
 - 날짜 : 2016.05.21 (last revised 2018.06.18)
 - 인용 : 198회
 - 논문 : paper
 
1. Introduction
1-1. Hyperarameter
- 모델의 hyperparameter란 학습 과정에 의해 변하지 않는 값으로 모델의 구조, 학습 과정 등을 정의함.
    
- ex) # of layers, # of hidden nodes, learning rate, l2 regularization lambda
 
 - 주어진 모델에 대해 최고의 성능을 내도록 하는 hyperparameter는 모델 type, 데이터 종류 등의 환경에 따라 매우 다름.
    
- 즉, 무슨 환경에서든 항상 최적인 hyperparameter 값은 존재하지 않음.
 
 - 
    
또한 학습을 끝낸 모델의 성능은 hyperparameter 설정에 따라 천차만별임.

- 그림: 모델의 hyperparameter 설정에 따른 성능의 변동
 
 - 따라서 특정 기계 학습을 잘 쓰려면, 주어진 환경에서 최적의 hyperparameter 설정은 필수적임.
 - 기존에는 하나하나 찾아보거나 (소위 trial-and-error) 구간을 나누어서 찾아봤지만 (grid search) 시간이 너무 오래 걸리고, 결과 모델의 성능도 좋진 않음.
 - 따라서 모델의 hyperparameter를 최적화하는 기법에 관한 연구가 진행됨.
 
1-2. Hyperparameter optimization
- Bayesian Optimization
    
- 가장 유명한 hyperarameter 최적화 기법
 - 모델의 hyperarameter에 따른 모델의 성능 함수를 확률 모델로 regression하고, 모델의 성능이 높을 것으로 기대되는 hyperarameter 설정 point를 도출하여 탐색함. (한글로 잘 정리되어있는 블로그 참고)
 - 장점 : (이전 정보를 활용하기 때문에) 결과 모델의 성능이 높다.
 - 단점 : 오래걸린다.
        
- 기본적으로 탐색이 순차적으로 진행됨. (탐색하고, 확률 모델 update하고, 다음 탐색 point 찾고, …)
 - 확률 모델 regression할 때 Gaussian Process Regression을 사용하는데, GP Regression의 time complexity가 관측한 데이터의 세제곱임. (후에 다른 regression 기법을 적용한 TPE가 제안됨)
 
 
 - 저자가 말하는 Bayesian Optimization의 단점
    
- 일반적으로 모델 학습할 때, accuracy 혹은 loss의 변동을 보면서 성능이 높을 모델이다 아니다를 판단할 수 있음.
 - 그런데 Bayesian Optimization은 특정 budget(epoch, data등 학습에 투입되는 자원, epoch라고 봐도 무방함)만큼을 반드시 소모하여 학습을 일정한 수준까지 해야함
 - 즉, budget의 낭비로 인해 탐색 시간이 길다.
 
 - 새로운 hyperparameter optimization 기법 제시
    
- 모델 학습 과정에서 중간 accuracy 혹은 loss를 보고, 좋을 것으로 예상되는 모델을 선출 및 선출된 모델에 더 많은 budget을 할당하자.
 - Hyperparameter optimization problem을 multi-armed bandit problem로 대치.
 
 
2. Backgrounds
2-1. Multi-armed bandit problem
- 
    
One-armed bandit (외팔이 강도)

- 하나의 레버를 가지고 있는 슬롯머신을 일컫는 말.
 
 - Multi-armed bandit problem
    
- 여러 개의 슬롯 머신(arms)을 당길 수 있는 상황.
 - 각각의 슬롯 머신을 당겨서 얻을 수 있는 reward는 서로 다름.
 - Reward는 어떤 확률 분포에 의해 draw되는 random variable임.
 - 제한 시간 내에 (혹은 제한 횟수 내에) 최대의 reward를 얻기 위해서는 슬롯 머신을 어떤 순서로 당겨야 할까?
 
 - 문제는 arm마다 보상이 다르고, 한 번의 당김에서 하나의 arm의 reward 값만 관측 가능하다는 것.
 - 
    
Exploration vs Exploitation
 (사진 출처)- 최적화 문제에서 대두되는 두 가지 중요한 요소.
 - Exploration: 더 높은 reward를 내는 슬롯 머신을 찾기 위해, 기존에 당기지 않은 새로운 슬롯 머신을 당겨보는 것.
 - Exploitation: 높은 reward를 얻기 위해, 지금까지 당긴 슬롯 머신 중 가장 높은 reward를 내는 머신을 다시 당기는 것.
 - Exploration과 Exploitation은 서로 trade-off 관계에 있음.
 - 따라서 두 가지 요소를 조화롭게 적용하는 최적화 정책(policy)은 필수적임.
 
 
2-2. Non-stochastic Best Arm Identification
- 이 논문은 아니고, 같은 저자의 이전 논문 내용임.
 - Best arm identification problem
    
- (Multi-armed banit problem) 제한 시간 내에 최대의 reward 얻기. –> (Best arm identification problem) 최소의 regret을 내는 arm을 찾기.
 
 - 문제의 환경 분류: Stochastic and Non-stochastic setting
    
- 
        
Stochastic setting

- 각 arm의 regret이 수렴한다.(converge)
 - 수렴하는 정도(convergence rate)를 알고 있다.
 
 - 
        
Non-stochastic setting

- 각 arm의 regret이 수렴한다.
 - 수렴하는 정도(convergence rate)를 모른다.
 - 하나의 arm을 당기는 cost는 매우 높다.
 
 - 
        
하이퍼파라미터 최적화 문제는 non-stochastic setting과 유사함.
 
 - 
        
 
2-3. Multi-armed bandit problem과 하이퍼파라미터 최적화 문제
- Best arm identification problem –> 하이퍼파라미터 최적화
    
- arms = 하이퍼파라미터 설정들
 - number of pulling the arm = 하이퍼파라미터 설정에 할당되는 budget
 - regret = 중간까지 학습한 모델의 (intermediate) validation loss
 
 - 즉, regret의 최종 수렴 값이 가장 낮은 arm을 찾는다. == 최종 loss가 가장 낮은 하이퍼파라미터 설정을 찾는다.
 
3. Proposed Methods
3-1. Successive Halving Algorithm (SHA)
- 본 논문의 제안 기법은 아니고, 저자들의 이전 논문에서 제안한 하이퍼파라미터 최적화 해결책.
 - 
    
제한된 시간에서 최소의 loss를 갖는 모델의 하이퍼파라미터 설정을 찾는 것이 목표.

- 총 탐색에 소요되는 budget 설정. (B)
 - n개의 하이퍼파라미터 설정을 랜덤하게 뽑음. (Sk)
 - S0의 모델들에 동일한 budget을 할당. (rk)
 - 학습 및 중간 loss 추출.
 - 중간 loss를 기준으로, 성능이 좋지 않은 하이퍼파라미터 설정을 반 만큼 버림. (Sk+1)
 - 하나의 하이퍼파라미터 설정이 남을 때까지 2, 3, 4, 5를 반복.
 
 - 
    
이해가 안가면 숫자를 대입해보면 됨.

- 랜덤하게 16개를 뽑아서 1 epoch 만큼 학습하고 좋은 8개를 추출함.
 - 추출된 8개를 2 epochs 만큼 학습하고 (1 epoch 만큼 더 학습) 좋은 4개를 추출함.
 - 추출된 4개를 4 epochs 만큼 학습하고 (2 epochs만큼 더 학습) 좋은 2개를 추출함.
 - 추출된 2개를 8 epochs 만큼 학습하고 (4 epochs만큼 더 학습) 좋은 1개를 추출함. –> 결과!
 
 - 
    
이게 왜 수렴하는가?

- 최종 loss(수렴 값)과 현재 loss의 차이에 대한 함수가 non-increasing function이라고 가정.
 - 특정 t 이상의 budget을 할당하여 학습된 모델의 중간 loss를 비교하는 것만으로도, 최종 loss의 대소관계를 알 수 있다는 것을 증명.
 - 그렇다면 대소관계가 반영되는 t는 얼마인지 어떻게 알 수 있는가?
        
- 이에 대해 총 소요 budget B를 충분히 크게 잡으면 best arm이 보장된다는 것을 증명함. (생략)
 
 - 총 소요 budget을 크게 잡기 위해 doubling trick을 적용.
        
- 말 그대로 그냥 B를 2B로 하여 돌리고, 3B로 하여 돌리고, …
 
 
 - SHA의 단점
    
- 알고리즘 자체의 hyperparameter(input) : B와 n.
 - B와 n(정확히는 B/n)에 따라서 exploration과 exploitation의 비율이 정해짐.
 - 따라서 알고리즘 성능을 위해 B와 n이라는 hyperparameter 설정이 굉장히 중요해짐.
 
 - 그래서 이 논문에서 제안한 것이 “Hyperband” 입니다. (이제야 이 논문을 처음 언급;; )
 
3-2. Hyperband
- B와 n의 설정에 따라 성능이 크게 변한다는 SHA의 단점을 보완한 알고리즘.
 - 
    
간단하게, SHA의 연속.

- 하나의 하이퍼파라미터 설정에 최대로 할당할 budget 설정. (R)
 - SHA의 매 step마다 줄어드는 설정의 개수 (혹은 늘어나는 budget의 비율) 설정. (etha, SHA에서는 2)
 - R과 etha에 따라서 SHA를 반복할 개수 (1 SHA = 1 bracket으로 명명) 및 각 SHA의 처음 step에서 초기화하는 설정의 개수와 할당되는 budget이 계샨됨.
 - 각 bracket의 SHA 모두 실행.
 
 - 
    
이것도 숫자 대입.

- R=81, etha=3일 때, 총 5번의 SHA를 반복하며 (5 brackets), 각 bracket의 처음 설정 수 및 할당 budget이 달라짐.
 
 - 특징
    
- B와 n을 설정하지 않고 R 하나만 설정하는 것으로도, 다양한 exploration 및 exploitation 비율을 반영한 search를 진행할 수 있음.
        
- 특히 R은 한 하이퍼파라미터 설정에 할당되는 최대 budget이기 때문에, 사용자 입장에서 따로 생각할 필요 없이 학습하고 싶은 만큼 값을 설정하면 됨.
 - R을 한 단위로 보고, 다양하게 설정 가능. (예를 들어, 1R = 10 epochs 학습)
 
 - 각 bracket들을 parallel하게 수행할 수 있음.
        
- 전체 탐색 시간을 단축시킬 수 있음.
 
 - Budget은 학습에 사용되는 자원으로, 제한될 수 있는 다양한 것들이 budget이 될 수 있음.
        
- 학습 iterations(학습 시간), 학습 dataset 개수, 학습 데이터의 feature, 등…
 
 - etha는 다양한 값이 될 수 있으나, 저자들은 3 또는 4에서 좋은 결과를 얻었다고 말함.
 
 - B와 n을 설정하지 않고 R 하나만 설정하는 것으로도, 다양한 exploration 및 exploitation 비율을 반영한 search를 진행할 수 있음.
        
 
4. Experiments
- 제안 알고리즘인 Hyperband의 유효성 및 우수성 검증.
 - 비교 모델은 3개의 Bayesian Optimization 기법
 - Budget을 뭘로 잡냐에 따라 3가지 다른 실험을 진행.
 
4-1. Budget = 학습 iterations
- 8개의 하이퍼파라미터를 가진 Convolutional Neural Network (CNN) 모델을 tuning.
 - R (budget) 단위 및 etha
    
- 1R = 100 mini-batch iterations
 - etha = 4
 
 - 사용 데이터셋 및 R값
    
- CIFAR10 (R=300), MRBI (R=300), SVHN (R=600)
 
 - 
    
결과

- Random search보다 20배 빠르다.
 - 다른 하이퍼파라미터 최적화 기법들보다 수렴이 빠르며, 성능이 비슷하거나 좋고, varation도 적었다.
 
 
4-2. Budget = 학습 dataset 크기
- 6개의 하이퍼파라미터를 가진 ernel-based classification 모델을 tuning.
 - R (budget) 단위 및 etha
    
- 1R = 100 training data points
 - etha = 4
 
 - 사용 데이터셋 및 R값
    
- CIFAR10 (R=400)
 
 - 
    
결과

- Bayesian Optimizatio보다 30배 빠르다.
 - Random search보다 70배 빠르다.
 
 
4-3. Budget = feature subsample
- 4-2.와 같은 모델 tuning.
 - R (budget) 단위 및 etha
    
- 1R = 100 features
 - etha = 4
 
 - 사용 데이터셋 및 R값
    
- CIFAR10 (R=1000)
 
 - 
    
결과

- Bayesian Optimization보다 6배 빠르다.
 
 
5. Conclusion
- Hyperparameter optimization 문제를 non-stochastic best arm identification 문제로 대응함.
    
- 중간 loss function의 variation이 non-decreasing function이라는 가정.
 
 - Hyperband 알고리즘 제안.
    
- 기존에 제안된 Successive Halving Algorithm의 연속.
 - 다양한 exploration vs exploitation 비율을 반영한 탐색을 진행.
 - 결과적으로 Bayesian Optimization보다 빠른 수렴이 가능함.
 
 - (내가 본)특징
    
- 빠른 수렴이 가능하기 때문에 모델 tuning 시간이 제한된 환경에서 좋은 성능을 효율적으로 낼 수 있음.
 - 하지만 제한되지 않은 환경에서는 기존 최적화 기법들이 더 높은 성능을 냄.
 - 이것은 Hyperband의 bracket (매 SHA를 반복하는 것) 들 간의 정보 교환이 없기 때문임.
 - 즉, 기탐색에서 얻은 정보를 활용하지 않기 때문에, 맨 땅에 계속 헤딩하는 식임.
 - 그렇다고 정보를 교환한다는 것은, 각 bracket을 parallel하게 연산할 수 없기 때문에 탐색 시간이 느려질 것임.
 - Bracket간의 정보 교환 vs (parallel 연산을 통한) 탐색 시간 단축 의 조화가 핵심.
        
- 사실 이를 해결하여 Bayesian Optimization과 Hypeerband를 결합한 BOHB 알고리즘이 이미 제안됨. 참고!
 
 
 
Subscribe via RSS