FlagEmbedding
FlagEmbedding copied to clipboard
关于rerank modelling中target label的问题
请问一下,在rerank modelling代码中看到的target label是用torch.zeros初始化的,然后loss计算是使用cross_entropy(scores, target_label),构建的批数据首个正样本对的target label应该是1?其余负样本对设置成0?
target指的是正样本的位置,正样本总在第一个位置,是一个数字,不是每一个样本的标签。可以参考torch中cross_entropy计算的参数。
你好,我也对此有疑惑。感觉训练过程和使用过程不是很对齐。训练过程中,0表示正样本的位置,所有的Label都是0,与Logits计算交叉熵损失,会不会导致模型计算Logits无脑输出0。而在使用过程中,又是使用Logits作为相似度分数。 使用下标作为标签和使用0,1作为样本是否相关的标签,有什么取舍的考虑吗?
你好,我也对此有疑惑。感觉训练过程和使用过程不是很对齐。训练过程中,0表示正样本的位置,所有的Label都是0,与Logits计算交叉熵损失,会不会导致模型计算Logits无脑输出0。而在使用过程中,又是使用Logits作为相似度分数。 使用下标作为标签和使用0,1作为样本是否相关的标签,有什么取舍的考虑吗?
训练损失为交叉熵,目标是使正样本的概率大于负样本。0并不是指让模型输出的Logits为0。标签0表示正样本在第一个位置,交叉熵会使得该位置的概率最大化。