NN 是否可以配置为指示输入的哪些点影响其预测以及如何影响其预测?

人工智能 卷积神经网络 可解释的ai
2021-10-23 07:15:40

假设我想对像 MNIST 手写数据集这样的数据集进行分类,但它增加了干扰。例如,这里我们有一个 6,但它周围有额外的笔划,不会增加价值。

在此处输入图像描述

我想一个好的模型会预测一个 6,但可能低于 100% 的确定性(或者可能有 100% 的确定性——我不知道这对于这个问题的目的很重要)。

有什么方法可以获取哪些像素对 CNN 的决策影响最大,哪些像素不那么重要的信息?因此,为了在视觉上表示,绿色意味着这些像素很重要:

在此处输入图像描述

或者相反,是否可以突出显示对结果没有贡献的像素(或对结果产生怀疑从而降低 100% 的确定性)

在此处输入图像描述

2个回答

是的,肯定有,对此的研究实际上已经产生了一些非常酷的行为。

最简单的方法之一是简单地将梯度一直反向传播回输入。影响最终决策的输入区域将获得更大的梯度。有趣的是,这也是语义分割的一种基本形式。

其他方法是更改​​输入的片段并查看它如何影响输出(例如将 0.1 添加到像素)。

您还可以使用类似的技术确定卷积层中的每个过滤器正在查看的内容。

这是机器学习的一个超级有趣的领域,我强烈建议您看看这个完全免费的讲座,也是我个人见过的最有趣的讲座之一。它会比我做的更好地解释这一切。

有许多框架可以让你做到这一点。

其中一个支持许多不同的可视化技术,可以在这里找到: https ://github.com/marcoancona/DeepExplain