The Lovasz-Softmax loss: A tractable surrogate for the optimization of the ´ intersection-over-union

1.简介

关于简介请参考Lovasz-Softmax loss

2.子模损失函数的优化替代

为了在连续优化框架中优化Jaccard,我们考虑了这种离散损失的平滑扩展。扩展是基于集合函数的子模分析,其中集合函数是从一组预测失误的集合映射到真实数据的集合。
对于一个分割结果yy*和真实值yy我们定义类别c的错误像素集为
The Lovasz-Softmax loss: A tractable surrogate for the optimization of the ´ intersection-over-union
对于一个修正的真实值y,Jaccard的loss可以被描述为如下公式。
The Lovasz-Softmax loss: A tractable surrogate for the optimization of the ´ intersection-over-union
为了方便标记,我们通过像素子集在{0,1}p中的指示向量辨别像素子集。在一个持续的优化设置中,我们想要给任何误差的向量分配一个loss,而不仅仅是错误预测的向量。对于这个loss的潜在的候选者是RpR^p中的凸闭包功能,如下图。通常,计算集合函数的凸闭包是NP-难,然而Jaccard集合函数已经被表明是子模函数。
The Lovasz-Softmax loss: A tractable surrogate for the optimization of the ´ intersection-over-union

定义1. 如果集合函数满足下式,则为子模函数
The Lovasz-Softmax loss: A tractable surrogate for the optimization of the ´ intersection-over-union
子模集合函数的凸闭包在多项式时间内是紧的可以计算的,并与它的Lovasz扩展相关。
定义2. 集合函数的Lovasz扩展定义为
The Lovasz-Softmax loss: A tractable surrogate for the optimization of the ´ intersection-over-union
让submodular成为一个编码子模损失(例如Jaccard)的集合函数,submodularity是submodular的严格凸的闭包,submodularity是分段线性并且插入submodular在RpR^p非{0,1}p的值,同时也具有与submodular在{0,1}p相同的值,例如任何一个错误预测的数据集(MCM_C)。直观来说,如果m是所有像素误差的一个向量,submodularity(m)是根据插值离散损失加权这些误差的和。由于其凸性和连续性,与一阶连续优化(如神经网络)相比,submodularity是submodular最小化的自然替代物。所涉及的基本运算(排序、点积等)是可微分的,可以在当前的深度学习框架中在GPU上实现。(9)定义的分量直接对应于submodularity的导数。
接下来,我们考虑两种不同的设定,来使用Lovasz扩展和指定错误向量m构建代理损失:

  1. 前景-背景分割问题,转化为Lovasz hinge
  2. 多个分类切割问题,转化为Lovasz-Softmax损失,将Softmax融合到Lovasz扩展中。

前景-背景分割

考虑两个像素预测四个可能真值GT中的Lovasz hinge,作为相关边的函数ri=1Fi(x)yi,fori=1,2r_i=1-F_i(x)y_{i}^*,for i=1,2,红点表示离散Jaccard index的值。
The Lovasz-Softmax loss: A tractable surrogate for the optimization of the ´ intersection-over-union
在二分类情况中,为了前景分类J1∆_{J_1},我们考虑Jaccard index的优化。使用一个最大边分类器,对于一张图片x,我们定义

  • yiy_{i}^{*}属于{-1,1},像素i的真值标签
  • Fi(x)F_i(x)是模型的第i个元素的输出分数,例如预测标签yi=sign(Fi(x))y_i=sign(F_i(x))
  • mi=max(1Fi(x)yi,0)m_i=max(1-F_i(x)y_i,0),与像素i预测值相关的hinge loss
    hinge loss的向量m就是之前讨论的误差向量,通过Lovasz扩展,将损失结果代替为应用了Lovasz hinge的Jaccard loss。作为分段线性函数的组合,它在输出分数中是分段线性的。此外,通过hinge loss向量m,Lovasz hinge在单类预测或在使用hamming距离作为基础的模型降低了标准的hinge loss。图一结果表明在考虑两个像素预测的Jaccard loss扩展,说明了替代项的凸性和紧性
    The Lovasz-Softmax loss: A tractable surrogate for the optimization of the ´ intersection-over-union

多分类语义分割

在具有两个以上类的分段设置中,我们提出了一个基于逻辑输出的代理,而不是使用最大边界设置。具体来说,我们使用SoftMax单位将模型的输出分数映射到概率分布,就像传统上在交叉熵损失的情况下所做的那样。利用方程(2)中定义的类概率fi(c)[0,1]fi(c)∈[0,1]构造了c∈C类的像素误差向量m©,定义为
The Lovasz-Softmax loss: A tractable surrogate for the optimization of the ´ intersection-over-union
我们使用误差向量m(c)[0,1]pm(c)∈{[0,1]}^p构建了Jc∆_{J_c}(Jaccard index)的替代损失。
The Lovasz-Softmax loss: A tractable surrogate for the optimization of the ´ intersection-over-union
在考虑语义分割中常见的类平均mIoU时,我们对特定于类的代理进行平均;因此,我们将lovasz-softmax损失定义为标准化网络输出中的分段线性损失。图2显示了这一损失作为预测两个像素的非标准化向量输出f的函数。在大分数(置信输出)的限制下,每个像素点可能的向量(fi(c))cC(f_i(c))c∈C接近于一个指标向量,我们恢复了相对于真值相应的离散Jaccard index,如图2所示。
The Lovasz-Softmax loss: A tractable surrogate for the optimization of the ´ intersection-over-union

3.并集上的交集优化

Lovasz扩展的无经验计算应用到Jc∆_{J_c}可以完成m中的元素排序,时间复杂度为O(plogp),然后做O§个调用到Jc∆_{J_c}。由于π是预先知道的,我们可以简单地跟踪{π1…,πi}中的假阳性和阴性的累积数量。用于增加i,每次评估Jc∆_{J_c}时产生摊余O(1)成本。这个计算也会以相同的计算成本ji计算梯度g(m)。这是一个强有力的结果,意味着一个更严密的JacCard loss的代理功能是可行的,并且时间复杂度为o(plogp)。算法1总结了该方法的损耗面梯度的计算方法。
The Lovasz-Softmax loss: A tractable surrogate for the optimization of the ´ intersection-over-union
翻译了这么多,并没有太多理解,再看一下代码理解下吧…