Hello,
I’m preparing kind of a recommendation system using the PinSAGE implementation.
When I try to train my solution I see a strange behaviour with the hit rate. It’s going up with about 20 epochs and after that there is a big drop (you can see the difference between hit rate on 20th epoch and 30th epoch) and it is slowly going up but never reaches this first peak. I make hit rate calculation every 10 epochs. I also print the average loss.
It looks like that:
Using backend: pytorch
Epoch 0 Loss: 122.11399285888672
Epoch: 0
Hit rate: 0.3664026345325731
Epoch 1 Loss: 59.51660490036011
Epoch 2 Loss: 39.41987954711914
Epoch 3 Loss: 28.36335273361206
Epoch 4 Loss: 20.957138288497926
Epoch 5 Loss: 15.979142642974853
Epoch 6 Loss: 12.33058010673523
Epoch 7 Loss: 9.658337178230285
Epoch 8 Loss: 7.630575436592102
Epoch 9 Loss: 6.068511297225952
Epoch 10 Loss: 4.863150416135788
Epoch: 10
Hit rate: 0.39968226096408715
Epoch 11 Loss: 3.9031551814079286
Epoch 12 Loss: 3.154141663789749
Epoch 13 Loss: 2.5607559390068055
Epoch 14 Loss: 2.0545004740953448
Epoch 15 Loss: 1.6670999923944474
Epoch 16 Loss: 1.3494259605407715
Epoch 17 Loss: 1.082959036052227
Epoch 18 Loss: 0.8667914329767227
Epoch 19 Loss: 0.6906157224774361
Epoch 20 Loss: 0.5525875874459744
Epoch: 20
Hit rate: 0.4047609399672613
Epoch 21 Loss: 0.4435155667066574
Epoch 22 Loss: 0.35093367248773577
Epoch 23 Loss: 0.28542937837541105
Epoch 24 Loss: 0.23810184639692306
Epoch 25 Loss: 0.20522870375216007
Epoch 26 Loss: 0.18567989604175092
Epoch 27 Loss: 0.1728948667049408
Epoch 28 Loss: 0.16246438314020634
Epoch 29 Loss: 0.15602478300035
Epoch 30 Loss: 0.1513732394874096
Epoch: 30
Hit rate: 0.3332715864761519
Epoch 31 Loss: 0.14752700643241407
Epoch 32 Loss: 0.14355326479673386
Epoch 33 Loss: 0.1410906110405922
Epoch 34 Loss: 0.13842755448818206
Epoch 35 Loss: 0.13563246604055165
Epoch 36 Loss: 0.13422372179478406
Epoch 37 Loss: 0.13225355531275274
Epoch 38 Loss: 0.13025877215713264
Epoch 39 Loss: 0.12920271898061036
Epoch 40 Loss: 0.12738460614532232
Epoch: 40
Hit rate: 0.33801580333625986
Epoch 41 Loss: 0.12646480268985033
Epoch 42 Loss: 0.12467606457322836
Epoch 43 Loss: 0.12327845005691052
Epoch 44 Loss: 0.12198871609568596
Epoch 45 Loss: 0.12085428339242935
Epoch 46 Loss: 0.11977985402941704
Epoch 47 Loss: 0.11893932873010635
Epoch 48 Loss: 0.11785990198701621
Epoch 49 Loss: 0.11675936836749315
Epoch 50 Loss: 0.11487281288206577
Epoch: 50
Hit rate: 0.3439139145899462
Is it a normal behaviour or something can be wrong inside my implementation?
Best regards