본문 바로가기
딥러닝

하이퍼파라미터 튜닝 베이지안 최적화(Bayesian Optimization)

by Data Lib 2024. 2. 15.

이전 포스팅에서는 하이퍼파라미터 튜닝 중 Model-Free(모델을 사용하지 않는 방법, Grid search, Random search)에 대해 알아보았다면 이번 글은 Model-Based(모델을 사용하는 방법) 중 가장 많이 사용하는 Bayesian Optimization에 대해 살펴보도록 하겠습니다. 

 

 

Bayesian Optimization란

베이지안 최적화는 특히 함수 평가에 비용이 많이 들거나 시간이 많이 걸리는 경우 블랙박스 함수를 최적화하기 좋은 방법입니다. 베이지안 최적화의 원리는 지금까지의 관찰을 기반으로 목적 함수의 확률적 모델을 만드는 방법인데요. 생각보다 설명이 쉽지 않으니 우선 두가지만 기억하세요. 

  1. 기존 추출 기반의 목적함수를 정의하고 최대 또는 최소로 하는 최적값을 찾는 방법
  2. 기존 추출 데이터의 평가하는 Surrogate model과 다음 탐색지점을 결정하는 Acquisition function으로 구성

자~ 이제부터 베이지안 최적화의 주요 원리를 하나씩 알아 보겠습니다. 

 

확률적 Surrogate model

Surroagate 모델이 관측 데이터를 기반으로 f(x)를 추정하는 확률모델입니다. 목적 함수를 구성할 때 일반적으로 Gaussian Process(GP)인 확률적 Surrogate 모델을 구축하여 활용 합니다. 이 Surrogate 모델은 search 범위의 모든 지점에서 목적 함수와 해당 불확실성에 대한 확률적 추정을 합니다.  요약하면 아래와 같습니다. 

  1. Bayes 정리를 활용(사전 확률을 이용)
  2. Gaussian Process(평균과 분산을 이용한 해석)가 주로 사용됨

Gaussian Process(GP) 

GP 모델은 함수에 대한 사전 확신을 나타내며 새로운 관찰이 가능해지면 반복적으로 업데이트됩니다. 여기서 Gaussian Distribution는 Random variable에 대한 분포를 말합니다. 

  • 점선 ( --------- ) : 목적 함수(Objective function)
  • 실선 ( ——— ) : 평균 함수 = 𝜇(𝑥)   
  • 보라색 범위 : 표준편차 =  𝜎(𝑥) → 불확실성

 


Acquisition function

Acquisition(획득) 함수는 평가를 위한 다음 Sample point를 선택하는 기준으로 사용됩니다. 실제 최대값이 존재할 가능성이 높은 곳을 탐색하기 위해 두가지 개념을 사용합니다.

탐색(exploration)

  • 불확실성이 높은 지역에서 샘플링
  • 분산이 최대인 지점. 즉,  조사한 점들 중에서 불확실한 영역에서 최적 입력값을 찾을 확율이 높음

착위(exploitation)

  • 예상되는 개선이 높은 지역에서 샘플링
  • 평균이 최대인 지점. 즉, 조사된 점들 중에서 함수값이 더 큰 점 근방에 최적 입력값을 찾을 확률이 높음

이렇게 exploitation(착취)-exploration(탐색) trade-off를 통해 균형을 맞춥니다. 일반적인 Acquisition 함수에는 개선 확률(PI), 기대 개선(EI) 및 신뢰 상한(UCB)이 포함됩니다. 이러한 기능을 통해 현재 최적점을 찾기 위해 각 Point의 잠재력을 수치화합니다.

 

Bayesian 업데이트와 순차적 접근

새로운 관찰이 이루어지면 Surroagate 모델은 베이지안 추론을 이용해 업데이트합니다. 목적 함수의 사후 분포는 베이즈 정리(Bayes Theorem)를 사용하여 사전 분포와 관측 데이터를 기반으로 계산됩니다. 이 반복적인 업데이트 프로세스는 Surroagate 모델을 개선하여 시간이 지남에 따라 불확실성을 줄이고 정확성을 향상시킵니다.

 

베이지안 최적화는 본질적으로 스퀀셜(Sequential, 순차적)입니다. 현재 Surroagate 모델을 기반으로 평가할 new point를 반복적으로 선택하고, 해당 point에서 목적 함수를 평가합니다. 그 후 새 관측값으로 Surroagate 모델을 업데이트하고, 최적화 기준이 충족될 때까지 프로세스를 반복합니다. 이러한 순차적 접근 방식을 통해 하이퍼파라미터 지정 범위를 효율적으로 탐색하고 가능성이 높은 범위에 집중할 수 있습니다.

 

Bayesian Optimization 특징

  • 순차적 접근(Sequence access) 방식이라 병렬처리 어려움 → Grid & Random Search는 병령처리 가능함
  • 목적함수(Object function) 계산이 오래 걸리지 않는 모델에서 주로 활용
  • 목적함수를 계산하는데 들어가는 시간, 기대향상에 들어가는데 걸리는 시간을 적절하게 고려 필요
  • 딥러닝에서 보다 머신러닝에서 자주 사용 →  밑바닥부터 시작하는 딥러닝의 저자 '사이토 고키'가 책에서 딥러닝에서는 random search로 최적한 이유이지 않을까 추측해 봅니다. 
  • Grid Search, Random Search 대비 최적값을 잘 찾으며(큰 차이는 아닐 수 있음) 자동화 가능하다는 장점

* 함께 보면 좋은 글

 

하이퍼파라미터 튜닝 종류: Grid vs Random search

하이퍼파라미터 튜닝은 머신러닝 모델 개발에서 중요한 단계입니다. 여기에는 성능을 향상시키기 위해 최적의 하이퍼파라미터를 선택하는 작업이기 때문이죠. 하이퍼파라미터 조정에는 여러

bommbom.tistory.com