I have a dataset made of pairs of graphs and a binary label (0 or 1 depending on if the graphs are similar). I am trying to find a model that, when given two graphs, will output if these two graphs are similar or not.
I am not very familiar with ML and don't really know how to get started with this problem. For now I have found following ideas:
- There are several publications on how to use graphs as an input for a neural network (GCN, GGNN). These models usually take one graph as input and will output either another graph or a value. They can for example be used for graph classification.
- Siamese networks can be used to solve similarity problems, for example returning 1 if two input images match.
From what I've understood so far, I should probably find some way to combine these two approaches: basically a siamese network taking two graphs as input. I can represent each graph as an adjacency matrix + a feature vector for each node. However I don't know where to go from this.
Do you have any ideas on what a good approach would be? And ideally, do you know any existing implementation that I could use directly or quickly adapt to my problem?