Cross pairwsie ranking loss: unbiased bpr loss
    在一个batch中任意选择两个正样本: (u1,i_1) , (u_2,i_2)
    同时要保证:(u_1,i_2),(u_2,i_1)是负样本? (这有点困难,很可能i_2没有曝光给u_1.)
    相当于把任意两条样本组装成一条样本: (u_1,u_2,i_1,i_2),这条样本的loss为:
    ![](https://cdn.nlark.com/yuque/__latex/b1fd2c6af0cd4cfcb9c745520c6990f6.svg#card=math&code=L
    %7BCPR%7D%20%3D%20-ln%5Csigma%28%5Cfrac%7B1%7D%7B2%7D%28s%7Bu1%2Ci1%7D-s%7Bu1%2Ci2%7D%2Bs%7Bu2%2Ci2%7D-s%7Bu2%2Ci1%7D%29%29&id=W0PQE)

    在传统的pairwise bpr loss中,损失函数为:
    CPR LOSS - 图1

    引入user2的好处是什么?这里可以看做是:score(user_1,item_1) - score(user_2,item_1),相当于是debias了item_1的propensity。

    在一个batch中采样负样本时,对(user1,item1)而言,其余的item都是负例,构造出了batch_size-1个(user1,item_j),而现在要user两两cross,