Grad-CAM(Gradient-weighted Class Activation Mapping)是一种用于可视化卷积神经网络(CNN)中特定类别的激活区域的方法。其基本思想是使用网络的梯度信息来获取关于特定类别的空间定位信息。
Grad-CAM 的具体公式如下:
-
首先,计算特定类别的输出分数对于最终卷积层的梯度。假设我们有一个CNN模型,并且该模型的最终卷积层的输出特征图为 A,对于类别 c 的输出分数为 y_c。计算梯度的公式为:
其中,A_i 是最终卷积层的第 i 个通道的特征图。
-
对于每个通道 i,计算其梯度和输出特征图的加权平均:
其中,Z 是权重的总和,A_{ijk} 是特征图的元素。
-
计算最终的热力图 L_c:
这里使用 ReLU 函数是为了确保只保留正值,消除负值对于可视化的干扰。
通过这个过程,我们得到了一个热力图,该热力图表示输入图像中与特定类别相关的激活区域。Grad-CAM提供了一种直观的方式来理解CNN模型对于某一类别的决策所依赖的空间信息。