PyGCL icon indicating copy to clipboard operation
PyGCL copied to clipboard

关于Negative Sampling Strategies

Open Heihaierr opened this issue 3 years ago • 15 comments

您好,我正在尝试给GRACE.py加上一些负采样策略,直接使用GCL.losses.DebiasedInfoNCE或GCL.losses.HardnessInfoNCE都会报错,检查后发现是图中80行dim的问题,我将80行修改为81行能够跑通,但是测试f1特别低,为0.2,0.3的样子,请问我修改的是否有问题?以为对于其他负采样,ring,hardmixing的使用有没有更详细的说明文档? image

Heihaierr avatar Jul 31 '22 12:07 Heihaierr

ring和hardmixing接上都正常了,但是GCL.losses.DebiasedInfoNCE或GCL.losses.HardnessInfoNCE还是很低,很奇怪

Heihaierr avatar Aug 02 '22 02:08 Heihaierr

readme里提到的model.ring和hardmixing不在了啊,是迁到loss文件里了吗?

ring和hardmixing接上都正常了,但是GCL.losses.DebiasedInfoNCE或GCL.losses.HardnessInfoNCE还是很低,很奇怪

sunisfighting avatar Aug 08 '22 06:08 sunisfighting

readme里提到的model.ring和hardmixing不在了啊,是迁到loss文件里了吗?

ring和hardmixing接上都正常了,但是GCL.losses.DebiasedInfoNCE或GCL.losses.HardnessInfoNCE还是很低,很奇怪

是的,在loss里面,你这边GCL.losses.DebiasedInfoNCE或GCL.losses.HardnessInfoNCE跑正常吗?

Heihaierr avatar Aug 08 '22 07:08 Heihaierr

@Heihaierr ringloss为啥输入有Y啊 那不就引入标签信息了?还有那个hardmixing里有个projection, 那其输入的z1,z2还需要projection吗?
Debiased 和hardness的我还没跑,在看原论文的伪代码和github,能调正常的话再跟你说一下哈

sunisfighting avatar Aug 08 '22 11:08 sunisfighting

ringloss的y没有参与采样,相关的代码注释掉就可以了;hardmixing就把encoder的project传进去就行

Heihaierr avatar Aug 08 '22 11:08 Heihaierr

ringloss的y没有参与采样,相关的代码注释掉就可以了;hardmixing就把encoder的project传进去就行

image 是这样吗,这个ring的实现好像没有退火,ring的原论文中是说退火可能会涨几个点=.=

hardmixing我也是那样搞的~

我发现debiasedloss那个num_neg有问题,应该是在dim=1上求和?

sunisfighting avatar Aug 08 '22 11:08 sunisfighting

ringloss的y没有参与采样,相关的代码注释掉就可以了;hardmixing就把encoder的project传进去就行

image 是这样吗,这个ring的实现好像没有退火,ring的原论文中是说退火可能会涨几个点=.=

hardmixing我也是那样搞的~

我发现debiasedloss那个num_neg有问题,应该是在dim=1上求和? debiasedloss 你按我81行改能跑通,我看了好多遍也觉得没问题

Heihaierr avatar Aug 08 '22 11:08 Heihaierr

@Heihaierr 我纯GRACE在wikics能跑出79.3+(标准划分20次平均),请问这正常吗。。。

sunisfighting avatar Aug 08 '22 12:08 sunisfighting

@Heihaierr 我纯GRACE在wikics能跑出79.3+(标准划分20次平均),请问这正常吗。。。

我跑出来只有72,,你加上dcl后呢?

Heihaierr avatar Aug 08 '22 12:08 Heihaierr

@Heihaierr 我纯GRACE在wikics能跑出79.3+(标准划分20次平均),请问这正常吗。。。

我跑出来只有72,,你加上dcl后呢?

为什么差这么多。。加dcl略有提升,你把那个num_neg按我说的改了试试。

sunisfighting avatar Aug 08 '22 13:08 sunisfighting

@Heihaierr GCA和proGCL在wikics你跑过吗,为啥都只有32+,看半天看不出哪有问题。。

sunisfighting avatar Aug 09 '22 07:08 sunisfighting

你能不能把你修改后的dcl部分代码截图发我一下,我把num_neg改了还是很低。我GCA和proGCL在wikics上跑都挺正常的 @sunisfighting

Heihaierr avatar Aug 09 '22 13:08 Heihaierr

@Heihaierr 留个邮箱我们私聊吧哈哈

sunisfighting avatar Aug 12 '22 00:08 sunisfighting

[email protected] @sunisfighting

Heihaierr avatar Aug 12 '22 01:08 Heihaierr

感谢关注。如果方便的话可以把修改好的配置文件发出来,我们merge到repository里。

SXKDZ avatar Nov 10 '22 04:11 SXKDZ