Ришаб Манодж,команда ИИ

Введение:

Модели машинного обучения имеют параметры, которые необходимо изучить с помощью данных, и этого можно достичь путем обучения модели на существующих данных. С другой стороны, гиперпараметры — это параметры, которые фиксируются при построении модели (т. е. перед обучением). Они показывают, насколько сложна модель или как быстро модель может обучаться и т. д. Некоторые примеры гиперпараметров:

· Регуляризация L1 или L2 в моделях

· Количество скрытых слоев в нейронной сети

· Глубина дерева в случайном лесу

· Скорость обучения в моделях глубокого обучения

Наличие наилучшей комбинации гиперпараметров повысит эффективность модели ML (повысит точность, сократит время обучения, время вывода и т. д.). Таким образом, важно иметь представление о различных стратегиях настройки гиперпараметров.

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

Стратегии настройки гиперпараметров:

Двумя распространенными стратегиями являются поиск по сетке и рандомизированный поиск.

Поиск по сетке:

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

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

Случайный поиск:

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

Вероятностный поиск:

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

Оптуна:

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

· Легкий и универсальный

· Современные алгоритмы

· Активные динамические поисковые пространства

· Хорошая визуализация

· Распределенные вычисления

В Оптуне мы определяем

Цель:

Функция, которая обучает модель на основе выбранного гиперпараметра и вычисляет функцию оптимизации. Модель строится на выбранных гиперпараметрах, затем обучается на наборе данных поезда и оценивается на тестовых данных с использованием метрики оценки (или функции оптимизации). Функция оптимизации возвращает один результат (точность, показатель f1, среднеквадратичное значение, показатель r2 и т. д.), который необходимо либо максимизировать, либо минимизировать.

Пробная версия:

Однократное выполнение функции оптимизации называется пробным.

- Учеба:

Сборник испытаний. Мы рассматриваем лучшее испытание в исследовании как результат (т. е.) оптимальные комбинации гиперпараметров.

Пример кода, который использует Optuna:

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

Определим целевую функцию, которая принимает пробный объект. Этот пробный объект используется для создания параметров модели. В последней части кода мы создаем объект исследования, в котором мы используем оценщик дерева Парзена (TPESampler) и максимизируем целевую функцию. Затем мы запускаем его для 1000 испытаний, чтобы найти наилучшую комбинацию гиперпараметров.

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

Optuna использует данные из предыдущих испытаний, чтобы проверить, является ли текущее испытание многообещающим, например: оно может сравнить потери в определенные эпохи, чтобы увидеть, будет ли текущее испытание работать лучше, если нет, испытание прекращается и начинается новое. Так работает обрезка в «Оптуне».

Вывод:

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

[1] https://github.com/optuna/optuna

[2] https://optuna.readthedocs.io/en/stable/index.html

[3] https://arxiv.org/abs/1907.10902

[4] https://www.youtube.com/watch?v=P6NwZVl8ttc