极市导读
本文作者通过训练另一个深度神经网络解释器来生产显著图,以预测预先训练好的黑盒分类器的属性,只显示图像中与分类器相关的部分,并过滤掉其它无关的部分。论文中定性和定量的实验结果表明,与其他方法生成的显著图相比,论文中提出的方法生成了更清晰和更精确的显著图边界。 >>加入极市CV技术交流群,走在计算机视觉的最前沿
该论文是关于显著图分割和定位的论文。目前深度神经网络可解释性的一个直观的方法就是深度模型输出各个预测类别的显著图。大多数现有的方法要么使用激活和梯度,要么通过反复干扰输入来找到这种属性。
在该论文中,作者通过训练另一个深度神经网络解释器来生产显著图,以预测预先训练好的黑盒分类器的属性,只显示图像中与分类器相关的部分,并过滤掉其它无关的部分。论文中定性和定量的实验结果表明,与其他方法生成的显著图相比,论文中提出的方法生成了更清晰和更精确的显著图边界。
论文链接:https://arxiv.org/abs/2205.11266v1
代码链接:https://github.com/stevenstalder/NN-Explainer
下图为论文作者提出的解释器方法框架,首先需要获得给定预训练分类器可解释性信息,并用该信息去推断语义对象类所依赖的图像区域。需要注意的一点是,论文中模型的训练不需要任何像素级的注释,它依赖于的训练数据集(包括标签)和模型。
将一批图像输入到解释器中并输出一组具有相同分辨率的 图像 ,其中包含类 的分割 图像 。 的值通过激活函数 函数 在 的范围内有界,其中 表示预测的像素 值。 中的值 或 分别导致相应像素值的完全保留或删除,但需要注意的是其总和不必等于 。
作者通过为每个像素位置取像素方向的最大值,将每个集合合并到单个 中。目标 图像 用于定位与给定训练图像中包含的任何标签对应的区域,而无目标 图像 收集假阳性激活, 用于确保一旦删除了图像中的目标对象后,则不会再处理相关任务。
作者将损失函数表示为以下四项的组合,具体形式如下所示
其中 表示的是 图像上的二进制交叉熵损失函数, 是用 补码图像上的熵项, 是一个正则化项,用于说明真阳性和假阳性 的区域, 是一个有利于平滑 的正则化项。 , 和 是损失函数的平衡系数。
模型应该能够仅使用图像的相关部分做出正确的决策,而忽略所有其它部分。在此假设下,作者将分类损失定义为二元交叉熵项的和,图像中的每一类对应一个交叉熵项。作者将解释器表示为 和模型 。作者定义 为模型 应用于 图像的概率向量,其中 由解释器 生成的 。
对于在训练数据集中所有类 和目标类 集合,具体公式如下所示
其中 表示表示艾佛森括号,如果方括号内的条件满足时则为 ,不满足则为 。这允许在训练图像中存在多个类别时训练 ,如在多标签分类问题中,其中多个 可以同时处于激活状态,并且一些像素不属于任何 (与使用交叉熵相反)。因此,该模型可以自由地学习不同类之间的依赖关系和共现性。损失函数促使解释器去学习近似 ,即 , 图像在经过(预)训练的解释器中尽可能正确地分类。
这部分损失促使解释器提供补充不包含任何辨别性视觉线索的 ,即解释器可以使用部分图像来推断正确类别。换句话说,分类器分数应该提供尽可能一致的类概率 ,其中具体负熵损失函数表示为
其目标是为了图像背景熵尽可能高。
当只有这两项 和 损失函数时,解释器没有动机去生成一个隐藏图像区域的目标 。很明显,到处都是 的目标 的 使这些项最小化。为了确保 隐藏背景,作者在损失中添加了两个项,对应于两个关键要求: 应尽可能小,但如果目标有利于更大的区域,则最小和最大百分比之间的整个区域不应进一步受到惩罚。区域上的正则化简单地表示为 值的平均值,计算为
其中 是像素数。作者希望这个区域很小,但不是零。无目标 的 也需要相同的条件。给定一类语义 的 ,作者将其拉平为一维向量,并对其值按照降序进行排列。令 表示为向量化操作, 表示为对 向量化后进行排序。作者定义两个向量 和 ,进而则有
为了约束类分割 覆盖的最小和最大区域,计算区域边界度量 由下式给出:
其中,第一项仅在最大 值小于 时惩罚 ,而第二项惩罚大于 的最小 值。作者的目标是让 至少覆盖某个区域,而不受其最大尺寸的影响。最终区域正则化为:
其中, 是根据给定训练标签在给定输入图像中存在的类的子集。
该损失函数是能够生成平滑且无伪影的 图像;为此,作者使用 的 损失函数
其中 一个二维矩阵,损失的平滑项与目标 的 和无目标 的 有关,如下所示:
这个平滑损失项鼓励图像属性在视觉上显得连贯一致。
公众号后台回复“项目实践”获取50+CV项目实践机会~
“
点击阅读原文进入CV社区
收获更多技术干货