Перейти к главному контенту

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Начать работу в SageMaker очень просто; все, что вам нужно сделать, это создать бесплатный аккаунт AWS. При использовании уровня бесплатного пользования AWS вы получаете двухмесячную бесплатную пробную версию SageMaker, прежде чем вам нужно будет начать платить.