深度学习可解释性分析-CAM

为什么要进行可解释性分析?

神经网络往往被称为“黑盒”,Model学到的知识很难用人类可以理解的方式来提取和呈现。如何才能打开“黑盒”,一探究竟,因此有了神经网络的可解释性。目前,神经网络可解释性主要有两大思路:

  • 前处理:先数学理论证明,然后实验证明。

  • 后处理:训练好的模型,通过可视化技术来理解模型的原理。

 

如何进行可解释性分析?

CAM类激活热力图

概念介绍

  • 可以实现对深度学习实现可解释性分析,显著性分析

  • 可扩展性强,后续衍生出各种基于CAM的算法

  • 每张图像,每个类别都能生成对应的热力图

  • 弱监督定位:图像分类模型解决定位问题

  • 潜在的“注意力机制”

  • Machine learning 到Machine teaching

 

 

 网络结构

        卷积神经网络的卷积操作可以看做是滤波器对图片进行特征提取,通过滑动窗口的方式实现,因此特征图和输入图片存在空间上的对应关系。特征图的权重可以认为是被层层卷积核过滤后而保留的有效信息,其值越大表明特征越有效,对网络预测结果越重要。一个深层的卷积神经网络,通过层层卷积操作,提取空间和语义信息。一般存在其他更难理解的层,如分类的全连接层、softmax层等,很难以利用可视化方式展示出来。所以CAM的提取一般发生在卷积层,尤其是最后一层卷积。

        假设输出为两个类别分别为猫和狗,最后一层卷积层有n个特征图 (最后一层卷积层特征图富含有最为丰富类别语义信息)。

        移除原始模型的全连接层,将最后一层卷积层的n个特征图做全局平均池化(GAP),得到n个神经元的全连接层,然后外接两个神经元的输出层重新训练(如上图所示)。

        训练完后,输出层的两个神经元分别代表猫和狗的概率大小(实际上经过softmax才是概率)。假设我们要可视化某张图片中的猫是怎么进行识别的,取与猫对应神经元连接的n个权重,将这n个权重与最后一层卷积层的n个特征图进行相乘再相加,然后将得到的特征图进行上采样,得到与原始图像大小一致的图像,即为CAM。

 讨论1:使用全卷积网络,无池化操作

 

池化zuo'yong1.减少计算量 2.防止过拟合 3.平移不变性:引入平移不变性,即丢失了长宽方向的位置信息,所以在CAM热力图中不能使用池化操作 

讨论2:使用全局平均池化GAP

GAP取代全连接层,可以有效的降低参数量,防止过拟合。每个GAP的平均值间接代表了卷积层最后一层输出的每一个channel。 

模型总结

CAM优点: 1.对深度学习实现可解释性分析 2.可扩展性强,后续衍生出各种基于CAM的算法 3.每张图像,每个类别都能生成对应的热力图 4.弱监督定位:图像分类模型解决定位问题 5.潜在的“注意力机制” 6.Machine learning 到Machine teaching

CAM缺点: 1.CAM算法中必须要有GAP层,否则无法计算每个channel的权重 2.CAM算法只能分析最后一层卷积层的输出,无法分析中间层。 3.仅限于图像分类任务。

猜你喜欢

转载自blog.csdn.net/xs1997/article/details/129823751