Training LightSANs and it gives terrible results. A way to reproduce the paper's performance? #1234
Unanswered
Jeriousman
asked this question in
Q&A
Replies: 1 comment 1 reply
-
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I trained lightSANs model with code below.
The result shows me this
Screenshot below is performance reported by official paper of lightSANs
Here are my questions.
First, based on my analysis of my model prediction result, it seems that my model is not really learning anything. Above code I shared, is there anything crucial I am missing or making mistakes of?
Why the result of my model is 'hit@10', 0.99735, 'ndcg@10', 0.68633 in decimals but papers always have like Hit@10 22.84, ndcg@10 11.45? Is it because my model is merely too terrible? (It is actually terrible) or is it because Recbole always normalizes values between 0 and 1 whereas papers normally use % so they multiply 100 to result of recbole? But even if I multiply to recbole's result by 100 to 0.99735 hit rate, it is 99.735 which is unrealistically promising whereas my model is actually rubbish.
Because it seems terrible, I tried an analysis of the result. Taking one batch from valid_data, and compared ground truth and predicted values. Code is as below.
interaction[0]['item_id'] #groud truth item for next item prediction is as below.
argmaxidx = scores.argmax(-1) is as below
I see basically the model is predicting rubbish. This means I was wrong very much somewhere when I trained. So my questions are,
Is my way of analysis right to compare predicted values and actual ground truth values? I guess I am right, but I wanna be sure.
Am I correctly saying based on my analysis? If I am, like I mentioned in question 1, where should be fixed? What is critically so wrong in my code? (very much a duplicated question to question 1 though)
Thank you very much in advance.
Beta Was this translation helpful? Give feedback.
All reactions