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

Pretrain performance? #5

Open
vcpudding opened this issue Apr 26, 2021 · 8 comments
Open

Pretrain performance? #5

vcpudding opened this issue Apr 26, 2021 · 8 comments

Comments

@vcpudding
Copy link

在ColdRec2数据集上pretrain,收敛的时候正常的HR@5应该是多少?
'mrr_5:', 0.030770833333333344, 'hit_5:', 0.05375, 'ndcg_5:', 0.03643626106347057
这个数值范围是不是预训练不成功?

@fajieyuan
Copy link
Owner

我没记错的话mrr_5应该是0.047左右,按照论文提供的超参数应该是可以得到这个值的,建议看下是否converge

@vcpudding
Copy link
Author

100+个batch之后训练集和验证集的loss下降都很不明显,判断converge主要是看mrr_5这几个数值的变化情况吗?

@fajieyuan
Copy link
Owner

我记得代码会隔一段时间打印accuracy,采用accuracy判断更可靠些。请核对一下相关超参数跟论文中是否有出入,100个batch肯定不行,可以算一下总样本有多少,100个batch可能还不到总样本的十分之一,至少需要pre-train 10个小时以上

@vcpudding
Copy link
Author

感谢原教授我的实验复现成功了
然后,这可能是另一个问题:为什么demo数据里的pretrain和finetune数据都是一一对应的?如果在pretrain时加入更多在target domain没有交集用户的数据,对系统整体性能会有什么影响?

@fajieyuan
Copy link
Owner

demo写法主要是未来让刚学习这个算法的同学好理解,可以的,pre-train可以包含更多的用户,finetune可以仅仅其中一部分用户,建议写个词典对应准确就可以,不要错位,我代码是最简单的写法,主要是为了好读

@fajieyuan
Copy link
Owner

感谢原教授我的实验复现成功了
然后,这可能是另一个问题:为什么demo数据里的pretrain和finetune数据都是一一对应的?如果在pretrain时加入更多在target domain没有交集用户的数据,对系统整体性能会有什么影响?

demo写法主要是未来让刚学习这个算法的同学好理解,可以的,pre-train可以包含更多的用户,finetune可以仅仅其中一部分用户,建议写个词典对应准确就可以,不要错位,我代码是最简单的写法,主要是为了好读

@jh-lau
Copy link

jh-lau commented May 11, 2022

hello, 这里提到的词典对应、不要错位是啥意思?我理解finetune的user ids应该是pre-train用到的user ids的子集即可?

@fajieyuan
Copy link
Owner

fajieyuan commented May 11, 2022 via email

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