Ответ на вопрос
Байесовская оптимизация
Байесо́вская оптимиза́ция (в англоязычной литературе — Bayesian optimization) — метод глобальной оптимизации функций чёрного ящика, при котором дорогие в вычислении пробы распределяет вероятностная модель целевой функции[1]. Метод решает задачи оптимизации, где не требуется аналитический вид зависимости. На каждом шаге суррогатная модель предсказывает значения функции и её неопределённость, а функция приобретения превращает эти предсказания в решение о месте следующего замера[2]. Подход рассчитан на задачи, в которых один замер стоит минут машинного времени, испорченной заготовки или недельной лабораторной работы[1].
Своё имя метод получил по формуле Байеса: после каждого измерения модель по правилу байесовского вывода пересчитывает априорное распределение в апостериорное, и следующий выбор опирается на всё накопленное знание[3]. Главный принцип — бережное отношение к пробам: вычислительная работа переносится с целевой функции на дешёвую модель, а оптимизация перестаёт требовать производных и градиентов[2]. С развитием искусственного интеллекта байесовская оптимизация стала основным инструментом настройки гиперпараметров моделей и вошла в системы автоматического машинного обучения[4].
Практическая значимость метода подтверждена в разных отраслях: от настройки нейронных сетей и подбора конструкций летательных аппаратов до автоматизации химических экспериментов[1]. В экспериментах Снека и соавторов байесовская оптимизация показала преимущества при настройке ряда моделей машинного обучения[4]. Случайный поиск служит важным базовым методом сравнения[5]. Настоящая статья описывает постановку задачи, историю метода, его основные части, алгоритм, области применения и программные средства.
Общие сведения
| Байесовская оптимизация | |
|---|---|
| Область использования | машинное обучение, подбор гиперпараметров, глобальная оптимизация, инженерное проектирование, планирование научного эксперимента |
| Ключевые слова | гауссовский процесс, суррогатная модель, функция приобретения, чёрный ящик, ожидаемое улучшение |
| Базовые понятия | априорное распределение, апостериорное распределение, суррогатная модель, функция приобретения, компромисс разведки и использования |
Постановка задачи
Байесовская оптимизация решает задачу поиска максимума целевой функции на области , где — точка пространства параметров[2]. Функция известна только по результатам замеров: аналитическое выражение недоступно, производные не вычисляются, а вероятностная постановка учитывает шум, а каждое значение получается за существенное время или деньги[6]. Такая функция называется функцией чёрного ящика, а её область — пространством поиска.
Отличие от классических численных схем задаётся экономикой замера. В рассматриваемых задачах число вычислений целевой функции ограничено их стоимостью, а её производные могут быть недоступны[6]. Замер часто сопровождается шумом: повторный эксперимент в той же точке даёт другой результат из-за случайности обучения или погрешности приборов[7]. Размерность при этом обычно умеренная — от единиц до десятков параметров, а не тысячи[2].
Параметры поиска бывают непрерывными и дискретными: скорость обучения сети — число, а тип активации — категория[8]. В инженерных задачах добавляются ограничения: конструкция обязана выдерживать нагрузку, а эксперимент — укладываться в нормы безопасности[9]. Постановки с ограничениями и несколькими целевыми функциями расширяют базовую схему и обсуждаются ниже в разделах о функциях приобретения и алгоритме.
История
Возникновение идей
Идея выбирать точки эксперимента по вероятностной модели возникла в 1960-е годы на стыке статистики и теории управления[1]. Кушнер в 1964 году предложил выбирать следующую точку по вероятности улучшения текущего результата, а Мокус в 1970-е годы развил байесовский подход к глобальной оптимизации и показал его сходимость для широкого класса функций[1]. В те же годы кригинг — геостатистический метод интерполяции рудных месторождений, родственный регрессионному анализу, — дал вычислительную основу: линейный предсказатель с известной ошибкой[3].
Обзоры подчёркивают, что ранние работы сформулировали обе главные части будущего метода: модель с мерой неопределённости и правило выбора точки, балансирующее разведку и использование[2]. Однако вычислительные возможности эпохи ограничивали применение: пересчёт модели после каждого замера был дорог, а задачи имели считанные переменные[1].
Инженерные корни
В 1980-е годы кригинг перекочевал в проектирование дорогих вычислительных экспериментов: инженеры строили суррогат по результатам моделирования и искали оптимум уже на нём[1]. Джонс, Шонау и Велч в 1998 году свели существовавшие схемы в алгоритм эффективной глобальной оптимизации EGO, где критерием выбора точки стало ожидаемое улучшение[6]. Работа задала стандарт формулировки задачи и показала на инженерных примерах, что десятков проб хватает для близости к оптимуму[6].
Отдельную линию составили работы Мокуса, оформившие байесовский подход как общий инструмент глобальной оптимизации с мерой информации о функции[1]. К концу 1990-х годов метод имел ясную постановку, критерии выбора точек и первые программные реализации, но оставался нишевым инструментом инженерного анализа[6].
Эпоха машинного обучения
Перелом произошёл в 2010-е годы, когда настройка моделей машинного обучения стала массовой дорогой задачей[1]. Снек, Ларошель и Адамс в 2012 году показали на практике, что байесовская схема подбирает гиперпараметры нейронных сетей лучше случайного поиска при том же бюджете[4]. Бергстра с соавторами в том же периоде предложили древесные оценки Парзена — альтернативную суррогатную модель, устойчивую к категориальным параметрам[10].
Теоретический фундамент укрепил анализ доверительных границ: Сринивас с соавторами доказал регретные оценки для гауссовских процессов, показав разумный компромисс разведки и использования[11]. Дальнейшие работы перенесли метод на параллельные и ограниченные постановки, а библиотеки глубокого обучения сделали его частью повседневного инструментария[12]. К концу 2010-х годов байесовская оптимизация вошла в системы автоматического машинного обучения как стандартный блок подбора конфигураций[13].
Суррогатная модель
Суррогатная модель — вероятностное приближение целевой функции, обучаемое на накопленных замерах[2]. Модель предсказывает не только среднее значение в точке, но и неопределённость предсказания; именно мера неопределённости отличает байесовскую схему от обычной интерполяции[3]. После каждого замера апостериорное распределение пересчитывается, и предсказания в окрестности новой точки уточняются[3].
Гауссовские процессы
Основной суррогат — гауссовский процесс: распределение по функциям, в котором любые значения связаны совместным нормальным распределением[3]. Процесс задаётся средним и ковариационной функцией, а значения в любых точках связаны совместным распределением; ядро кодирует предположение о гладкости целевой функции и определяет, насколько сильно значения в близких точках коррелируют[3]. Замеры превращают априорное распределение в апостериорное: среднее проходит рядом с наблюдениями, а разброс вне наблюдаемых областей остаётся большим[3].
При гауссовской модели наблюдений апостериорное предсказание гауссовского процесса вычисляется аналитически. Его неопределённость зависит от выбранного ядра и модели шума[3]. Стоимость точного обучения гауссовского процесса обычно растёт как , где — число наблюдений. При больших наборах данных применяют приближённые методы[3]. Обзоры рекомендуют процессы для непрерывных пространств небольшой размерности, где предположение гладкости естественно[1].
Древесные модели и оценки Парзена
Для пространств с категориальными и условными параметрами применяют модели на деревьях решений: ансамбли случайных лесов дают предсказание и разброс по разбросу деревьев, устойчиво обрабатывая разнотипные признаки[14]. Древесно-структурированная оценка Парзена (TPE) моделирует распределения конфигураций для двух групп результатов. При минимизации потерь это плотности и , где — выбранный квантиль потерь. Кандидаты оцениваются по отношению [10]. Такой подход лежит в основе популярных средств настройки и не требует обращения ковариационных матриц[14].
Выбор суррогата определяется пространством параметров и бюджетом: при выборе суррогата учитывают типы параметров, размерность пространства и бюджет измерений[14]. Эффективность подхода зависит от соотношения стоимости вычисления целевой функции, обучения суррогата и оптимизации функции приобретения[1].
Функция приобретения
Функция приобретения превращает предсказания суррогата в решение о следующей точке замера[1]. Она ставит каждой точке скалярную оценку полезности, и оптимизация проводится уже по этой дешёвой функции[2]. Все распространённые критерии балансируют две цели: разведку областей с большой неопределённостью и использование областей с высоким предсказанным значением[11].
Улучшение и его ожидание
Вероятность улучшения измеряет шансы превысить текущий рекорд с учётом неопределённости модели[1]. Критерий исторически первым появился в работах 1960-х годов, но слабо отличает большие перевесы от малых и тяготеет к мелким шагам около рекорда[6]. Ожидаемое улучшение исправляет недостаток: усредняется величина превышения, а не сам факт, поэтому точки с потенциалом заметного роста сохраняют привлекательность[6]. Алгоритм EGO довёл критерий до практической схемы с аналитическим вычислением для гауссовского процесса[6].
Для максимизации при наблюдениях без шума ожидаемое улучшение определяется как[2]:
Здесь — накопленные наблюдения, а ожидание берётся по апостериорному распределению. При шумных измерениях необходимы специальные варианты критерия[2].
Критерий дёшево максимизируется численно: его производные известны, а максимизация по пространству поиска не требует вызовов целевой функции[2].
Верхняя доверительная граница
Критерий доверительной границы складывает предсказанное среднее и бонус за неопределённость с весовым коэффициентом[11]:
Прибавка стимулирует разведку: чем меньше данных в области, тем шире интервал и выше оценка[11]. Коэффициент управляет балансом: при росте параметра схема переходит от жадного использования к систематическому исследованию[11]. Сринивас и соавторы получили сублинейные оценки накопленного регрета для GP-UCB при заданных предположениях о целевой функции, ядре и шуме, а также специальном выборе изменяющегося коэффициента исследования[11].
Ограничения и информационные критерии
В задачах с ограничениями замер в точке может не просто дать низкое значение, но и оказаться недопустимым: авария прототипа или уход физических параметров за пределы нормы[7]. Ограниченная схема моделирует допустимость отдельной вероятностной моделью и выбирает точки, где ожидаемое улучшение умножается на вероятность успеха[7]. Тфаили и соавторы предложили учитывать скрытые ограничения расчётных моделей самолёта с помощью классификаторов, модифицирующих функцию приобретения[9].
Информационные критерии выбирают точку по ожидаемому приросту знания о положении оптимума, а не по ожидаемому значению функции[1]. Энтропийные критерии оценивают ожидаемое уменьшение неопределённости относительно положения оптимума[1]. Выбор критерия зависит от постановки задачи и стоимости его вычисления[2].
Алгоритм
Базовый цикл метода состоит из повторяющихся шагов[2]. Сначала пространство поиска описывают: границы непрерывных параметров, множества категорий, условия согласованности[8]. Затем выбирают стартовые точки — обычно несколько случайных проб, дающих модели первичные данные[2]. После этого повторяют: суррогат обучается на накопленных замерах, функция приобретения максимизируется по пространству, целевая функция измеряется в выбранной точке, результат пополняет данные[2].
Критерии остановки
Бюджет задаётся числом замеров, временем или деньгами: цель — максимум качества при заданной цене[2]. В алгоритме EGO дополнительным критерием остановки служит снижение максимального ожидаемого улучшения ниже выбранного порога[6].
Параллельные схемы
Классический цикл последовательный: следующая точка зависит от всех предыдущих замеров[12]. Параллельные схемы выбирают пакет точек: фиксированный или адаптивный, с учётом уже назначенных, но не завершённых проб[12]. Ван, Кларк, Лю и Фрейзер разработали метод совместной оптимизации пакетного ожидаемого улучшения (q-EI) с помощью стохастических оценок градиента[12]. Практичные средства допускают десятки одновременных проб на кластере[15].
Шум и повторные запуски
Шум замера снижает качество модели: суррогат начинает объяснять случайность вместо структуры[7]. Схемы с шумом оценивают дисперсию отдельно и учитывают её в предсказаниях, а повторные замеры в одной точке дают независимую оценку погрешности[7]. В задачах обучения со случайной инициализацией повторные запуски одной конфигурации уменьшают риск выбрать конфигурацию по удачному случаю[8].
Применения
Байесовская оптимизация применяется там, где замер дорог, а гладкость функции позволяет суррогату интерполировать[1]. Обзоры перечисляют настройку ранжирования, графику, робототехнику, сенсорные сети, планирование и подбор архитектур глубоких сетей[1]. Ниже рассмотрены три группы задач, в которых метод стал рабочим инструментом.
Настройка гиперпараметров
Главная прикладная область — подбор гиперпараметров моделей: скорость обучения, регуляризация, глубина сети, параметры деревьев[4]. Каждая проба — полное обучение модели на обучающих данных и оценка функции потерь на проверке, поэтому бюджет проб исчисляется десятками и сотнями[4]. Снек и соавторы показали на наборах задач, что байесовская схема при равном бюджете достигает лучшей точности, чем случайный и сеточный переборы[4].
Российские исследования развивают направление в двух путях. Смирнова и соавторы объединили априорные знания о похожих задачах с апостериорными данными текущей настройки и получили лучший результат на большинстве задач при том же лимите времени[8]. Воробьев показал, что автоматизированная настройка компенсирует потерю точности при сокращении объёма данных до половины, а древесные оценки Парзена предпочтительны для ансамблей деревьев[14].
Открытые средства интегрировали метод в практику: Optuna проводит настройку с древесными оценками Парзена, Hyperopt предлагает несколько суррогатов, а Ax и BoTorch связывают байесовскую схему с современными библиотеками глубокого обучения[16]. Системы автоматического машинного обучения используют байесовскую схему как ядро подбора конфигураций[13].
Инженерные и научные задачи
Инженерные применения исторически старше машинного обучения: подбор параметров вычислительных моделей, проектирование конструкций, планирование экспериментов[6]. Тфаили и соавторы применили ограниченную схему к проектированию летательных аппаратов, где скрытые ограничения проверяются только дорогим расчётом[9]. Летам и соавторы описали промышленную эксплуатацию метода в социальных сетях: автоматическая настройка систем по результатам шумных онлайн-экспериментов[7].
В науке метод автоматизирует планирование: подбор условий химических реакций, настройка параметров приборов, поиск конфигураций материалов[1]. Общая черта — дорогой замер и умеренная размерность, при которой десятки проб дают заметный выигрыш против систематического перебора[2].
Компьютерное зрение и аппаратные системы
Зоев и соавторы использовали байесовский подход для поиска гиперпараметров моделей U-Net. Полученные при программном обучении весовые коэффициенты затем переносились в систему на кристалле для аппаратной реализации[17].
Похожие схемы работают в распознавании лиц и обработке изображений, где качество чувствительно к настройкам извлечения признаков[1].
Программные средства
Средства первого поколения выросли из научных пакетов: scikit-learn предоставляет гауссовские процессы как суррогат с примерами оптимизации, а scikit-optimize оформляет полный цикл с функциями приобретения[18]. Hyperopt поддерживает случайный поиск, TPE и Adaptive TPE[19].
Второе поколение ориентировано на глубокое обучение и кластеры. BoTorch даёт гауссовские процессы на тензорных вычислениях и современные функции приобретения, а платформа Ax добавляет управление экспериментами и параллельные пробы для глубокого обучения[20]. Optuna позволяет задавать пространство поиска в коде и по умолчанию использует TPESampler. Для сохранения истории между запусками требуется настроить постоянное хранилище[21].
Выбор средства определяется задачей: для небольших непрерывных пространств достаточно scikit-learn и scikit-optimize, для масштабной настройки нейросетей применяют BoTorch, Ax и Optuna, для смешанных пространств — Hyperopt[22]. Все перечисленные средства распространяются свободно и поддерживают параллельные пробы в той или иной форме[15].
Достоинства и ограничения
Сильная сторона метода — возможность экономить дорогие вычисления целевой функции. Величина выигрыша зависит от задачи и сравниваемого алгоритма[1]. Бергстра и Бенджио показали, что случайный поиск сам по себе силён при малом числе важных параметров, поэтому корректное сравнение требует одинакового бюджета и повторных запусков[5]. Метод не требует производных и одинаково работает с непрерывными и категориальными параметрами при подходящем суррогате[10].
Ограничения определяются ценой модели и размерностью. Стоимость точного обучения гауссовского процесса обычно растёт кубически по числу наблюдений; при больших наборах данных применяют приближённые методы[3]. В высокоразмерных пространствах данные редки, суррогат хуже интерполирует, и преимущества против случайного поиска сокращаются[14]. Классический цикл последовательный, а распараллеливание размазывает информацию между пробами и требует специальных схем[12].
Практичные рекомендации сводятся к следующему[1]:
- применять метод, когда замер дорог относительно вычислений суррогата, а размерность умеренная[1].
- выбирать суррогат по типу пространства: процессы — для непрерывных, древесные схемы — для смешанных[14].
- проверять бюджет на повторных запусках для оценки устойчивости результатов настройки[8].
- для категориальных и условных параметров использовать схемы, поддерживающие их естественным образом[10].
Примечания
Литература
- Воробьев А. В. Методы повышения точности алгоритмов машинного обучения при сокращении размерности набора данных // International Journal of Open Information Technologies. — 2021. — Т. 9, № 10.
- Зоев И. В., Маслов К. А., Марков Н. Г., Мыцко Е. А. Исследование аппаратно-реализованных сверточных нейронных сетей класса U-NET // Известия Томского политехнического университета. Промышленная кибернетика. — 2023. — № 1.
- Смирнова В. С., Шаламов В. В., Ефимова В. А., Фильченков А. А. Оптимизация гиперпараметров на основе объединения априорных и апостериорных знаний о задаче классификации // Научно-технический вестник информационных технологий, механики и оптики. — 2020. — Т. 20, № 6. — doi:10.17586/2226-1494-2020-20-6-828-834.
- Frazier P. I. A Tutorial on Bayesian Optimization (англ.) // arXiv. — 2018.
- Jones D. R., Schonlau M., Welch W. J. Efficient Global Optimization of Expensive Black-Box Functions (англ.) // Journal of Global Optimization. — 1998. — Vol. 13, no. 4. — P. 455—492. — doi:10.1023/A:1008306431147.
- Letham B., Karrer B., Ottoni G., Bakshy E. Constrained Bayesian Optimization with Noisy Experiments (англ.) // Bayesian Analysis. — 2019. — Vol. 14, no. 2. — doi:10.1214/18-BA1110.
- Rasmussen C. E., Williams C. K. I. Gaussian Processes for Machine Learning (англ.). — Cambridge: MIT Press, 2006. — 272 p. — ISBN 9780262182539.
- Shahriari B., Swersky K., Wang Z., Adams R. P., de Freitas N. Taking the Human Out of the Loop: A Review of Bayesian Optimization (англ.) // Proceedings of the IEEE. — 2016. — Vol. 104, no. 1. — P. 148—175. — doi:10.1109/JPROC.2015.2494218.
- Srinivas N., Krause A., Kakade S. M., Seeger M. W. Information-Theoretic Regret Bounds for Gaussian Process Optimization in the Bandit Setting (англ.) // IEEE Transactions on Information Theory. — 2012. — Vol. 58, no. 5. — P. 3250—3265. — doi:10.1109/TIT.2011.2182033.
- Wang J., Clark S. C., Liu E., Frazier P. I. Parallel Bayesian Global Optimization of Expensive Functions (англ.) // Operations Research. — 2020. — Vol. 68, no. 6. — P. 1850—1865. — doi:10.1287/OPRE.2019.1966.