Structured Machine Learning Group

Structured Machine Learning Group

Here you can find a list of master thesis proposals.


Graph Autoencoder: learning the decoding part

Implement a GAE able to learn the decoding part.

Key words: GNN, Autoencoder
Co-advisor: Antonio Longa
Date: 20/12/2021

Graph Auto-Encoders (GAE) and Variational Graph Auto-Encoders (VGAE) use a GCN to produce a node embedding. The node embedding is then multiplied by itself reconstructing the input adjacency matrix.
This model has been shown to work really well when the input graph is a unique big graph. However, it is not so easy to extend this to an array of graphs (i.e. molecules).

The student has to work on the decoding part, in particular, one easy solution could be to fix the maximum size of the input graph and then use a feed-forward network to reconstruct the matrix. A more robust solution could be the one of implementing an RNN to reconstruct the adj matrix.

References:

Requirements: Machine learning, Advance topics in Machine Learning, Python

Boosting GNN performance

Can we increase interpretability or performance of GNN adding as node features topological featrures?

Key words: GNN, Explenability, Networks
Co-advisor: Antonio Longa
Date: 20/12/2021

In order to make GNN works, we need node features. Usually, when a dataset does not have node features, we can simply add an array of ones as node features. An important question arises, how does the size of those features affect the GNN performance?. On the other hand, one could also try to help the GNN by adding node features that can increase the performance of the network. (i.e clustering coefficient, assortativity,...). The student has to explore how different shapes of node features and how topological information can boost the GNN performance.

References:

Requirements: Machine learning, Networks basics, Python

GNN for social context classification

Embed temporal networks in a latent space, then explore it.

Key words: GNN,Temporal Networks
Co-advisor: Antonio Longa
Date: 20/12/2021

Social interactions can be modelled as temporal networks (i.e. networks evolving in time). One simple solution to work with temporal graphs is to create an ordered sequence of static graphs. Once you have an ordered sequence of static graphs, you can apply standard techniques to build your own GNN. On the other hand, researchers developed GNN working with temporal graphs. The student has to compare the latent space created by the standard GNN and the temporal one.

References:

Requirements: Machine learning, Networks basics, Python