Neural Architecture Search (NAS)
Apprends comment la recherche d'architecture neuronale (NAS) automatise la conception de modèles d'apprentissage profond. Découvre ses mécanismes fondamentaux et explore des modèles optimisés comme Ultralytics YOLO26.
La Neural Architecture Search (NAS) est une technique sophistiquée dans le domaine de l'Automated Machine Learning (AutoML) qui automatise la conception de réseaux de neurones artificiels. Traditionnellement, l'ingénierie d'architectures de deep learning (DL) haute performance nécessitait une expertise humaine étendue, de l'intuition et des essais fastidieux. La NAS remplace ce processus manuel par des stratégies algorithmiques qui explorent systématiquement une vaste gamme de topologies de réseau pour découvrir la structure optimale pour une tâche spécifique. En testant diverses combinaisons de couches et d'opérations, la NAS peut identifier des architectures qui surpassent considérablement les modèles conçus par l'homme en termes de précision, d'efficacité computationnelle ou de vitesse d'inférence.
Link to this sectionMécanismes fondamentaux de la NAS#
Le processus de découverte d'une architecture supérieure implique généralement trois dimensions fondamentales qui interagissent pour trouver le meilleur neural network (NN) :
-
Espace de recherche : Cela définit l'ensemble de toutes les architectures possibles que l'algorithme peut explorer. Il agit comme une bibliothèque de blocs de construction, tels que des filtres de convolution, des couches de pooling et diverses activation functions. Un espace de recherche bien défini contraint la complexité pour garantir que la recherche reste computationnellement faisable tout en permettant suffisamment de flexibilité pour l'innovation.
-
Stratégie de recherche : Au lieu de tester chaque possibilité (force brute), la NAS utilise des algorithmes intelligents pour naviguer efficacement dans l'espace de recherche. Les approches courantes incluent l'reinforcement learning, où un agent apprend à générer de meilleures architectures au fil du temps, et les evolutionary algorithms, qui mutent et combinent les modèles les plus performants pour produire des candidats supérieurs.
-
Stratégie d'estimation de la performance : Entraîner chaque réseau candidat à partir de zéro est incroyablement lent. Pour accélérer cela, la NAS utilise des techniques d'estimation — comme l'entraînement sur moins d'epochs, l'utilisation de jeux de données proxy à résolution réduite ou l'emploi du weight sharing — pour classer rapidement le potentiel d'une architecture candidate.
Link to this sectionApplications concrètes#
La NAS est devenue critique dans les industries où les contraintes matérielles ou les exigences de performance sont strictes, repoussant les limites de la computer vision (CV) et d'autres domaines de l'IA.
- Edge Computing efficace : Déployer l'IA sur des appareils mobiles nécessite des modèles à la fois légers et rapides. La NAS est largement utilisée pour découvrir des architectures comme MobileNetV3 et EfficientNet qui minimisent l'inference latency tout en maintenant une précision élevée. C'est vital pour les applications d'edge AI, comme l'analyse vidéo en temps réel sur des caméras intelligentes ou des drones autonomes.
- Imagerie médicale : Dans l'medical image analysis, la précision est primordiale. La NAS peut adapter les réseaux pour détecter des anomalies subtiles dans les radiographies ou les IRM, trouvant souvent de nouvelles voies d'extraction de caractéristiques que les ingénieurs humains pourraient négliger. Cela mène à des outils plus fiables pour identifier des conditions comme les brain tumors ou les fractures avec une sensibilité accrue.
Link to this sectionNAS vs concepts apparentés#
Pour comprendre le rôle spécifique de la NAS, il est utile de la distinguer de techniques d'optimisation similaires :
- NAS vs réglage des hyperparamètres : Bien que les deux impliquent une optimisation, le hyperparameter tuning se concentre sur l'ajustement des paramètres de configuration (comme le learning rate ou la batch size) pour une architecture fixe. En revanche, la NAS modifie la structure fondamentale du modèle lui-même, telle que le nombre de couches ou la façon dont les neurones sont connectés.
- NAS vs Transfer Learning : Le transfer learning prend un modèle existant pré-entraîné et adapte ses poids à une nouvelle tâche. La NAS crée l'architecture du modèle à partir de zéro (ou recherche un meilleur backbone) avant que l'entraînement ne commence.
Link to this sectionUtilisation des modèles dérivés de la NAS#
Bien que lancer une recherche NAS complète nécessite des GPU computing resources importantes, tu peux facilement utiliser des modèles créés via la NAS. Par exemple, l'architecture YOLO-NAS a été découverte en utilisant ces principes de recherche pour optimiser les tâches d'object detection.
L'exemple Python suivant démontre comment charger et utiliser un modèle NAS pré-recherché en utilisant le paquet 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])]}")Pour ceux qui cherchent à entraîner des modèles de pointe sans la complexité de la NAS, l'Ultralytics YOLO26 offre une architecture hautement optimisée prête à l'emploi, intégrant les dernières avancées en recherche. Tu peux facilement gérer les jeux de données, l'entraînement et le déploiement de ces modèles en utilisant l'Ultralytics Platform, qui simplifie l'ensemble du cycle de vie MLOps.






