Ein Graph Attention Network (GAT) ist eine Art von Graph-Neuronalem Netz (GNN), das Aufmerksamkeitsmechanismen in den Message-Passing-Prozess integriert. In Standard-GNNs aktualisiert jeder Knoten seine Repräsentation, indem er Informationen von seinen Nachbarn aggregiert, oft mit gleichen oder vordefinierten Gewichten. GATs berechnen stattdessen Aufmerksamkeitskoeffizienten, die jedem Nachbarn eine unterschiedliche Bedeutung zuweisen, wodurch das Modell sich auf die für eine gegebene Aufgabe relevantesten Teile des Graphen konzentrieren kann. Dieser Ansatz, eingeführt von Petar Veličković und Kollegen im Jahr 2018, ist zu einer grundlegenden Architektur im geometrischen Deep Learning geworden und wird häufig in Anwendungen von der Analyse sozialer Netzwerke bis zur Vorhersage molekularer Eigenschaften eingesetzt.
Die Kernidee von GATs besteht darin, den Aufmerksamkeitsmechanismus, der ursprünglich in Transformer (architecture)-Modellen für natürliche Sprachverarbeitung populär wurde, auf graphstrukturierte Daten anzuwenden. In einem Transformer werden Aufmerksamkeitsgewichte zwischen allen Paaren von Tokens in einer Sequenz berechnet. In einem GAT wird Aufmerksamkeit nur zwischen einem Knoten und seinen unmittelbaren Nachbarn berechnet, was ihn zu einer lokalisierten und permutationsäquivarianten Operation macht. Dieses Design bewahrt die Schlüsseleigenschaft von GNNs: Die Ausgabe ist invariant gegenüber der Reihenfolge der Knoten, was entscheidend ist, da Graphen keine kanonische Knotenreihenfolge haben.
Hintergrund: Graph Neuronale Netze
Graph Neuronale Netze sind eine Klasse künstlicher neuronaler Netze, die für Aufgaben entwickelt wurden, bei denen Eingaben Graphen sind, wie Moleküle, soziale Netzwerke oder Zitationsnetzwerke. Im Gegensatz zu Bildern oder Text fehlt Graphen eine feste Gitter- oder Sequenzstruktur, und Knoten können unterschiedlich viele Verbindungen haben. GNNs adressieren dies durch permutationsäquivariante Schichten, die Knotenrepräsentationen durch paarweisen Message Passing aktualisieren. Jeder Knoten aggregiert Nachrichten von seinen Nachbarn, und nach mehreren Schichten erweitert sich das rezeptive Feld um weiter entfernte Knoten.
Eine wesentliche Einschränkung früher GNN-Architekturen wie Graph Convolutional Networks (GCNs) besteht darin, dass sie alle Nachbarn bei der Aggregation von Informationen gleich behandeln. Beispielsweise könnte in einem molekularen Graphen ein Kohlenstoffatom sowohl mit einem Wasserstoffatom als auch mit einem Sauerstoffatom verbunden sein, aber das Sauerstoffatom könnte für die Vorhersage der Toxizität chemisch bedeutender sein. GCNs würden beiden Nachbarn dasselbe Gewicht zuweisen, während GATs lernen können, dem Sauerstoffatom höhere Aufmerksamkeit zuzuweisen.
Aufmerksamkeitsmechanismus in GATs
Der Aufmerksamkeitsmechanismus in GATs funktioniert wie folgt. Für einen Knoten \(u\) mit Merkmalsvektor \(\mathbf{x}_u\) und seinen Nachbarn \(v\) berechnet das Modell einen Aufmerksamkeitskoeffizienten \(e_{uv}\) unter Verwendung einer gemeinsamen linearen Transformation und eines lernbaren Gewichtsvektors. Dieser Koeffizient wird typischerweise über alle Nachbarn mit einer Softmax-Funktion normalisiert, wodurch sichergestellt wird, dass die Aufmerksamkeitsgewichte sich zu eins summieren. Die normalisierten Koeffizienten werden dann verwendet, um eine gewichtete Summe der transformierten Merkmale der Nachbarn zu berechnen, die die aktualisierte Repräsentation des Knotens \(u\) wird.
Formal wird der Aufmerksamkeitskoeffizient wie folgt berechnet:
\[ e_{uv} = \text{LeakyReLU}(\mathbf{a}^T [\mathbf{W}\mathbf{x}_u \| \mathbf{W}\mathbf{x}_v]) \]
wobei \(\mathbf{W}\) eine gemeinsame Gewichtsmatrix ist, \(\mathbf{a}\) ein lernbarer Vektor ist und \(\|\\) die Konkatenation bezeichnet. Die Koeffizienten werden mit Softmax über alle Nachbarn \(v \in N_u\) normalisiert. Die aktualisierte Knotenrepräsentation ist dann:
\[ \mathbf{h}_u = \sigma\left(\sum_{v \in N_u} \alpha_{uv} \mathbf{W}\mathbf{x}_v\right) \]
wobei \(\alpha_{uv}\) die normalisierten Aufmerksamkeitskoeffizienten sind und \(\sigma\) eine Nichtlinearität ist.
Dieser Mechanismus ist analog zu Multi-Head-Aufmerksamkeit in Transformatoren, bei denen mehrere unabhängige Aufmerksamkeitsköpfe verwendet werden, um verschiedene Arten von Beziehungen zu erfassen. In GATs kann Multi-Head-Aufmerksamkeit angewendet werden, indem mehrere aufmerksamkeitsgewichtete Aggregationen parallel berechnet und ihre Ausgaben konkateniert oder gemittelt werden. Dies erhöht die Ausdruckskraft des Modells und stabilisiert das Training.
Architekturvarianten
Seit dem ursprünglichen Paper von 2018 wurden mehrere Varianten von GATs vorgeschlagen. Eine bemerkenswerte Variante ist GATv2, eingeführt 2021, die eine Einschränkung des ursprünglichen GAT adressiert, bei der Aufmerksamkeitskoeffizienten mit einer linearen Operation nach der Konkatenation berechnet werden. GATv2 verwendet einen ausdrucksstärkeren Aufmerksamkeitsmechanismus, der es dem Modell ermöglicht, Aufmerksamkeitswerte zu berechnen, die empfindlicher auf die Eingabemerkmale reagieren, was die Leistung bei Aufgaben verbessert, die feine Unterscheidungen erfordern.
Eine weitere Variante ist das Graph Attention Network mit Kantenmerkmalen, das Kantenmerkmale in die Aufmerksamkeitsberechnung integriert. In molekularen Graphen könnten Kantenmerkmale Bindungstypen (einfach, doppelt, aromatisch) darstellen, und ihre Integration ermöglicht es dem Modell, Nachbarn basierend auf der Art ihrer Verbindung unterschiedlich zu gewichten. Dies ist besonders nützlich in Chemie- und Biologieanwendungen.
Darüber hinaus können GATs mit anderen GNN-Komponenten wie Residualverbindungen und Schichtnormalisierung kombiniert werden, um die Trainingsstabilität und Leistung zu verbessern. Diese Verbesserungen sind in modernen GNN-Architekturen üblich.
Anwendungen
GATs wurden in einer Vielzahl von Bereichen angewendet. In der Molekularbiologie und Arzneimittelforschung werden GATs verwendet, um molekulare Eigenschaften wie Löslichkeit, Toxizität oder Wirksamkeit gegen bestimmte Bakterien wie E. coli vorherzusagen. Moleküle werden als Graphen mit Atomen als Knoten und Bindungen als Kanten dargestellt, und GATs können lernen, sich auf funktionelle Gruppen zu konzentrieren, die für die biologische Aktivität entscheidend sind.
In der Analyse sozialer Netzwerke werden GATs für Knotenklassifikation und Linkvorhersage verwendet. Beispielsweise können GATs in einem Zitationsnetzwerk Papiere in Forschungsthemen klassifizieren, indem sie den einflussreichsten zitierenden Papieren Aufmerksamkeit schenken. In Empfehlungssystemen können GATs Benutzer-Item-Interaktionen als bipartiten Graphen modellieren, wobei Aufmerksamkeit hilft, die relevantesten Items für einen Benutzer zu identifizieren.
GATs werden auch in Computervision für Aufgaben wie Objekterkennung und Szenengraphengenerierung verwendet, bei denen Bilder als Graphen von Objekten und ihren Beziehungen dargestellt werden. In der Physik wurden GATs auf Teilchenspurrekonstruktion und die Modellierung dynamischer Systeme angewendet.
Beziehung zu Transformatoren
Es gibt eine enge Beziehung zwischen GATs und Transformer (architecture)-Modellen. Wie in einem Positionspapier von 2022 zum geometrischen Deep Learning festgestellt, kann eine Transformer-Schicht als ein GNN interpretiert werden, das auf einen vollständigen Graphen angewendet wird, bei dem jedes Token mit jedem anderen Token verbunden ist. In dieser Sichtweise ist der Selbstaufmerksamkeitsmechanismus in Transformatoren eine Form von Message Passing mit Aufmerksamkeitsgewichten. Umgekehrt können GATs als Transformatoren betrachtet werden, die an beliebige Graphstrukturen angepasst sind, wobei Aufmerksamkeit auf vorhandene Kanten beschränkt ist und nicht auf alle Paare.
Diese Verbindung hat zu einer gegenseitigen Befruchtung zwischen den beiden Bereichen geführt. Techniken, die für Transformatoren entwickelt wurden, wie Positional-Encodings und Cross-Attention, wurden für GNNs angepasst. Beispielsweise können Positional-Encodings, die auf Graph-Laplace-Eigenvektoren basieren, strukturelle Informationen liefern, die den aufmerksamkeitsbasierten Message Passing ergänzen.
Implementierungen und Bibliotheken
Mehrere Open-Source-Bibliotheken implementieren GATs und andere GNN-Architekturen. PyTorch Geometric (PyG) ist eine beliebte Bibliothek, die auf PyTorch aufbaut und effiziente Implementierungen von GAT-Schichten sowie Werkzeuge zur Verarbeitung von Graphdaten bietet. TensorFlow GNN bietet ähnliche Funktionalität für das TensorFlow-Ökosystem. Die Deep Graph Library (DGL) ist eine framework-agnostische Bibliothek, die sowohl PyTorch- als auch TensorFlow-Backends unterstützt. Für JAX-Benutzer bietet die jraph-Bibliothek GNN-Implementierungen, und für Julia-Benutzer sind GraphNeuralNetworks.jl und GeometricFlux.jl verfügbar.
Diese Bibliotheken enthalten typischerweise vorgefertigte GAT-Schichten, die leicht in benutzerdefinierte Modelle integriert werden können. Sie bieten auch Datensätze und Benchmarks zur Bewertung von GNNs, wie Zitationsnetzwerke (Cora, CiteSeer) und Datensätze zur Vorhersage molekularer Eigenschaften.
Einschränkungen und Erweiterungen
Wie alle Message-Passing-GNNs unterliegen GATs den Ausdruckskraftgrenzen des Weisfeiler-Lehman-Graphisomorphietests. Dies bedeutet, dass es Paare nicht-isomorpher Graphen gibt, die GATs nicht unterscheiden können, was eine Einschränkung für Aufgaben darstellen kann, die feine strukturelle Unterscheidungen erfordern. Um dies zu überwinden, haben Forscher GNNs höherer Ordnung vorgeschlagen, die auf simplizialen Komplexen operieren, oder Graph-Transformatoren mit globaler Aufmerksamkeit, obwohl diese oft mit erhöhten Rechenkosten verbunden sind.
Eine weitere Einschränkung ist die Skalierbarkeit. Die Berechnung von Aufmerksamkeit über alle Nachbarn kann für Graphen mit Knoten hohen Grades teuer sein, obwohl dies im Allgemeinen weniger schwerwiegend ist als die quadratischen Kosten vollständiger Transformatoren. Techniken wie das Stichproben von Nachbarn oder die Verwendung spärlicher Aufmerksamkeit können dieses Problem mildern.
Stand 2024 bleiben GATs eine weit verbreitete und aktiv erforschte Architektur. Ihre Fähigkeit, die Bedeutung von Nachbarn adaptiv zu gewichten, hat sie zu einem Standardwerkzeug im GNN-Werkzeugkasten gemacht, und sie inspirieren weiterhin neue Varianten und Anwendungen in maschinellem Lernen und künstlicher Intelligenz.