Neuronale Architektursuche (NAS)
Erfahren Sie, wie Neural Architecture Search (NAS) das Design von Deep-Learning-Modellen automatisiert. Entdecken Sie die Kernmechanismen und erkunden Sie optimierte Modelle wie Ultralytics .
Neural Architecture Search (NAS) ist eine hochentwickelte Technik im Bereich des
automatisierten maschinellen Lernens (AutoML),
die das Design künstlicher neuronaler Netze automatisiert. Traditionell erforderte die Entwicklung leistungsstarker
Deep-Learning-Architekturen (DL)
umfangreiches Fachwissen, Intuition und zeitaufwändige Versuche. NAS ersetzt diesen manuellen Prozess durch
algorithmische Strategien, die systematisch eine Vielzahl von Netzwerktopologien untersuchen, um die optimale
Struktur für eine bestimmte Aufgabe zu finden. Durch das Testen verschiedener Kombinationen von Schichten und Operationen kann NAS
Architekturen identifizieren, die in Bezug auf
Genauigkeit, Recheneffizienz oder Inferenzgeschwindigkeit deutlich besser sind als von Menschen entworfene Modelle.
Kernmechanismen von NAS
Der Prozess der Ermittlung einer überlegenen Architektur umfasst im Allgemeinen drei grundlegende Dimensionen, die zusammenwirken, um
das beste neuronale Netzwerk (NN) zu finden:
-
Suchraum: Dieser definiert die Menge aller möglichen Architekturen, die der Algorithmus untersuchen kann. Er fungiert
wie eine Bibliothek von Bausteinen, wie beispielsweise
Faltungsfiltern, Pooling-Schichten und verschiedenen
Aktivierungsfunktionen. Ein klar definierter Suchraum
schränkt die Komplexität ein, um sicherzustellen, dass die Suche rechnerisch machbar bleibt und gleichzeitig genügend Flexibilität
für Innovationen bietet.
-
Suchstrategie: Anstatt jede Möglichkeit zu testen (Brute-Force-Methode), verwendet NAS intelligente
Algorithmen, um den Suchraum effizient zu navigieren. Zu den gängigen Ansätzen gehören
das verstärkende Lernen, bei dem ein Agent
im Laufe der Zeit lernt, bessere Architekturen zu generieren, und
evolutionäre Algorithmen, die leistungsstarke Modelle mutieren und
kombinieren, um überlegene Kandidaten zu züchten.
-
Strategie zur Leistungsabschätzung: Das Training jedes Kandidaten-Netzwerks von Grund auf ist unzumutbar
langsam. Um dies zu beschleunigen, verwendet NAS Abschätzungstechniken – wie das Training mit weniger
Epochen, die Verwendung von Proxy-Datensätzen mit niedrigerer Auflösung oder den Einsatz von
Gewichtsaufteilung–, um das Potenzial einer Kandidatenarchitektur schnell zu bewerten
.
Anwendungsfälle in der Praxis
NAS hat sich in Branchen, in denen strenge Hardwarebeschränkungen oder Leistungsanforderungen gelten, als unverzichtbar erwiesen und erweitert die
Grenzen der Computervision (CV) und anderer KI-Bereiche
.
-
Effizientes Edge-Computing: Für den Einsatz von KI auf Mobilgeräten sind Modelle erforderlich, die sowohl leichtgewichtig
als auch schnell sind. NAS wird häufig verwendet, um Architekturen wie
MobileNetV3 und
EfficientNet zu entdecken, die die
Inferenzlatenz minimieren und gleichzeitig eine hohe
Genauigkeit gewährleisten. Dies ist für Edge-KI-Anwendungen von entscheidender Bedeutung, beispielsweise
für die Echtzeit-Videoanalyse auf Smart-Kameras oder autonomen Drohnen.
-
Medizinische Bildgebung: Bei der
medizinischen Bildanalyse ist Genauigkeit von
größter Bedeutung. NAS kann Netzwerke so anpassen, dass detect Anomalien in Röntgenbildern oder MRT-Scans detect und dabei oft neue Wege zur Merkmalsextraktion finden,
die menschliche Ingenieure möglicherweise übersehen würden. Dies führt zu zuverlässigeren Werkzeugen zur Identifizierung von
Erkrankungen wie Hirntumoren oder Frakturen
mit höherer Empfindlichkeit.
NAS vs. verwandte Konzepte
Um die spezifische Rolle von NAS zu verstehen, ist es hilfreich, sie von ähnlichen Optimierungstechniken zu unterscheiden:
-
NAS vs. Hyperparameter-Tuning: Während es bei beiden um Optimierung geht,
konzentriert sich das Hyperparameter-Tuning auf die Anpassung
von Konfigurationseinstellungen (wie Lernrate oder
Batchgröße) für eine feste Architektur. Im
Gegensatz dazu verändert NAS die grundlegende Struktur des Modells selbst, wie z. B. die Anzahl der Schichten oder die Art und Weise, wie Neuronen
miteinander verbunden sind.
-
NAS vs. Transfer Learning:
Transfer Learning nutzt ein vorhandenes,
vorab trainiertes Modell und passt dessen Gewichte an eine neue Aufgabe an. NAS erstellt die Modellarchitektur von Grund auf neu (oder sucht
nach einem besseren Backbone), bevor das Training beginnt.
Verwendung von NAS-abgeleiteten Modellen
Während die Durchführung einer vollständigen NAS-Suche erhebliche
GPU erfordert, können Entwickler problemlos Modelle verwenden, die
über NAS erstellt wurden. Beispielsweise wurde die
YOLO unter Verwendung dieser Suchprinzipien entdeckt,
um sie für Objekterkennungsaufgaben zu optimieren.
Das folgende Python zeigt, wie ein vorab recherchiertes NAS-Modell mit der Funktion
ultralytics Paket:
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 modernste Modelle ohne die Komplexität von NAS trainieren möchten, bietet
Ultralytics eine hochoptimierte Architektur
, die die neuesten Forschungsergebnisse berücksichtigt. Mit der Ultralytics , die
den gesamten MLOps-Lebenszyklus vereinfacht, können Sie Datensätze, Training und
Bereitstellung für diese Modelle einfach verwalten.