Structured Machine Learning Group
Here you can find a list of master thesis proposals.
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, PythonIn 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, PythonSocial 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