또르르's 개발 Story

[37-1] Hyperparameter Search & NAS 본문

부스트캠프 AI 테크 U stage/이론

[37-1] Hyperparameter Search & NAS

또르르21 2021. 3. 17. 00:07

1️⃣ hyperparameter search

1) Grid Layout vs Random Layout

  • Grid Layout은 y축 learning rate, x축 Batch size 등 hyperparameter 조합을 Grid 하게 찾아 최적 조합을 찾아내는 방식

  • Random Layout은 y축 learning rate, x축 Batch size 등 hyperparameter 조합을 Random하게 찾아 최적 조합을 찾아내는 방식

https://www.sicara.ai/blog/2019-14-07-determine-network-hyper-parameters-with-bayesian-optimization

 

 

2) Surrogate Model

Surrogate Model은 ML 모델을 정의하는 hyperparameter들을 위한 머신러닝 모델입니다.

 

따라서 Surrogate Model은 hyperparameter set를 input으로 가집니다.

hyperparameter set을 ML 모델에 넣고 나오는 loss를 output으로 받습니다.

 

[Brochu et al., arXiv 2010]

 

Surrogate의 대표적인 process가 Gaussian process입니다.

 

[Brochu et al., arXiv 2010]

 

Truth function 실선으로 표현되어있으며, 배우고자 하는 머신러닝 모델(모델 = hyperparameter를 추정하는 surrogate model)입니다. 

Object function 점선으로 표현되어 있으며, 추정된 함수의 평균입니다.

Observation은 해당 점 위치에서 모델을 상태를 관찰한 것입니다.

 

따라서 surrogate model의 최대값을 찾는 것은 "실제 모델"에다 해당 hyperparameter를 넣었을 때 가장 좋은 성능을 낸다는 뜻입니다.

 

아래 오른쪽 그래프를 봤을 때, 오른쪽 점에서 최대값이 나타났기 때문에,

exploitation 데이터를 토대로 "오른쪽 점 근처에 최적값이 존재할 것"이라고 예측하는 것입니다.

exploration은 표준편차가 가장 큰 점, 즉, 불확실성이 가장 높은 점 근처에 최적값이 존재하는 것이라고 예측하는 것입니다.

단, exploitation과 exploration는 trade-off의 관계에 있습니다.

 

이 상태에서 세로선으로 Gaussinan 분포를 그려서 가장 Variance (파란색 분포)가 넓은 곳에 Exploration을 수행하는 것입니다. 이 부분은 Variance function의 분포가 넓습니다.

 

Acquistiton function은 다음 observation을 찾아가는 지표이며, 값이 가장 큰 acquisition max에서 다음 observation을 수행합니다. Mean과 Variance를 둘 다 고려해서 Acquistion max를 찾은 후, 다음 Observation을 수행합니다.

 

[Brochu et al., arXiv 2010]

 

다음 Observation (new observation)을 찾으면 Object function이 Truth function에 수렴을 하게 됩니다.

아직 Gaussian Variance (파란색 분포)가 남은 영역은 Truth function을 못 찾은 영역, Gaussian Variance (파란색 분포)가 없는 부분은 Truth function을 이미 찾은 영역을 뜻합니다.

 

[Brochu et al., arXiv 2010]

 

다시 다음 Observation을 찾으면서 Truth function을 찾아갑니다.

 

[Brochu et al., arXiv 2010]

 

Gaussian process는 모든 hyper parameter를 input으로 넣어 훈련시키는 방법은 아니라서 어떤 hyper parameter가 좋은 setting인지 알아보는 데는 유의미할 수 있습니다.

 


✅ EI 함수

 

EI함수는 위에서 설명한 exploitation과 exploration을 적절히 사용하도록 설계했으며, Acquisition Function으로 사용합니다.

 

[Brochu et al., arXiv 2010]

 

여기서 실선은 observation 함수의 mean을 의미합니다.

x+는 현재까지 나온 최대값이며, x1,x2,x3 3가지 점이 observation 되어있을 때, 각 점의 정규 분포(초록색)를 구해주게 됩니다.

 

이후, EI 함수 공식에 μ(x),f(x+)σ(x) 값을 넣고, EI(x)의 값을 구해줍니다.

(φ(·) and Φ(·) denote the PDF and CDF of the standard normal distribution respectively)

 

[Brochu et al., arXiv 2010]


 

 

2️⃣ Neural Architecture Search (NAS)

 

아래 그림은 (Automatic) Neural Architecture Search (NAS)이며, 여러 candidate의 모델들의 Architecture들을 알고리즘, 딥러닝 등의 모델에 넣어서 가장 좋은 성능의 Architecture를 찾아내는 방법입니다.

 

 

[Zooh Barret et al., arXiv 2016]

 

여기서 Search strategy 즉, 다음 후보 Architecture를 고르는 전략이 중요한데,

 

  • 어디와 어디를 natural connection으로 엮을 것인가,
  • 어디와 어디를 fuse를 할 것인가,
  • 어디와 어디를 depth-wise seperate를 할 것인가,
  • 몇 개의 layer를 쌓을 것인가,

 

이러한 strategy들을 Grid로 만들어놓고, pick 해가지고 결정하게 됩니다.

 

https://www.edwith.org/bcaitech1

 

이러한 NAS를 적용한 논문은 다음과 같습니다.

 

[Tan Mingxing et al., IEEE 2019]

 

[Cai et al., arXiv 2018]

 

  • ONCE-FOR-ALL: TRAIN ONE NETWORK AND SPECIALIZE IT FOR EFFICIENT DEPLOYMENT

    여러 Device 상황에서 다양하게 사용할 수 있게 만든 architecture search

    ref) arxiv.org/pdf/1908.09791.pdf

[Cai et al., arXiv 2019]

 

Comments