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梯度都小。

相关推荐
程序猿炎义2 分钟前
【NVIDIA AIQ】自定义函数实践
人工智能·python·学习
小陈phd15 分钟前
高级RAG策略学习(四)——上下文窗口增强检索RAG
人工智能·学习·langchain
居然JuRan28 分钟前
阿里云多模态大模型岗三面面经
人工智能
THMAIL30 分钟前
深度学习从入门到精通 - BERT与预训练模型:NLP领域的核弹级技术详解
人工智能·python·深度学习·自然语言处理·性能优化·bert
nju_spy31 分钟前
Kaggle - LLM Science Exam 大模型做科学选择题
人工智能·机器学习·大模型·rag·南京大学·gpu分布计算·wikipedia 维基百科
中國龍在廣州1 小时前
GPT-5冷酷操盘,游戏狼人杀一战封神!七大LLM狂飙演技,人类玩家看完沉默
人工智能·gpt·深度学习·机器学习·计算机视觉·机器人
东哥说-MES|从入门到精通1 小时前
Mazak MTF 2025制造未来参观总结
大数据·网络·人工智能·制造·智能制造·数字化
CodeCraft Studio1 小时前
Aspose.Words for .NET 25.7:支持自建大语言模型(LLM),实现更安全灵活的AI文档处理功能
人工智能·ai·语言模型·llm·.net·智能文档处理·aspose.word
山烛1 小时前
深度学习:CNN 模型训练中的学习率调整(基于 PyTorch)
人工智能·pytorch·python·深度学习·cnn·调整学习率
THMAIL1 小时前
深度学习从入门到精通 - 神经网络核心原理:从生物神经元到数学模型蜕变
人工智能·python·深度学习·神经网络·算法·机器学习·逻辑回归