(3강) 작은 모델, 좋은 파라미터 찾기: AutoML 이론
AutoML에 대한 전반적인 소개
[Further Reading ]
AutoML에 대한 현실적인 접근에 대해 고민해보기
1. Overview
1.1. Conventional DL Training Pipeline



1.2. Objective of AutoML
AutoML(HPO: Hyperparameter Optimization)의 문제 정의

1.3. Properties of configurations in DL
DL model Configuration(Architecture, Hyperparameter)의 특징
- 주요 타입 구분 - Categorical - ex) optimizer:[Adam, SGD, AdamW], module: [Conv, BottleNeck,...] 
- Continuous - ex) learning rate, regularizer param, ... 
- Integer - ex) Batch size, epochs, ... 
 
- Conditional(🌟): 한 configuration에 따라 search space가 달라질 수 있음 - Optimizer의 sample(e.g. SGD, Adam 등등)에 따라서 optimizer parameter의 종류, search space도 달라짐 (e.g,optimizer에 따른 learning rate range 차이, SGD:momentum, Adam:alpha, beta1, beta2, ..등등) 
- Module의 sample(e.g.VanillaConv, BottleNeck, Inverted Residual 등등)에 따라서 해당 module의 parameter의 종류, search space도 달라짐 
 
1.4. 모델경량화 관점에서의 AutoML
(주어진) 모델을 경량화하자 vs (새로운) 경량 모델을 찾자
- 모델 경량화의 접근 두가지 
- 기존 가지고 있는 모델을 경량화하는 기법 - Pruning, Tensor decomposition, ... 
- 추가적은 후처리가 필요하다. 일반적으로 하기 어려울 수 있다. 
 
- Search를 통하여 경량 모델을 찾는 방법 - NAS(Neural Architecture Search), AutoML(Automated Machine Learning)... 
 
2. Basic Concept
2.1. AutoML Pipeline

- Blackbox optimization; objective를 최대화하는 값을 찾는 것. 
- 다음에는 어떤 를 찾아볼까를 반복하는 방식 
Bayesian Optimization(BO)

- Surrogate Function: 를 예측하는 모델 (regression model) 
- Acquisition Function: 다음엔 어느 를 찾아보면 좋을지? 
2.2. Bayesian Optimization(with Gaussian Process Regression)

- (그림의 x)를 Sample(observation) 
- 해당 sample(configuration)로 DL 모델을 학습 
- objective를 계산 (우측 point) 
- Surrogate model update (그림의 실선, 파란 영역) - ex) GP model, posterior mean, posterior variance(uncertainty) 
- Acquisition Function update (그림의 초록 영역) - ex) Expected Improvement, Upper Confidence Bounds 
Gaussian Process Regression 의 설명
- 일반적인 Regression task: “Estimate the function f fits the data the most closely” - Set of train data: set of test data:  
- 우리가 알고자하는 특정위치의 값은 우리가 알고있는 들과(positive건, negative건) 연관이 있지 않을까? → 값으로부터 를 추정, 연관에 대한 표현은 Kernel함수 로! 
- f(x)를 “Possible output of the function f at input x”인 “Random variable”로 보고, 각 r.v.들이 Multivariate Gaussian distribution 관계에 있다고 가정 - = 함수들의 분포를 정의하고, 이 분포가 Multivariate Gaussian distribution을 따른다 가정 - = 함수 f가 Gaussian process를 따른다 

- 알고자 하는 값(test) 와 아는 값(train) 의 관계를 정의 
- + Gaussian Identities(Gaussian의 marqinal, conditional도 Gaussian) 



https://distill.pub/2019/visual-exploration-gaussian-processes/
Surrogate Model(Function): 의 regression model

- Objective 값을 예측하는 모델 - 지금까지 관측된 가 있을 때, 새로운 에 대한 objective 는 얼마일까? 
- Objective를 estimate하는 surrogate model을 학습, 다음 좋은 를 선택하는 기중으로 사용 
- 대표적은 Surrogate model로는 Gaussian Process Regression(GPR) Model(Mean: 예측 f값, Var: uncertainty) 
Acquisition Function: 다음은 어디를 trial 하면 좋을까?


- Surrogate model의 output으로부터, 다음시도를 해보면 좋을 를 계산하는 함수 
- Exploration(불확실한 지점) vs Exploitation(알고있는 가장 좋은 곳)의 trade off 
- Acqusition function의 max 지점을 다음 iteration에서 trial 
- EX) Upper Confidence Bound (UCB) 
With Tree-structured Parzen Estimator(TPE)[6]


- GP의 약점: - High-dim() 
- Conditional, cont/disc 파라미터들의 혼재시 적용이 어려움 
 
- TPE: GPR()과 다르게 와 를 계산 
- TPE를 통한 다음 step의 계산 방법 - 현재까지의 observation들을 특정 quantile(inverse CDF)로 구분 - ex) 전체중 75% bad, 25% good, 위의 빨간, 파란 
- KDE(Kernel density estimation)으로 good observations 분포(p(g)), bad observation의 분포 (p(b))를 각각 추정 - greater의 분포, lower의 분포 
- p(g)/p(b)은 EL(Expected Improvement, acquisiition function 중 하나)에 비례하므로([6]), 높은 값을 가지는 를 다음 step으로 설 
 
EI 증명
- Likelihood를 Quantile로 구분되는 두 함수로 정의 

- l(x)(좋았던 관측 분포), g(x)(안좋았던 관측 분포) 로 부터 l(x)/g(x)가 가장 높은 지점을 탐색한다? 
- l(x)가 높은 쪽을 선호하되, g(x)가 낮은곳도 , 즉, 안좋은지 알 수 없는 것도 찾아 보자는 의미이다. 
3. Further Studies
AutoML의 한계점과 현실적인 접근 방법에 대해 알아보기

학습에 소요되는 시간과 리소스가 너무 크다...
- DL에서의 AutoML은 scalability 이슈가 더욱 대두됨 
- 주요 키워드 - Hyperparameter Gradient Descent(탐색과 학습을 동시에) 
- Meta-learning(Auto "AutoML") 
- Multi-fidelity optimization - Data의 subset만을 활용 
- 적은 epoch 
- RL을 활용한 적은 trial 
- Image Downsampling 등등 
 
 
- 충분히 절충하면서 사용이 가능하다! - 어느정도의 prior를 개입, 적은 search space를 잡고, 
- 적지만, 대표성을 띄는 좋은 subset 데이터를 정하고 (+ n-fold Cross validation 등) 
- 학습과정의 profile을 보고 early terminate 하는 기법 적용 
- (ASHA Scheduler, BOHB (Bayesian Optimization & Hyperband)) 
 
이론적인 부분으로 확 와닿지는 않지만 다음 강의를 듣고, 다시한번 들어봐야할 필요성을 느꼈다..
Last updated
Was this helpful?
