Выпуклая оптимизация

Байесовская оптимизация: умный поиск гиперпараметров

Обучение GPT-4 заняло тысячи GPU-часов. Подбор гиперпараметров случайным поиском - расточительство. Байесовская оптимизация позволяет найти оптимальные гиперпараметры за 10-20 попыток, где случайный поиск потребует 100+. AutoML системы Google, Facebook используют BayesOpt повсеместно.

  • Optuna, BoTorch: настройка гиперпараметров ML-моделей
  • AlphaFold 2: BayesOpt для подбора параметров обучения
  • Drug discovery: Stokes et al. (2020) нашли новый антибиотик через BayesOpt
  • Materials science: поиск новых сплавов с заданными свойствами

Гауссовский процесс: априорное распределение над функциями

Google Vizier (2017) решает задачи оптимизации с 10+ гиперпараметрами: гауссовский процесс строит суррогатную модель. **Гауссовский процесс (GP)** - распределение над функциями: любой конечный набор точек имеет совместное гауссовское распределение. GP задаётся средней функцией m(x) и ковариационной (ядерной) функцией k(x,x'). После наблюдений D = {(xᵢ, yᵢ)} апостериорный GP - аналитически вычислимый и является суррогатной моделью для дорогостоящей функции f.

**GP гиперпараметры:** Длина корреляции l и амплитуда σ подбираются максимизацией маргинального правдоподобия (marginal likelihood): log p(y|X,θ) = −½yᵀ(K+σₙ²I)⁻¹y − ½log|K+σₙ²I| − n/2 log(2π). Это выпуклая задача по θ! Библиотека GPy (Python) делает это автоматически.

Что даёт апостериорный GP помимо предсказания μ*(x*)?

Функции приобретения: EI, UCB, PI

**Функция приобретения (acquisition function)** α(x) указывает, где вычислить f следующим образом. Она балансирует **эксплуатацию** (высокое μ*(x)) и **исследование** (высокая σ*(x)). Три классических варианта: Expected Improvement (EI), Upper Confidence Bound (UCB), Probability of Improvement (PI).

**EI на практике:** EI является де-факто стандартом в библиотеках байесовской оптимизации (Optuna, scikit-optimize, BoTorch). Однако для нескольких целевых функций (multi-objective) или батчей запросов (parallel BO) используют qEI (quasi-Monte Carlo EI) или EHVI (Expected Hypervolume Improvement).

Почему функция приобретения UCB = μ*(x) + β·σ*(x) балансирует исследование и эксплуатацию?

Алгоритм байесовской оптимизации и применения

**Алгоритм байесовской оптимизации (BayesOpt)** итеративно обновляет суррогатную модель (GP) и максимизирует функцию приобретения для выбора следующей точки. Эффективен при малом числе запросов (10 - 100) к дорогостоящим функциям. Применения: настройка гиперпараметров, поиск лекарств, проектирование материалов.

**BayesOpt в реальных задачах:** Optuna (автоматический выбор: CMA-ES или TPE), BoTorch (Facebook, GPU-ускорение), scikit-optimize - три главные библиотеки. AutoML системы (Auto-sklearn, NAS в Google Brain) используют BayesOpt для поиска архитектур. Применение в фармацевтике: BayesOpt нашёл новые антибиотики (Stokes et al., 2020).

В каком режиме байесовская оптимизация особенно выгодна по сравнению со случайным поиском или сеткой?

Ключевые идеи

  • GP: распределение над функциями; апостериорный GP даёт μ*(x) и σ*(x) - предсказание и неопределённость
  • EI = E[max(f(x)−f*, 0)]: самая популярная acquisition function, аналитически вычислима
  • UCB = μ*(x) + βσ*(x): прост, с теоретическими гарантиями regret O(√T log T)
  • BayesOpt: GP + acquisition → итеративный умный поиск за O(10-100) запросов
  • Применения: гиперпараметры ML, поиск лекарств, материалы, A/B тестирование

Связанные темы

Байесовская оптимизация связывает статистику, выпуклую оптимизацию и ML.

  • Стохастическая оптимизация — Оба решают задачи с шумом; BayesOpt - для дорогих функций, SGD - для дешёвых
  • Онлайн-обучение — BayesOpt с GP-UCB имеет regret-гарантии, аналогичные онлайн-обучению
  • Крупномасштабная оптимизация — BayesOpt выбирает гиперпараметры для алгоритмов крупномасштабной оптимизации

Вопросы для размышления

  • Как выбрать ядро GP для байесовской оптимизации гиперпараметров нейросети? Что такое ARD (Automatic Relevance Determination) и зачем оно нужно?
  • Почему байесовская оптимизация плохо масштабируется на высокие размерности (d > 20)? Какие расширения существуют (REMBO, MACE)?
  • Как реализовать параллельную байесовскую оптимизацию (batch BO)? Что такое qEI и почему простое многократное применение EI неверно?

Связанные уроки

  • stat-11-bayesian
Байесовская оптимизация: умный поиск гиперпараметров

0

1

Войти