Learning Rate
Узнай, как скорость обучения влияет на обучение модели. Познакомься с оптимизацией размера шага для Ultralytics YOLO26, чтобы достичь показателей уровня SOTA в обнаружении объектов и других задачах.
Скорость обучения — это критически важная конфигурация для настройки гиперпараметров, которая определяет размер шага, с которым модель движется в процессе оптимизации. При обучении нейронной сети она управляет тем, насколько сильно обновляются внутренние веса модели в ответ на оценённую ошибку каждый раз, когда модель обрабатывает пакет данных. Представь, что человек спускается с горы к долине (точке с наименьшей ошибкой); скорость обучения определяет длину его шага. Если шаг слишком большой, он может полностью перешагнуть долину и не достичь её дна. Если шаг слишком маленький, достижение цели может занять непрактично много времени.
Дилемма «Златовласки» в оптимизации#
Поиск оптимальной скорости обучения часто описывают как балансирование в рамках рабочих процессов машинного обучения. Цель состоит в минимизации функции потерь, которая измеряет разницу между предсказаниями модели и фактической эталонной разметкой. Этот процесс в значительной степени опирается на алгоритм оптимизации, такой как стохастический градиентный спуск (SGD) или оптимизатор Adam, чтобы перемещаться по ландшафту функции потерь.
- Слишком высокая скорость обучения: Если значение задано слишком большим, обновления весов модели будут резкими. Это может привести к явлению «перелёта», при котором модели не удаётся сойтись к решению, и вместо этого она начинает хаотично колебаться или расходиться. Такая нестабильность иногда может вызвать проблему взрыва градиентов, сделав процесс обучения бесполезным.
- Слишком низкая скорость обучения: И наоборот, чрезвычайно маленький размер шага обеспечивает осторожное движение модели к минимуму, но может привести к недообучению, поскольку процесс обучения становится мучительно медленным. Модель может фактически застрять в локальном минимуме или потратить тысячи дополнительных эпох на изучение простых закономерностей, неэффективно расходуя вычислительные ресурсы. Чтобы понять, как разные алгоритмы взаимодействуют с этими значениями, исследователи часто обращаются к документации PyTorch по оптимизации.
Практические применения#
Влияние изменения скорости обучения заметно в различных отраслях с высокими требованиями, где применяются задачи компьютерного зрения.
-
Системы автономного вождения: При разработке автономных транспортных средств инженеры используют обширные наборы данных для обучения моделей обнаружению объектов, чтобы распознавать пешеходов и дорожные знаки. При применении переноса обучения к предварительно обученной модели, такой как YOLO26, разработчики обычно используют гораздо меньшую скорость обучения, чем на этапе первоначального обучения. Такая «тонкая настройка» позволяет модели изучить особенности конкретных условий вождения (например, заснеженных дорог по сравнению с пустынными шоссе), не стирая уже имеющиеся у неё общие возможности извлечения признаков.
-
Медицинская диагностическая визуализация: В анализе медицинских изображений, например при обнаружении опухолей на МРТ-снимках, точность имеет первостепенное значение. Высокая скорость обучения здесь создаёт риск того, что модель пропустит едва заметные различия текстур, отличающие злокачественную ткань от доброкачественной. Специалисты часто применяют метод, называемый «разогревом скорости обучения»: постепенно увеличивают скорость от нуля до целевого значения, чтобы стабилизировать ранние этапы обучения и обеспечить переход весов нейронной сети в устойчивую конфигурацию до начала агрессивного обучения. Подробнее об этих стратегиях можно узнать в ускоренном курсе Google по машинному обучению.
Различия между связанными терминами#
Важно отличать скорость обучения от других параметров обучения, поскольку их часто задают в одних и тех же конфигурационных файлах, но они выполняют разные функции:
- Скорость обучения и размер пакета: Если скорость обучения управляет величиной обновления, то размер пакета определяет количество обучающих примеров, обрабатываемых до выполнения обновления. Между ними существует тесная взаимосвязь: часто при увеличении размера пакета необходимо также пропорционально увеличить скорость обучения, чтобы сохранить эффективность обучения; эта концепция рассматривается в работах об обучении на больших пакетах.
- Скорость обучения и затухание: Затухание — это стратегия, при которой скорость обучения систематически уменьшается со временем. Планировщик может снижать скорость в 10 раз каждые 30 эпох. Это помогает модели совершать крупные концептуальные шаги на ранних этапах, а затем уточнять точность небольшими шагами ближе к концу обучения. Это стандартная функция пакета Ultralytics для Python.
Настройка скорости обучения в Ultralytics YOLO#
При использовании современных фреймворков можно легко изменить начальную скорость обучения (lr0) и конечную долю скорости обучения (lrf). Ниже приведён пример настройки с помощью клиента, совместимого с Ultralytics Platform, для пользовательского запуска обучения.
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 (передовой уровень) в проектах по искусственному интеллекту.









