Omar Sanseviero
Omar Sanseviero

@osanseviero

10 Tweets 1 reads Jan 17, 2023
Graphs are **everywhere**, from social media and knowledge systems to molecules and meshes! πŸ§‘β€πŸ«
Want to learn about Machine Learning for Graphs? Check out this thread! 🧡
Graphs are denoted as G(V,E), with V being its vertices (nodes in the graph) and E being its edges (connections or links).
In a social network, the vertices would be its users, and the edges would be the connections. 🐦
Many tasks with industry applications can be solved with graphs!
πŸ’Š Graph generation: used in drug discovery
πŸ”₯ Graph evolution: physics
βš›οΈGraph level prediction (e.g. classification or regression): e.g. for toxicity of a molecule
- Graph node prediction: Alphafold uses it to predict how molecules get folded in 3D space, a bio-chemistry problem
- Graph edge prediction: Predict missing edges, e.g. for drug side effect prediction or recommendation systems.
deepmind.com
If you've taken a data structures class, you might know graphs can be represented differently with different pros and cons. Adjacency matrix and adjacency list are the most common representations.
Compared to other data structures used in ML, graphs are not trivial to split
Now let's do some ML!
Before neural networks, engineered features were commonly used (e.g., centrality, degree, clustering coefficient, graphlets degree vector, etc). Nowadays, they are used for data augmentation and semi-supervised learning
RNNs and CNNs do not work well by default, as permutations of the graphs will yield different results (permutation invariant).
Graph Neural Networks were introduced to have a NN that could deal with graphs. Each layer represents a node as the aggregation of its neighbours.
Works with different ideas of aggregation have been proposed since then
- Graph Convolutional Networks (the most common)
- Graph Attention Networks
- GraphSAGE
- and more!
Recently people started to play with transformers applied for graphs (Graph Transformers).
Two highlights are Microsoft's Graphormer (microsoft.com) and TokenGT (arxiv.org)
There is a survey about transformers for graphs in github.com
This thread was fully inspired by @clefourrier great blog post huggingface.co. Check it out if the topic is of interest to you! I hope you found this useful

Loading suggestions...