基于Keras实现的代码文档 (图+说明)
"Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps"
saliency map即特征图,可以告诉我们图像中的像素点对图像分类结果的影响。
计算它的时候首先要计算与图像像素对应的正确分类中的标准化分数的梯度(这是一个标量)。如果图像的形状是(3, H, W),这个梯度的形状也是(3, H, W);对于图像中的每个像素点,这个梯度告诉我们当像素点发生轻微改变时,正确分类分数变化的幅度。
计算saliency map的时候,需要计算出梯度的绝对值,然后再取三个颜色通道的最大值;因此最后的saliency map的形状是(H, W)为一个通道的灰度图。
下图即为例子:
上图为图像,下图为特征图,可以看到下图中亮色部分为神经网络感兴趣的部分。
理论依据
需要注意一下: