베이지안 최적화

편집 역사 토론
최적설계 통계 시뮬레이션 마지막 수정: 2026-07-18 04:13:41

1. 개요[편집]

베이지안 최적화(Bayesian Optimization, BO)는 한 번 평가하는 데 비싼 블랙박스 함수를 최소한의 시도로 최적화하는 기법이다. 목적함수의 수식도 기울기도 모르고, 값 하나 얻는 데 몇 시간씩 걸리는 상황 — 딱 그럴 때 쓴다. 핵심 아이디어는 지금까지 관측한 점들로 함수 전체에 대한 확률적 믿음(대리모델)을 세우고, 그 믿음을 근거로 “다음 한 방을 어디에 쓸지” 정하는 것이다.

전형적인 사냥감은 이런 것들이다. 딥러닝 하이퍼파라미터 튜닝, 값비싼 전산유체역학 해석의 형상 파라미터, 실험실 공정 조건 최적화. 공통점은 함수 호출 예산이 수십~수백 번으로 빡빡하다는 것. 예산이 넉넉하면 유전 알고리즘이나 입자 군집 최적화를 쓰지, 굳이 BO를 꺼낼 이유가 없다.1

2. 핵심 구성요소[편집]

BO는 두 개의 부품으로 돌아간다. 이 둘의 조합이 전부다.

  1. 대리모델(surrogate) — 관측점들로 목적함수를 근사하되, 예측값뿐 아니라 불확실성까지 내놓는 모델. 거의 항상 가우시안 프로세스(Gaussian Process, GP)를 쓴다.
  2. 획득함수(acquisition function) — 대리모델의 예측과 불확실성을 버무려 “다음에 평가할 가치가 가장 높은 점”을 점수화하는 함수.

한 사이클은 이렇게 돈다. GP를 관측에 적합 → 획득함수를 최대화해 다음 점 xn+1\mathbf{x}_{n+1} 선정 → 그 점에서 비싼 원본 함수 실제 평가 → 관측에 추가 → 반복. 비싼 건 원본 평가 한 번뿐이고, 나머지 GP 적합과 획득함수 최적화는 값싼 계산이라 마음껏 두들긴다.

3. 가우시안 프로세스 대리모델[편집]

