Skip to content
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

transE参数设置问题 #31

Closed
shanry opened this issue Oct 11, 2017 · 27 comments
Closed

transE参数设置问题 #31

shanry opened this issue Oct 11, 2017 · 27 comments

Comments

@shanry
Copy link

shanry commented Oct 11, 2017

你好,TranE代码似乎并没有预设为最优的参数,直接跑的结果和transE论文有所差距,但是按照原论文Translating Embeddings for Modeling Multi-relational Data (2013) 中的参数来跑,结果竟然差得离谱,想请教一下参数如何设定才能跑出原论文以及TransR论文中的结果。以下是我再WN18上直接运行代码的结果;
18 40943
left:439.644 0.8028 425.411 0.9308
right:468.461 0.8108 455.947 0.9314
以及调整到原论文参数(method=unif,k=20,learning rate=0.01,margin=2)后的结果(这个显然不对):
18 40943
left:1351.67 0.1482 1340.44 0.1648
right:1475.97 0.142 1466.25 0.1548

@dajunxiao
Copy link

我也在看TransE和PTransE,你有跑FB15k的数据吗?

@shanry
Copy link
Author

shanry commented Oct 12, 2017

跑过了~
sharey@ubuntu:~/Downloads/KB2E-master/TransE$ ./Test_TransE bern
1345 14951
left:306.969 0.476224 187.107 0.680418
right:167.698 0.555399 90.9825 0.748591

@dajunxiao
Copy link

我跑的FB15k跟你的结果差不多,你有跑过PTransE里面的add吗?

@shanry
Copy link
Author

shanry commented Oct 12, 2017

还没。关键是 transE的结果都和论文有出入啊。

@zhangyi85
Copy link

的确,按照林博士说的,transE在wn调整了margin为4,效果会好些,但是还是达不到readme里面的结果。
而且维度调到50,transE的测试程序会很多实体报错,程序里面看貌似是模大于1的缘故

@shanry
Copy link
Author

shanry commented Oct 14, 2017

所以论文的结果到底能不能复刻,如果不知道最优参数就无法进行对比分析啊

@shanry
Copy link
Author

shanry commented Oct 22, 2017

你跑过wn18的数据吗 @dajunxiao

@dajunxiao
Copy link

没有跑过,我主要是把这个跑通、看懂。在我们项目中需要用到知识图谱的表示,然后用于做其他任务。 @shanry

@shanry
Copy link
Author

shanry commented Oct 22, 2017

好的,谢谢回复 @dajunxiao

@Mrlyk423
Copy link
Member

WN18的参数可以设置为margin=4.5, 不过个人更建议设置为1使得hits更大,mean rank受少数几个测试点影响较大,个人感觉参考意义没有hits大

@Mrlyk423
Copy link
Member

在WN18的参数为margin上升使得hits下降 mean rank变好

@shanry
Copy link
Author

shanry commented Oct 22, 2017

fb15k的结果也差得不少,为什么按照原论文给的参数都跑不出来,请问一下readme里面的结果是如何得到的呢?

@Mrlyk423
Copy link
Member

FB15k你的参数设置是?跑出的结果是?

@shanry
Copy link
Author

shanry commented Oct 22, 2017

直接跑的,结果在3楼

@Mrlyk423
Copy link
Member

结果基本一样吧 你跑的是bern的训练模式 hits会稍微高一些 mean rank会稍微低一些

@Mrlyk423
Copy link
Member

另外 参数设置请参考我TransR论文中进行设置 特别是learning rate需调为0.001

@shanry
Copy link
Author

shanry commented Oct 22, 2017

好的 ,我再跑一下 ,感谢你的回复

@codeants2012
Copy link

Mean rank是算left right平均吗? 还是算左右比较取最优

@shanry
Copy link
Author

shanry commented Oct 26, 2017

平均

@codeants2012
Copy link

TransG模型源码谁有

@sunFlower-y
Copy link

@shanry 你好,打扰了,请问你最后跑出来的结果和论文一样吗?

@shanry
Copy link
Author

shanry commented Jan 13, 2018

@sunFlower-y 不好意思,之前忘了回,meanrank可以差不多,但是参数和论文给的不太一样,fb15k需要把margin设置成4

@angryBird2014
Copy link

@shanry 你在WN18和FB15K上的参数能具体说下?(alpha,dimension,margin)

@shanry
Copy link
Author

shanry commented Mar 26, 2018

现在记不太清了,fb15k就是按照楼上Mrlyk423所说的,margin 设为4, alpha应该往小调, 我最后也没跑出readme的结果,勉勉强强吧。

@shanry
Copy link
Author

shanry commented Mar 26, 2018

@angryBird2014 你使用openKE的代码跑吧,有一个exampletrain文件,在fb15k的运行结果:
overall results:
left 243.981003 0.384199 0.173486 0.000000
left(filter) 82.931961 0.580437 0.361328 0.000000
right 162.132660 0.462444 0.226016 0.000000
right(filter) 60.069527 0.632510 0.409456 0.000000
第一个是meanrank,第二个是hit @ 10;

@Xiaobenbenben
Copy link

做自己的实验的时候,感觉TransE的模型对参数很敏感,效果能差很多

@nxznm
Copy link

nxznm commented Oct 17, 2019

In my experiment(implement TransE), my setting is embedding_dim=100; margin=4; score_func="L1"; batch_size=4800; learning_rate=0.001; max_epoch=900. Using FB15K dataset, I can achieve the results which the paper gives, I think margin=4 helps a lot, and I found as the epoch grows, the validation loss is going to be smooth, so I choose the embedding result in the 900th epoch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants