Learning Rate
Узнай, как скорость обучения (learning rate) влияет на обучение модели. Открой для себя способы оптимизации шага обучения для Ultralytics YOLO26, чтобы достичь SOTA-производительности в обнаружении объектов и не только.
Скорость обучения — это важнейшая настройка тюнинга гиперпараметров, которая определяет размер шага, делаемого моделью в процессе оптимизации. В контексте обучения нейронной сети она контролирует, насколько сильно обновляются внутренние веса модели в ответ на оцененную ошибку при обработке каждого батча данных. Представь, что человек спускается с горы в долину (самую низкую точку ошибки); скорость обучения определяет длину его шага. Если шаг слишком велик, он может перешагнуть через долину и пропустить дно. Если же шаг слишком мал, достижение цели может занять неоправданно много времени.
Link to this sectionДилемма «Златовласки» в оптимизации#
Поиск оптимальной скорости обучения часто описывается как поиск баланса в рабочих процессах машинного обучения. Цель состоит в минимизации функции потерь, которая измеряет разницу между предсказаниями модели и реальными данными. Этот процесс сильно зависит от алгоритма оптимизации, такого как стохастический градиентный спуск (SGD) или оптимизатор Adam, для навигации по ландшафту функции потерь.
- Слишком высокая скорость обучения: Если задано слишком высокое значение, веса модели будут обновляться слишком резко. Это может привести к явлению «перелета» (overshooting), когда модель не может сойтись к решению и вместо этого начинает хаотично колебаться или расходиться. Эта нестабильность иногда может спровоцировать проблему взрыва градиента, делая процесс обучения бесполезным.
- Слишком низкая скорость обучения: И наоборот, крайне малый размер шага гарантирует, что модель будет осторожно двигаться к минимуму, но это может привести к недообучению, так как процесс обучения станет мучительно долгим. Модель может застрять в локальном минимуме или потребовать тысячи дополнительных эпох для изучения простых паттернов, впустую расходуя вычислительные ресурсы. Исследователи часто обращаются к документации PyTorch по оптимизации, чтобы понять, как различные алгоритмы взаимодействуют с этими значениями.
Link to this sectionРеальные приложения#
The impact of learning rate adjustments is evident across various high-stakes industries where computer vision tasks are deployed.
-
Autonomous Driving Systems: In the development of autonomous vehicles, engineers utilize vast datasets to train models for object detection to identify pedestrians and traffic signs. When applying transfer learning to a pre-trained model like YOLO26, developers typically use a much smaller learning rate than they would during initial training. This "fine-tuning" ensures that the model learns the nuances of specific driving environments (e.g., snowy roads vs. desert highways) without erasing the general feature extraction capabilities it already possesses.
-
Медицинская диагностическая визуализация: В анализе медицинских изображений, например при обнаружении опухолей на МРТ-сканах, точность имеет первостепенное значение. Высокая скорость обучения здесь создает риск того, что модель пропустит тонкие различия в текстуре, отличающие злокачественную ткань от доброкачественной. Практики часто применяют технику под названием «разогрев скорости обучения» (learning rate warmup), постепенно увеличивая скорость с нуля до целевого значения, чтобы стабилизировать ранние этапы обучения и обеспечить приведение весов нейронной сети в стабильную конфигурацию до начала агрессивного обучения. Ты можешь прочитать подробнее об этих стратегиях в кратком курсе Google по машинному обучению.
Link to this sectionРазграничение похожих терминов#
Важно отличать скорость обучения от других параметров обучения, так как они часто настраиваются в одних и тех же конфигурационных файлах, но служат разным целям:
- Скорость обучения vs. Размер батча: В то время как скорость обучения контролирует величину обновления, размер батча определяет количество обучающих примеров, обработанных перед выполнением обновления. Между ними существует сильная связь; часто при увеличении размера батча необходимо также увеличивать скорость обучения для поддержания эффективности обучения — концепция, исследованная в статьях по обучению на больших батчах.
- Скорость обучения vs. Затухание (Decay): Затухание относится к стратегии, при которой скорость обучения систематически снижается с течением времени. Планировщик может уменьшать скорость в 10 раз каждые 30 эпох. Это помогает модели делать большие концептуальные скачки в начале, а затем уточнять точность меньшими шагами к концу обучения. Это стандартная функция в Python-пакете Ultralytics.
Link to this sectionУстановка скорости обучения в Ultralytics YOLO#
При использовании современных фреймворков ты можешь легко регулировать начальную скорость обучения (lr0) и коэффициент конечной скорости обучения (lrf). Ниже приведен пример того, как настроить это с помощью клиента, совместимого с платформой Ultralytics, для кастомного запуска обучения.
from ultralytics import YOLO
# Load the YOLO26 model (latest state-of-the-art architecture)
model = YOLO("yolo26n.pt")
# Train the model with a custom initial learning rate
# lr0=0.01 sets the initial rate
# lrf=0.01 sets the final learning rate to (lr0 * lrf)
results = model.train(data="coco8.yaml", epochs=10, lr0=0.01, lrf=0.01)Для опытных пользователей такие техники, как LR Finder (популяризированный fast.ai), могут по сути автоматизировать поиск лучшего начального значения путем проведения короткой пробной эпохи, где скорость экспоненциально увеличивается до момента расхождения функции потерь. Освоение этого гиперпараметра часто является ключом к раскрытию производительности SOTA (современного уровня) в твоих ИИ-проектах.






