FlagEmbedding icon indicating copy to clipboard operation
FlagEmbedding copied to clipboard

关于rerank modelling中target label的问题

Open bytes-lost opened this issue 1 year ago • 1 comments

请问一下,在rerank modelling代码中看到的target label是用torch.zeros初始化的,然后loss计算是使用cross_entropy(scores, target_label),构建的批数据首个正样本对的target label应该是1?其余负样本对设置成0?

bytes-lost avatar Dec 27 '23 06:12 bytes-lost

target指的是正样本的位置,正样本总在第一个位置,是一个数字,不是每一个样本的标签。可以参考torch中cross_entropy计算的参数。

staoxiao avatar Dec 27 '23 09:12 staoxiao

你好,我也对此有疑惑。感觉训练过程和使用过程不是很对齐。训练过程中,0表示正样本的位置,所有的Label都是0,与Logits计算交叉熵损失,会不会导致模型计算Logits无脑输出0。而在使用过程中,又是使用Logits作为相似度分数。 使用下标作为标签和使用0,1作为样本是否相关的标签,有什么取舍的考虑吗?

azureabaaba avatar Apr 10 '24 03:04 azureabaaba

你好,我也对此有疑惑。感觉训练过程和使用过程不是很对齐。训练过程中,0表示正样本的位置,所有的Label都是0,与Logits计算交叉熵损失,会不会导致模型计算Logits无脑输出0。而在使用过程中,又是使用Logits作为相似度分数。 使用下标作为标签和使用0,1作为样本是否相关的标签,有什么取舍的考虑吗?

训练损失为交叉熵,目标是使正样本的概率大于负样本。0并不是指让模型输出的Logits为0。标签0表示正样本在第一个位置,交叉熵会使得该位置的概率最大化。

staoxiao avatar Apr 10 '24 04:04 staoxiao