推荐模型中双塔模型早已经普及.一个塔学用户表达.一个塔学item表达.很多双塔模型用各种各样的in-batch负采样策略.十方也是如此.往往使用比较大的batchsize,效果会比较好,但是由于内存限制,训练效率会比较低.这篇论文《Cross-Batch Negative Sampling for Training Two-Tower Recommenders》发现encoder的输出在warming up的训练过程后就比较稳定了,基于此提出一个高效负采样的方法Cross Batch Negative Sampling (CBNS),该方法充分使用了最近编码过的item embedding来加速训练过程.
CBNS
关于问题定义就不赘述了,双塔已经写了很多了,计算用户与item相似度也是用简单的点积。loss最典型的就是用sampled softmax:
提升训练效率,最好使的就是batch内负采样了,如下图(a)所示。