Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Recherche d'architecture neuronale (NAS)

Découvrez comment la recherche d'architecture neuronale (NAS) automatise la conception de réseaux neuronaux pour des performances optimisées dans la détection d'objets, l'IA, et plus encore.

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.

Applications concrètes

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 vs concepts connexes

Pour comprendre le rôle spécifique du NAS, il est utile de le distinguer d'autres techniques d'optimisation similaires :

  • NAS vs. réglage des hyperparamètres: bien que les deux impliquent une optimisation, le réglage des hyperparamètres se concentre sur l'ajustement des paramètres de configuration (tels que le taux d'apprentissage ou la taille des lots) pour une architecture fixe. En revanche, le NAS modifie la structure fondamentale du modèle lui-même, comme le nombre de couches ou la manière dont les neurones sont connectés.
  • NAS vs apprentissage par transfert: L'apprentissage par transfert utilise un modèle existant pré-entraîné et adapte ses poids à une nouvelle tâche. Le NAS crée l'architecture du modèle à partir de zéro (ou recherche une meilleure structure de base) avant le début de l'entraînement.

Utilisation de modèles dérivés du NAS

Bien que l'exécution d'une recherche NAS complète nécessite d'importantes ressourcesGPU , les développeurs peuvent facilement utiliser des modèles qui ont été créés via NAS. Par exemple, l' architecture YOLO a été découverte en utilisant ces principes de recherche afin d'optimiser les tâches de détection d'objets.

Python suivant montre comment charger et utiliser un modèle NAS pré-recherché à l'aide de la fonction ultralytics l'emballage :

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.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant