YOLOv5有关损失函数的一些小点(二元交叉熵啥的)

YOLOv5使用二元交叉熵损失函数计算类别概率和目标置信度得分的损失(分类/定位),使用CIOU Loss作为bounding box回归的损失。

分类损失/定位损失/置信度损失

类别预测 Class Prediction

一般分类器假设输出标签是互斥的,例如猫和狗两个标签,你不能同时是猫和狗,YOLO应用softmax函数将得分转换为总和为1的概率。而YOLOv5使用多标签分类,比如标签可以是行人和儿童,他们不互斥,那么此时得分就可能大于1。

这么一看就不适合在使用softmax而是用多个独立逻辑分类器替换softmax函数,以计算输入属于特定标签的可能性。

在计算分类损失进行训练时,对每个标签使用二元交叉熵损失

softmax函数

用于多类分类问题的激活函数

可以分成soft和max,max就是最大值嘛,soft浅理解为不是求唯一的最大值,而是为每个输出分类的结果赋予一个概率值表示可能性。确保较小的值有较小的概率,不能直接丢弃。

二元交叉熵

多用于处理二分类问题。(是一个对数运算)

计算了真实标签和预测概率之间的对数差异。需要对错误的预测进行惩罚,如果实际的类的概率是1.0,那么需要它的损失为零。如果概率比较低,那么它的损失很大。

H(p,q) = - ∑(p(x) * log(q(x)))

其中,p(x)表示真实标签的分布,q(x)表示模型预测的分布。交叉熵越小,表示两个概率分布越接近,模型的预测结果越准确。

从直观上理解,交叉熵损失函数可以看作是一种表示信息量的度量。假设一个事件发生的概率为p,那么它的信息量可以用-log(p)来表示。当交叉熵越小,表示模型的预测分布越接近真实分布,模型预测的结果可以更好地表示真实情况,所以损失也就越小。

好了知道你看不懂,那么——

有一篇翻译外文的文章,很Nice , Daniel Godoy 的:可视化理解Binary Cross-Entropy - 知乎 (zhihu.com)

Understanding binary cross-entropy / log loss: a visual explanation

by Daniel Godoy

https://towardsdatascience.com/

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值