Neuronale Architektursuche (NAS)
Learn how Neural Architecture Search (NAS) automates the design of high-performance neural networks. Explore search strategies and optimized models like YOLO26.
Neural Architecture Search (NAS) is a sophisticated technique within the realm of
Automated Machine Learning (AutoML)
that automates the design of artificial neural networks. Traditionally, engineering high-performance
deep learning (DL) architectures required
extensive human expertise, intuition, and time-consuming trial-and-error. NAS replaces this manual process with
algorithmic strategies that systematically explore a vast range of network topologies to discover the optimal
structure for a specific task. By testing various combinations of layers and operations, NAS can identify
architectures that significantly outperform human-designed models in terms of
accuracy, computational efficiency, or inference speed.
Core Mechanisms of NAS
The process of discovering a superior architecture generally involves three fundamental dimensions that interact to
find the best neural network (NN):
-
Search Space: This defines the set of all possible architectures the algorithm can explore. It acts
like a library of building blocks, such as
convolution filters, pooling layers, and various
activation functions. A well-defined search
space constrains complexity to ensure the search remains computationally feasible while allowing enough flexibility
for innovation.
-
Search Strategy: Instead of testing every possibility (brute force), NAS employs intelligent
algorithms to navigate the search space efficiently. Common approaches include
reinforcement learning, where an agent
learns to generate better architectures over time, and
evolutionary algorithms, which mutate and
combine top-performing models to breed superior candidates.
-
Performance Estimation Strategy: Training every candidate network from scratch is prohibitively
slow. To accelerate this, NAS uses estimation techniques—such as training on fewer
epochs, using lower-resolution proxy datasets, or employing
weight sharing—to quickly rank the potential of a candidate
architecture.
Anwendungsfälle in der Praxis
NAS has become critical in industries where hardware constraints or performance requirements are strict, pushing the
boundaries of computer vision (CV) and other AI
domains.
-
Efficient Edge Computing: Deploying AI on mobile devices requires models that are both lightweight
and fast. NAS is extensively used to discover architectures like
MobileNetV3 and
EfficientNet that minimize
inference latency while maintaining high
precision. This is vital for edge AI applications, such
as real-time video analytics on smart cameras or autonomous drones.
-
Medical Imaging: In
medical image analysis, accuracy is
paramount. NAS can tailor networks to detect subtle anomalies in X-rays or MRI scans, often finding novel feature
extraction pathways that human engineers might overlook. This leads to more reliable tools for identifying
conditions like brain tumors or fractures
with higher sensitivity.
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])]}")
For those looking to train state-of-the-art models without the complexity of NAS, the
Ultralytics YOLO26 offers a highly optimized architecture
out of the box, incorporating the latest advancements in research. You can easily manage datasets, training, and
deployment for these models using the Ultralytics Platform, which
simplifies the entire MLOps lifecycle.