Глоссарий

Градиентный спуск

Узнайте, как градиентный спуск оптимизирует модели ИИ, такие как Ultralytics YOLO, обеспечивая точные прогнозы в задачах от здравоохранения до самодвижущихся автомобилей.

Градиентный спуск - это фундаментальный алгоритм оптимизации, лежащий в основе большинства моделей машинного обучения (МОО) и глубокого обучения. Его основная цель - минимизировать ошибку модели путем итеративного изменения ее внутренних параметров. Представьте, что вы стоите на туманной горе и пытаетесь найти самую низкую точку. Вы оглядываетесь по сторонам, чтобы понять, в каком направлении склон наиболее круто уходит вниз, и делаете шаг в этом направлении. Повторяя этот процесс, вы в конце концов достигнете долины. В машинном обучении "гора" - это функция потерь, "направление" - отрицательный градиент функции потерь, а "размер шага" - скорость обучения.

Как работает градиентный спуск

Процесс обучения нейронной сети включает в себя поиск оптимального набора весов модели, который приводит к наименьшей возможной ошибке, или потере. Градиентный спуск автоматизирует этот поиск. Процесс начинается с вычисления градиента - меры того, насколько изменяется потеря по отношению к каждому весу. Этот расчет обычно выполняется с помощью алгоритма обратного распространения. Затем веса обновляются, делая небольшой шаг в направлении, противоположном градиенту, эффективно перемещаясь "вниз" по поверхности потерь. Этот итерационный процесс продолжается в течение многих эпох, пока производительность модели не сходится и потери не минимизируются. Размер каждого шага является критическим фактором, определяемым скоростью обучения, ключевым параметром при настройке гиперпараметров. Подробный обзор этого процесса можно найти в ресурсах, подобных записям курса Stanford CS231n.

Типы градиентного спуска

Существует три основных варианта градиентного спуска, каждый из которых отличается тем, сколько данных используется для расчета градиента при каждом обновлении веса:

  • Пакетный градиентный спуск (BGD): Вычисляет градиент по всему обучающему набору данных. Этот подход обеспечивает стабильный и точный градиент, но он очень дорог с вычислительной точки зрения и требует много памяти, что делает его непрактичным для таких больших наборов данных, как ImageNet.
  • Стохастический градиентный спуск (SGD): Обновляет веса после обработки только одной, случайно выбранной выборки данных. Этот метод намного быстрее и требует меньше памяти, чем BGD, но его обновления зашумлены, что приводит к более неустойчивой траектории сходимости. Эта случайность иногда может помочь модели избежать плохих локальных минимумов.
  • Мини-пакетный градиентный спуск: Баланс достигается за счет вычисления градиента на небольшом случайном подмножестве ("мини-партии") данных, обычно от 32 до 256 образцов. Это наиболее распространенный подход, используемый в современном глубоком обучении, поскольку он сочетает в себе эффективность SGD и стабильность BGD. Такие фреймворки, как PyTorch и TensorFlow, используют этот метод по умолчанию в своих оптимизаторах. Для более детального сравнения смотрите этот обзор алгоритмов градиентного спуска.

Градиентный спуск по сравнению со смежными понятиями

Важно отличать градиентный спуск от нескольких родственных терминов:

  • Алгоритмы оптимизации: Градиентный спуск является основополагающей концепцией для семейства алгоритмов оптимизации. Более продвинутые оптимизаторы, такие как оптимизатор Адама или RMSprop, являются адаптивными вариантами, которые регулируют скорость обучения для каждого параметра в отдельности, что часто приводит к более быстрой сходимости. Оригинальную статью об Адаме можно найти на сайте arXiv.
  • Обратное распространение: Обратное распространение и градиентный спуск - два разных, но взаимосвязанных процесса. Backpropagation - это алгоритм, который эффективно вычисляет градиенты функции потерь относительно весов сети. Градиентный спуск - это алгоритм, который затем использует эти градиенты для обновления весов.
  • Функция потерь: Функция потерь определяет цель, которую стремится минимизировать градиентный спуск. Выбор функции потерь (например, кросс-энтропия для классификации изображений) создает специфический ландшафт ошибок, по которому перемещается оптимизатор.

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

Градиентный спуск - это движок, с помощью которого обучается бесчисленное множество моделей искусственного интеллекта.

  1. Обучение моделей обнаружения объектов: При обучении модели Ultralytics YOLO для обнаружения объектов на таких масштабных наборах данных, как COCO, в каждой итерации используется мини-пакетный градиентный спуск. Модель предсказывает ограничительные рамки, на основе ошибки вычисляется потеря, а градиентный спуск корректирует миллионы весов в основе и голове модели для повышения точности. Весь этот рабочий процесс может управляться и масштабироваться с помощью таких платформ, как Ultralytics HUB.
  2. Обучение языковых моделей: В области обработки естественного языка (NLP) модели, подобные BERT, обучаются для таких задач, как анализ настроения. Градиентный спуск минимизирует функцию потерь, которая измеряет разницу между предсказанным моделью настроением и истинной меткой, позволяя модели изучать нюансы человеческого языка на основе обширных текстовых корпораций. Стэнфордская группа NLP Group проводит обширные исследования в этой области.

Проблемы и соображения

Несмотря на свою мощь, градиентный спуск не лишен сложностей. Алгоритм может застрять в локальных минимумах - долинах, которые не являются абсолютной нижней точкой на поверхности потерь. В очень глубоких сетях он также может страдать от проблем исчезающего градиента или взрывающегося градиента, когда градиент становится слишком мал или слишком велик для эффективного обновления весов. Тщательный выбор скорости обучения, выбор надежного оптимизатора и такие методы, как пакетная нормализация, имеют решающее значение для успешного обучения, как подробно описано в нашем руководстве по обучению моделей.

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

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

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