Neural Architecture Search (NAS)
Lerne, wie Neural Architecture Search (NAS) das Design von Deep-Learning-Modellen automatisiert. Entdecke die Kernmechanismen und erkunde optimierte Modelle wie Ultralytics YOLO26.
Neural Architecture Search (NAS) ist eine hochentwickelte Technik innerhalb des Bereichs Automated Machine Learning (AutoML), die den Entwurf künstlicher neuronaler Netze automatisiert. Traditionell erforderte die Entwicklung leistungsstarker Deep Learning (DL)-Architekturen umfassendes menschliches Fachwissen, Intuition und zeitaufwendiges Ausprobieren. NAS ersetzt diesen manuellen Prozess durch algorithmische Strategien, die systematisch eine Vielzahl von Netzwerktopologien erkunden, um die optimale Struktur für eine spezifische Aufgabe zu finden. Durch das Testen verschiedener Kombinationen von Schichten und Operationen kann NAS Architekturen identifizieren, die von Menschen entworfene Modelle hinsichtlich Genauigkeit, Recheneffizienz oder Inferenzgeschwindigkeit deutlich übertreffen.
Link to this sectionKernmechanismen von NAS#
Der Prozess zur Entdeckung einer überlegenen Architektur umfasst im Allgemeinen drei grundlegende Dimensionen, die interagieren, um das beste neuronale Netz (NN) zu finden:
-
Suchraum: Dies definiert die Menge aller möglichen Architekturen, die der Algorithmus erkunden kann. Er fungiert wie eine Bibliothek von Bausteinen, wie zum Beispiel Faltung-Filter, Pooling-Schichten und verschiedene Aktivierungsfunktionen. Ein gut definierter Suchraum schränkt die Komplexität ein, um sicherzustellen, dass die Suche rechnerisch machbar bleibt, während gleichzeitig genügend Flexibilität für Innovationen gewährt wird.
-
Suchstrategie: Anstatt jede Möglichkeit zu testen (Brute-Force), verwendet NAS intelligente Algorithmen, um effizient durch den Suchraum zu navigieren. Gängige Ansätze umfassen Reinforcement Learning, bei dem ein Agent lernt, im Laufe der Zeit bessere Architekturen zu generieren, und evolutionäre Algorithmen, die leistungsstarke Modelle mutieren und kombinieren, um überlegene Kandidaten zu züchten.
-
Leistungsschätzungsstrategie: Das Training jedes Kandidaten-Netzwerks von Grund auf ist unerschwinglich langsam. Um dies zu beschleunigen, verwendet NAS Schätztechniken – wie das Training mit weniger Epochen, die Verwendung von Proxy-Datensätzen mit geringerer Auflösung oder die Anwendung von Weight Sharing – um das Potenzial einer Kandidaten-Architektur schnell zu bewerten.
Link to this sectionPraxisanwendungen#
NAS ist in Branchen, in denen Hardwarebeschränkungen oder Leistungsanforderungen streng sind, entscheidend geworden und erweitert die Grenzen von Computer Vision (CV) und anderen KI-Bereichen.
- Effizientes Edge Computing: Die Bereitstellung von KI auf Mobilgeräten erfordert Modelle, die sowohl leicht als auch schnell sind. NAS wird ausgiebig genutzt, um Architekturen wie MobileNetV3 und EfficientNet zu entdecken, die die Inferenzlatenz minimieren und gleichzeitig eine hohe Präzision beibehalten. Dies ist für Edge AI-Anwendungen, wie z. B. Echtzeit-Videoanalysen auf intelligenten Kameras oder autonomen Drohnen, unerlässlich.
- Medizinische Bildgebung: In der medizinischen Bildanalyse steht Genauigkeit an erster Stelle. NAS kann Netzwerke darauf zuschneiden, subtile Anomalien in Röntgen- oder MRT-Scans zu erkennen, wobei oft neuartige Pfade zur Merkmalsextraktion gefunden werden, die menschliche Ingenieure möglicherweise übersehen. Dies führt zu zuverlässigeren Tools für die Identifizierung von Erkrankungen wie Gehirntumoren oder Frakturen mit höherer Sensitivität.
Link to this sectionNAS vs. verwandte Konzepte#
Um die spezifische Rolle von NAS zu verstehen, ist es hilfreich, es von ähnlichen Optimierungstechniken zu unterscheiden:
- NAS vs. Hyperparameter-Tuning: Während beide eine Optimierung beinhalten, konzentriert sich Hyperparameter-Tuning auf die Anpassung der Konfigurationseinstellungen (wie Lernrate oder Batch-Größe) für eine feste Architektur. Im Gegensatz dazu ändert NAS die grundlegende Struktur des Modells selbst, wie etwa die Anzahl der Schichten oder die Art und Weise, wie Neuronen verbunden sind.
- NAS vs. Transfer Learning: Transfer Learning nimmt ein bestehendes, vortrainiertes Modell und passt dessen Gewichte an eine neue Aufgabe an. NAS erstellt die Modellarchitektur von Grund auf (oder sucht nach einem besseren Backbone), bevor das Training beginnt.
Link to this sectionNutzung von NAS-abgeleiteten Modellen#
Während die Durchführung einer vollständigen NAS-Suche erhebliche GPU-Rechenressourcen erfordert, können Entwickler problemlos Modelle verwenden, die mittels NAS erstellt wurden. Zum Beispiel wurde die YOLO-NAS-Architektur mithilfe dieser Suchprinzipien entdeckt, um Aufgaben der Objekterkennung zu optimieren.
Das folgende Python-Beispiel zeigt, wie man ein vorab gesuchtes NAS-Modell mithilfe des ultralytics-Pakets lädt und verwendet:
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])]}")Für diejenigen, die hochmoderne Modelle ohne die Komplexität von NAS trainieren möchten, bietet die Ultralytics YOLO26 sofort einsatzbereit eine hochoptimierte Architektur, die die neuesten Fortschritte in der Forschung einbezieht. Du kannst Datensätze, Training und Bereitstellung für diese Modelle einfach über die Ultralytics Platform verwalten, die den gesamten MLOps-Lebenszyklus vereinfacht.






