Rikui Huang
Rikui Huang
细节问题就不说了,说主要的部分: 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中使用的是关系梯度进行的梯度更新。 在按照[作者提供的设置](https://github.com/ngl567/GANA-FewShotKGC/issues/13#issuecomment-1127150204)上用NELL数据集尝试了许多代码,结果如下: - 修改TransH中超平面的更新为论文中的更新方式,MRR的性能由0.320左右下降至0.290左右 - 将邻居编码器的mask和关系聚合方式修改为论文中的描述,MRR性能在0.300~0.320左右 - 如果严格按照MetaR中的Pre-Train实验设置,MRR的性能大约在0.270以下 作者得到的结果应该是在In-Train设置下得到的结果,根据[MetaR](https://github.com/AnselCmy/MetaR) 提供的结果(该结果可被复现),In-Train设置下NELL的结果更好,比MetaR原始论文报告好很多。In-Train设置下,MetaR在WIKI上确实受到噪声影响,这个工作Gate的提出也是基于这个motivation。于是跑了WIKI数据,MRR在0.290左右,相比于MetaR确实显著提升。 总结: 1....