Neural Architecture Search (NAS)
Découvre comment la recherche d’architectures neuronales (NAS) automatise la conception de modèles d’apprentissage profond. Explore ses mécanismes fondamentaux et des modèles optimisés comme Ultralytics YOLO26.
La recherche d’architectures neuronales (NAS) est une technique sophistiquée dans le domaine de l’apprentissage automatique (AutoML) qui automatise la conception des réseaux neuronaux artificiels. Traditionnellement, la conception d’architectures d’apprentissage profond (DL) hautement performantes nécessitait une expertise humaine approfondie, de l’intuition et de nombreux essais-erreurs chronophages. La NAS remplace ce processus manuel par des stratégies algorithmiques qui explorent systématiquement une vaste gamme de topologies de réseaux afin de découvrir la structure optimale pour une tâche donnée. En testant différentes combinaisons de couches et d’opérations, la NAS peut identifier des architectures qui surpassent largement les modèles conçus par des humains en matière d’exactitude, d’efficacité computationnelle ou de vitesse d’inférence.
Mécanismes fondamentaux de la NAS#
Le processus de découverte d’une architecture supérieure repose généralement sur trois dimensions fondamentales qui interagissent pour trouver le meilleur réseau neuronal (NN) :
-
Espace de recherche : il définit l’ensemble de toutes les architectures possibles que l’algorithme peut explorer. Il joue le rôle d’une bibliothèque de blocs de construction, tels que des filtres de convolution, des couches de pooling et diverses fonctions d’activation. Un espace de recherche bien défini limite la complexité afin de garantir que la recherche reste réalisable sur le plan computationnel, tout en offrant suffisamment de flexibilité pour favoriser l’innovation.
-
Stratégie de recherche : au lieu de tester toutes les possibilités (force brute), la NAS utilise des algorithmes intelligents pour parcourir efficacement l’espace de recherche. Parmi les approches courantes figurent l’apprentissage par renforcement, dans lequel un agent apprend à générer de meilleures architectures au fil du temps, et les algorithmes évolutionnaires, qui font muter et combinent les modèles les plus performants afin de produire de meilleurs candidats.
-
Stratégie d’estimation des performances : entraîner chaque réseau candidat à partir de zéro est extrêmement lent. Pour accélérer le processus, la NAS utilise des techniques d’estimation, comme l’entraînement sur un nombre réduit d’époques, l’utilisation de jeux de données proxy de résolution inférieure ou le recours au partage des poids, afin de classer rapidement le potentiel d’une architecture candidate.
Applications concrètes#
La NAS est devenue essentielle dans les secteurs où les contraintes matérielles ou les exigences de performances sont strictes, repoussant les limites de la vision par ordinateur (CV) et d’autres domaines de l’IA.
- Informatique de périphérie efficace : le déploiement de 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 réduisent la latence d’inférence tout en maintenant une précision élevée. Cette capacité est essentielle pour les applications d’IA en périphérie, comme l’analyse vidéo en temps réel sur des caméras intelligentes ou des drones autonomes.
- Imagerie médicale : dans l’analyse d’images médicales, l’exactitude est primordiale. La NAS peut adapter les réseaux pour détecter de subtiles anomalies sur des radiographies ou des IRM, en trouvant souvent de nouvelles voies d’extraction des caractéristiques que les ingénieurs humains pourraient négliger. Cela permet de créer des outils plus fiables pour identifier des problèmes tels que les tumeurs cérébrales ou les fractures avec une sensibilité accrue.
NAS et concepts associés#
Pour comprendre le rôle spécifique de la NAS, il est utile de la distinguer de techniques d’optimisation similaires :
- NAS et réglage des hyperparamètres : bien que les deux impliquent une optimisation, le réglage des hyperparamètres consiste à ajuster les paramètres de configuration, comme le taux d’apprentissage ou la taille des lots, pour une architecture fixe. À l’inverse, la NAS modifie la structure fondamentale du modèle lui-même, notamment le nombre de couches ou la manière dont les neurones sont connectés.
- NAS et apprentissage par transfert : l’apprentissage par transfert 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 le début de l’entraînement.
Utilisation de modèles issus de la NAS#
Bien qu’une recherche NAS complète nécessite d’importantes ressources de calcul GPU, les développeurs peuvent facilement utiliser des modèles créés grâce à la NAS. Par exemple, l’architecture YOLO-NAS a été découverte à l’aide de ces principes de recherche afin d’optimiser les tâches de détection d’objets.
L’exemple Python suivant montre comment charger et utiliser un modèle NAS présélectionné à l’aide du package 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])]}")Si tu souhaites entraîner des modèles de pointe sans la complexité de la NAS, Ultralytics YOLO26 offre une architecture hautement optimisée prête à l’emploi, intégrant les dernières avancées de la recherche. Tu peux facilement gérer les jeux de données, l’entraînement et le déploiement de ces modèles avec Ultralytics Platform, qui simplifie l’ensemble du cycle de vie MLOps.









