这里写自定义目录标题
- CNN的可视化理解
- 第一个卷积层的可视化
- 最后一层的可视化
- 中间层的可视化
- 擦除
- 激活图
- 显著图Saliency Map
CNN的可视化理解
第一个卷积层的可视化
可视化第一层的卷积核:
可以看到卷积核中更多的是一些图像的边缘信息(轮廓信息),因此,第一层的卷积核可以提取一些图像的轮廓信息。
为什么要可视化卷积核:
目的就是我们想要研究每一层卷积层到底提取的是图像的什么信息。
通过可视化卷积核我们发现,卷积核是一些图像轮廓信息,所以我们可以知道,哦~原来卷积神经网络第一层提取了一些图像的轮廓信息。
好的,为什么这么说呢?
卷积操作,就是通过卷积核与原始图像的各个区域进行内积运算。我们可以看成是两个向量的点乘,而在范数的约束下,优化的目标是令这个乘积最大。所以想一想向量相乘~~当然是向量同方向时乘积最大。同方向即图像数据与卷积核权值相匹配。
如果对卷积中间层进行可视化,可解释性会差一些。
最后一层的可视化
方法一:通过可视化Nearest Neighbors观察最后一层全连接层获取到的特征的特点
。
左图:是在原始图像像素层面上计算近邻
右图:是在特征图层面计算近邻
可以发现右图第二行,输入图像是一个面向右侧的大象,但是计算出的近邻图中有面向左侧的大象。方法二:降维Dimensionality Reduction
PCA降维法对MNIST数据集的网络最后一层的特征降维到二维进行可视化。
右下可以看到实现了聚类,有10个类别。
t-SNE降维法:常用于深度学习。
右图也是降维到二维,可以看到左下角都是一些绿色的花草也是实现了聚类。
中间层的可视化
如何知道图像中的哪些区域对分类最有效?如下方法:
擦除
通过滑动窗口擦除(其实就是置成灰色像素块)图像中的像素块,观察后续的分类结果。
激活图
类激活图是利用了最后一个卷积层的特征,将其映射到原始图像上得到的高注意力区域。
显著图Saliency Map
通过计算类得分与原始图像的梯度得到。