首页 > 解决方案 > 用于训练具有对比损失的排名模型的批处理结构?

问题描述

如果我用例如训练一个深度排名模型,我该如何选择我的批次。每个查询有 1 个正文档和 2 个负样本的对比损失?

因此,这是关于适用于例如的排名(损失)。quora 问题对数据或我想使用深度学习排名模型或仅连体网络进行排名的任何其他问题/答案对。

数据如下所示:https ://github.com/NTMC-Community/MatchZoo/blob/master/matchzoo/datasets/toy/train.csv

现在,我认为如何构建批次至关重要,对吧?因为对于每个问题,所有根据 pos 和 neg 的答案都需要包含在一个批次中,对吗?

标签: tensorflowrankinginformation-retrievalloss-function

解决方案


可以使用不同的策略来构建批次和三元组或对。通常,批次是随机构建的,然后挑选批次中最难的负片或最难的负片之一。

所以是的,正面和负面的例子需要包含在一个批次中。选择负面因素至关重要。但通常会努力在批次中挑选适当的底片,而不是以特定方式构建批次。这篇解释排名损失如何工作的博文可能很有用https://gombru.github.io/2019/04/03/ranking_loss/


推荐阅读