当前位置:网站首页>目标检测中的Classificition Loss
目标检测中的Classificition Loss
2022-08-08 10:26:00 【51CTO】
Classificition Loss
PyTorch: https://github.com/shanglianlm0525/CvPytorch
目标检测中的Bounding Box Regression Loss
目标检测中的Classificition Loss
目标检测任务的损失函数由Classificition Loss和Bounding Box Regeression Loss两部分构成。本文介绍目标检测任务中近几年来Classificition Loss的演变过程
1 Cross Entropy
交叉熵表示成真实概率分布p的函数和预测概率分布q的函数。
其中p表示真实值,在这个公式中是one-hot形式;q是预测值,在这里假设已经是经过softmax后的结果了。
PyTorch代码:
2 K-L Divergence
Kullback-Leibler Divergence,即K-L散度,是一种量化两种概率分布P和Q之间差异的方式,又叫相对熵。
KL散度 = 交叉熵 - 熵
PyTorch代码:
3 Dice Loss
Dice Loss一种用于评估两个样本之间相似性度量的函数,取值范围为0~1,值越大表示两个值的相似度越高。
Laplace smoothing:为了防止分母项为0,一般我们会在分子和分母处同时加入一个很小的数作为平滑系数,也称为拉普拉斯平滑项。
优点:
- 有益于正负样本不均衡的情况,侧重于对前景的挖掘;
- 训练过程中,在有较多小目标的情况下容易出现振荡;
- 极端情况下会出现梯度饱和的情况
PyTorch代码:
4 Focal loss
Focal loss则是聚焦于训练一个困难样本的稀疏集,通过直接在标准的交叉熵损失基础上做改进,引进了两个惩罚因子,来减少易分类样本的权重,使得模型在训练过程中更专注于困难样本。
γ称作focusing parameter,γ>=0。
称为调制系(modulating factor)。
优点:
- 当一个样本被分错的时候,pt是很小的(请结合公式2,比如当y=1时,p要小于0.5才是错分类,此时pt就比较小,反之亦然),因此调制系数就趋于1,也就是说相比原来的loss是没有什么大的改变的。当pt趋于1的时候(此时分类正确而且是易分类样本),调制系数趋于0,也就是对于总的loss的贡献很小。
- 当γ=0的时候,focal loss就是传统的交叉熵损失,当γ增加的时候,调制系数也会增加。
PyTorch代码:
5 Tversky loss
Tversky系数主要用于描述两个特征(集合)之间的相似度。
其中,α + β 的取值我们一般会令其1。
当设置α=β=0.5,此时Tversky系数就是Dice系数。
当设置α=β=1时,此时Tversky系数就是Jaccard系数。
因此,我们只需控制 α 和 β 便可以控制假阴性和假阳性之间的平衡。如增大 β 的取值,可以增大Recall值。
PyTorch代码:
参考资料:
1 一文看尽深度学习中的15种损失函数
2 Focal Loss for Dense Object Detection
3 Tversky loss function for image segmentation using 3D fully convolutional deep networks
边栏推荐
猜你喜欢
随机推荐
Redis 定长队列的探索和实践
新款“廉价”SUV曝光,安全、舒适一个不落
People's Congress Jincang database login, view database
苹果开发者账号申请流程完整版
定时任务框架Quartz-(一)Quartz入门与Demo搭建
2G 3G 4G 5G 基站覆盖范围
A small test of basic grammar, Go lang1.18 introductory refining tutorial, from Bai Ding to Hongru, basic grammar of go lang and the use of variables EP02
《STM32MP1 M4裸机CubeIDE开发指南》第二十四章 DAC实验
Service Mesh迁移原则
牛客收藏上万的神作!这份阿里P8手写的MySQL主从原理手册真的牛
文档数据库中的文档有什么用呢?
Mobile/Embedded-CV Model-2018: MobileFaceNets
go调度原理
Flutter Game Tutorial Recreate the famous T-Rex game with Flutter and Flame
In ASP.NET Core 2.0, solve the configuration problem of large file upload
Redis 定长队列的探索和实践
移动端/嵌入式-CV模型-2018:MobelNets-v2
2万字50张图玩转Flink面试体系
使用C# 调用api接口获取法定节假日(百度api)
Bytes and Characters and Common Encodings