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

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

Узнайте, как Neural Architecture Search (NAS) автоматизирует проектирование моделей глубокого обучения. Откройте для себя его основные механизмы и изучите оптимизированные модели, такие как Ultralytics .

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

Основные механизмы NAS

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

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

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

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

  • Эффективные вычисления на периферии: для развертывания ИИ на мобильных устройствах требуются модели, которые являются одновременно легкими и быстрыми. NAS широко используется для обнаружения архитектур, таких как MobileNetV3 и EfficientNet, которые минимизируют задержку вывода при сохранении высокой точности. Это жизненно важно для приложений ИИ на периферии, таких как аналитика видео в реальном времени на интеллектуальных камерах или автономных дронах.
  • Медицинская визуализация: в анализе медицинских изображений точность имеет первостепенное значение. NAS может адаптировать сети для detect аномалий на рентгеновских снимках или МРТ-сканах, часто находя новые пути извлечения признаков , которые инженеры-люди могут упустить из виду. Это приводит к появлению более надежных инструментов для выявления таких состояний, как опухоли головного мозга или переломы , с более высокой чувствительностью.

NAS и связанные концепции

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

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

Использование моделей, полученных с помощью NAS

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

Следующий Python демонстрирует, как загрузить и использовать предварительно найденную модель NAS с помощью ultralytics пакет:

from ultralytics import NAS

# Load a pre-trained YOLO-NAS model (architecture found via NAS)
# 'yolo_nas_s.pt' refers to the small version of the model
model = NAS("yolo_nas_s.pt")

# Run inference on an image to detect objects
# This utilizes the optimized architecture for fast detection
results = model("https://ultralytics.com/images/bus.jpg")

# Print the top detected class
print(f"Detected: {results[0].names[int(results[0].boxes.cls[0])]}")

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

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

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

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