Grad-CAM--可解释机器学习算法

引言

上一篇专栏学习了CAM,今天我们来讲讲GradCAM,GradCAM是在CAM上进行提出该教的,它与CAM的关系在这里我就不过多讲述。

为了更好地学习和了解CNN,通过可解释化可视化分析对卷积神经网络进行解释,以便于研究者对卷积神经网络进行模型决策。

Gradient-weighted Class Activation Mapping (Grad-CAM)是基于CAM的基础上进行改进提出的,在没有注意力机制(attention)的情况下,也能对模型进行判别。相比于CAM,如果要将CAM应用于目标分类器或者其他的领域模型,需要将目标模型的全连接层修改为GAP层,但是GradCAM并不需要需要修改原有的网络结构。

详细简介

 Grad-CAM基于流入CNN的最后一个卷积层的梯度信息为每个神经元分配重要值,以便于进行特定的关注决策。下图为Grad-CAM在小狗图像上的效果图,可以发现,他不仅做了常规的可解释性可视化,而且进行了基于遮挡的可解释性可视化,可见Grad-CAM的模型表现效果是不错的

Grad-CAM--可解释机器学习算法_第1张图片

 如下图,Grad-CAM不仅可以用于图像分类,同时还可以进行图像信息的解释性说明,以及可视化问题答案,也就是说,他不仅可以用于图像分类任务,还可以用于强化学习、自然语言处理、图像信息提取等众多的领域。

下图中,输入图像进行特征提取后,通过激活函数和全连接层计算出每一个像素点的权重,通过激活函数,得到可视化的热力图解释,Grad-CAM不需要使用GAP层,切可用于更多的领域,最后的得到的Grad-CAM的可解释性分析图是基于Guided Backprop和Grad-CAM矩阵信息相乘得到的

Grad-CAM--可解释机器学习算法_第2张图片

 下图公式为全局平均池化层之后得到的特征权重,这个公式中求梯度的计算可见这里为负,这里具有一个奥妙在于这个正负会产生不一样的结果,负号会使得我们的模型算法他关注你想要的我相反的特征,比如你想要探索猫,那现在梯度取了负号,算法所关注的会变成出了猫之外图像中的其他部分。

Grad-CAM--可解释机器学习算法_第3张图片

算法总结

Grad-CAM尽管解决了CAM的部分缺点,但他依然存在缺点:

只关注了反向梯度下降,并没有关注前向计算

在每一个图像中,只能产生和关注一个对象,不能关注多个

对部分敏感位置的定位效果不太好,鲁棒性已经很不错但还有提高空间。

但是Grad-CAM的前景十分良好,除了Grad-CAM之外,还有Score-CAM,Layer CAM等卷积可解释性算法

参考

1610.02391.pdf (arxiv.org)

你可能感兴趣的:(可解释性分析,深度学习,神经网络,cnn)