【发布时间】:2021-01-02 23:28:58
【问题描述】:
我正在尝试修改 Yolo v1 以处理每个对象只有 1 个类的任务。 (例如:一个 obj 不能既是猫又是狗)
由于架构(必须使用回归等其他输出,如定位预测),因此将 sigmoid 应用于模型的最后一个输出(f.sigmoid(nearly_last_output))。而对于分类,yolo 1 也使用 MSE 作为损失。但据我所知,与我想要的 one-hot 的交叉熵相比,MSE 有时并不顺利。
具体来说:GT 是这样的:0 0 0 0 1(假设我们总共只有 5 个类,每个类只有 1 个类,所以其中只有一个数字 1,当然在这个例子中这是第 5 类)
分类部分输出模型:0.1 0.1 0.9 0.2 0.1
我发现了一些建议使用 nn.BCE / nn.BCEWithLogitsLoss 但我认为我应该在这里要求更正确,因为我不擅长数学,也许我在某个地方错了,所以只是要求了解更多并确定什么我应该正确使用吗?
【问题讨论】:
标签: python pytorch loss-function cross-entropy