在使用hinge-like loss之前,作者对残差的定义为:
r ( s , c ) = s − y c (1) r(s, c)=s-y_{c} \tag {1} r(s,c)=s−yc(1)
其中, s s s表示真实的响应得分, y c y_{c} yc表示期望的响应得分,通常采用一个高斯分布进行表示,两者之差即为所求解的残差,这是最基础的残差求解思想。
然而在目标跟踪问题中,负样本的数目远大于正样本的数目,其置信得分通常设置为0,这就要求模型足够复杂,并且还会导致模型倾向于对负样本进行学习,而不是对正、负样本进行判别。并且经典残差计算思想并不能解决样本数据不平衡的问题。
However, simply taking the difference forces the model to regress calibrated confidence scores, usually zero, for all negative samples. This requires substantial model capacity, requiring the learning to focus on the negative data samples instead of achieving the best discriminative abilities.
由于SVM对样本不平衡问题不太敏感,因此作者想到用SVM里面的hinge loss来应对上述问题,经典hinge loss的表达式为:
L ( y ^ , y ) = max ( 0 , 1 − y ⋅ y ^ ) (2) L\left ( \hat{y},y \right ) = \textup{max}\left ( 0, 1 - y \cdot \hat{y} \right ) \tag {2} L(y^,y)=max(0,1−y⋅y^)(2)
其中, y ^ \hat{y} y^表示估计值, y y y表示期望值。在二分类问题下,hinge loss与0-1损失的曲线图对比如下图所示:
可以发现,hinge loss的特点是:分类器必须有更高的得分,才不会惩罚(Loss = 0),而0-1损失则只要得分大于0就不会惩罚,hinge loss的学习更加严格。
在DiMP中,作者并没有完全照搬hinge loss的思想,而是对其进行了修改:
r ( s , c ) = v c ⋅ ( m c s + ( 1 − m c ) max ( 0 , s ) − y c ) (3) r(s, c)=v_{c} \cdot\left(m_{c} s+\left(1-m_{c}\right) \max (0, s)-y_{c}\right) \tag {3} r(s,c)=vc⋅(mcs+(1−mc)max(0,s)−yc)(3)
其中, s s s表示估计出来的响应得分, y c y_{c} yc表示期望的响应得分, v c v_c vc是一个空间权重, m c m_c mc是目标物体区域的mask,下标 c c c表示其计算都是以物体中心点为基准的。
在公式(2)中,作者利用 m c m_c mc,通过这种注意力机制将背景区域的得分置为0(体现在 ( 1 − m c ) max ( 0 , s ) \left(1-m_{c}\right) \max (0, s) (1−mc)max(0,s)),这样就凸显了hinge loss的优势:模型可以自由地为背景中的简单样本预测较大的负值,而不会增加损失,从而减弱模型训练过程中对负样本的倾向性。