allegro/allRank

ndcgLoss2PP backpropagation

blodstone opened this issue · 2 comments

The ndcgLoss2PP needs EM to optimise (according to the paper). I couldn't find EM implementation in the code, maybe I miss something? Could someone briefly explain what is happening (or any reference)?

In the E step, the permutation distribution is calculated (given model scores) and later, in the M step, the ranking model is re-estimated to minimize the negative likelihood. However, in the paper, a hard assignment distribution is used for the probability distribution, where P(pi|s) = 1 only for the permutation pi in which all documents are sorted by decreasing scores s.

So, in essence, this boils down to the usual approach - sort by decreasing scores & calculate loss.

Closing the issue. If there are any further questions, please reopen.