Machine Learning

Graph Neural Networks: eine praktische Einführung

Graph Neural Networks bringen Deep Learning zu Daten, die auf Graphen leben. Dieser Leitfaden erklärt Message Passing, die Architekturen, die das Feld geprägt haben, und was GNNs tatsächlich vorhersagen.

12 Min Lesezeit Aktualisiert: Juni 2026 Mittleres Niveau
LGT
Learn Graph Theory Team
Expert Operations Research Engineers

1. Was ist ein Graph Neural Network?

Ein Graph Neural Network (GNN) ist ein Deep-Learning-Modell, das direkt auf Graphen arbeitet: Daten aus Knoten (Entitäten), die durch Kanten (Beziehungen) verbunden sind. Während ein Faltungsnetz ein regelmäßiges Pixelraster und ein rekurrentes Netz eine geordnete Sequenz voraussetzt, trifft ein GNN keine dieser Annahmen. Es arbeitet auf unregelmäßigen Strukturen, in denen jeder Knoten unterschiedlich viele Nachbarn haben kann und es keine natürliche Ordnung zum Ausnutzen gibt.

Das ist wichtig, weil so viele reale Daten von Natur aus Graphen sind: soziale Netzwerke, Moleküle, Wissensgraphen, Straßennetze, Zahlungsnetzwerke und das Web selbst. Ein GNN lernt eine Vektordarstellung, ein Embedding, für jeden Knoten, jede Kante oder einen ganzen Graphen. Dieses Embedding verbindet zwei Arten von Information zugleich: die eigenen Merkmale eines Knotens und die Struktur seiner Nachbarschaft. Die Embeddings speisen anschließend einen gewöhnlichen Prädiktor für die jeweilige Aufgabe.

Das Konzept geht auf Gori et al. (2005) und Scarselli et al. (2009) zurück, die „das Graph-Neural-Network-Modell" einführten. Es blieb eine Nischenidee bis zur Deep-Learning-Welle: Zwischen 2016 und 2019 machte eine Reihe von Architekturen, nämlich GCN, GraphSAGE, GAT und GIN, GNNs zugleich skalierbar und genau, und sie gehören heute zum Standardwerkzeug des maschinellen Lernens. Zu den linear-algebraischen Wurzeln eines wichtigen Zweigs siehe unseren Begleitartikel über spektrale Graphentheorie im Machine Learning.

2. Die Kernidee: Message Passing

Nahezu jedes moderne GNN folgt einem einzigen vereinheitlichenden Rezept namens Message Passing, formalisiert von Gilmer et al. (2017). Die Anschauung ist erfrischend einfach. Jeder Knoten beginnt mit einem Merkmalsvektor. Dann führt ein Knoten in jeder Schicht drei Schritte aus: Er sammelt Nachrichten von seinen Nachbarn, aggregiert sie zu einer einzigen Zusammenfassung und aktualisiert seinen eigenen Vektor mithilfe dieser Zusammenfassung zusammen mit seinem vorherigen Wert.

Ein zentraler Knoten v erhält Merkmals-Nachrichten von seinen vier Nachbarn entlang der Kanten, aggregiert sie und kombiniert das Ergebnis mit seinem eigenen vorherigen Vektor zu einem aktualisierten Embedding.
Abbildung 1. Eine Runde Message Passing: Ein Knoten sammelt die Merkmale seiner Nachbarn, aggregiert sie und aktualisiert sein eigenes Embedding.

Der Aggregationsschritt hat eine harte Anforderung: Er muss permutationsinvariant sein. Da ein Graph keine inhärente Ordnung besitzt, darf das Ergebnis nicht davon abhängen, in welcher Reihenfolge die Nachbarn aufgelistet sind. Die üblichen Wahlmöglichkeiten sind Summe, Mittelwert oder Maximum. Der Aktualisierungsschritt ist typischerweise ein kleines neuronales Netz, eine gelernte lineare Transformation gefolgt von einer Nichtlinearität. Entscheidend: Alle Knoten einer Schicht teilen sich dieselben Gewichte, genau wie ein CNN einen Filter über das ganze Bild wiederverwendet. Diese Gewichtsteilung ist es, die ein einziges trainiertes GNN über alle Knoten eines Graphen und sogar auf nie gesehene Graphen verallgemeinern lässt.

