Байесовская оптимизация

Байесовская оптимизация — это мощная стратегия оптимизации функций «черного ящика», то есть функций с непрерывными или дискретными входными данными, где вычисление целевой функции требует больших затрат. Этот подход широко используется в таких областях, как машинное обучение, настройка гиперпараметров и автоматизированное проектирование алгоритмов, где стоимость оценки функции высока.

Фундаментальная концепция

По своей сути байесовская оптимизация создает вероятностную модель (суррогатную модель) целевой функции и использует эту модель для принятия решений о том, где во входном пространстве выполнять следующую оценку. К основным компонентам байесовской оптимизации относятся:

  1. Суррогатная модель: Это вероятностная модель, аппроксимирующая целевую функцию. Гауссовы процессы (GP) обычно используются в качестве суррогатных моделей из-за их гибкости и способности учитывать неопределенность.

  2. Функция сбора: Эта функция определяет следующую точку для оценки, сочетая разведку (поиск в менее исследованных областях) и эксплуатацию (поиск в перспективных областях). Общие функции сбора данных включают ожидаемое улучшение (EI), вероятность улучшения (PI) и верхнюю доверительную границу (UCB).

  3. Теорема Байеса: Эта теорема является фундаментальной для байесовских методов, позволяя суррогатной модели обновлять свои представления о целевой функции по мере оценки новых точек данных.

Гауссовы процессы

Гауссов процесс (ГП) — это набор случайных величин, любое конечное число которых имеет совместное гауссово распределение. В контексте байесовской оптимизации предпочтение отдается GP, поскольку они могут обеспечить не только прогнозирование значений функции в точках без выборки, но также количественно оценить неопределенность этих прогнозов. GP определяется средней функцией, которая обычно принимается равной нулю, и ковариационной функцией (или ядром), которая определяет гладкость и другие свойства функции.

Ключевые понятия в GP:

  1. Функция ядра: Определяет сходство между точками во входном пространстве. Обычно выбирают ядро ​​радиальной базисной функции (RBF), ядро ​​Матерна и полиномиальное ядро.
  2. Средняя функция: Предоставляет ожидаемое значение функции. Часто для простоты считается равным нулю.
  3. Апостериорное распределение: Учитывая априорную информацию и наблюдаемые данные, апостериорное распределение обеспечивает обновленный вероятностный прогноз целевой функции.
  4. Маржинальное правдоподобие: используется для оптимизации гиперпараметров в рамках гауссовского процесса.

Функции сбора данных

Функция сбора данных направляет поиск оптимума, предлагая следующую точку для оценки. Он уравновешивает компромисс между разведкой и эксплуатацией.

Типы функций сбора данных:

  1. Ожидаемое улучшение (EI): Вычисляет ожидаемое улучшение по сравнению с текущим лучшим наблюдением.
  2. Вероятность улучшения (PI): Измеряет вероятность того, что новое наблюдение улучшит текущее лучшее значение.
  3. Верхняя доверительная граница (UCB): учитывает компромисс между прогнозируемым средним значением и неопределенностью функции.

Процесс байесовской оптимизации

Итеративный процесс байесовской оптимизации включает в себя:

  1. Инициализация: Начните с начального набора наблюдений, часто выбираемого с помощью выборки латинского гиперкуба или простой случайной выборки.
  2. Подбор суррогатной модели: Подгоните суррогатную модель, например GP, к текущим наблюдениям.
  3. Оптимизация функции сбора данных: Оптимизируйте функцию сбора данных, чтобы определить следующую точку для оценки.
  4. Оценка: Оцените целевую функцию в предложенной точке и обновите набор данных наблюдения.

Этот процесс повторяется до тех пор, пока не будет выполнен критерий остановки, например максимальное количество оценок или сходимость в пределах заранее определенного порога.

Приложения

Байесовская оптимизация нашла применение в различных областях благодаря своей эффективности в оптимизации дорогостоящих и шумных целевых функций:

Настройка гиперпараметра

В машинном обучении байесовская оптимизация часто используется для настройки гиперпараметров, где целевой функцией является производительность модели машинного обучения, а оценки являются результатами обучения модели с различными настройками гиперпараметров.

Автоматизированное машинное обучение (AutoML)

Платформы AutoML используют байесовскую оптимизацию для автоматизации выбора и настройки моделей машинного обучения, что приводит к более быстрому и надежному развертыванию решений машинного обучения.

Обучение с подкреплением

Байесовская оптимизация помогает оптимизировать параметры политики при обучении с подкреплением, обеспечивая баланс между изучением новых политик и использованием известных хороших политик.

Промышленное и научное применение

В инженерных и научных исследованиях байесовская оптимизация используется для оптимизации экспериментальных настроек, например, в материаловедении для поиска оптимальных составов материалов.

Компании и инструменты

Некоторые компании и инструменты предлагают байесовскую оптимизацию в своих пакетах программного обеспечения, обеспечивая удобные интерфейсы и масштабируемые реализации.

Ax от Facebook AI Research (FAIR)

Axe — это платформа, разработанная Facebook AI Research для автоматизации экспериментов и байесовской оптимизации. Он предоставляет интерфейс для реализации сложных задач оптимизации на Python.

Google Vizier

Google Vizier — это расширенная служба настройки гиперпараметров и оптимизации «черного ящика», доступная в Google Cloud, использующая методы байесовской оптимизации.

OPTUNA

Optuna — это автоматическая библиотека оптимизации гиперпараметров, разработанная для машинного обучения и использующая эффективные стратегии выборки и сокращения для байесовской оптимизации.

Hyperopt

Hyperopt — это библиотека Python для последовательной и параллельной оптимизации в неудобных пространствах поиска, которая поддерживает различные алгоритмы оптимизации, включая байесовскую оптимизацию.

Проблемы и будущие направления

Несмотря на свои преимущества, байесовская оптимизация сталкивается с такими проблемами, как:

  1. Масштабируемость до многомерных пространств.
  2. Решение задач многокритериальной оптимизации.
  3. Включение специфичных для предметной области знаний в процесс оптимизации.

Исследователи активно работают над решением этих проблем, что делает байесовскую оптимизацию постоянно развивающейся и многообещающей областью исследований.

В заключение отметим, что байесовская оптимизация — это сложный метод оптимизации дорогостоящих, шумных функций и функций «черного ящика». Его применение охватывает множество областей, оказываясь неоценимым для задач, требующих эффективных и надежных стратегий оптимизации.