Beschreibung
DimeNet und DimeNet++ stellen einen bedeutenden Fortschritt im Bereich der molekularen Graph-Neuronalen Netze dar. Das ursprüngliche DimeNet-Modell, das in "Directional Message Passing for Molecular Graphs" (ICLR 2020) vorgestellt wurde, nutzt gerichtete Informationen zur Verbesserung der Nachrichtenweitergabe zwischen Atomen, was zu genaueren Darstellungen von Molekülstrukturen und -eigenschaften führt. Dieser Ansatz verbessert die Fähigkeit des Modells, komplexe Wechselwirkungen innerhalb von Molekülen zu erfassen.
DimeNet++, das Nachfolgemodell, das in "Fast and Uncertainty-Aware Directional Message Passing for Non-Equilibrium Molecules" (NeurIPS-W 2020) vorgestellt wurde, baut auf der Grundlage von DimeNet auf und führt wesentliche Verbesserungen in Geschwindigkeit und Genauigkeit ein. Es ist Berichten zufolge bis zu 8-mal schneller und 10 % genauer als das ursprüngliche DimeNet, was es zu einer praktikableren Wahl für groß angelegte Molekülsimulationen und Anwendungen zur Medikamentenentdeckung macht. Die in diesem GitHub-Repository bereitgestellte Implementierung dient als Referenz für beide Modelle.
Das Repository enthält wesentliche Komponenten für die Ausführung und Experimente mit diesen Modellen. Es bietet Notebooks für das Training (`train.ipynb`) und die Vorhersage (`predict.ipynb`), die es Benutzern ermöglichen, die Modelle einfach auf ihre Datensätze anzuwenden. Für Benutzer, die Cluster-basiertes Training benötigen, steht auch ein Skript (`train_seml.py`) zur Verfügung, das mit Sacred und SEML integriert ist. Darüber hinaus sind vortrainierte Modelle sowohl für DimeNet++ als auch für einen TensorFlow 2.0-Prototyp im Ordner `pretrained` enthalten, was schnellere Experimente und Bereitstellungen ermöglicht.
Schlüsseldetails zur Architektur und Implementierungshinweise sind im Repository verfügbar, einschließlich spezifischer Initialisierungsstrategien für Ausgabeschichten und Diskussionen über potenzielle Probleme oder Fehler. Das Projekt ist in Python mit TensorFlow als primärem Deep-Learning-Framework implementiert, unterstützt von Bibliotheken wie NumPy, SciPy, SymPy und TensorFlow Addons. Das Projekt hebt auch andere Implementierungen in JAX & Haiku und PyTorch Geometric hervor, was auf eine lebendige Forschungsgemeinschaft rund um diese Modelle hinweist. Die Modelle sind besonders relevant für Forscher und Entwickler in den Bereichen computergestützte Chemie, Materialwissenschaften und Cheminformatik, die Deep Learning für die Vorhersage und Analyse von Moleküleigenschaften nutzen möchten.
DimeNet und DimeNet++ im Überblick
Gerichtete Nachrichtenweitergabe für Molekül-Graphen
DimeNet-Modellarchitektur
DimeNet++-Modellarchitektur
Referenzimplementierung
Trainings-Notebook enthalten
Vorhersage-Notebook enthalten
Skript für Cluster-Training verfügbar
Vortrainierte Modelle bereitgestellt
TensorFlow 2.0-Prototyp verfügbar
Fokus auf Energie- und Kraftvorhersagen (gemäß GemNet-Empfehlung)
Unsicherheitsbewusste Vorhersagen (DimeNet++)
Erste Schritte mit DimeNet und DimeNet++
Modellzugriff: Klonen Sie das GitHub-Repository.
Umgebung einrichten: Installieren Sie die erforderlichen Python-Pakete (TensorFlow, NumPy, SciPy, SymPy, TensorFlow Addons).
Integration über API: Nutzen Sie die bereitgestellten Notebooks oder Skripte für Training und Vorhersage.
Mit Modellen experimentieren: Laden Sie vortrainierte Modelle für schnellere Iterationen.
Für Cluster-Training anpassen: Verwenden Sie das Skript `train_seml.py` für verteiltes Training.
Vorhersagen generieren: Verwenden Sie das Notebook `predict.ipynb` mit trainierten Modellen.
DimeNet und DimeNet++'s Anwendungsfälle
- Vorhersage von Moleküleigenschaften
- Medikamentenentdeckung
- Materialwissenschaft
- Forschung in der Cheminformatik
- Computergestützte Chemie