Dieser Rhythmus aus „Nachbarn sammeln, dann aktualisieren" ist der ganze Motor. Ein nützliches Bild ist ein Gerücht, das sich durch eine Menschenmenge verbreitet: In jeder Runde verfeinert jeder, was er weiß, anhand der Personen neben sich, und nach wenigen Runden hat eine Nachricht aus der Ferne den ganzen Raum erreicht. Ein GNN macht diesen Aktualisierungsschritt einfach lernbar, sodass das Netz selbst herausfindet, welche Signale aus der Nachbarschaft für die Aufgabe wirklich zählen.

3. Im Inneren einer GNN-Schicht (und wie tief man gehen sollte)

Formal berechnet eine einzelne Schicht für jeden Knoten v ein neues Embedding:

h_v⁽ᵏ⁾ = UPDATE( h_v⁽ᵏ⁻¹⁾, AGGREGATE{ h_u⁽ᵏ⁻¹⁾ : u ∈ N(v) } )

Dabei ist N(v) die Menge der Nachbarn von v und h_v⁽ᵏ⁾ das Embedding von v nach k Schichten. Die Anzahl der Schichten steuert das rezeptive Feld. Nach einer Schicht hat ein Knoten nur von seinen unmittelbaren Nachbarn gehört. Nach zwei Schichten hat er indirekt von den Nachbarn seiner Nachbarn gehört, denn diese hatten sich in der vorigen Runde selbst aus ihren Nachbarn aktualisiert. Allgemein lassen k Schichten Information k Sprünge weit durch den Graphen wandern.

Derselbe kleine Graph zweimal gezeigt: Mit einer Schicht sieht der zentrale Knoten v nur seine direkten Nachbarn A und B; mit zwei Schichten erweitert sich sein rezeptives Feld auf D und E, zwei Sprünge entfernt.
Abbildung 2. Jede zusätzliche Schicht erweitert das rezeptive Feld eines Knotens um einen Sprung; die Tiefe steuert also, wie weit sich Information ausbreitet.

Das könnte nahelegen, dass tiefer immer besser ist, doch GNNs sind hier ungewöhnlich. Zu viele Schichten zu stapeln verursacht Oversmoothing: Das Embedding jedes Knotens driftet zum selben Wert, und das Netz verliert die Fähigkeit, Knoten zu unterscheiden. In der Praxis sind zwei bis vier Schichten üblich, und die Tiefe zu wählen ist eine echte Entwurfsentscheidung und nicht bloß eine Frage zusätzlicher Kapazität.

4. Vier Architekturen, die das Feld geprägt haben

Vier Modelle definierten die moderne Ära der GNNs. Sie teilen das Message-Passing-Gerüst und unterscheiden sich vor allem darin, wie sie aggregieren.

Diese vier versteht man am besten als Ausgangspunkte und nicht als abgeschlossene Liste. Dutzende spätere Varianten ergänzen Residualverbindungen, Gating, Kantenmerkmale oder klügeres Sampling, doch fast alle behalten denselben Message-Passing-Kern. GCN, GraphSAGE, GAT und GIN zu verstehen, gibt dir daher das Vokabular, um nahezu jede moderne GNN-Arbeit zu lesen und einzuordnen.

Auf einen Blick: vier zentrale GNN-Architekturen

ModellAggregationKernideeAm besten für
GCN (2017)Normalisierter MittelwertEinfache, spektral verwurzelte BaselineEin schneller, starker Ausgangspunkt
GraphSAGE (2017)Stichprobe + Mittelwert / Max / LSTMInduktiv: funktioniert auf unbekannten KnotenGroße, wachsende Graphen
GAT (2018)Attention-gewichtetLernt, welche Nachbarn zählenVerrauschte oder ungleiche Nachbarschaften
GIN (2019)Summe (injektiv)Maximal ausdrucksstark (WL-Schranke)Klassifikation auf Graphebene

5. Was GNNs vorhersagen: drei Ebenen

Sobald ein GNN Embeddings erzeugt hat, erfolgen Vorhersagen auf einer von drei Ebenen, und dasselbe Grundgerüst dient ihnen allen.

Drei nebeneinander angeordnete Felder zeigen die Klassifikation auf Knotenebene mit einem hervorgehobenen Knoten, die Link-Vorhersage auf Kantenebene mit einer fehlenden, mit einem Fragezeichen markierten Kante und die Klassifikation auf Graphebene, die dem gesamten Graphen ein Label zuweist.
Abbildung 3. Die drei Vorhersageebenen. Nur der finale Ausgabekopf und die Trainingslabels ändern sich; der Message-Passing-Kern bleibt gleich.

Diese Modularität ist Teil dessen, was GNNs so vielseitig macht: Tausche Ausgabekopf und Labels aus, behalte den Rest, und dieselbe Architektur wechselt vom Etikettieren von Nutzern zum Empfehlen von Verbindungen bis zum Screening von Molekülen.

