Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Neural Architecture Search (NAS)

La recherche d’architecture neuronale (NAS) automatise la conception des réseaux neuronaux en explorant des couches et des connexions. Méthodes, coûts de calcul et modèles créés par NAS.

La recherche d’architecture neuronale (NAS) est la branche de l’apprentissage automatique automatisé (AutoML) qui conçoit automatiquement la structure d’un réseau de neurones. Au lieu de choisir manuellement les types de couches, comme la convolution, leur profondeur, leur largeur et leurs connexions, un algorithme de recherche propose des architectures candidates, estime leurs performances sur la tâche et utilise les résultats pour en proposer de meilleures. L’objectif est généralement la précision, souvent associée à un coût comme la latence d’inférence, le nombre de paramètres ou les FLOPs sur le matériel cible. La NAS a produit plusieurs backbones largement utilisés en vision par ordinateur, notamment EfficientNet et MobileNetV3.

Fonctionnement de la NAS#

Une étude de synthèse publiée dans le Journal of Machine Learning Research classe les méthodes NAS selon trois dimensions :

  1. Espace de recherche : Ensemble des architectures pouvant être construites, par exemple les types d’opérations, les tailles de noyau et les connexions résiduelles autorisés, ainsi que la manière de les relier. De nombreuses méthodes recherchent une petite cellule répétitive et en empilent des copies, ce qui réduit l’espace et permet de transférer à un grand jeu de données une cellule trouvée sur un petit jeu de données.
  2. Stratégie de recherche : Algorithme qui choisit les candidats à tester, depuis les contrôleurs d’apprentissage par renforcement et l’évolution jusqu’aux méthodes fondées sur le gradient et à l’échantillonnage aléatoire simple.
  3. Stratégie d’estimation des performances : Méthode utilisée pour évaluer un candidat sans entraînement complet : moins d’époques d’entraînement, images ou jeux de données plus petits, prédictions de la précision finale ou partage des poids entre les candidats.

Des milliers de jours-GPU aux heures#

Les premières méthodes NAS coûtaient cher, car chaque candidat était entraîné jusqu’à convergence. Dans l’étude de Zoph et Le publiée en 2016, un contrôleur récurrent entraîné par apprentissage par renforcement générait les réseaux, et la recherche utilisait 800 GPU simultanément ; l’étude ultérieure sur NASNet a utilisé 500 GPU pendant quatre jours pour trouver une cellule sur CIFAR-10 transférable à ImageNet. AmoebaNet a obtenu des résultats similaires par évolution régularisée, au prix d’environ 3 150 jours-GPU. ENAS a réduit la recherche à moins de 16 heures sur un seul GPU en partageant les poids du modèle entre tous les candidats, considérés comme des sous-graphes d’un grand réseau ; DARTS a transformé le choix discret des opérations en poids continus, permettant d’optimiser l’architecture elle-même par descente de gradient en quelques jours-GPU. Les évaluations comparatives ont également tempéré l’enthousiasme pour le domaine : la recherche aléatoire avec arrêt anticipé a obtenu des résultats au moins aussi bons qu’ENAS sur les benchmarks Penn Treebank et CIFAR-10.

NAS adaptée au matériel et modèles conçus par NAS#

La NAS a eu son plus grand impact pratique sur les modèles efficaces destinés à l’IA en périphérie, où la précision doit être équilibrée avec la vitesse sur un appareil donné. MnasNet a intégré à l’objectif de recherche la latence mesurée sur de vrais téléphones et atteint une précision top-1 de 75.2 % sur ImageNet en 78 ms sur un téléphone Pixel, soit 1,8 fois plus vite que MobileNetV2 avec une précision supérieure de 0,5 %. EfficientNet-B0 est issu d’une recherche similaire, puis a été décliné en modèles B1 à B7 grâce à une mise à l’échelle composée ; MobileNetV3 a combiné la NAS adaptée au matériel à l’algorithme NetAdapt pour être optimisé pour les CPU mobiles. Pour la détection d’objets, les modèles YOLO-NAS de Deci, découverts avec son moteur de recherche AutoNAC et conçus pour limiter la perte de précision après la quantification INT8, s’exécutent dans le paquet Ultralytics via la classe NAS pour l’inférence, la validation et l’export, mais pas pour l’entraînement. NVIDIA a depuis racheté Deci, et l’équipe d’origine ne met plus ces modèles à jour.

Exemple minimal de NAS#

L’exemple suivant applique la stratégie de recherche la plus simple, l’échantillonnage aléatoire, à un petit espace de recherche de perceptrons multicouches sur les chiffres manuscrits de scikit-learn. Chaque candidat est entraîné pendant seulement 30 époques afin d’obtenir une estimation peu coûteuse de ses performances, puis évalué sur les données de validation :

import random
import warnings

from sklearn.datasets import load_digits
from sklearn.exceptions import ConvergenceWarning
from sklearn.model_selection import train_test_split
from sklearn.neural_network import MLPClassifier

warnings.simplefilter("ignore", ConvergenceWarning)  # short training runs are the cheap estimate
X, y = load_digits(return_X_y=True)
X_train, X_val, y_train, y_val = train_test_split(X / 16, y, random_state=0)

# Search space: 1-3 hidden layers, each 8-128 units wide. Search strategy: 12 random samples
random.seed(0)
space = [8, 16, 32, 64, 128]
candidates = {tuple(random.choices(space, k=random.randint(1, 3))) for _ in range(12)}

# Performance estimation: train each candidate for only 30 epochs, then score it on validation data
scores = {}
for layers in candidates:
    model = MLPClassifier(hidden_layer_sizes=layers, max_iter=30, random_state=0)
    scores[layers] = model.fit(X_train, y_train).score(X_val, y_val)

worst, best = min(scores, key=scores.get), max(scores, key=scores.get)
print(f"{len(scores)} architectures: worst {worst} {scores[worst]:.3f}, best {best} {scores[best]:.3f}")

Les 12 échantillons donnent 10 architectures distinctes, et leur précision de validation varie de 0.398 pour deux couches de 8 unités à 0.978 pour des couches de 128, 128 et 16 unités ; le seul choix de l’architecture fait donc varier la précision de près de 60 points. Une exécution complète de NAS réentraînerait le modèle gagnant jusqu’à convergence et présenterait son score sur un jeu de test distinct.

  • Optimisation des hyperparamètres : optimise les paramètres d’entraînement, comme le taux d’apprentissage, pour une architecture donnée. La NAS prend l’architecture elle-même comme variable, et les deux sont souvent utilisées conjointement.
  • Élagage de modèle et distillation des connaissances : réduisent un réseau existant ou en imitent le fonctionnement après l’entraînement, tandis que la NAS recherche une conception efficace avant l’entraînement.
  • Apprentissage par transfert : réutilise les poids appris d’un modèle préentraîné. La NAS détermine la structure que ces poids occupent, et les réseaux trouvés par la NAS, comme EfficientNet, sont eux-mêmes des architectures de base préentraînées très populaires.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique