Настраивайтесь на YOLO Vision 2025!
25 сентября 2025 г.
10:00 — 18:00 BST
Гибридное мероприятие
Yolo Vision 2024
Глоссарий

Оптимизатор Adam

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

Adam (Adaptive Moment Estimation) — популярный и мощный алгоритм оптимизации, используемый в машинном обучении (ML) и глубоком обучении (DL). Он предназначен для эффективного поиска оптимальных значений для параметров модели (ее весов и смещений) путем итеративного обновления их на основе данных обучения. Adam высоко ценится за высокую скорость сходимости и эффективность в широком диапазоне задач, что делает его распространенным выбором по умолчанию для многих специалистов при обучении пользовательских моделей. Его разработка стала важным шагом в повышении практичности обучения больших и сложных моделей.

Как работает Adam

Ключевым нововведением Adam является его способность адаптировать скорость обучения для каждого отдельного параметра. Вместо использования единой фиксированной скорости обучения для всех весов в сети, Adam вычисляет индивидуальную скорость обучения, которая корректируется по мере продвижения обучения. Он достигает этого, объединяя преимущества двух других методов оптимизации: RMSProp и Momentum. Adam отслеживает два основных компонента: первый момент (среднее значение градиентов, аналогично моменту) и второй момент (несмещенная дисперсия градиентов). Эта комбинация позволяет ему выполнять более обоснованные обновления, делая большие шаги для параметров с согласованными градиентами и меньшие шаги для параметров с зашумленными или разреженными градиентами. Метод подробно описан в оригинальной исследовательской работе Adam Кингмы и Ба.

Adam в сравнении с другими оптимизаторами

Полезно сравнить Adam с другими распространенными оптимизаторами, чтобы понять его сильные стороны.

  • Adam против Стохастического градиентного спуска (SGD): Хотя SGD является фундаментальным алгоритмом оптимизации, он использует постоянную скорость обучения, которая применяется ко всем обновлениям параметров. Это может привести к замедлению сходимости или застреванию в субоптимальных «впадинах» функции потерь. Adam, с его адаптивными скоростями обучения, часто более эффективно перемещается по ландшафту потерь и сходится гораздо быстрее. Однако некоторые исследования показывают, что модели, обученные с помощью SGD, могут немного лучше обобщать и более эффективно избегать переобучения в определенных сценариях. Выбор часто требует эмпирического тестирования, как объясняется в руководствах по советам по обучению моделей.
  • AdamW: Популярным и эффективным вариантом является AdamW (Adam с разделенным затуханием веса). Он изменяет способ применения затухания веса — техники регуляризации — отделяя его от шага обновления градиента. Это часто приводит к улучшению производительности модели и лучшему обобщению. Реализации доступны в основных фреймворках, таких как PyTorch и TensorFlow.

Применение в реальном мире

Эффективность и надежность Adam делают его подходящим для широкого спектра применений.

  1. Обучение больших языковых моделей (LLM): Adam и его варианты имеют решающее значение для обучения массивных моделей в обработке естественного языка (NLP). Для таких моделей, как GPT-4 или моделей от Hugging Face, эффективность Adam делает возможным обработку огромных наборов текстовых данных из таких источников, как Wikipedia, и изучение сложных языковых моделей. Его способность ориентироваться в сложных ландшафтах потерь имеет важное значение для успеха.
  2. Классификация изображений и обнаружение объектов: В компьютерном зрении (CV) Adam широко используется для обучения глубоких сверточных нейронных сетей (CNN) на больших наборах данных изображений, таких как ImageNet или COCO. Это помогает моделям для классификации изображений и обнаружения объектов быстро сходиться, что ускоряет разработку и циклы настройки гиперпараметров.

Использование в Ultralytics YOLO

В экосистеме Ultralytics Adam и его вариант AdamW являются доступными оптимизаторами для обучения моделей Ultralytics YOLO. Использование адаптивных скоростей обучения Adam может ускорить сходимость во время обучения моделей обнаружения объектов, сегментации экземпляров или оценки позы, таких как YOLO11 или YOLOv10. Хотя SGD часто является оптимизатором по умолчанию и рекомендуется для некоторых моделей YOLO из-за потенциально лучшей итоговой генерализации, Adam предоставляет надежную альтернативу, особенно полезную во время начальных экспериментов. Вы можете легко настроить оптимизатор и другие параметры обучения. Такие инструменты, как Ultralytics HUB, упрощают этот процесс, позволяя пользователям обучать модели с использованием различных оптимизаторов, включая Adam, локально или через облачное обучение. Фреймворки, такие как PyTorch и TensorFlow, предоставляют стандартные реализации Adam, которые используются в рамках фреймворка Ultralytics.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас
Ссылка скопирована в буфер обмена