Значение гиперпараметра (Hyperparameter)
Значение гиперпараметра — это задаваемое вручную до начала обучения числовое или категориальное значение, определяющее структуру и процесс обучения модели машинного обучения или нейронной сети.
В отличие от «обычных» параметров модели (весов, смещений), которые автоматически настраиваются в ходе обучения на данных, гиперпараметры задаются исследователем или инженером заранее — они управляют самим процессом обучения и архитектурой модели.
Аналогия из бытового мира
Представьте, что вы печёте торт. Ингредиенты (мука, сахар, яйца) — это данные, на которых «обучается» торт. А вот температура духовки, время выпекания, пропорции ингредиентов — это гиперпараметры. Вы задаёте их до начала готовки, и от них критически зависит, получится ли торт вкусным и красивым. Если выбрать неправильные гиперпараметры (например, слишком высокую температуру), торт может сгореть, даже если все ингредиенты были идеальны.
Исторический контекст
Понятие гиперпараметров стало активно использоваться с развитием машинного обучения в 1980–1990‑х годах, когда появились первые сложные модели (например, нейронные сети с обратным распространением ошибки). По мере роста числа архитектур и алгоритмов возникла необходимость явно выделять параметры, которые нельзя «выучить» из данных, а нужно подбирать вручную или с помощью специальных процедур.
В 2000‑х и 2010‑х годах, с бумом глубокого обучения, количество значимых гиперпараметров резко возросло (особенно для свёрточных и рекуррентных сетей), что привело к появлению специализированных методов их подбора:
- поиск по сетке (grid search);
- случайный поиск (random search);
- байесовская оптимизация;
- алгоритмы эволюционной оптимизации.
Смежные понятия и различия
- Параметры модели (weights, biases) — настраиваются автоматически в ходе обучения на данных. Например, веса связей между нейронами в сети.
- Гиперпараметры — задаются до обучения, управляют процессом и архитектурой. Например, количество слоёв в сети, скорость обучения (learning rate), размер батча.
- Метапараметры — иногда используется как синоним гиперпараметров, но чаще относится к параметрам алгоритмов оптимизации гиперпараметров (например, количество итераций в байесовской оптимизации).
Примеры использования
- Скорость обучения (learning rate) — гиперпараметр, определяющий, насколько сильно обновляются веса модели на каждом шаге градиентного спуска. Слишком большое значение может привести к расходимости, слишком маленькое — к медленной сходимости.
- Количество слоёв и нейронов в нейронной сети — гиперпараметры, задающие архитектуру модели. Например, в CNN для классификации изображений число свёрточных слоёв влияет на способность модели извлекать признаки.
- Размер батча (batch size) — количество примеров из обучающей выборки, используемых для одного обновления весов. Влияет на стабильность и скорость обучения.
- Коэффициент регуляризации (regularization strength, например, λ в L1/L2‑регуляризации) — гиперпараметр, управляющий степенью «штрафа» за большие веса, чтобы предотвратить переобучение.
- Функция активации (ReLU, sigmoid, tanh) — гиперпараметр выбора нелинейного преобразования в нейронах.
Популярные реализации и инструменты
- В библиотеках scikit‑learn, TensorFlow, PyTorch гиперпараметры задаются при инициализации моделей и оптимизаторов.
- Инструменты для подбора гиперпараметров: Optuna, Hyperopt, Ray Tune, Keras Tuner.
- В практике часто используют кросс‑валидацию для оценки качества модели при разных значениях гиперпараметров.
