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.

La recherche d'architecture neuronale (NAS) est une technique révolutionnaire dans le domaine de l' apprentissage automatique automatisé (AutoML) qui automatise la conception de réseaux neuronaux artificiels. Traditionnellement, la conception d'architectures d'apprentissage profond hautement performantes nécessitait une grande expertise humaine, de l'intuition et de nombreux essais et erreurs. La NAS remplace ce processus manuel par des stratégies de recherche algorithmiques qui explorent un large éventail de topologies de réseaux possibles afin de découvrir la structure optimale pour une tâche spécifique. En testant systématiquement des combinaisons de couches et d'opérations, la NAS peut identifier des architectures qui surpassent les modèles conçus par l'homme en termes de précision, d'efficacité ou de vitesse.

Composantes essentielles des SNA

Le processus de découverte d'une nouvelle architecture implique généralement trois dimensions fondamentales qui interagissent pour trouver le meilleur réseau neuronal (NN):

  1. Espace de recherche: il 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 regroupement et des fonctions d'activation. Un espace de recherche bien défini limite la complexité afin de garantir que la recherche est réalisable sur le plan informatique.
  2. Stratégie de recherche: au lieu de tester toutes les possibilités (force brute), le NAS utilise des algorithmes intelligents pour naviguer dans l'espace de recherche. Les approches courantes comprennent l' apprentissage par renforcement et les algorithmes évolutionnaires, qui apprennent à partir des itérations passées pour proposer de meilleurs candidats.
  3. Stratégie d'estimation des performances: former chaque réseau candidat à partir de zéro est extrêmement lent. Pour accélérer ce processus, le NAS utilise des techniques d'estimation, telles que la formation sur un nombre réduit d' époches ou l'utilisation d'ensembles de données proxy, afin de classer rapidement le potentiel d'une architecture candidate.

Applications concrètes

Le NAS est devenu indispensable dans les secteurs où les contraintes matérielles ou les exigences de performance sont strictes.

  • Edge Computing efficace: le déploiement de l'IA sur les appareils mobiles nécessite des modèles à la fois légers et rapides. Le NAS est largement utilisé pour découvrir des architectures telles que MobileNetV3 qui minimisent la latence d'inférence tout en conservant une grande précision. Cela est essentiel pour les applications d'IA en périphérie, telles que l'analyse vidéo en temps réel sur des caméras intelligentes ou des drones.
  • Imagerie médicale: dans le domaine de l'analyse d'images médicales, la précision est primordiale. Le NAS peut adapter les réseaux afin de detect des anomalies detect 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 permet d'obtenir des outils plus fiables pour identifier des pathologies telles que les tumeurs cérébrales ou les fractures.

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

Pour ceux qui souhaitent former des modèles de pointe sans la complexité du NAS, l' Ultralytics offre une architecture hautement optimisée prête à l'emploi, intégrant les dernières avancées en matière de recherche en vision par ordinateur (CV).

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant