What are graph networks?

Graph networks can generalize and extend various types of neural networks to perform calculations on the graph. It can implement relational inductive bias, a technique used for reasoning about inter-object relations.

The graph networks framework is based on graph-to-graph modules. Each graph’s features are represented in three characteristics:

Nodes

Edges: Relations between the nodes

Global attributes: System-level properties

The graph network takes a graph as an input, performs the required operations and calculations from the edge, to the node, and to the global attributes, and then returns a new graph as an output.

The research paper argues that graph networks can support two critical human-like capabilities:

Relational reasoning: Drawing logical conclusions of how different objects and things relate to one another

Combinatorial Generalization: Constructing new inferences, behaviors, and predictions from known building blocks

Graph Nets

Graph Nets library can be installed from pip. To install the library, run the following command:

$ pip install graph_nets

The installation is compatible with Linux/Mac OSX, and Python versions 2.7 and 3.4+

The library includes Jupyter notebook demos which allow you to create, manipulate, and train graph networks to perform operations such as shortest path-finding task, a sorting task, and prediction task.

Each demo uses the same graph network architecture, thus showing the flexibility of the approach. You can try out various demos in your browser using Colaboratory. In other words, you don’t need to install anything locally when running the demos in the browser (or phone) via cloud Colaboratory backend.

You can also run the demos on your local machine by installing the necessary dependencies.

What’s ahead?

The concept was released with ideas not only based in artificial intelligence research but also from the computer and cognitive sciences. Graph networks are still an early-stage research theory which does not yet offer any convincing experimental results. But it will be very interesting to see how well graph networks live up to the hype as they mature.