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

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

Learn how Neural Architecture Search (NAS) automates the design of high-performance neural networks. Explore search strategies and optimized models like YOLO26.

Neural Architecture Search (NAS) is a sophisticated technique within the realm of Automated Machine Learning (AutoML) that automates the design of artificial neural networks. Traditionally, engineering high-performance deep learning (DL) architectures required extensive human expertise, intuition, and time-consuming trial-and-error. NAS replaces this manual process with algorithmic strategies that systematically explore a vast range of network topologies to discover the optimal structure for a specific task. By testing various combinations of layers and operations, NAS can identify architectures that significantly outperform human-designed models in terms of accuracy, computational efficiency, or inference speed.

Core Mechanisms of NAS

The process of discovering a superior architecture generally involves three fundamental dimensions that interact to find the best neural network (NN):

  1. Search Space: This defines the set of all possible architectures the algorithm can explore. It acts like a library of building blocks, such as convolution filters, pooling layers, and various activation functions. A well-defined search space constrains complexity to ensure the search remains computationally feasible while allowing enough flexibility for innovation.
  2. Search Strategy: Instead of testing every possibility (brute force), NAS employs intelligent algorithms to navigate the search space efficiently. Common approaches include reinforcement learning, where an agent learns to generate better architectures over time, and evolutionary algorithms, which mutate and combine top-performing models to breed superior candidates.
  3. Performance Estimation Strategy: Training every candidate network from scratch is prohibitively slow. To accelerate this, NAS uses estimation techniques—such as training on fewer epochs, using lower-resolution proxy datasets, or employing weight sharing—to quickly rank the potential of a candidate architecture.

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

NAS has become critical in industries where hardware constraints or performance requirements are strict, pushing the boundaries of computer vision (CV) and other AI domains.

  • Efficient Edge Computing: Deploying AI on mobile devices requires models that are both lightweight and fast. NAS is extensively used to discover architectures like MobileNetV3 and EfficientNet that minimize inference latency while maintaining high precision. This is vital for edge AI applications, such as real-time video analytics on smart cameras or autonomous drones.
  • Medical Imaging: In medical image analysis, accuracy is paramount. NAS can tailor networks to detect subtle anomalies in X-rays or MRI scans, often finding novel feature extraction pathways that human engineers might overlook. This leads to more reliable tools for identifying conditions like brain tumors or fractures with higher sensitivity.

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])]}")

For those looking to train state-of-the-art models without the complexity of NAS, the Ultralytics YOLO26 offers a highly optimized architecture out of the box, incorporating the latest advancements in research. You can easily manage datasets, training, and deployment for these models using the Ultralytics Platform, which simplifies the entire MLOps lifecycle.

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

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

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