TransE icon indicating copy to clipboard operation
TransE copied to clipboard

梯度更新

Open AryaFeng opened this issue 1 year ago • 3 comments

在进行梯度更新的时候,将self.entity和self.relation拷贝了下来,那么在整个for循环里面,又建立了几个新的变量h_correct_update等,根据代码这几个变量是进行梯度更新,但是更新后的值,没有保存到copy_entity里面,那么相当于是没有进行梯度更新(单纯的进行了后面的L1归一化)。麻烦您能帮我解决这个疑惑嘛

AryaFeng avatar Mar 30 '23 04:03 AryaFeng

我记得不是很清楚了,但是我理解的话,如果没有更新,是不会得到最终的结果的,你可以一步一步debug看看是否进行了更新,或者把归一化去掉看看有没有变化

zulihit avatar Mar 30 '23 05:03 zulihit

经debug测试,如果去掉L1归一化之后,一个epoch之后的self.entity和进行这个epoch之前的数据是保持一致的。

AryaFeng avatar Mar 30 '23 06:03 AryaFeng

好像数据有细微的变化,但是不能理解,我在debug试试。感谢您的回复。

AryaFeng avatar Mar 30 '23 07:03 AryaFeng