베이지안 최적화 심층 탐구

R-Blogger · 블로그·해설 · 2025-05-22

R-Blogger블로그·해설한국어2025-05-22

베이지안 최적화 심층 탐구

Goal이 연습을 마치면 bbotk와 mlr3mbo를 이용해 일반적인 블랙박스 최적화 문제와, 특히 하이퍼파라미터 최적화(HPO)를 수행하는 베이지안 최적화(BO)의 핵심 구성 요소들을 탐색할 수 있게 됩니다.Introduction이 절에서는 베이지안 최적화(BO), 즉 모델 기반 최적화(MBO)에 대해 자세히 살펴봅니다. BO는 다른 튜닝 방법보다 복잡하므로, 먼저 이론과 방법론을 동기부여하고 설명합니다.Black Box Optimization하이퍼파라미터 최적화에서는 학습기에 하이퍼파라미터 구성을 전달하고, 재샘플링 기법을 통해 일반화 성능을 추정합니다. 목표는 최적의 하이퍼파라미터 구성을 찾는 것입니다. 일반적으로 이는 함수의 수학적 구조를 알 수 없거나 활용할 수 없는 경우에 적용되는 블랙박스 최적화 문제이며, 우리는 하이퍼파라미터 구성에 따른 일반화 성능만을 관측할 수 있습니다. 학습기의 성능 평가에 많은 시간이 소요되기 때문에 HPO는 비용이 높은 블랙박스 최적화 문제에 해당합니다.Bayesian Optimization그리드 탐색이나 무작위 탐색과 같은 간단한 전략도 존재하지만, 베이지안 최적화는 관측된 하이퍼파라미터 평가 결과를 이용해 ‘대리 모델(surrogate model)’을 학습하고, 이를 통해 블랙박스 함수를 모델링합니다. 대리 모델은 제한된 관측값을 사용해 하이퍼파라미터 구성과 추정된 일반화 성능 사이의 미지 함수를 포착하려 합니다. 각 반복에서 BO 알고리즘은 ‘획득 함수(acquisition function)’를 사용해 다음 평가 후보점을 결정합니다. 이 함수는 대리 모델의 예측을 기반으로 검색 공간 내 각 점의 기대 ‘유틸리티’를 측정합니다. 알고리즘은 가장 높은 획득 함수 값을 가진 후보점을 선택하고, 해당 점에서 블랙박스 함수를 평가한 뒤 대리 모델을 업데이트합니다. 이러한 과정은 사전에 정한 최대 평가 횟수에 도달하거나 원하는 성능 수준에 도달하는 등 종료 기준을 만족할 때까지 반복됩니다. 블랙박스 평가 비용이 높고 최적화 예산이 제한된 상황에서 BO는 뛰어난 최적화 성능을 보이는 강력한 방법입니다.본 절의 나머지 부분에서는 먼저 bbotk 패키지를 이용해 블랙박스 최적화에 대한 소개를 제공하고, BO 알고리즘의 구성 요소들을 살펴본 뒤, 이들을 mlr3mbo와 결합하여 바로 사용할 수 있는 블랙박스 최적화기를 구성합니다.Prerequisites다음 패키지를 로드합니다.library(bbotk) library(mlr3verse) library(mlr3mbo) set.seed(123)BO를 하이퍼파라미터 최적화에 적용하기 전에, 아래와 같은 간단한 2차원 사인 함수로 최적화를 시도합니다.sinus_1D = function(xs) 2 * xs$x1 * sin(14 * xs$x1) * sin(xs$x2) * xs$x2Building Blocks of BO베이지안 최적화는 일반적으로 다음 절차를 따릅니다.초기 설계(initial design)를 생성하고 평가합니다.반복 루프: 지금까지 관측한 모든 데이터를 이용해 대리 모델을 학습합니다.획득 함수를 최적화하여 다음에 평가할 유망 후보점을 결정합니다.후보점을 평가하고 관측 데이터 아카이브를 업데이트합니다.종료 기준을 확인하고, 만족하지 않으면 2‑a 로 돌아갑니다.획득 함수는 대리 모델의 평균과 표준편차 예측값에 의존하므로 실제 블랙박스 함수를 평가할 필요가 없어 비교적 저렴하게 최적화할 수 있습니다. 좋은 획득 함수는 성능이 좋고 불확실성이 낮은 영역을 이용해 탐색(exploitation)하는 동시에, 아직 평가되지 않은 영역을 탐색(exploration)해 대리 모델의 불확실성을 줄이는 균형을 맞춥니다.BO는 높은 모듈러성을 갖는 알고리즘으로, 위 구조만 유지된다면 대리 모델, 획득 함수, 그리고 획득 함수 최적화기 등을 일정 수준까지 교체할 수 있습니다. mlr3mbo의 설계는 이러한 모듈러성을 반영하고 있으며, OptimizerMbo기본 클래스는 다음 핵심 요소들을 포함합니다.루프 구조(loop_function)대리 모델(Surrogate)획득 함수(AcqFunction)획득 함수 최적화기(AcqOptimizer)다음에서는 최적화 과정 중 이 구성 요소들의 상호 작용을 살펴봅니다.Initial Design대리 모델을 학습하기 전에 먼저 평가하는 초기 점들의 집합을 ‘초기 설계(initial design)’라고 합니다.
원문 URL
전체 글은 원문 페이지에서 이어서 읽을 수 있습니다.
원문에서 전체 글 읽기
작성자
R-Blogger
출처
R-Blogger
플랫폼
R-Blogger
분류
블로그·해설
언어
한국어
발행일
2025-05-22