为什么要进行可解释性分析?
神经网络往往被称为“黑盒”,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.仅限于图像分类任务。