Что такое настройка гиперпараметров?

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

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

Что такое гиперпараметры?

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

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

Как определить гиперпараметры?

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

Почему настройка гиперпараметров так важна?

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

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

Как выполняется настройка гиперпараметров?

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

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

Каковы методы настройки гиперпараметров?

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

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

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

Поиск по решетке

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

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

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

Каковы примеры гиперпараметров?

Хотя некоторые гиперпараметры общие, на практике вы обнаружите, что в алгоритмах используются определенные наборы гиперпараметров. Например, вы можете прочесть о том, как Amazon SageMaker использует гиперпараметры классификации изображений, а SageMaker – гиперпараметры алгоритма XGBoost.

Вот некоторые примеры общих гиперпараметров:

  • Темп обучения – это скорость, с которой алгоритм обновляет оценки.
  • Затухание темпа обучения – это постепенное уменьшение скорости обучения со временем для ускорения обучения.
  • Импульс определяет направление следующего шага с учетом предыдущего.
  • Узлы нейронной сети – количество узлов в каждом скрытом слое.
  • Слои нейронной сети – количество скрытых слоев в нейронной сети.
  • Размер мини-пакета – размер пакета обучающих данных.
  • Эпохи – это количество показов для сети всего обучающего набора данных в процессе обучения.
  • Размер шага – для предотвращения переобучения размер шага уменьшается.

Как AWS может помочь с настройкой гиперпараметров?

В Amazon Web Services (AWS) мы предлагаем Amazon SageMaker – полностью управляемую платформу машинного обучения (МО), с помощью которой можно автоматически настраивать модели. Автоматическая настройка модели Amazon SageMaker служит для нахождения наилучшей версии вашей модели МО путем выполнения множественных обучающих заданий с вашим набором данных. Для нее используются указанные вами диапазоны гиперпараметров и алгоритм.

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

Автоматическая настройка модели SageMaker поддерживает также новую стратегию поиска Hyperband. Hyperband может найти оптимальный набор гиперпараметров в три раза быстрее, чем с помощью байесовского поиска при работе с крупномасштабными моделями, например глубокими нейронными сетями, применяемыми для решения задач компьютерного зрения.

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

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

AWS: дальнейшие шаги

Дополнительные ресурсы к продукту
Просмотрите сервисы машинного обучения 
Зарегистрируйте бесплатный аккаунт

Получите мгновенный доступ к уровню бесплатного пользования AWS.

Регистрация 
Начать разработку в консоли

Начните разработку в Консоли управления AWS.

Вход