Ismail Ben Alla

GNN Molecular

Sept GNN pour les propriétés moléculaires

Recherche · oct. 2024 · Terminé

Comparer sept réseaux de neurones sur graphes pour prédire la solubilité des molécules.

Construit avecPyTorchPyTorch GeometricRDKitMoleculeNet (ESOL)pytest

GNN Molecular — vue d’ensemble

Présentation

Une molécule est naturellement un graphe : les atomes sont des nœuds et les liaisons des arêtes. Je voulais voir comment différentes architectures de réseaux de neurones sur graphes exploitent cette structure pour prédire une vraie propriété chimique, la solubilité aqueuse, à partir du benchmark ESOL de MoleculeNet.

J'ai d'abord implémenté trois architectures à la main dans des notebooks : un réseau convolutif sur graphes (GCN), un réseau à passage de messages (MPNN) qui exploite aussi les caractéristiques des liaisons, et un réseau à convolution de diffusion (DCNN) qui propage l'information sur plusieurs sauts. Je les ai ensuite transformées en un package Python testé et ajouté quatre modèles standard construits à partir des couches de PyTorch Geometric : GIN, GAT (v2), GraphSAGE et AttentiveFP.

Les sept tournent sur le même split à graine fixée avec les mêmes métriques. AttentiveFP (RMSE de test 0.498, R² 0.926) et GIN (0.528, 0.916) mènent, suivis du MPNN (0.645), de GAT (0.769), de GraphSAGE (0.816), du DCNN (0.907) et du GCN (0.981). Les quatre modèles qui lisent les types de liaisons devancent les trois qui ne voient que les atomes.

La question

Comment sept architectures de réseaux de neurones sur graphes se comparent-elles pour prédire la solubilité moléculaire (ESOL) directement à partir des graphes moléculaires ?

Fonctionnalités clés

Comment ça marche

  1. Des molécules aux graphes

    Les molécules ESOL sont chargées depuis MoleculeNet et représentées comme des graphes d'atomes et de liaisons, les molécules contenant des atomes isolés étant filtrées lorsque nécessaire.

  2. Regrouper les graphes en batch

    PyTorch Geometric fusionne de nombreux petits graphes moléculaires en un seul graphe non connexe par batch et garde la trace de l'appartenance de chaque atome à sa molécule.

  3. Propager l'information

    Chaque architecture met à jour les représentations des atomes à sa manière : convolution sur graphe, messages appris le long des liaisons, diffusion multi-sauts, somme puis MLP (GIN), attention sur les voisins (GAT, AttentiveFP) ou poids distincts pour soi et pour les voisins (GraphSAGE).

  4. Agréger et prédire

    Les représentations des atomes sont agrégées en un vecteur par molécule, qu'une tête de régression transforme en valeur de solubilité, entraînée avec l'erreur quadratique moyenne.

Exemples

AttentiveFP, le meilleur des sept : le checkpoint de meilleure validation (époque 222) obtient une RMSE de test de 0.498 et un R² de 0.926.
AttentiveFP, le meilleur des sept : le checkpoint de meilleure validation (époque 222) obtient une RMSE de test de 0.498 et un R² de 0.926.
GIN avec caractéristiques de liaison : RMSE de test 0.528 et R² 0.916, proche d'AttentiveFP avec 25 fois moins de paramètres.
GIN avec caractéristiques de liaison : RMSE de test 0.528 et R² 0.916, proche d'AttentiveFP avec 25 fois moins de paramètres.
Métriques d'entraînement (gauche) et de validation (droite) du MPNN sur ESOL. Le checkpoint de meilleure validation (époque 195) obtient une RMSE de test de 0.645 et un R² de 0.875.
Métriques d'entraînement (gauche) et de validation (droite) du MPNN sur ESOL. Le checkpoint de meilleure validation (époque 195) obtient une RMSE de test de 0.645 et un R² de 0.875.
La première molécule d'ESOL (l'amygdaline), rendue avec RDKit : 32 atomes deviennent 32 nœuds de graphe avec 9 caractéristiques chacun.
La première molécule d'ESOL (l'amygdaline), rendue avec RDKit : 32 atomes deviennent 32 nœuds de graphe avec 9 caractéristiques chacun.

Entrée

mgnn-predict --checkpoint checkpoints/mpnn/best.pt "CCO" "c1ccccc1"

Sortie

1.195 log(mol/L) CCO -1.633 log(mol/L) c1ccccc1

Sortie réelle du MPNN entraîné pour l'éthanol et le benzène. Leurs valeurs mesurées sont 1.10 et -1.64 ; les deux molécules font partie d'ESOL, ceci montre donc que l'outil fonctionne, pas sa généralisation.

Stack technique

Ce que j’ai appris

Limites

Mots-clés

réseaux de neurones sur graphes · GNN · GCN · réseau convolutif sur graphes · MPNN · réseau à passage de messages · DCNN · AttentiveFP · GraphSAGE · réseau d'attention sur graphes · GAT · réseau d'isomorphisme de graphes · GIN · réseau de neurones à convolution de diffusion · PyTorch Geometric · PyTorch · RDKit · chémoinformatique · prédiction de propriétés moléculaires · graphes moléculaires · SMILES · MoleculeNet · ESOL · prédiction de solubilité aqueuse · découverte de médicaments · deep learning