Neuronale Architektursuche (NAS)
Entdecken Sie, wie Neural Architecture Search (NAS) das Design neuronaler Netze automatisiert, um die Leistung bei Objekterkennung, KI und mehr zu optimieren.
Die neuronale Architektursuche (NAS) ist eine hochentwickelte Technik auf dem Gebiet des
Automatisiertes Maschinelles Lernen (AutoML)
die den Entwurf von künstlichen
künstlicher neuronaler Netze automatisiert. Traditionell
erforderte der Entwurf leistungsstarker Architekturen bisher tiefgreifende Fachkenntnisse und umfangreiche manuelle Versuche und Fehler. NAS
revolutioniert diesen Prozess durch den Einsatz von Algorithmen, die systematisch eine große Anzahl möglicher Netzwerktopologien
Netzwerktopologien systematisch untersucht und nach der optimalen Struktur sucht, die Leistungskennzahlen wie
Genauigkeit oder Effizienz. Diese Automatisierung beschleunigt nicht nur
beschleunigt nicht nur die Entwicklung von
Deep-Learning-Modellen, sondern demokratisiert auch den Zugang
Zugang zu hochmoderner KI, indem die Abhängigkeit von menschlicher Intuition beim Netzwerkdesign verringert wird.
Kernkomponenten von NAS
Der NAS-Prozess besteht im Allgemeinen aus drei grundlegenden Bausteinen, die zusammenarbeiten, um die beste
Modellarchitektur:
-
Suchraum: Dieser definiert die Menge aller möglichen Architekturen, die der Algorithmus untersuchen kann. Er
spezifiziert die grundlegenden Bausteine, wie z. B. die Arten von Schichten (z. B.,
Faltung, Pooling), Aktivierungsfunktionen, und wie
sie verbunden werden können. Ein gut konzipierter Suchraum ist entscheidend, da er die Komplexität begrenzt und die
Machbarkeit der resultierenden Modelle gewährleistet.
-
Suchstrategie: Dies ist die Methode, die verwendet wird, um im Suchraum zu navigieren. Anstelle eines Brute-Force
Ansatzes setzt NAS intelligente Strategien ein wie
Verstärkungslernen,
evolutionäre Algorithmen oder
gradientenbasierte Methoden (wie DARTS). Diese Strategien leiten die
Suche nach vielversprechenderen Architekturen auf der Grundlage von Rückmeldungen aus früheren Iterationen.
-
Strategie zur Leistungsabschätzung: Es ist rechenintensiv, jeden Architekturkandidaten von Grund auf zu
von Grund auf zu trainieren, ist rechenintensiv. Um dies zu beschleunigen, verwendet NAS Schätzungsstrategien wie Gewichtsteilung, Training
Training auf einer Teilmenge der Daten oder Training für weniger Epochen. Diese
kann der Algorithmus die Kandidaten schnell einstufen und die Ressourcen auf die vielversprechendsten Designs konzentrieren.
Anwendungsfälle in der Praxis
NAS war maßgeblich an der Entwicklung einiger der effizientesten und leistungsfähigsten Modelle der modernen KI beteiligt.
-
Computer Vision: Bei Aufgaben wie
Objekterkennung und
Bildklassifizierung hat NAS Architekturen entwickelt
Architekturen entwickelt, die besser sind als die von Menschen entworfenen Gegenstücke. Die
EfficientNet-Familie
ist ein Paradebeispiel, bei dem NAS verwendet wurde, um ein Basisnetz zu finden, das dann so skaliert wurde, dass es
Genauigkeit mit deutlich weniger Parametern zu erreichen. In ähnlicher Weise nutzen Modelle wie
YOLO nutzen diese Prinzipien zur Optimierung von
Geschwindigkeit und Präzision zu optimieren.
-
Edge AI und mobiler Einsatz: NAS wird häufig verwendet, um leichtgewichtige Modelle zu entwerfen, die für
Edge-Computing zugeschnitten sind. Durch die Einbeziehung von Hardware
Hardware-Beschränkungen (wie Latenz und Strom
(wie Latenz und Stromverbrauch) direkt in das Suchziel einbezieht, kann NAS Architekturen finden, die effizient auf mobilen
ohne zu große Leistungseinbußen. Dies ist entscheidend für Anwendungen in
autonome Fahrzeuge und IoT.
NAS vs. Hyperparameter-Abstimmung
Es ist wichtig, die neuronale Architektursuche von der
Hyperparameter-Abstimmung zu unterscheiden, da beide eine
Optimierung, zielen aber auf unterschiedliche Aspekte eines Modells ab.
-
Die neuronale Architektursuche (NAS) konzentriert sich auf die Suche nach der optimalen Struktur des
des neuronalen Netzes selbst, d. h. die Bestimmung der Anzahl der Schichten, der Art der Operationen und der Verbindungen zwischen den Neuronen.
-
Hyperparameter-Tuning konzentriert sich auf die Optimierung der Konfigurationseinstellungen für eine feste
Architektur, wie zum Beispiel die Lernrate,
Stapelgröße oder Optimierungsart.
Während NAS die Struktur des "Gehirns" aufbaut, bringt die Abstimmung der Hyperparameter diesem Gehirn bei, wie es am effektivsten lernt.
effektiv zu lernen. Beide werden in einer AutoML-Pipeline oft gemeinsam verwendet, um die bestmöglichen Ergebnisse zu erzielen.
Verwendung von NAS-geprüften Modellen
Während die Ausführung eines vollständigen NAS-Prozesses ressourcenintensiv sein kann, können die Entwickler vortrainierte Modelle, die
die mit NAS entdeckt wurden. Die Ultralytics unterstützt das Laden und Ausführen dieser optimierten Architekturen, wie z. B.
YOLO, so dass die Benutzer von der NAS-Forschung profitieren können, ohne die Rechenressourcen für die Durchführung der
Suche selbst durchzuführen.
Das folgende Beispiel zeigt, wie ein von NAS abgeleitetes Modell mit Python geladen werden kann:
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")