CAM简介
- 池化(最大池化,均匀池化,全局均匀池化【GAP】)的作用:正则化(避免过拟合,低落维度,保存主要特性的同时变小盘算量,变小了参数数目)
- 使用GAP来代替FC,优点是最小化参数数目标同时坚持高功能,布局变得简便,也制止了过拟合。但是缺陷是和FC比拟,GAP收敛速率较慢。
- GAP完成的功效:(把特性图转换成特性向量,每一层特性图用一个值表现,以是假如这个特性图的深度是512,那么这个特性向量的长度就是512)
- GAP的别的一个作用:能保存空间信息并且定位(localization),只管在图像级标签上举行了练习,它仍可以区分辨别图像地区。 并且在很多职责中它都可以定位辨别图像地区,只管只是练习基于处理分类职责。
- CAM是什么?:CAM是一个协助我们可视化CNN的东西。使用CAM,我们可以清晰的察看到,网络眷注图片的哪块地区。
- CAM的缺陷:起首我们必需改动网络布局,比如把全毗连层改周全局均匀池化层,这拦阻于练习。第二是这是基于分类成绩的一种可视化武艺,用于回归成绩约莫就没有这么好的后果。
- CAM的使用:发觉场景中有效的物体在弱标志图像中定位比力笼统的看法、弱监督笔墨检测,它可以眷注笔墨局部即使网络没有练习过笔墨大概任何正文框、协助我们发觉成绩,改良布局
- 总结:CAM使得弱监督学习提高成为约莫,可以徐徐变小对人工标注的依托,能低落网络练习的本钱。经过可视化,就像往黑箱子里打了一个手电筒,让人们可以实验去了解网络。
类激活映射(Class Activation Mapping,CAM 办法在如今看来约莫存在着种种成绩,但是其作为该类明显性图算法的“开山之作”,其头脑影响了后续诸多办法的产生。本文将在CAM的基本上,先容的GradCAM, GradCAM++, LayerCAM。
办法先容
CAM以及在此基本上衍生出来的GradCAM, GradCAM++等等都是属于明显性图可表明性算法,因此这类算法只能使用在图像的成绩上,大概说是专门为**卷积神经网络(CNN)**计划的一类可表明性算法。该类算法使用神经网络的特性图(feature map)取得原图各个局部的紧张性,具体来说就是为特性图赋予不同的权重来取得明显性图。
大要的思绪如上述公式所示,此中,是第c类i,j坐标处的明显性图,是c类第k张特性图的权重,是第k张特性图i,j处的值。各种算法的主要区别表如今算法权重的获取上,其他局部的差别在后文中解说。这类算法在完成的历程中必要用到梯度的盘算,因此假如使用pytorch完成,必要借助pytorch hook机制。
CAM
在CAM中,作者以为全局均匀池化层具有局部定位才能,将卷积网络后的原本的池化层和全毗连层改为全局均匀池化和全毗连层(这里全毗连层神经元数和模子种别数相反),重新练习练习模子取得权重,将深层特性图加权求和取得明显性图,为卷积神经网络的可表明性提供了全新的思绪。以CAM为基本,为了不必要修正模子布局,依据对否使用梯度盘算权重提超过两个种别,使用梯度的办法如GradCAM、GradCAM++、LayerCAM等,而不使用梯度的算法有诸如AblationCAM和ScoreCAM。本文主要先容使用梯度的算法。
?