Recherche d'architecture neuronale (NAS)
Découvrez comment la recherche d'architecture neuronale (NAS) automatise la conception de modèles d'apprentissage profond. Découvrez ses mécanismes fondamentaux et explorez des modèles optimisés tels que Ultralytics .
La recherche d'architecture neuronale (NAS) est une technique sophistiquée dans le domaine de l'
apprentissage automatique (AutoML)
qui automatise la conception de réseaux neuronaux artificiels. Traditionnellement, la conception d'architectures d'apprentissage profond (DL) hautes performances
nécessitait
une expertise humaine approfondie, de l'intuition et de nombreux essais et erreurs chronophages. La NAS remplace ce processus manuel par des
stratégies algorithmiques qui explorent systématiquement un large éventail de topologies de réseaux afin de 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.
Mécanismes fondamentaux du NAS
Le processus de découverte d'une architecture supérieure implique généralement 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 agit
comme une bibliothèque de blocs de construction, tels que des
filtres de convolution, des couches de regroupement 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 informatique tout en laissant suffisamment de flexibilité
pour l'innovation.
-
Stratégie de recherche: au lieu de tester toutes les possibilités (force brute), le NAS utilise des algorithmes intelligents
pour naviguer efficacement dans l'espace de recherche. Les approches courantes comprennent l'
apprentissage par renforcement, où un agent
apprend à générer de meilleures architectures au fil du temps, et les
algorithmes évolutionnaires, qui mutent et
combinent les modèles les plus performants pour produire des candidats supérieurs.
-
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, l'utilisation d'ensembles de données proxy à plus faible résolution ou le recours au
partage de poids, afin de classer rapidement le potentiel d'une architecture candidate
.
Applications concrètes
Le NAS est devenu essentiel dans les secteurs où les contraintes matérielles ou les exigences de performance sont strictes, repoussant les
limites de la vision par ordinateur (CV) et d'autres domaines de l'IA
.
-
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 et
EfficientNet 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 autonomes.
-
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, en 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
avec une plus grande sensibilité.
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. Vous pouvez facilement gérer les ensembles de données, la formation et le
déploiement de ces modèles à l'aide de la Ultralytics , qui
simplifie l'ensemble du cycle de vie MLOps.