1. 개요

 

Hyper Parameter는 모델 학습 과정을 제어하기 위해 사용하는 파라미터입니다.

Hyper Parameter 탐색 방법에는 대표적으로 Grid Search, Random Search 방법이 있습니다.

이 탐색 방법들의 문제점을 해결하기 위해 Hyper Parameter 최적화를 이용합니다.

 

Hyper Parameter 최적화는 대표적으로 Bayesian 최적화가 있습니다.

 

우선 Hyper Parameter 최적화는 Black-box Optimization으로, Hyper Parameter가 입력값, 출력값은 Loss일때 둘 사이의 관계를 미리 수식으로 표현할 수 없습니다.

즉, Objective Function을 알 수 없습니다. 그래서 Gradient를 계산할 수 없습니다.

 

[그림1] Black-Box 예시

[그림1]에서 lambda는 Hyper Parameter, y는 Loss, f()는 Objective Function이 되겠습니다.

 

2. Bayesian 최적화의 기본 아이디어

 

1) 관측 데이터를 기반으로 f(x)를 추정합니다.

- Bayes 정리를 활용

- Gaussian Process -> f(x)를 평균과 분산이라는 개념으로 선택함

 

2) 추정 모델을 기반으로 탐색할 파라미터를 선택합니다.

- 평균이 큰것(Exploitation)

- 분산이 큰것(Exploration) 

 

Bayesian 최적화는 기본적으로 Surrogate FunctionAcquisition Function으로 구성됩니다.

 

3. Surrogate Function

 

실제로 관측한 값들을 기반으로 미지의 Objective Function 형태에 대한 확률적인 추정을 수행하는 함수입니다.

임의의 Hyper Parameter set을 입력하면 그때 예측된 Objective Function으로 구한 Loss 평균과 분산을 출력합니다.

 

이때, Gaussian Processes를 이용합니다.

 

Gaussian Process는 정규분포를 기반으로 합니다.

- 분포: 하나의 변수를 사용할때의 용어

- Process: 하나의 함수를 사용할때의 용어

 

[그림2] Surrogate Model에서 평균함수 M(lambda), 분산함수 Sigma^2(lambda)를 구하는법

 

분산함수 추정을 위해 Matern 5/2 Kernel을 이용합니다. ([그림2]의 식에서는 Kernel이라고 합니다)

d(lambda, lambda*)은 서로 다른 두 Hyper Parameter Set간의 거리를 의미합니다.

Matern 5/2 Kernel을 이용해 평균 함수(M(lambda))와 분산 함수(Sigma^2(lambda))를 구합니다.

 

4. Acquisition Function

 

Surrogate Function이 만들어져 평균 함수(M(lambda))와 표준편차 함수(Sigma(lambda))를 알 수 있다고 가정합시다.

이때, Acquisition Function은 Exploration과 Exploitation을 고려해서 최적의 다음 Hyper Paramter Set을 찾는 함수입니다.

 

Exploitation: 평균이 큰 것을 의미합니다.

Exploration: 분산이 큰 것을 의미합니다.

 

 

 

[그림3] E[I] 수식

 

[그림3]의 E[I]는 Expected Improvment로 현재까지 가장 좋은 Loss와 평균의 차이로 구성된 함수입니다.

여기서 파이와 로우는 정규분포입니다.

f min 은 실제 관측된 값들 중에서 가장 낮은 Loss를 의미합니다.

즉 E[I]를 해석하자면, 실제로 가장 낮은 Loss와 추정된 Loss의 평균 차이를 기반으로 Acquisition Function을 구하는 것입니다.

E[I]가 가장 큰 값을 직관적으로 해석하면, 실제로 가장 낮은 Loss와 추정된 Loss의 평균의 차이가 가장 큰 값을 의미합니다.

 

따라서 우리는 Acquisition Function을 통해 E[I]가 가장 큰 값을 구합니다.

이후, 해당 Hyper Parameter Set을 다음 Hyper Parameter Set으로 반영하는 것입니다.

 

5. Bayesian 최적화 과정 정리

 

[그림4] Bayesian 최적화 과정

[그림4]를 참고하여 과정을 정리해보겠습니다.

 

 

1) Observation 몇개를 기반으로 미지의 Objection Function(Black Box)을 추정합니다.

 

2) Objective Function과 관측값을 기반으로 Surrogate Function을 만듭니다.

 

3) Acquisition Function을 통해 가장 높은 값을 갖는 Hyper Parameter Set을 찾습니다.

 

4) 새로운 Hyper Parameter Set을 반영해서 다시 Surrogate Model을 업데이트합니다.

 

5) 3)~4) 과정이 반복되면서 최적의 하이퍼 파라미터를 찾습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

출처: https://www.youtube.com/watch?v=mxr8G4hDPcM 

출처: https://www.youtube.com/watch?v=w9D8ozS0oC4 

 

출처: https://www.youtube.com/watch?v=PTxqPfG_lXY 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts