Asymmetric Loss For Multi-Label Classification

从b站视频区看到的一篇论文,来自阿里。据他所说,他的多标签分类数据长尾最大到100:1,再做增广也没用,用了这篇论文的loss直接起飞。

链接在此

首先,常规的loss

既然是多标签分类,那么最基础的方法肯定是多个2分类问题。如下所示,yk是真实label,σ是sigmoid,zk是标量的预测logits分数。

L最简单也就是两项之差的平方,K是总标签数量。再难点,就上focal loss和binary cross-entropy

γ可以控制我们对难样本的态度。如果1>γ>0,p=0~1图像自己想象一下,就知道这是加大了简单样本的loss权重。如果γ>1,就是加大了对难样本的权重。

Asymmetric Focusing

如果对正负例使用不同的γ呢?不就能控制对正负例的态度了吗?

在论文里,作者面对的是图片分类,其中负例一大堆,正例很少。那么显然要增大正例的重要性,也就是要减小负样本前面系数的值,前面的系数是个0~1的小数啊,那就得γ- > γ+ 且γ- > 1,极端点,γ-=10000,直接就把负例的权重干没了,只训练正例了。

Asymmetric Probability Shifting

这个做的更绝。虽然负例是被γ-打压得死死的,但是拦不住负例多啊,loss一堆起来也不少。就寻思着,负例训得差不多就得了,如果个个负例概率都<0.2,负例量又那么大,说明训得很不错了,不用再训了。

因此有了个想法,设一个类似0.2的阈值m,负例量大,就把它的概率变成p_m=max(p-m,0),让这玩意代替负例的L-里所有p的位置。

这其实有个问题。我们当然希望不要对所有负例都很严苛,但是我们也希望负例的概率p至少降到0.5以下。p_m肯定是降低了p=0.6到0.4,也就降低了此时负例的loss,我反正感觉至少得过了0.5这条线再谈m的事儿。

结合

上面俩方法的结合就是ASL。第一个γ相关的叫软阈值,第二个设m的叫硬阈值。

loss曲线

图里CE+PS是交叉熵+概率偏移,也就是交叉熵+硬阈值。

此时ASL的m=0.2,γ-=2, γ+是多少就不知道了。其他方法用的γ和m都在图里写了。

可见,对负例,也就是p小的梯度很小,而对正例,也就是p大的梯度很大,然后靠近0和1梯度都小。

相关推荐
孔令飞3 分钟前
关于 LLMOPS 的一些粗浅思考
人工智能·云原生·go
Lecea_L9 分钟前
你能在K步内赚最多的钱吗?用Java解锁最大路径收益算法(含AI场景分析)
java·人工智能·算法
2501_9071368212 分钟前
OfficeAI构建本地办公生态:WPS/Word双端联动,数据自由流转
人工智能·word·wps
飞哥数智坊17 分钟前
从零构建自己的MCP Server
人工智能
是Dream呀19 分钟前
ResNeXt: 通过聚合残差变换增强深度神经网络
人工智能·算法
项目申报小狂人30 分钟前
CUDA详细安装及环境配置——环境配置指南 – CUDA+cuDNN+PyTorch 安装
人工智能·pytorch·python
suke44 分钟前
一文秒懂AI核心:Agent、RAG、Function Call与MCP全解析
人工智能·程序员
oil欧哟1 小时前
😎 MCP 从开发到发布全流程介绍,看完不踩坑!
人工智能·typescript·node.js
Code_流苏1 小时前
AI知识补全(十四):零样本学习与少样本学习是什么?
人工智能·元学习·少样本学习·零样本学习·语义嵌入