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

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

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

Поиск нейронной архитектуры (NAS) - это сложная техника в области Автоматизированного машинного обучения (AutoML) которая автоматизирует проектирование искусственных нейронных сетей. Традиционно, проектирование высокопроизводительных архитектур требовало глубоких знаний и обширных проб и ошибок вручную. NAS революционизирует этот процесс, используя алгоритмы для систематического изучения огромного количества возможных сетевых топологий, в поисках оптимальной структуры, которая максимизирует показатели производительности, такие как точность или эффективность. Такая автоматизация не только ускоряет разработку моделей глубокого обучения, но и демократизирует доступ к современному ИИ, уменьшая зависимость от человеческой интуиции при проектировании сетей.

Основные компоненты NAS

Процесс NAS, как правило, состоит из трех фундаментальных строительных блоков, которые работают вместе, чтобы найти наилучшую архитектуры модели:

  1. Пространство поиска: Определяет множество всех возможных архитектур, которые может исследовать алгоритм. Оно определяет основные строительные блоки, такие как типы слоев (например, свертка, объединение), функции активации и способы их соединения. как они могут быть соединены. Хорошо спроектированное пространство поиска имеет решающее значение, поскольку оно ограничивает сложность и обеспечивает реализуемость получаемых моделей.
  2. Стратегия поиска: Это метод, используемый для навигации по пространству поиска. Вместо грубой силы подхода, NAS использует интеллектуальные стратегии, такие как обучение с подкреплением, эволюционные алгоритмы или градиентные методы (например, DARTS). Эти стратегии направляют поиск более перспективных архитектур на основе обратной связи с предыдущими итерациями.
  3. Стратегия оценки производительности: Оценка каждой архитектуры-кандидата путем ее обучения с требует больших вычислительных затрат. Чтобы ускорить этот процесс, NAS использует такие стратегии оценки, как распределение веса, обучение на подмножестве данных или обучение в течение меньшего количества эпох. Это Это позволяет алгоритму быстро ранжировать кандидатов и сосредоточить ресурсы на наиболее перспективных конструкциях.

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

NAS сыграл важную роль в создании одних из самых эффективных и мощных моделей в современном искусственном интеллекте.

  • Компьютерное зрение: В таких задачах, как обнаружение объектов и классификация изображений, NAS создала архитектуры, превосходящие разработанные человеком аналоги. Сайт семейство EfficientNet является ярким примером, когда с помощью NAS была найдена базовая сеть, которая затем была увеличена для достижения современной точности при значительно меньшем количестве параметров. Аналогично, такие модели, как YOLO, используют эти принципы для оптимизации как скорости, так и точности. скорости и точности.
  • Edge AI и мобильное развертывание: NAS широко используется для разработки легких моделей, предназначенных для пограничных вычислений. Благодаря учету аппаратных ограничения на аппаратное обеспечение (например, задержки и энергопотребление потребление энергии) непосредственно в цель поиска, NAS может обнаружить архитектуры, которые эффективно работают на мобильных устройствах без ущерба для производительности. Это очень важно для приложений в автономных транспортных средств и IoT.

NAS против настройки гиперпараметров

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

  • Поиск нейронной архитектуры (NAS) сосредоточен на поиске оптимальной структуры самой нейронной сети - определении количества слоев, типа операций и связей между нейронами.
  • Настройка гиперпараметров направлена на оптимизацию параметров конфигурации для фиксированной архитектуры, таких как скорость обучения, размер партии или тип оптимизатора.

В то время как NAS создает структуру "мозга", настройка гиперпараметров учит этот мозг, как учиться наиболее эффективно эффективно. Для достижения наилучших результатов оба метода часто используются в тандеме в рамках конвейера AutoML.

Использование моделей, разработанных НАН

Хотя запуск полного процесса NAS может потребовать значительных ресурсов, разработчики могут легко использовать предварительно обученные модели, которые которые были обнаружены с помощью NAS. Библиотека Ultralytics поддерживает загрузку и запуск этих оптимизированных архитектур, таких как YOLO, что позволяет пользователям извлекать пользу из исследований NAS, не нуждаясь в вычислительных ресурсах для выполнения поиска.

В следующем примере показано, как загрузить модель, полученную из NAS, с помощью Python:

from ultralytics import NAS

# Load a pre-trained YOLO-NAS model discovered via architecture search
model = NAS("yolo_nas_s.pt")

# Display the model's architecture information
model.info()

# Validate the model's performance on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

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

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

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