Problem with training graph embedding network #2520
Unanswered
bsmietanka
asked this question in
Q&A
Replies: 1 comment
-
I think one problem of your model implementation is that you apply a final |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
I wanted to create a plagiarism classifier for source code functions. I have a custom dataset and I convert text representation into program dependence graph. Firstly I used Weissfeiler-Lehman kernel for computing similarity between these graphs to set up some kind of baseline for my plagiarism classifier. I got really good results, around 95% accuracy on a balanced test set consisting of couple thousand pairs (50% plagiarism, 50% nonplagiarism).
After this experiment I thought that training a GNN that would get a similar results wouldn't be a problem. From what I read in "How Powerful are Graph Neural Networks?" (https://arxiv.org/abs/1810.00826) GNNs could achieve as good discriminative ability as WL test.
This is a code for my model (which is strongly inspired by some great examples I found in this repository, thank you for this):
I tried different approaches to train this model:
Both approaches have failed miserably, after a lot of effort with tuning hyperparameters like learning rate, batch size, changing pooling method, I was still stuck in the same place. That is model output is more or less random. Even though training loss is getting smaller it doesn't translate into better results during evaluation. I was not able to overfit on my training dataset, I tried to make it a toy dataset, consisting of only 10 unique functions (probably like 1000 source code files), but with no result.
So my questions are:
If you have any other suggestions of what I could try out I would really appreciate it.
Thanks in advance for your help
Beta Was this translation helpful? Give feedback.
All reactions