GP는 함수 위에 놓는 확률분포다. 임의의 입력점들에서의 함숫값이 결합 다변량 정규분포를 이룬다고 가정하며, 평균함수 m(x)m(\mathbf{x}) 와 공분산(커널) k(x,x)k(\mathbf{x}, \mathbf{x}') 로 규정된다. 관측 데이터 D\mathcal{D} 가 주어지면 임의의 새 점 x\mathbf{x} 에서의 예측은 정규분포로 나온다.

μ(x)=kTK1y,σ2(x)=k(x,x)kTK1k\mu(\mathbf{x}) = \mathbf{k}^{T} \mathbf{K}^{-1} \mathbf{y}, \qquad \sigma^2(\mathbf{x}) = k(\mathbf{x},\mathbf{x}) - \mathbf{k}^{T} \mathbf{K}^{-1} \mathbf{k}

여기서 μ(x)\mu(\mathbf{x}) 는 예측 평균, σ2(x)\sigma^2(\mathbf{x}) 는 예측 분산이다. 관측점 근처에서는 분산이 0에 가깝고, 데이터가 없는 미지의 영역에서는 분산이 커진다 — 이 성질이 BO의 심장이다. “여긴 자신 있고 저긴 잘 모르겠다”를 정량적으로 말해주니까. GP는 곧 크리깅과 같은 물건이므로, 대리 모델 문서의 크리깅 이야기가 그대로 여기에 적용된다.

4. 획득함수: 탐색과 활용의 균형[편집]

BO의 모든 지혜는 탐색-활용 딜레마(exploration–exploitation)로 압축된다. 예측값이 좋은 곳(활용)만 파면 국소 최적에 갇히고, 불확실한 곳(탐색)만 뒤지면 좋은 영역을 정밀화하지 못한다. 획득함수가 이 둘을 하나의 점수로 섞는다.

  • 기대 개선량(Expected Improvement, EI) — 현재 최선값 ff^* 보다 얼마나 더 개선될지의 기댓값. 예측 평균이 좋을수록, 분산이 클수록 점수가 높아 둘을 자동으로 저울질한다. 튜닝할 파라미터가 없어 가장 널리 쓰이는 기본값이다.
EI(x)=E ⁣[max(ff(x),0)]\text{EI}(\mathbf{x}) = \mathbb{E}\!\left[ \max(f^* - f(\mathbf{x}),\, 0) \right]
  • 신뢰상한(Upper Confidence Bound, UCB) — 최소화 문제에선 하한(LCB)으로, μ(x)κσ(x)\mu(\mathbf{x}) - \kappa\,\sigma(\mathbf{x}) 를 최소화한다. κ\kappa 로 탐색 성향을 직접 조절하며, 이론적 후회(regret) 상한이 깔끔해 분석하기 좋다.
  • 개선확률(Probability of Improvement, PI) — 개선이 일어날 확률 자체. 가장 오래됐지만 활용에 치우쳐 국소 최적에 잘 빠진다. 요즘은 EI에 밀렸다.

이 EI 계보의 원조가 1998년 존스(Jones) 등의 EGO(Efficient Global Optimization) 알고리즘이다. 대리 모델의 능동 학습, 실험계획법의 적응 샘플링, BO는 사실상 같은 아이디어의 다른 얼굴이다.

5. 강점, 약점, 그리고 확장[편집]

강점. 함수 평가 예산이 극도로 빡빡할 때 압도적이다. 수백 번 안에 좋은 해를 찾는 능력은 다른 무미분 기법이 흉내 내기 어렵다. 기울기가 필요 없고, 노이즈 섞인 관측도 GP가 자연스럽게 흡수한다.

약점. 첫째, GP 학습이 관측 수 NN 에 대해 O(N3)O(N^3) 이라 표본이 수천 개를 넘으면 무거워진다 — 애초에 그렇게 많이 평가할 거면 BO를 쓸 이유가 없긴 하다. 둘째, 차원의 저주. 입력이 대략 20차원을 넘으면 GP 근사와 획득함수 최적화가 급격히 어려워진다. 셋째, 커널과 그 하이퍼파라미터 선택에 성능이 민감하다.

확장. 병렬로 여러 점을 동시에 평가하는 배치 BO, 값싼 근사와 비싼 정밀 해석을 섞는 다충실도(multi-fidelity) BO, 제약을 GP로 함께 모델링하는 제약 BO, 목적이 여럿일 때의 다목적 BO까지 활발하게 확장됐다. 하이퍼파라미터 자동 튜닝(AutoML)에서 사실상 표준 도구로 자리 잡았다.

6. 현업에서의 현실[편집]

  • 초기 점 몇 개는 실험계획법의 라틴 하이퍼큐브로 깐 뒤 BO를 시작한다. 아무것도 없이 첫 획득함수를 최대화하면 그냥 랜덤이나 다름없다.
  • 획득함수를 최대화하는 내부 최적화도 사실 다봉성 비볼록 문제라, 여기에 다시 최적화기가 필요하다. “최적화 안에 최적화”라는 구조가 처음엔 당황스럽지만 원본 평가보다 싸니까 괜찮다.
  • 노이즈가 큰 함수(예: 학습 랜덤성이 큰 딥러닝)는 관측 자체가 흔들려 GP가 헷갈린다. 반복 평가로 노이즈를 눌러줘야 할 때가 있다.
  • “왜 저 이상한 구석을 평가하냐”는 질문을 받는다. 그게 탐색이다. 획득함수는 지금 나쁜 값이 아니라 개선 가능성을 보고 찍는다는 걸 설명하는 데 시간이 든다.23

7. 관련 문서[편집]

8. Footnotes[편집]

  1. BO의 손익분기점을 대충 잡으면, 함수 평가 한 번이 GP 적합 한 사이클(수 초~수 분)보다 훨씬 비싸야 이득이다. 함수가 밀리초 만에 끝난다면 BO의 오버헤드가 배보다 배꼽이니 그냥 마구 뽑는 게 낫다.

  2. 하이퍼파라미터 튜닝 대회에서 “그냥 랜덤 서치가 격자 서치보다 낫더라”는 유명한 논문(Bergstra & Bengio, 2012)이 있는데, BO는 그 랜덤 서치마저 이기려고 관측을 학습에 활용하는 다음 단계다. 물론 예산이 아주 적으면 랜덤 서치와 별 차이 없을 때도 있다.

  3. 여담으로 GP는 1951년 크리게의 광산 품위 추정에서 왔다. 금 캐던 통계로 지금 신경망 학습률을 고른다. 대리 모델 문서에도 나오는 이 재활용 서사는 응용수학의 국룰이다.