Table of Contents
Fetching ...

The $μ\mathcal{G}$ Language for Programming Graph Neural Networks

Matteo Belenchia, Flavio Corradini, Michela Quadrini, Michele Loreti

TL;DR

It is shown how $\mu\mathcal{G}$ programs can be represented in a more user-friendly graphical visualization, and examples of its generality by showing how it can be used to define some of the most popular graph neural network models, or to develop any custom graph processing application.

Abstract

Graph neural networks form a class of deep learning architectures specifically designed to work with graph-structured data. As such, they share the inherent limitations and problems of deep learning, especially regarding the issues of explainability and trustworthiness. We propose $μ\mathcal{G}$, an original domain-specific language for the specification of graph neural networks that aims to overcome these issues. The language's syntax is introduced, and its meaning is rigorously defined by a denotational semantics. An equivalent characterization in the form of an operational semantics is also provided and, together with a type system, is used to prove the type soundness of $μ\mathcal{G}$. We show how $μ\mathcal{G}$ programs can be represented in a more user-friendly graphical visualization, and provide examples of its generality by showing how it can be used to define some of the most popular graph neural network models, or to develop any custom graph processing application.

The $μ\mathcal{G}$ Language for Programming Graph Neural Networks

TL;DR

It is shown how programs can be represented in a more user-friendly graphical visualization, and examples of its generality by showing how it can be used to define some of the most popular graph neural network models, or to develop any custom graph processing application.

Abstract

Graph neural networks form a class of deep learning architectures specifically designed to work with graph-structured data. As such, they share the inherent limitations and problems of deep learning, especially regarding the issues of explainability and trustworthiness. We propose , an original domain-specific language for the specification of graph neural networks that aims to overcome these issues. The language's syntax is introduced, and its meaning is rigorously defined by a denotational semantics. An equivalent characterization in the form of an operational semantics is also provided and, together with a type system, is used to prove the type soundness of . We show how programs can be represented in a more user-friendly graphical visualization, and provide examples of its generality by showing how it can be used to define some of the most popular graph neural network models, or to develop any custom graph processing application.
Paper Structure (39 sections, 15 theorems, 46 equations, 4 figures, 9 tables)

This paper contains 39 sections, 15 theorems, 46 equations, 4 figures, 9 tables.

Key Result

lemma 1

Given two GNNs $\phi_1, \phi_2$ we have

Figures (4)

  • Figure 1: Graphical representation of basic $\mu\mathcal{G}$ expressions.
  • Figure 2: Graphical representation of the possible compositions of $\mu\mathcal{G}$ expressions.
  • Figure 3: Example graphical representation of the $\mu\mathcal{G}$ expression $(\psi_1 || \psi_2);\psi_3;\lhd_{\sigma}^{\varphi}$.
  • Figure 4: Execution times of $\mu\mathcal{G}$ (split and full setups), pyModelChecking, and mCRL2 across 13 Petri net models from the Model Checking Contest 2022. The y-axis is on a logarithmic scale. On the twelfth Petri net, the red bar indicates that the $\mu\mathcal{G}$ model ran out of memory after the pre-processing step.

Theorems & Definitions (23)

  • definition 1: Parallel composition of node-labeling functions
  • definition 2
  • definition 3
  • definition 4
  • lemma 1
  • definition 5: Parallel composition of graph neural networks
  • theorem 1
  • definition 6: Syntax of $\mu\mathcal{G}$
  • definition 7
  • lemma 2
  • ...and 13 more