网站首页 > 技术文章 正文
Google旗下自动驾驶公司Waymo的研究人员Mingxing Tan发现了一个可以替代Cross-Entropy Loss的新的损失函数:PolyLoss,这是发表在ICLR 22的一篇新论文(昨天刚提交到arXiv)。什么都不变的情况下,只需要将损失函数的代码替换成PolyLoss,那么模型在图像分类、图像检测等任务的性能就会有很好的提升!
如上图所示,ImageNet的分类、COCO的图像检测与划分以及Waymo开放3D数据集的3D检测等,使用PolyLoss之后的模型,其性能都有所提升。
那么这个神奇PolyLoss来自哪里呢?其实就是来自泰勒展开式(Taylor Expansion),如果你用泰勒展开式去展开交叉熵,你会发现其多项式系数是?1/j??,但是这些系数对于所有的模型和任务来说都是固定的,但是是不是就是就是最优的呢?显然可能不是。
于是,他们提出,这个系数应该是针对不同模型和任务进行调优。根据他们的测试,前导项(the leading term)是最重要的,于是他们加入了一个可调整(tunable)项:??(1?P?t??)。并将该损失函数称为PolyLoss。
PolyLoss是一个通用的框架,可以很容易转成 cross-entropy loss, focal loss, and other losses等。作者仅仅更改损失函数,并将?变成tunable,就可以提升很多模型效果:
EfficientNetV2:最优的?=2
Mask-RCNN:最优的?=?1
RSN 3D detection:最优的?=?0.4
对于如何寻找最优的?结果,作者给出了一个简单的方法,就是从-1到1之间去不同尝试,一般来说尝试4-5次即可。需要注意的是,?的值必须大于-1,以保证损失函数是单调的。
详情:超越Cross-Entropy Loss(交叉熵损失)的新损失函数——PolyLoss简介 | 数据学习者官方网站(Datalearner)
- 上一篇: 隐藏穿搭高手,现形了? 隐藏裤子穿搭
- 下一篇: [每天10分钟学习视觉算法]-分割算法常用损失函数
猜你喜欢
- 2024-10-20 [每天10分钟学习视觉算法]-分割算法常用损失函数
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)