本文共 1989 字,大约阅读时间需要 6 分钟。
1.构建数据集时近似均匀地采样,保证每种类别分布较为均匀
2.对minority classes进行上采样或者对majority classes进行下采样缺点:
3.cost-sensitive learning
所以这篇文章提出了一种新的解决方法:Loss Max-Pooling
1.通过pixel weighting functions自适应地对每个像素的contribution(实际展现的loss)进行re-weighting
2.通过普通的max-pooling在pixel-loss level上对pixel weighting function取最大
3.而这个最大值是传统loss(即每个像素损失的权重是相等的)的上界
Standard setting
语义分割任务中损失公式定义如下:
是损失函数,是正则项
在普通semantic segmentation中,损失又可继续写成:
其中:
Loss Max-Pooling
文章设计了一个weighting function的convex, compact的空间,,其中包括了均匀加权的情况,即
得到的损失函数如下:
之后,文章定义了一个新的损失,即对不同weighting functions下的损失取最大:
而这是文章中定义的所有损失函数的上界,包括传统的均匀加权的损失。文章提到这里的取最大值其实就是,max-pooling在pixel-loss level上的应用,所以这种方法才叫做 Loss Max-pooling。
Loss Max-Pooling的特性取决于空间的形状。所以,文章中对空间进行了一些限定。
The space of weighting functions
文章中关注的是由 范数和 范数限定的weighting functions,这里对 范数和 范数也进行了限定。其中,; 的取值范围是
Left:二维情况下的图形,其中
Right:当时的
通过改变可以控制pixel selectivity degree of the pooling operation
一方面:
另一方面:
图中选取了100个像素,同时为了可视化对像素进行了排序。
由左图可以看到,当接近的时候,权重变成了均匀加权(蓝色虚线);当接近1时,权重变得很陡峭,但是的限制保证了至少需要support的像素数。
由右图可以看出,当时权重又变为了均匀加权(红色虚线),而每个值都对应了一段平均加权,也就说明代表了像素共享权重的程度。
之后文章主要介绍了对的计算,计算时采用了对偶的方式来求解,最后转化为对和的计算,具体详细证明可以请看论文。最后算法流程如下:
文中还提到了一个辅助的取样策略,综合考虑了均匀采样和模型性能。因为文中并未细说,同时也不是本文重点,所以在此不赘述了。
LMP是Loss Max-pooling+辅助取样策略的结果;Proposed loss only是不加辅助取样策略的结果;所有结果没有使用multi-scale input和CRF做进一步优化。
原文发布时间为: 2017-06-15
本文作者:ycszen
本文来自云栖社区合作伙伴极市网,了解相关信息可以关注极市网。
转载地址:http://vyznl.baihongyu.com/