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

About the result #1

Closed
QinHsiu opened this issue Jun 1, 2023 · 14 comments
Closed

About the result #1

QinHsiu opened this issue Jun 1, 2023 · 14 comments

Comments

@QinHsiu
Copy link
Owner

QinHsiu commented Jun 1, 2023

问题:在复现你们的结果时,发现你们使用的时伯乐0.2.1这个框架。由于伯乐框架的便捷性,我在你们的源代码上复现了像SASRec、GRU4Rec等模型,但是结果却远远比你们论文中报告的要高得多。比如:论文中报告的SASRec在Sports上的结果如上,而我自己在伯乐上复现的结果是:H5::0.0321,H10::0.0488,H20::0.0712,N5::0.0177,N10::0.023,N20::0.0287。其他一些基线模型在伯乐中复现也均比论文中报告的要高。

@QinHsiu
Copy link
Owner Author

QinHsiu commented Jun 1, 2023

首先非常你关注我们的工作,就是你在复现SASRec的时候用的RecBole的框架,请问他的loss你是用的原本SASRec论文中的还是直接使用的Recbole自带的SASRec代码,因为RecBole中SASRec的推荐loss与原本论文中是不一样的,你可以具体看看对应的损失计算方法。

@zyx1017
Copy link

zyx1017 commented Jun 1, 2023

@QinHsiu 你好!请问你是自己实现了BCE损失嘛?RecBole框架中只有CE和BPR损失,我试过换成BPR损失,但是结果十分的低

@QinHsiu
Copy link
Owner Author

QinHsiu commented Jun 1, 2023 via email

@QinHsiu
Copy link
Owner Author

QinHsiu commented Jun 1, 2023 via email

@QinHsiu QinHsiu pinned this issue Jun 1, 2023
@zyx1017
Copy link

zyx1017 commented Jun 5, 2023

@QinHsiu 你好,我没太看懂Contrastive Regularization模块具体是怎么起作用的?能稍微解释一下吗

@QinHsiu
Copy link
Owner Author

QinHsiu commented Jun 5, 2023

在对比学习过程中,因为这里引入了模型增强部分的对比损失(论文中有指出一共有四个对比损失函数),这就会存在一种可能就是其中两个对比损失函数会使得某一视图变换的方向不一致,我们通过实验也发现直接训练会导致原本是正样本对的两个视图表示趋于分散(参看图2)。因此我们讨论得出应该添加一个正则项,这个正则项主要目的是约束模型增强所生成的视图让每两个对比视图中正样本对与负样本对不要相差太大,趋于一个中性范围。

@zyx1017
Copy link

zyx1017 commented Jun 5, 2023

好的,谢谢。那正则化公式就是去取最大值和最小值的一个中性范围是吗?

@QinHsiu
Copy link
Owner Author

QinHsiu commented Jun 5, 2023

不客气,是的。

@zyx1017
Copy link

zyx1017 commented Jun 28, 2023

@QinHsiu 你好,请问你能提供每个数据集的超参数设置吗,以便我对结果的复现。
hidden_dropout_prob: 0.5
attn_dropout_prob: 0.5
mask_ratio: 0.5
crop_ratio: 0.5
reorder_ratio: 0.8
lmd: 0.0
beta: 0.01
use_rl: 1
joint: 0

@QinHsiu
Copy link
Owner Author

QinHsiu commented Jun 29, 2023

对于随机数据增强部分,我们在训练的过程中使用了默认的参数(也即原本配置中的设置);
对于dropout我们三个数据集也都是使用的0.5;
对于正则我们三个数据集都使用了,其值为1;
对于联合训练部分,我们都是使用的元更新的策略,其值为0;
对于lmd和beta,三个数据集使用了不同的值,Beauty数据集{lmd:0.0,beat:0.05},Sports数据集{lmd:0.04,beta:0.4},Yelp数据集{lmd:0.03,beat:0.04},另外我们三个数据集都提供了训练好的pt,可以直接进行eval验证;

@zyx1017
Copy link

zyx1017 commented Jun 29, 2023

@QinHsiu 谢谢你的解答!随机数据增强部分,我们在训练的过程中使用了默认的参数(也即原本配置中的设置) 这句话的意思是三个数据集都使用mask_ratio: 0.5 crop_ratio: 0.5 reorder_ratio: 0.8 这个配置吗?

@QinHsiu
Copy link
Owner Author

QinHsiu commented Jun 29, 2023

@QinHsiu 谢谢你的解答!随机数据增强部分,我们在训练的过程中使用了默认的参数(也即原本配置中的设置) 这句话的意思是三个数据集都使用mask_ratio: 0.5 crop_ratio: 0.5 reorder_ratio: 0.8 这个配置吗?
不客气,参数设置是这个配置,欢迎提问。

@QinHsiu QinHsiu closed this as completed Aug 11, 2023
@OKAKIL
Copy link

OKAKIL commented May 19, 2024

你好,非常感谢你们文章的开源。我有一个问题:RecBole自带数据增强,你们论文并没有用benchmark_file name自划分数据集,我看你们论文说(并没有生成新的项目序列,而是只存储了索引)。请问你们这块怎么处理的,能麻烦详细阐述一下吗?

@QinHsiu
Copy link
Owner Author

QinHsiu commented May 26, 2024

你好,非常感谢你们文章的开源。我有一个问题:RecBole自带数据增强,你们论文并没有用benchmark_file name自划分数据集,我看你们论文说(并没有生成新的项目序列,而是只存储了索引)。请问你们这块怎么处理的,能麻烦详细阐述一下吗?

你好,非常感谢你的提问,为了进行公平的比较,我们数据集划分的方式与DuoRec是一致的,另外我们提供了数据处理部分的代码,任何一个数据集只要有按照时间戳排好序的item序列文件,就可以直接使用我们的模型进行运行。

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

3 participants