极简笔记 The Lovasz-Softmax loss: A tractable surrogate for the optimization of the intersection-over-un

极简笔记 The Lovasz-Softmax loss: A tractable surrogate for the optimization of the intersection-over-union measure in neural networks

本文提出一种Lovasz-Softmax loss,专门正对分割任务的评价指标IoU进行优化设计。由于本文涉及到的数学概念超出所学知识,因此本篇笔记偏向于计算过程的介绍。

记网络预测结果 y ~ \widetilde{y} y 和标注 y ∗ y^* y,IoU评价指标的计算为(又名Jaccard index):
J c ( y ∗ , y ~ ) = ∣ { y ∗ = c } ∩ { y ~ = c } ∣ ∣ { y ∗ = c } ∪ { y ~ = c } ∣ J_c(y^*,\widetilde{y})=\frac{|\{y^*=c\}\cap\{\widetilde{y}=c\}|}{|\{y^*=c\}\cup\{\widetilde{y}=c\}|} Jc(y,y )={y=c}{y =c}{y=c}{y =c}
Jaccard loss可以定义为:
△ J c ( y ∗ , y ~ ) = 1 − J c ( y ∗ , y ~ ) \triangle_{J_c}(y^*,\widetilde{y})=1-J_c(y^*,\widetilde{y}) Jc(y,y )=1Jc(y,y )
上式可以改写成:
M c ( y ∗ , y ~ ) = { y ∗ = c , y ~ ̸ = c } ∪ { y ∗ ̸ = c , y ~ = c } M_c(y^*,\widetilde{y})=\{y^*=c,\widetilde{y}\not=c\}\cup\{y^*\not=c,\widetilde{y}=c\} Mc(y,y )={y=c,y ̸=c}{y̸=c,y =c}
△ J c : M c ∈ { 0 , 1 } p ↦ ∣ M c ∣ { y ∗ = c } ∪ M c \triangle_{J_c}:M_c\in\{0,1\}^p\mapsto\frac{|M_c|}{\{y^*=c\}\cup M_c} Jc:Mc{0,1}p{y=c}McMc
接下来开始讲重头戏:

  1. Jaccard loss满足子模函数的性质,但它目前只适用于离散情况的计算,如果网络预测结果是连续的则经过离散化会导致不可导。因此Jaccard loss无法直接接在网络后面;
  2. 因为是子模函数,所以可以对其进行Lovasz extension,使其可导且输入空间从离散的 { 0 , 1 } p \{0,1\}^p {0,1}p变成连续的 R p R^p Rp,其输出值与原函数在 { 0 , 1 } p \{0,1\}^p {0,1}p 上的输出值保持相等,并具有凸性,优化方向保持一致。扩展公式如下(文章中第二个公式表述不清楚,这里是按照自己的理解进行的改写):
    △ ˉ : m ∈ R p ↦ ∑ i = 1 p m i g i ( m ) \bar{\triangle}:m\in R^p\mapsto\sum_{i=1}^{p}m_ig_i(m) ˉ:mRpi=1pmigi(m)
    g i ( m ) = △ ( { y π 1 ∗ , y π 2 ∗ , . . . , y π i ∗ } ) − △ ( { y π 1 ∗ , y π 2 ∗ , . . . , y π i − 1 ∗ } ) g_i(m)=\triangle(\{y^*_{\pi_1},y^*_{\pi_2},...,y^*_{\pi_i}\})-\triangle(\{y^*_{\pi_1},y^*_{\pi_2},...,y^*_{\pi_{i-1}}\}) gi(m)=({yπ1,yπ2,...,yπi})({yπ1,yπ2,...,yπi1})
  3. Lovasz extension △ ˉ J c \bar{\triangle}_{J_c} ˉJc相当于是把原子模函数的输出值作为基进行插值, g i ( m ) g_i(m) gi(m)就是那些基。这些基的计算就是在ground truth中取一部分作为预测结果(其余不预测,没有包含在预测的集合里面,在后续算Jaccard Loss时候两个集合的大小是不一致的)
    Lovasz softmax的具体计算过程如下,这部分看不懂建议看作者源码:
    在这里插入图片描述
    在这里插入图片描述
    极简笔记 The Lovasz-Softmax loss: A tractable surrogate for the optimization of the intersection-over-un_第1张图片

作者在github答疑时表示由于该Lovasz softmax优化针对的是image-level mIoU,因此较小的batchsize训练对常用的dataset-level mIoU的性能表现会有损害。以及该loss适用于finetuning过程。有网友将该loss与CELoss加权训练取得了超出CELoss性能的结果。

文章代码已经公布(包含pytorch版本和TF版本):https://github.com/bermanmaxim/LovaszSoftmax
关于子模函数和Lovasz extension的知识点可以参考:https://sudeepraja.github.io/Submodular/

你可能感兴趣的:(极简笔记)