À quel point les réseaux d'attention sur graphes sont-ils attentifs ?

Les réseaux de neurones à attention sur graphes (Graph Attention Networks, GATs) sont l'une des architectures de GNN les plus populaires et sont considérés comme l'état de l'art pour l'apprentissage de représentations avec des graphes. Dans un GAT, chaque nœud porte une attention à ses voisins en utilisant sa propre représentation comme requête. Cependant, dans cet article, nous montrons que le mécanisme d'attention utilisé par GAT est très limité : le classement des scores d'attention ne dépend pas du nœud requête. Nous définissons formellement ce type d'attention restreint comme une attention statique et le distinguons d'une attention dynamique strictement plus expressive. Étant donné que les GATs utilisent un mécanisme d'attention statique, il existe des problèmes simples sur les graphes que les GATs ne peuvent pas exprimer : dans un problème contrôlé, nous montrons que l'attention statique empêche les GATs de s'adapter même aux données d'entraînement. Pour lever cette limitation, nous proposons une correction simple en modifiant l'ordre des opérations et introduisons GATv2 : une variante d'attention dynamique sur graphe qui est strictement plus expressive que GAT. Nous effectuons une évaluation approfondie et démontrons que GATv2 surpasses GAT sur 11 benchmarks OGB et d'autres critères tout en maintenant leurs coûts paramétriques. Notre code est disponible à l'adresse https://github.com/tech-srl/how_attentive_are_gats . GATv2 est intégré dans la bibliothèque PyTorch Geometric, la Deep Graph Library et la bibliothèque TensorFlow GNN.