Baue zuerst den Graphen

Jedes GNN beginnt mit einem Graphen. Zeichne Knoten und Kanten, beobachte, wie sich Nachbarschaften verbinden, und entwickle die Intuition, auf die sich Message Passing stützt.

Visualisierung öffnen

6. Wo Graph Neural Networks eingesetzt werden

GNNs sind rasch von Forschungsarbeiten in Produktivsysteme gewandert, die täglich von Millionen Menschen genutzt werden.

Allen Fällen gemeinsam ist ein einfacher Test: Lässt sich deine Daten natürlicher als Netz von Beziehungen denn als flache Tabelle zeichnen, kann ein GNN diese Struktur meist in einen messbaren Genauigkeitsgewinn verwandeln. Genau das kommt immer häufiger vor, weshalb sich Graph-Lernen so schnell über Industrie und Wissenschaft verbreitet hat.

7. Herausforderungen, Werkzeuge und der Einstieg

GNNs sind mächtig, aber nicht mühelos. Neben dem Oversmoothing ist die Skalierbarkeit eine echte Einschränkung: Ein Graph mit Milliarden Kanten passt nicht in den Speicher, und genau deshalb wurden Nachbar-Stichproben (GraphSAGE) und Graphpartitionierung erfunden. Weitere aktive Forschungsfragen sind das Oversquashing (zu viel Information, die durch eine einzige Engpass-Kante gepresst wird), die durch den Weisfeiler-Lehman-Test gesetzte Ausdrucksgrenze und der Umgang mit dynamischen oder heterogenen Graphen, deren Knoten und Kanten in vielen Typen vorkommen.

Der Einstieg ist erfreulicherweise dank ausgereifter Bibliotheken einfach. PyTorch Geometric (PyG) und die Deep Graph Library (DGL) liefern fertige GCN-, GraphSAGE-, GAT- und GIN-Schichten, Standard-Benchmark-Datensätze und effiziente dünnbesetzte Operationen. Ein gutes erstes Projekt ist die Knotenklassifikation auf einem Zitationsgraphen wie Cora, wo ein in wenigen Zeilen geschriebenes zweischichtiges GCN klassische Baselines bereits schlägt. Von diesem kleinen Beispiel aus skaliert dasselbe Werkzeug bis zu den obigen industriellen Anwendungen.

Häufig gestellte Fragen

Was ist ein Graph Neural Network einfach erklärt?

Ein Graph Neural Network ist ein Deep-Learning-Modell, das direkt auf Graphen aus Knoten und Kanten läuft. Jeder Knoten sammelt wiederholt Informationen von seinen Nachbarn und aktualisiert seinen eigenen Vektor, sodass die finale Darstellung sowohl die Merkmale des Knotens als auch seinen Platz im Netzwerk erfasst.

Was ist Message Passing in einem GNN?

Message Passing ist der Kernmechanismus: In jeder Schicht sammelt jeder Knoten Nachrichten von seinen Nachbarn, aggregiert sie mit einer permutationsinvarianten Funktion wie Summe oder Mittelwert und aktualisiert sein Embedding mit einem kleinen geteilten neuronalen Netz. Das Stapeln von Schichten lässt Information weiter durch den Graphen reisen.

Was ist der Unterschied zwischen GCN, GraphSAGE, GAT und GIN?

Sie unterscheiden sich vor allem in der Aggregation. GCN nutzt einen normalisierten Mittelwert, GraphSAGE stichprobt Nachbarn und ist induktiv, GAT lernt Attention-Gewichte für Nachbarn, und GIN nutzt einen Summen-Aggregator, um die vom Weisfeiler-Lehman-Test erlaubte maximale Ausdrucksstärke zu erreichen.

Wie unterscheiden sich GNNs von gewöhnlichen neuronalen Netzen?

CNNs setzen ein festes Raster voraus und RNNs eine geordnete Sequenz. GNNs treffen diese Annahme nicht: Sie verarbeiten unregelmäßige, ungeordnete Graphen, in denen Knoten unterschiedlich viele Nachbarn haben, und sie verwenden dieselben Gewichte über alle Knoten, sodass ein trainiertes Modell auf neue Graphen verallgemeinern kann.

Weitere Erkundungen

Von Graphen zu Vorhersagen

Graph Neural Networks beginnen dort, wo die Graphentheorie beginnt: bei Knoten und Kanten. Baue und erkunde Graphen interaktiv, um die Intuition hinter jedem GNN zu festigen.

Visualisierung öffnen