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 sophistiquée dans le domaine de l'apprentissage automatique des machines (AutoML). l'apprentissage automatique des machines (AutoML) qui automatise la conception de réseaux réseaux neuronaux artificiels. Traditionnellement, la conception d'architectures performantes la conception d'architectures performantes nécessitait une expertise approfondie du domaine et de nombreux essais et erreurs manuels. NAS révolutionne ce processus en utilisant des algorithmes pour explorer systématiquement un grand nombre de topologies de réseaux possibles. topologies de réseau possibles, à la recherche de la structure optimale qui maximise les performances la précision ou l'efficacité. Cette automatisation non seulement accélère le développement de modèles d'apprentissage modèles d'apprentissage profond, mais démocratise aussi l'accès à l'IA de pointe en réduisant la dépendance à l'égard de l'intuition humaine pour la conception des réseaux.

Composantes essentielles des SNA

Le processus NAS est généralement composé de trois éléments fondamentaux qui fonctionnent ensemble pour découvrir la meilleure architecture de modèle. architecture du modèle :

  1. Espace de recherche: Il définit l'ensemble des architectures possibles que l'algorithme peut explorer. Il spécifie les éléments de base, tels que les types de couches (par ex, convolution, mise en commun), les fonctions d'activation et la manière dont elles peuvent être connectées. d'activation et la manière dont elles peuvent être connectées. Un espace de recherche bien conçu est crucial car il limite la complexité et garantit la faisabilité des modèles qui en résultent. la faisabilité des modèles résultants.
  2. Stratégie de recherche: Il s'agit de la méthode utilisée pour naviguer dans l'espace de recherche. Au lieu d'une approche les SNA utilisent des stratégies intelligentes telles que l'apprentissage par renforcement, des algorithmes évolutionnaires ou méthodes basées sur le gradient (telles que DARTS). Ces stratégies guident la recherche Ces stratégies guident la recherche vers des architectures plus prometteuses en se basant sur le retour d'information des itérations précédentes.
  3. Stratégie d'estimation des performances: L'évaluation de chaque architecture candidate en la formant à partir de zéro est à partir de zéro est coûteux en termes de calcul. Pour accélérer ce processus, NAS utilise des stratégies d'estimation telles que le partage des poids, l'entraînement sur un sous-ensemble de données ou l'entraînement pendant moins d'époques. sur un sous-ensemble de données, ou l'entraînement sur un nombre réduit d'époques. Cela permet à l'algorithme de classer rapidement les candidats. Cela permet à l'algorithme de classer rapidement les candidats et de concentrer les ressources sur les conceptions les plus prometteuses.

Applications concrètes

Les NAS ont contribué à la création de certains des modèles les plus efficaces et les plus puissants de l'IA moderne.

  • Vision par ordinateur: Dans des tâches telles que détection d'objets et la la détection d'objets et la classification d'images, la SNA a généré des architectures des architectures plus performantes que celles conçues par l'homme. La famille famille EfficientNet est un excellent exemple, où NAS a été utilisé pour trouver un réseau de base qui a ensuite été mis à l'échelle pour atteindre une précision de pointe avec beaucoup moins de paramètres. pour atteindre une précision de pointe avec beaucoup moins de paramètres. De même, des modèles comme YOLO utilisent ces principes pour optimiser à la fois la vitesse et la précision. vitesse et la précision.
  • Edge AI et déploiement mobile: NAS est largement utilisé pour concevoir des modèles légers adaptés à l'edge computing. l 'informatique de pointe. En intégrant les contraintes contraintes matérielles (comme la latence et la consommation d'énergie) directement dans l'objectif de recherche, NAS peut découvrir des architectures qui s'exécutent efficacement sur des appareils mobiles sans sacrifier trop de performances. mobiles sans sacrifier trop de performances. Ceci est essentiel pour les applications dans les véhicules autonomes et l'IdO.

NAS et réglage des hyperparamètres

Il est important de distinguer la recherche d'architecture neuronale de l'ajustement des hyperparamètres. l'ajustement des hyperparamètres, car les deux impliquent une l'optimisation mais ciblent des aspects différents d'un modèle.

  • La recherche d'architecture neuronale (NAS) se concentre sur la recherche de la structure optimale du réseau neuronal lui-même. réseau neuronal lui-même, en déterminant le nombre de couches, le type d'opérations et les connexions entre les neurones.
  • L'optimisation des hyperparamètres se concentre sur l'optimisation des paramètres de configuration pour une architecture fixe, tels que le taux d'apprentissage. comme le taux d'apprentissage, la taille du lot ou le type d'optimiseur, d'apprentissage, la taille du lot ou le type d'optimiseur.

Tandis que les SNA construisent la structure du "cerveau", le réglage des hyperparamètres apprend à ce cerveau comment apprendre le plus efficacement possible. le plus efficacement possible. Les deux sont souvent utilisés en tandem dans un pipeline AutoML pour obtenir les meilleurs résultats possibles.

Utilisation des modèles dérivés des NAS

Bien que l'exécution d'un processus NAS complet puisse être gourmande en ressources, les développeurs peuvent facilement exploiter les modèles pré-entraînés qui ont été découverts à l'aide de NAS. qui ont été découverts à l'aide de NAS. La bibliothèque Ultralytics prend en charge le chargement et l'exécution de ces architectures optimisées, telles que YOLO, ce qui permet aux utilisateurs de bénéficier de la recherche NAS sans avoir besoin des ressources informatiques pour effectuer la recherche eux-mêmes. recherche elles-mêmes.

L'exemple suivant montre comment charger un modèle dérivé de NAS à l'aide de Python:

from ultralytics import NAS

# Load a pre-trained YOLO-NAS model discovered via architecture search
model = NAS("yolo_nas_s.pt")

# Display the model's architecture information
model.info()

# Validate the model's performance on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant