我正在研究CIFAR-10数据集,试图了解模型如何预测图像(即人工智能的可解释性和解释性)。其中一种方法是使用遮挡敏感度。我在这个代码上找到了。我使用相同的代码(但3个频道)。我发现很难理解上面链接中的热图。我了解咬合敏感度的定义。这很简单。基本上,这个想法是通过覆盖一个矩形的灰色区域来遮挡图像中的物体,然后测试人工智能是否能够检测到目标。在链接中,我有三个问题:
print('Predicted class: {} (prob: {})'.format(np.argmax(pred), np.amax(out)))
在上述代码中np.amax公司(out)用于概率,但由于变量“out”在循环中,np.amax公司(out)将返回for循环的上一次迭代的最大值,该循环可能预测到或可能没有预测到所需的类。不应该用np.amax公司(预测)?例如:如果正确的类是2,而最后一次迭代预测的是类5,np.amax公司(out)将返回第5类而不是第2类的概率。还是我的理解错了?在
链接中提到了这一点
heatmap (low value = important field) and predicted-class map
现在,我了解到当灰色斑块覆盖了图像中的重要信息时,热图显示的阴影较暗,这意味着图像的这一部分在被遮挡时会大大降低模型预测的类(如果模型具有高精度,则为正确类)的概率。但是我不理解预测的类映射。在这些领域,其他课程是如何预测的?当在15-20之间有一个补丁(在y轴上),2级的概率会降低,但是神经网络是如何预测8级和9级的呢?
现在,我对遮挡敏感度有冲突:
以上哪项是正确的?在
我正在使用CIFAR-10数据集(即Class 8)中的船舶图像
被遮挡的图像是
输出包括:
Correct class: [8]
Predicted class: 8 (prob: 0.9992953538894653) #Here I have replaced np.amax(out) with np.amax(pred) (Doubt 1)
Predictions:
Class id 8: Count 8
Class id 0: Count 37
Class id 3: Count 2
Class id 1: Count 13
Class id 2: Count 4
热图和预测类映射
如您所见,模型预测0类(当被遮挡时)最多(计数为37),但模型预测的是8类(当没有被遮挡时,即当整个图像被提供给模型时)。为什么?在
还有,什么样的形象更适合培养模特?灰度图像或彩色(3通道:RGB)图像
如果有人能帮助我理解预测的类映射,或者为我提供一个好的链接,那就太完美了!
注意:以下链接已经被引用:
不幸的是,我并没有得到核心的敏感度。我有直觉(我猜)
非常感谢!在
目前没有回答
相关问题 更多 >
编程相关推荐