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

Эволюционные алгоритмы

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

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

Биологическое вдохновение и основные механизмы

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

  1. Инициализация: система генерирует начальную совокупность случайных кандидатов. В контексте машинного обучения (ML) эти кандидаты могут представлять различные наборы параметров модели.
  2. Оценка пригодности: каждый кандидат тестируется по отношению к конкретной цели, известной как функция пригодности. Для модели компьютерного зрения (CV) эта функция обычно оценивает такие метрики, как точность или средняя средняя точность (mAP).
  3. Отбор: Кандидаты с более высокими показателями пригодности выбираются с определенной вероятностью в качестве родителей, что обеспечивает сохранение успешных черт для следующего поколения.
  4. Репродукция и вариация: новые решения создаются посредством кроссинговера (рекомбинации признаков двух родителей) и мутации (введения случайных изменений). Внедрение генетического разнообразия имеет решающее значение, поскольку оно предотвращает стагнацию алгоритма в локальном оптимуме, помогая ему исследовать пространство поиска для глобального максимума.

Приложения реального мира в искусственном интеллекте

Эволюционные алгоритмы являются универсальными и успешно применяются в различных областях глубокого обучения (DL) и инженерии.

Автоматическая настройка гиперпараметров

Одно из наиболее практических применений ЭА — это настройка гиперпараметров. Современные нейронные сети требуют настройки десятков параметров, таких как скорость обучения, затухание веса и импульс, которые значительно влияют на производительность. Эволюционные алгоритмы могут автоматизировать этот утомительный процесс проб и ошибок, развивая настройки конфигурации. Например , tune() метод в Ultralytics использует генетический алгоритм для поиска оптимальных гиперпараметров обучения для YOLO26 модели на пользовательских наборах данных.

Поиск архитектуры нейронных сетей (NAS)

ЭА являются краеугольным камнем поиска нейронной архитектуры (NAS). Вместо того, чтобы инженеры вручную проектировали структуру нейронной сети (NN), эволюционный алгоритм может «вырастить» архитектуру. Он тестирует различные комбинации слоев, нейронов и соединений, развивая эффективные структуры, которые обеспечивают баланс между скоростью и точностью. Эта техника привела к созданию высокоэффективных магистралей, таких как EfficientNet, которые оптимизированы для конкретных аппаратных ограничений.

Эволюционные алгоритмы против роевого интеллекта

Хотя обе стратегии оптимизации вдохновлены природой, полезно отличать ЭО от роевого интеллекта (РИ).

  • Эволюционные алгоритмы: опираются на смену поколений. Индивидуумы (решения) живут, воспроизводятся на основе приспособленности и умирают, заменяясь своим потомством. Основными движущими силами являются генетические операторы, такие как мутация и кроссинговер.
  • Коллективный разум: имитирует социальное взаимодействие внутри группы, например, стаи птиц или косяка рыб. Алгоритмы, такие как оптимизация стаи частиц (PSO), включают в себя популяцию агентов, которые перемещаются по пространству поиска и корректируют свои позиции на основе собственного опыта и успехов своих соседей, без смены поколений.

Реализация оптимизации с помощью Ultralytics

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

from ultralytics import YOLO

# Load the standard YOLO26 model
model = YOLO("yolo26n.pt")

# Run hyperparameter tuning using a genetic algorithm approach
# The tuner evolves parameters (lr, momentum, etc.) over 30 generations
model.tune(data="coco8.yaml", epochs=10, iterations=30, plots=False)

Эта автоматизированная оптимизация позволяет разработчикам отказаться от ручного подбора параметров. Командам, расширяющим масштабы своей деятельности, управление этими экспериментами и отслеживание изменения производительности модели можно оптимизировать с помощью Ultralytics , которая визуализирует метрики обучения и упрощает развертывание модели.

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

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

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