NVIDIA / DeepRecommender

Deep learning for recommender systems
MIT License
1.69k stars 341 forks source link

Movielens fix #7 #9

Closed miguelgfierro closed 6 years ago

okuchaiev commented 6 years ago

Looks good! Thank you. Have you tried running any experiments on Movielense?

miguelgfierro commented 6 years ago

I did, here the results so far using 1 NVIDIA P100:

*10 epochs,1gpu,bs=128,lr=0.005,hidden=512,512,1024,tr_time=1113s(18min),RMSE=0.8869814801625296
*50 epochs,1gpu,bs=256,lr=0.005,hidden=512,512,1024,tr_time=5026s(1.4h),RMSE=0.8500938244957209
*200 epochs,1gpu,bs=256,lr=0.005,hidden=512,512,1024,tr_time=19456s(5.4h),RMSE=0.8430963735001938

The rmse is lower than if you do ALS with a rank of 12, which I got 0.80. The next thing I will do is to try different layers. Have you done experiments with configurations in a diminishing order? like 512,512,256 or 512,256,128?

I noticed that when doing ALS if I use a rank of 200 I get RMSE of 0.97, but if I reduce the rank to 12 I get near 0.8. So maybe in this dataset we need a smaller latent space.

What is you experience on this?

okuchaiev commented 6 years ago

If ALS of rank 12 gets 0.80, I would try DeepRecommender with an architecture of 12,12. Making first layer large (e.g. 512,....) is dangerous because it can trigger severe over-fitting, because then first fully connected layer will be of size num_movies_x_512. In fact, even with Netflix, the most time I spent fighting over-fitting.

miguelgfierro commented 6 years ago

ok, thank you for the guidance, I'll do experiments on my end and I will share them with you.