Байесовская оптимизация
Байесовская оптимизация — это мощная стратегия оптимизации функций «черного ящика», то есть функций с непрерывными или дискретными входными данными, где вычисление целевой функции требует больших затрат. Этот подход широко используется в таких областях, как машинное обучение, настройка гиперпараметров и автоматизированное проектирование алгоритмов, где стоимость оценки функции высока.
Фундаментальная концепция
По своей сути байесовская оптимизация создает вероятностную модель (суррогатную модель) целевой функции и использует эту модель для принятия решений о том, где во входном пространстве выполнять следующую оценку. К основным компонентам байесовской оптимизации относятся:
-
Суррогатная модель: Это вероятностная модель, аппроксимирующая целевую функцию. Гауссовы процессы (GP) обычно используются в качестве суррогатных моделей из-за их гибкости и способности учитывать неопределенность.
-
Функция сбора: Эта функция определяет следующую точку для оценки, сочетая разведку (поиск в менее исследованных областях) и эксплуатацию (поиск в перспективных областях). Общие функции сбора данных включают ожидаемое улучшение (EI), вероятность улучшения (PI) и верхнюю доверительную границу (UCB).
-
Теорема Байеса: Эта теорема является фундаментальной для байесовских методов, позволяя суррогатной модели обновлять свои представления о целевой функции по мере оценки новых точек данных.
Гауссовы процессы
Гауссов процесс (ГП) — это набор случайных величин, любое конечное число которых имеет совместное гауссово распределение. В контексте байесовской оптимизации предпочтение отдается GP, поскольку они могут обеспечить не только прогнозирование значений функции в точках без выборки, но также количественно оценить неопределенность этих прогнозов. GP определяется средней функцией, которая обычно принимается равной нулю, и ковариационной функцией (или ядром), которая определяет гладкость и другие свойства функции.
Ключевые понятия в GP:
- Функция ядра: Определяет сходство между точками во входном пространстве. Обычно выбирают ядро радиальной базисной функции (RBF), ядро Матерна и полиномиальное ядро.
- Средняя функция: Предоставляет ожидаемое значение функции. Часто для простоты считается равным нулю.
- Апостериорное распределение: Учитывая априорную информацию и наблюдаемые данные, апостериорное распределение обеспечивает обновленный вероятностный прогноз целевой функции.
- Маржинальное правдоподобие: используется для оптимизации гиперпараметров в рамках гауссовского процесса.
Функции сбора данных
Функция сбора данных направляет поиск оптимума, предлагая следующую точку для оценки. Он уравновешивает компромисс между разведкой и эксплуатацией.
Типы функций сбора данных:
- Ожидаемое улучшение (EI): Вычисляет ожидаемое улучшение по сравнению с текущим лучшим наблюдением.
- Вероятность улучшения (PI): Измеряет вероятность того, что новое наблюдение улучшит текущее лучшее значение.
- Верхняя доверительная граница (UCB): учитывает компромисс между прогнозируемым средним значением и неопределенностью функции.
Процесс байесовской оптимизации
Итеративный процесс байесовской оптимизации включает в себя:
- Инициализация: Начните с начального набора наблюдений, часто выбираемого с помощью выборки латинского гиперкуба или простой случайной выборки.
- Подбор суррогатной модели: Подгоните суррогатную модель, например GP, к текущим наблюдениям.
- Оптимизация функции сбора данных: Оптимизируйте функцию сбора данных, чтобы определить следующую точку для оценки.
- Оценка: Оцените целевую функцию в предложенной точке и обновите набор данных наблюдения.
Этот процесс повторяется до тех пор, пока не будет выполнен критерий остановки, например максимальное количество оценок или сходимость в пределах заранее определенного порога.
Приложения
Байесовская оптимизация нашла применение в различных областях благодаря своей эффективности в оптимизации дорогостоящих и шумных целевых функций:
Настройка гиперпараметра
В машинном обучении байесовская оптимизация часто используется для настройки гиперпараметров, где целевой функцией является производительность модели машинного обучения, а оценки являются результатами обучения модели с различными настройками гиперпараметров.
Автоматизированное машинное обучение (AutoML)
Платформы AutoML используют байесовскую оптимизацию для автоматизации выбора и настройки моделей машинного обучения, что приводит к более быстрому и надежному развертыванию решений машинного обучения.
Обучение с подкреплением
Байесовская оптимизация помогает оптимизировать параметры политики при обучении с подкреплением, обеспечивая баланс между изучением новых политик и использованием известных хороших политик.
Промышленное и научное применение
В инженерных и научных исследованиях байесовская оптимизация используется для оптимизации экспериментальных настроек, например, в материаловедении для поиска оптимальных составов материалов.
Компании и инструменты
Некоторые компании и инструменты предлагают байесовскую оптимизацию в своих пакетах программного обеспечения, обеспечивая удобные интерфейсы и масштабируемые реализации.
Ax от Facebook AI Research (FAIR)
Axe — это платформа, разработанная Facebook AI Research для автоматизации экспериментов и байесовской оптимизации. Он предоставляет интерфейс для реализации сложных задач оптимизации на Python.
Google Vizier
Google Vizier — это расширенная служба настройки гиперпараметров и оптимизации «черного ящика», доступная в Google Cloud, использующая методы байесовской оптимизации.
OPTUNA
Optuna — это автоматическая библиотека оптимизации гиперпараметров, разработанная для машинного обучения и использующая эффективные стратегии выборки и сокращения для байесовской оптимизации.
Hyperopt
Hyperopt — это библиотека Python для последовательной и параллельной оптимизации в неудобных пространствах поиска, которая поддерживает различные алгоритмы оптимизации, включая байесовскую оптимизацию.
Проблемы и будущие направления
Несмотря на свои преимущества, байесовская оптимизация сталкивается с такими проблемами, как:
- Масштабируемость до многомерных пространств.
- Решение задач многокритериальной оптимизации.
- Включение специфичных для предметной области знаний в процесс оптимизации.
Исследователи активно работают над решением этих проблем, что делает байесовскую оптимизацию постоянно развивающейся и многообещающей областью исследований.
В заключение отметим, что байесовская оптимизация — это сложный метод оптимизации дорогостоящих, шумных функций и функций «черного ящика». Его применение охватывает множество областей, оказываясь неоценимым для задач, требующих эффективных и надежных стратегий оптимизации.