Graph Neural Network (GNN)
Entdecke Graph-Neuronale Netze (GNNs) zur Verarbeitung nicht-euklidischer Daten. Erfahre, wie GNNs gemeinsam mit Ultralytics YOLO26 das relationale Schlussfolgern für fortschrittliche Bildverarbeitung mit KI verbessern.
Ein Graph-Neuronales Netzwerk (GNN) ist eine spezielle Klasse von Deep-Learning-Architekturen, die für die Verarbeitung von als Graphen dargestellten Daten entwickelt wurde. Während herkömmliche Modelle wie Faltungsneuronale Netze (CNNs) für rasterartige Strukturen wie Bilder optimiert sind und rekurrente neuronale Netze (RNNs) bei sequenziellen Daten wie Text oder Zeitreihenanalyse besonders leistungsfähig sind, können GNNs nicht-euklidische Daten auf einzigartige Weise verarbeiten. Das bedeutet, dass sie mit Datensätzen arbeiten, die durch Knoten (Entitäten) und Kanten (Beziehungen) definiert sind, und dadurch aus den komplexen Wechselwirkungen lernen können, die reale Netzwerke kennzeichnen. Indem sie sowohl die Eigenschaften einzelner Datenpunkte als auch die strukturellen Verbindungen zwischen ihnen erfassen, ermöglichen GNNs wertvolle Erkenntnisse in Bereichen, in denen Beziehungen genauso entscheidend sind wie die Entitäten selbst.
Funktionsweise Graph-Neuronaler Netzwerke#
Der grundlegende Mechanismus hinter einem GNN ist ein Prozess, der häufig als „Nachrichtenweitergabe“ oder Nachbarschaftsaggregation bezeichnet wird. In diesem Rahmen aktualisiert jeder Knoten im Graphen seine eigene Repräsentation, indem er Informationen von seinen unmittelbaren Nachbarn sammelt. Während des Modelltrainings lernt das Netzwerk, effektive Embeddings zu erzeugen – dichte Vektorrepräsentationen, die die Merkmale eines Knotens zusammen mit der Topologie seiner lokalen Nachbarschaft kodieren.
Durch mehrere Verarbeitungsebenen kann ein Knoten schließlich Informationen aus weiter entfernten Bereichen des Graphen einbeziehen und so effektiv sein „rezeptives Feld“ erweitern. Dadurch kann das Modell den Kontext eines Knotens innerhalb der übergeordneten Struktur verstehen. Moderne Frameworks wie PyTorch Geometric und die Deep-Graph-Bibliothek (DGL) erleichtern die Implementierung dieser komplexen Nachrichtenweitergabeverfahren und ermöglichen es Entwicklern, anspruchsvolle graphbasierte Anwendungen zu erstellen, ohne bei null anfangen zu müssen.
GNNs im Vergleich zu anderen neuronalen Architekturen#
Um die besondere Rolle von GNNs zu verstehen, ist es hilfreich, sie von anderen verbreiteten Typen neuronaler Netze (NN) in der AI-Landschaft abzugrenzen:
- Faltungsneuronale Netze (CNNs): Sie gelten als Standard für visuelle Aufgaben wie Bildklassifizierung oder Objekterkennung. Modelle wie Ultralytics YOLO26 nutzen CNNs, um Pixel-Daten in einem festen Raster zu verarbeiten. CNNs haben jedoch Schwierigkeiten mit unregelmäßigen Strukturen, bei denen die Anzahl der Nachbarn für jeden Knoten unterschiedlich ist.
- Rekurrente neuronale Netze (RNNs): RNNs verarbeiten Eingaben in einer bestimmten Reihenfolge und eignen sich daher ideal für Sprachaufgaben oder die Verarbeitung natürlicher Sprache (NLP). Im Gegensatz dazu verarbeiten GNNs Daten, bei denen Beziehungen räumlicher oder relationaler Natur sind und nicht strikt zeitlich oder sequenziell.
- Wissensgraph: Ein Wissensgraph ist eine strukturierte Datenbank mit Fakten (Entitäten und Beziehungen), während ein GNN das Rechenmodell ist, das zum Lernen aus solchen Strukturen verwendet wird. GNNs werden häufig auf Wissensgraphen eingesetzt, um Aufgaben wie die Vorhersage von Verbindungen durchzuführen, und verbessern dabei oft Retrieval-Augmented-Generation-(RAG)-Pipelines.
Anwendungen in der Praxis#
Die Fähigkeit, beliebige Beziehungen zu modellieren, macht GNNs in verschiedenen Branchen mit großer Wirkung unverzichtbar:
-
Arzneimittelforschung und Gesundheitswesen: In der pharmazeutischen Industrie werden chemische Moleküle natürlicherweise als Graphen dargestellt, in denen Atome Knoten und Bindungen Kanten sind. GNNs verändern AI im Gesundheitswesen, indem sie molekulare Eigenschaften vorhersagen und Proteinwechselwirkungen simulieren. Innovationen wie AlphaFold von Google DeepMind verdeutlichen die Leistungsfähigkeit des geometrischen Deep Learning beim Verständnis biologischer Strukturen.
-
Analyse sozialer Netzwerke und Empfehlungen: Plattformen nutzen GNNs, um umfangreiche Netzwerke von Nutzerinteraktionen zu analysieren. Indem sie Nutzer als Knoten und Freundschaften oder Likes als Kanten modellieren, bilden diese Netzwerke die Grundlage für Empfehlungssysteme, die Inhalte, Produkte oder Kontakte vorschlagen. Dieser Ansatz, der Methoden wie GraphSage von Pinterest ähnelt, lässt sich effektiv auf Milliarden von Interaktionen skalieren.
-
Logistik und Verkehrsprognosen: In der AI für die Logistik werden Straßennetze als Graphen betrachtet, in denen Kreuzungen Knoten und Straßen Kanten sind. GNNs können den Verkehrsfluss vorhersagen und Lieferwege optimieren, indem sie die räumlichen Abhängigkeiten zwischen verschiedenen Straßenabschnitten analysieren, und übertreffen dabei einfache statistische Referenzmodelle deutlich.
Graphkonzepte mit Vision AI verbinden#
Graph-Neuronale Netzwerke werden zunehmend in multimodale Pipelines integriert. Ein umfassendes System könnte beispielsweise Bildsegmentierung einsetzen, um einzelne Objekte in einer Szene zu identifizieren, und anschließend ein GNN verwenden, um die räumlichen Beziehungen zwischen diesen Objekten zu analysieren – häufig als „Scene Graph“ bezeichnet. Dadurch wird die Lücke zwischen visueller Wahrnehmung und logischem Schlussfolgern geschlossen.
Das folgende Python-Beispiel zeigt, wie sich Vision AI mit Graphstrukturen verbinden lässt. Es verwendet das Modell Ultralytics YOLO26, um Objekte zu erkennen, die als Knoten dienen, und bereitet mithilfe von torch eine einfache Graphstruktur vor.
import torch
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference on an image to find entities (nodes)
results = model("https://ultralytics.com/images/bus.jpg")
# Extract box centers to serve as node features
# Format: [center_x, center_y] derived from xywh
boxes = results[0].boxes.xywh[:, :2].cpu()
x = torch.tensor(boxes.numpy(), dtype=torch.float)
# Create a hypothetical edge index connecting the first two objects
# In a real GNN, edges might be defined by distance or interaction
edge_index = torch.tensor([[0, 1], [1, 0]], dtype=torch.long)
print(f"Graph constructed: {x.size(0)} nodes (objects) and {edge_index.size(1)} edges.")Entwickler, die die für diese komplexen Pipelines erforderlichen Datensätze verwalten möchten, können die Ultralytics Platform nutzen, die die Annotierung und Trainingsabläufe für die visuellen Komponenten des Systems vereinfacht. Durch die Kombination robuster Vision-Modelle mit der relationalen Schlussfolgerungsfähigkeit von GNNs können Ingenieure kontextbewusste autonome Systeme entwickeln, die ihre Umgebung besser verstehen.









