GANA-FewShotKGC icon indicating copy to clipboard operation
GANA-FewShotKGC copied to clipboard

实验设置不符,代码和论文不符,实验结果有差距

Open yyysfff opened this issue 2 years ago • 2 comments

细节问题就不说了,说主要的部分:

  1. 实验设置问题:论文中使用的数据集的描述是MetaR的Pre-train设置下的数据集,在main_gana.py的line 27直接设置为In-Train导致参数data_from设置仅设置了实体嵌入的初始化是使用预嵌入的还是随机初始化的。
  2. 邻居编码和门控部分:论文中公式1, 2涉及实体邻居编码部分,代码中的Bias,relu的顺序和论文中的不符合,邻居注意力的过程中没有对dummy邻居进行mask,公式5的bias也没有,如果是用nn.Linear自带的Bias会导致bias与门控关联。对应于model_gana.py的line 161~line 170。
  3. 关系表示聚合部分:公式中是对每一个LSTM的隐层输出做注意力机制加权求和,代码中用few+1步的最后隐层输出对前面few个relation输出求注意力加权求和。公式11~ 公式13论文和代码完全对不上。对应于model_gana.py的line 59 ~ line 65。
  4. MTransH部分:论文公式14与代码实现不符,根据TransH的原理,代码部分应该是正确的,应该是写作疏忽。然而,公式19描述的超平面梯度更新在代码model_gana.py的line 226中使用的是关系梯度进行的梯度更新。

在按照作者提供的设置上用NELL数据集尝试了许多代码,结果如下:

  • 修改TransH中超平面的更新为论文中的更新方式,MRR的性能由0.320左右下降至0.290左右
  • 将邻居编码器的mask和关系聚合方式修改为论文中的描述,MRR性能在0.300~0.320左右
  • 如果严格按照MetaR中的Pre-Train实验设置,MRR的性能大约在0.270以下

作者得到的结果应该是在In-Train设置下得到的结果,根据MetaR 提供的结果(该结果可被复现),In-Train设置下NELL的结果更好,比MetaR原始论文报告好很多。In-Train设置下,MetaR在WIKI上确实受到噪声影响,这个工作Gate的提出也是基于这个motivation。于是跑了WIKI数据,MRR在0.290左右,相比于MetaR确实显著提升。

总结:

  1. 论文中很多内容与代码对应不上。
  2. 首先数据集设置应该是In-Train的设置,但初始化是使用预训练的初始化。
  3. 实验结果难以复现,且差距显著。
  4. Gate方法对于In-Train设置下WIKI数据集的噪声影响确实有消除作用。

yyysfff avatar Jul 06 '22 12:07 yyysfff

按作者说的,主要是将max_neighbor设置为200,lstm的隐层设置为700,多尝试几个随机种子应该是能跑出来结果的。我当时是用3090跑了1~10的随机种子,有0.32的结果,不过大多数结果可能是在0.30左右。

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2022年9月21日(星期三) 晚上8:00 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [ngl567/GANA-FewShotKGC] 实验设置不符,代码和论文不符,实验结果有差距 (Issue #14)

大佬好,请问这个代码如何修改才能将shot5的MRR跑到0.32呀?做了好多修改但是性能还是很差。请大佬指教!

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

yyysfff avatar Sep 21 '22 12:09 yyysfff

感谢大佬抽空回复!我改了参数再去多试试看,非常感谢!

南京航空航天大学_刘毅 @.***

 

------------------ 原始邮件 ------------------ 发件人: "ngl567/GANA-FewShotKGC" @.>; 发送时间: 2022年9月21日(星期三) 晚上8:09 @.>; @.@.>; 主题: Re: [ngl567/GANA-FewShotKGC] 实验设置不符,代码和论文不符,实验结果有差距 (Issue #14)

按作者说的,主要是将max_neighbor设置为200,lstm的隐层设置为700,多尝试几个随机种子应该是能跑出来结果的。我当时是用3090跑了1~10的随机种子,有0.32的结果,不过大多数结果可能是在0.30左右。

------------------ 原始邮件 ------------------ 发件人: @.>;
发送时间: 2022年9月21日(星期三) 晚上8:00 收件人: @.
>;
抄送: @.>; @.>;
主题: Re: [ngl567/GANA-FewShotKGC] 实验设置不符,代码和论文不符,实验结果有差距 (Issue #14)

大佬好,请问这个代码如何修改才能将shot5的MRR跑到0.32呀?做了好多修改但是性能还是很差。请大佬指教!

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.> — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.>

liuyi1018789993 avatar Sep 21 '22 12:09 liuyi1018789993