Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Алгоритм оптимизации

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

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

Как работают алгоритмы оптимизации

Обучение нейронной сети включает в себя повторяющийся цикл прогнозирования, расчета ошибок и обновления параметров. Алгоритм оптимизации контролирует фазу «обновления» этого цикла. После обработки партии обучающих данных система рассчитывает градиент — вектор, указывающий направление наиболее резкого увеличения ошибки — с помощью метода, называемого обратной пропагацией.

Затем оптимизатор обновляет параметры модели в направлении, противоположном градиенту, чтобы уменьшить ошибку. Величина этого обновления регулируется важным гиперпараметром, известным как скорость обучения. Если шаг слишком велик, модель может проскочить глобальный минимум; если он слишком мал, обучение может стать чрезмерно медленным или застрять в локальном минимуме. Дополнительные ресурсы, такие как конспекты по оптимизации из курса CS231n Стэнфордского университета, предлагают более глубокое техническое понимание этой динамики.

Основные типы алгоритмов оптимизации

Различные проблемы требуют различных стратегий. Несмотря на множество вариаций, несколько ключевых алгоритмов доминируют в современном развитии ИИ:

  • Стохастический градиентный спуск (SGD): Классический подход, при котором параметры обновляются с использованием одного примера или небольшой партии, а не всего набора данных. Этот метод эффективен с точки зрения вычислений и широко используется в библиотеках, таких как Scikit-learn.
  • Adam : сокращение от Adaptive Moment Estimation (адаптивная оценка момента), Adam индивидуально Adam скорость обучения для каждого параметра. Это подробно описано в фундаментальной Adam работе Kingma и Ba,Adam , и часто является выбором по умолчанию для обучения общего назначения благодаря своей скорости и свойствам сходимости.
  • AdamW: Вариант Adam отделяет снижение веса от обновления градиента, что приводит к лучшему обобщению. Это часто предпочтительный оптимизатор для обучения современных архитектур, таких как Transformers и высокопроизводительные модели Ultralytics .

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

Алгоритмы оптимизации работают незаметно за кулисами практически каждого успешного решения искусственного интеллекта, преобразуя данные в полезную информацию.

  1. Автономные транспортные средства: в технологии самоуправляемых автомобилей системы обнаружения объектов должны мгновенно распознавать пешеходов, светофоры и другие автомобили. Во время обучения этих систем для ИИ в автомобильной промышленности алгоритм оптимизации обрабатывает миллионы изображений дорог, точно настраивая сеть для минимизации ошибок обнаружения. Это гарантирует, что автомобиль надежно остановится, увидев человека, предотвращая аварии.
  2. Анализ медицинских изображений: Для применения искусственного интеллекта в здравоохранении, например, для выявления опухолей на МРТ-сканах, точность является непреложным условием. Оптимизаторы направляют обучение сверточных нейронных сетей (CNN) для высокочувствительного различения злокачественных и здоровых тканей, снижая риск ложноотрицательных результатов при критических диагнозах.

Различение смежных понятий

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

  • Алгоритм оптимизации против функции потерь: Функция потерь действует как «табло», вычисляя числовое значение (например, среднеквадратичную ошибку), которое отражает степень неточности прогнозов модели. Алгоритм оптимизации — это «стратег», который использует эту оценку для корректировки весов и улучшения производительности в следующем раунде.
  • Алгоритм оптимизации против настройки гиперпараметров: Алгоритм оптимизации обучается внутренним параметрам (весам) во время циклов обучения. Настройка гиперпараметров включает в себя выбор оптимальных внешних настроек, таких как выбор самого оптимизатора, размер пакета или начальная скорость обучения,перед началом обучения. Автоматизированные инструменты, такие как Ray Tune, часто используются для поиска оптимального сочетания этих внешних настроек.

Реализация оптимизации в Python

В современных фреймворках выбор алгоритма оптимизации часто осуществляется с помощью одного аргумента. Следующий пример демонстрирует, как обучить YOLO26 модель с использованием AdamW оптимизатор в рамках ultralytics package. Users can also leverage the Платформа Ultralytics for a no-code approach to managing these training sessions.

from ultralytics import YOLO

# Load the latest YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")

# Train the model using the 'AdamW' optimization algorithm
# The optimizer iteratively updates weights to minimize loss on the dataset
results = model.train(data="coco8.yaml", epochs=5, optimizer="AdamW")

Для тех, кто интересуется механикой низкого уровня, такие фреймворки, как PyTorch и TensorFlow Optimizers, предлагают обширную документацию по внедрению и настройке этих алгоритмов для пользовательских исследовательских архитектур.

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

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

Присоединиться сейчас