Глоссарий

Адам Оптимизатор

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

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

Как работает Адам

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

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

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

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

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

Эффективность и прочность Adam позволяют использовать его в самых разных областях.

  1. Обучение больших языковых моделей (LLM): Adam и его разновидности имеют решающее значение для обучения массивных моделей в обработке естественного языка (NLP). Для таких моделей, как GPT-4 или Hugging Face, эффективность Adam позволяет обрабатывать огромные текстовые массивы данных из таких источников, как Википедия, и изучать сложные языковые паттерны. Его способность ориентироваться в сложных ландшафтах потерь - залог успеха.
  2. Классификация изображений и обнаружение объектов: В компьютерном зрении (КЗ) 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

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

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