Beschreibung
Graph Neural PDEs ist ein GitHub-Repository, das von twitter-research entwickelt wurde und den Quellcode für ihre Publikationen GRAND (Graph Neural Diffusion) und BLEND (Beltrami Flow and Neural Diffusion on Graphs) bereitstellt. Diese Modelle konzeptualisieren Deep Learning auf Graphen als kontinuierlichen Diffusionsprozess, wobei Graph Neural Networks (GNNs) als Diskretisierungen zugrundeliegender partieller Differentialgleichungen (PDEs) dienen.
Weiterlesen
Die Kerninnovation liegt darin, wie die Schichtstruktur und Topologie von GNNs auf die Diskretisierungsentscheidungen von zeitlichen und räumlichen Operatoren abgebildet werden. Diese prinzipielle Entwicklung führt zu einer neuen Klasse von GNNs, die darauf ausgelegt sind, verbreitete Probleme im Graph-Learning wie Tiefenbeschränkungen, Oversmoothing und Engpässe zu überwinden. Ein wichtiger Aspekt dieser Modelle ist ihre Stabilität gegenüber Datenstörungen, die sowohl durch implizite als auch explizite Diskretisierungsschemata behandelt wird.
Das Repository enthält Implementierungen für lineare und nichtlineare Versionen von GRAND, die auf verschiedenen Standard-Graph-Benchmarks wettbewerbsfähige Leistungen gezeigt haben. BLEND erweitert GRAND, indem es in einem nicht-euklidischen Raum operiert und gleichzeitig Knotenmerkmale und Positionskodierungen entwickelt. Dies bietet eine robuste Methode für das Graph-Rewiring. Das Projekt beschreibt auch die Anforderungen und Befehle für die Einrichtung der notwendigen Abhängigkeiten, wobei der Schwerpunkt hauptsächlich auf PyTorch und seinen zugehörigen Bibliotheken liegt, und bietet Ratschläge zur Fehlerbehebung bei gängigen Installationsproblemen, insbesondere bei Abweichungen der CUDA-Version.
Für Benutzer, die an der Ausführung der Experimente interessiert sind, beschreibt das Repository die Daten- und Vorverarbeitungsschritte für GRAND und BLEND. Es spezifiziert die Erstellung eines `./data`-Ordners für Datensätze und für BLEND einen zusätzlichen `./data/pos_encodings`-Ordner für Positionskodierungen. Anleitungen werden für die Ausführung von Experimenten auf Datensätzen wie Cora, Citeseer, Computers, Photo und ogbn-arxiv bereitgestellt, zusammen mit Anleitungen zum Generieren oder Herunterladen von Positionskodierungen.
Das Projekt fördert Beiträge und meldet Sicherheitsprobleme über das Bug-Bounty-Programm von Twitter. Es ist unter der Apache-2.0-Lizenz lizenziert und somit frei nutzbar und modifizierbar. Das Repository enthält auch Zitate für die GRAND- und BLEND-Papiere, die es Forschern ermöglichen, die grundlegende Arbeit zu referenzieren.
- KategorieKI-Modelle & LLMs
- PreismodellOpen Source
- BereitstellungCloud, Selbst gehostet
- PlattformenWeb
Graph Neural PDEs's Kernfunktionen
Implementierung des GRAND (Graph Neural Diffusion) Modells
Implementierung des BLEND (Beltrami Flow and Neural Diffusion on Graphs) Modells
Behandelt Deep Learning auf Graphen als kontinuierlichen Diffusionsprozess
Modelliert GNNs als Diskretisierungen zugrundeliegender PDEs
Adressiert Herausforderungen im Graph-Learning wie Oversmoothing und Tiefenbeschränkungen
Bietet Stabilität gegenüber Datenstörungen
Enthält lineare und nichtlineare Versionen von GRAND
BLEND bietet eine nicht-euklidische Erweiterung für Graph-Rewiring
Detaillierte Installationsanleitungen für Abhängigkeiten (PyTorch, etc.)
Anleitung zur Vorbereitung von Daten und Positionskodierungen
Skripte zur Ausführung von Experimenten auf Benchmark-Datensätzen
Fehlerbehebung bei Installationsproblemen von Abhängigkeiten
Apache-2.0-Lizenz
Erste Schritte mit Graph Neural PDEs
Umgebung einrichten: Erstellen und aktivieren Sie eine Conda-Umgebung mit der angegebenen Python-Version.
Abhängigkeiten installieren: Verwenden Sie pip, um erforderliche Bibliotheken wie PyTorch, PyTorch Geometric und andere zu installieren.
Daten vorbereiten: Erstellen Sie einen `./data`-Ordner für Datensätze und `./data/pos_encodings` für BLEND.
Positionskodierungen generieren: Verwenden Sie bereitgestellte Skripte oder laden Sie vorab berechnete Kodierungen herunter, falls für BLEND benötigt.
Experimente ausführen: Navigieren Sie in das Verzeichnis `src` und führen Sie `run_GNN.py` mit den Dataset-Parametern aus.
Installationsprobleme beheben: Überprüfen Sie die CUDA- und PyTorch-Versionen, wenn Installationsfehler auftreten.
Graph Neural PDEs's Anwendungsfälle
- Forschung zu Graph Neural Networks
- Knotenklassifizierung
- Graph-Rewiring
- Bewältigung von Oversmoothing
- Benchmarking von GNN-Modellen
- Kontinuierliches Graph-Learning







