卷积网络的可视化解释-类激活映射

本文介绍了卷积网络的可视化技术,特别是类激活映射(CAM)和Grad-CAM。CAM通过全局平均池化显示模型关注的类别相关区域,而Grad-CAM则使用梯度计算特征图权重,无需修改网络结构。这些方法有助于提升模型的可解释性和透明度。
摘要由CSDN通过智能技术生成

本文首发于:行者AI

在整篇文章论述开始之前,我们先做一些概念性的讲解铺垫。卷积神经网络的各层卷积单元在模型网络中实际上有充当了目标检测器的作用,尽管没有提供对目标位置的监督。虽然其拥有在卷积层中定位对象的非凡能力,但当使用全连接层进行分类时,这种能力就会丧失。基于此,提出了CAM(类激活映射)的概念,采用全局平均池化,以热力图的形式告诉我们,模型通过哪些像素点得知图片属于某个类别,使模型透明化和具有可解释性,如下图所示:

1. Global Average Pooling的工作机制

这里我们假设最后的类别数为n,最后一层含有n个特征图,求每张特征图所有像素的平均值,后接入一个有n个神经元的全连接层。要有n个特征图的原因在于,每个特征图主要提取了某一类别相关的某些特征。

2. 什么是CAM?

CNN最后一层特征图富含有最为丰富类别语意信息(可以理解为高度抽象的类别特征),因此CAM基于最后一层特征图进行可视化。CAM能让我们对CNN网络有很好的解释作用,利用特征图权重叠加的原理获得热图,详细工作原理如下图所示。

设最后一层有n张特征图,记为 A 1 , A 2 , . . . A n A^1,A^2,...A^n A1,A2,...An,分类层中一个神经元有n个权重,一个神经元对应一类,设第 i i i个神经元的权重为 w 1 , w 2 , . . . w n w^1,w^2,...w^n w1w2,...wn,则第c类的CAM的生成方式为:

L C A M c = ∑ i = 1 n w i c A i ( 式 1 ) L_{CAM}^c = \sum_{i=1}^n w_i^cA^i (式1) LCAMc=i=1nwicAi(1)

生成的CAM大小与最后一层特征图的大小一致,接着进行上采样即可得到与原图大小一致的CAM。

2.1. 为什么如此计算可以得到类别相关区域

用GAP表示全局平均池化函数,沿用上述符号,第c类的分类得分为 S c S_c Sc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值