-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problems achieving TransE's original paper results on FB15K #189
Comments
Hi, @Rodrigo-A-Pereira , Thanks for reporting that. I ran 500 epochs with the default hyperparamters and got a similar result for Hits@10 while the filtered MR is much higher than yours:
|
Thanks for replying @baxtree, Your filtered filtered MR is indeed much closer to the original paper's results. After exploring this a bit more into it I came to the conclusion that the problem is probably derived by the dataset instead of the implementation of the algorithm, since when training the second dataset the TransE authors report on their paper (WN18), with the exact same parameters they use on that paper, I obtain very similar results to the reported ones: Original TransE paper for the WN18 dataset:
Results and hyperparameters used with pykg2vec on WN18:
As it can be seen, the Hits@10 result is much closer to the ones reported in the paper. It is not the case with MR, but it is not that surprising given the volatility of this metric, I assume that the MMR would be also very close to the original, had the authors used MMR . As such I deduce that it is propably related to the dataset somehow. Given that FB15K was been reported to suffer from major test leakage through inverse relations. However i still can't say for sure what is the reason for this disparity between the results of the original paper and this one when it comes to FB15K. |
Oh cool! In that case, we will add WR18 as a canonical dataset for TransE which may benefit other users. Sounds like the disparity in Hits* is definitely worth some further investigation. |
Hi @Rodrigo-A-Pereira ,
as the forward function shows, we normalize both entities and relations in the loop. Please check /pykg2vec/models/pairwise.py, (https://github.com/Sujit-O/pykg2vec/blob/master/pykg2vec/models/pairwise.py), TransE section for more detail. We are unsure about how much difference does this difference in implementation make, but it might contribute to a performance different from the numbers shown in the origional paper. We are still investigating the issue, and we will let you know when we have progress. Thank you for reporting the issue! Best, |
Hi @ArkDu, Thank you for replying. Yes that seems like a plausible difference that could justify the difference in results. |
Hi, I am having some trouble reproducing the same results the original author of TransE when it comes to the FB15K dataset. The hyperparameters I am using at the moment are the default TransE.yaml that are the same the original author recomends in the paper (except the batch size since they do not specify what they use in the paper):
Original Paper:
http://papers.nips.cc/paper/5071-translating-embeddings-for-modeling-multi-relational-data.pdf
Yaml File Hyperparaemters:
However the results that I am getting are higher (reaching a difference >10% in the case of filtered hit@10) than the original paper:
Original paper results:
Vs.
Pykg2vec TransE results:
To run the model im using the following:
python train.py -mn TransE -ds freebase15k -device "cuda"
Can somebody tell if I am doing something wrong in terms of calling the script, or hyperparameters choice. Or if not, an hypothesis in why such a difference exists?
Best regards,
Rodrigo Pereira
The text was updated successfully, but these errors were encountered: