Узнай, как оптимизатор Adam обеспечивает эффективное обучение нейронных сетей с адаптивной скоростью обучения, импульсом и реальными приложениями в ИИ.
Adam (Adaptive Moment Estimation) - это широко распространенный алгоритм оптимизации, который активно используется в глубоком обучении (DL) и машинном обучении (ML). Он предназначен для эффективного обновления весов сети в процессе обучения путем адаптации скорости обучения для каждого параметра в отдельности. Представленный в статье"Adam: A Method for Stochastic Optimization" Дидериком П. Кингмой и Джимми Ба, Adam сочетает в себе преимущества двух других популярных методов оптимизации: AdaGrad (адаптивный градиентный алгоритм) и RMSprop(Root Mean Square Propagation). Такое сочетание делает его особенно эффективным для обучения больших нейронных сетей с множеством параметров и сложными наборами данных.
Adam вычисляет адаптивные скорости обучения для каждого параметра, основываясь на оценках первого и второго моментов градиентов. По сути, он отслеживает экспоненциально затухающее среднее значение прошлых градиентов (похоже на импульс) и экспоненциально затухающее среднее значение прошлых квадратичных градиентов (похоже на AdaGrad/RMSprop).
По сравнению с более простыми алгоритмами вроде стохастического градиентного спуска (SGD), в которых используется одна фиксированная скорость обучения (или скорость, которая снижается по расписанию), адаптация Адама по каждому параметру часто позволяет быстрее найти хорошее решение, особенно при сложных ландшафтах потерь.
Адам популярен по нескольким причинам:
Адам - лучший оптимизатор для многих современных моделей:
В компьютерном зрении Адам часто используется для обучения глубоких конволюционных нейронных сетей (CNN) для таких задач, как классификация изображений, обнаружение объектов и сегментация изображений. Например, обучение Ultralytics YOLO для обнаружения объектов на изображениях(как в наборе данных COCO) или сегментации экземпляров, можно использовать Adam для эффективного сближения на этапе обучения. Он также применяется в анализе медицинских изображений для таких задач, как обнаружение опухолей.
Adam - это стандартный оптимизатор для обучения больших языковых моделей (LLM), таких как BERT и варианты GPT. При обучении моделей для таких задач, как машинный перевод, резюмирование текста или анализ настроения, Adam помогает эффективно ориентироваться в сложном ландшафте функций потерь, связанных с этими большими(основанными на трансформаторах) моделями.
В экосистеме Ultralytics Adam и его вариант AdamW (Adam with decoupled weight decay) являются доступными оптимизаторами для обучения моделей Ultralytics YOLO . Использование адаптивной скорости обучения Adam может ускорить сходимость при обучении моделей обнаружения объектов, сегментации экземпляров или оценки позы, таких как YOLO11 или YOLOv10. Хотя SGD часто является оптимизатором по умолчанию и рекомендуется для некоторых моделей YOLO из-за потенциально лучшей итоговой обобщенности(избежание чрезмерной подгонки), Adam предоставляет надежную альтернативу, особенно полезную в определенных сценариях или во время начальных экспериментов и оценки модели. Ты можешь легко настроить оптимизатор и другие параметры обучения. Такие инструменты, как Ultralytics HUB, упрощают этот процесс, позволяя пользователям обучать модели с помощью различных оптимизаторов, включая Adam, как локально, так и через облачное обучение. Такие фреймворки, как PyTorch и TensorFlow предоставляют стандартные реализации Adam, которые используются во фреймворке Ultralytics . Для дальнейшего повышения производительности рассмотри такие техники, как дистилляция знаний или изучение различных архитектур моделей.