下载链接:https://arxiv.org/abs/2012.08548
代码链接:https://github.com/tztztztztz/eqlv2
Equalization Loss v2
该篇论文从平衡正负样本的梯度出发,。最后在LVIS数据集上AP比EQL高出4个点,稀有类别上高出14~18个点!!!
作者认为我们只考虑到了前景头部类别对尾部类别的抑制,而忽视了背景对尾部类别的抑制
长尾识别难的根本原因在于尾部类别相对于头部类别收到负样本的抑制更强。头部了类别对于尾部类别来说也是负样本。
3.1
先假设我们有一批次数据和他们的映射, C个类别的输出是
,一个对映射线性变换的矩阵
, 矩阵的每一个向量可以看作是一个特定的分类器。然后
通过激活被输出成一个估计的概率分布
。作者将多分类变成多个二分类,这样就能计算出类别
的正样本和负样本的个数
公式如下:
是第
个实例的one-hot编码,
是第 第
个实例是否是
类
正负样本比例如下:
N是实例个数也就是目标个数,
是单个类别的实例数
可以看出如果把每个类别分开来看,每个类别的正负样本比例还是相差很大的
3.2
很显然尾部类别的负样本数远大于正样本数,但是用上述的公式来做训练的比例不是很好,因为每个样本的的影响是不一样的。比如,大量的简单负样本的负梯度可能没有少量正样本的正梯度大。不能单纯的从个数上去断定抑制程度。应该用梯度统计来判断一个训练任务是否均衡。
正负样本损失对Zj的正负梯度公式:
是第
个实例的预测为
类的概率,Zj是实例j类别未激活的输出
推导过程:
作者选择将正梯度加大负梯度减小,但是没有简单的用一次的梯度比例来做损失比重,而是将这种梯度比例做累积。这也是很高明的地方,因为一次的梯度比并不能说明什么反而会带来一些噪声影响网络正常学习,做累积的话也有点反馈控制中的积分控制的意思。
将第t次迭代的正负梯度比累积定义为
正梯度权重可定义为:
负梯度权重可定义为: ,
获得权重之后可以计算出这一轮迭代真实的梯度:
第t+1轮迭代的正负梯度比积累积:
---未完待续---