当前位置: 代码迷 >> 综合 >> Visualizing and Understanding Convolutional Networks论文总结
  详细解决方案

Visualizing and Understanding Convolutional Networks论文总结

热度:80   发布时间:2024-01-11 05:46:29.0

Visualizing and Understanding Convolutional Networks

CNN领域可视化理解的开山之作。

这篇文献告诉我们CNN的每一层到底学习到了什么特征,然后作者通过可视化进行调整网络,提高了精度。

网络结构

与AlexNet类似
在这里插入图片描述

通过反卷积实现可视化在这里插入图片描述
  • unpooling:利用switches表格记录每个最大值的位置,在该位置填回最大数值,其余位置填0。
  • Relu:直接利用ReLU函数,仍然确保输出为非负数。
  • 反卷积:利用相同卷积核的转置作为核,与输入做卷积运算。

反卷积
在这里插入图片描述
输入图像大小为4x4,卷积Kernel为3x3, 没有Padding,Stride为1, 则输出图像的大小为2x2。

输入矩阵可展开为16维向量,记作X,输出矩阵可展开为4维向量,记作Y,卷积运算可表示为

Y = C X Y = CX Y=CX

C其实就是如下的稀疏矩阵:
在这里插入图片描述
若输入图像大小2×2,则首先展开成(4,1)大小的向量,反卷积运算可表示为:

X = C T ? Y X=C^T*Y X=CT?Y

可视化结果

在这里插入图片描述
在这里插入图片描述
结论:

1.层数越高,所提取的特征越抽象

  • Layer1和2 颜色、边缘、轮廓
  • Layer3 纹理特征
  • Layer4 类别之间的差异
  • Layer5 同类之间的差异

2.特征学习的过程

经过一定次数的迭代之后,底层特征趋于稳定,但更高层特征要更多次迭代才能收敛。
在这里插入图片描述

  • 在训练网络的时候,不要着急看结果,看结果需要保证网络收敛。

3.特征不变性。

平移和尺度变化并不影响CNN的分类结果,但CNN无法对旋转产生良好的鲁棒性。
在这里插入图片描述

结构的选择

在这里插入图片描述

  • filter 11×11 strides 4 -> filter7×7 strides 2
遮挡测试

当关键区域发生遮挡时,分类器性能急剧下降。
在这里插入图片描述

相关性分析

解释物体部件之间的相关性,比如人脸中眼睛和鼻子的空间位置的关系。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

实验

1.ImageNet 2012

14.8%的Top-5准确率,比当时公开的数据都要精确,且只用了12年的dataset。
在这里插入图片描述
最终发现删除6、7层全连接层,错误率只有轻微提升,删掉两层卷积层错误率也没有明显提升,但删除这四层之后,错误率急剧提升。
在这里插入图片描述
2.特征泛化能力

在不改变模型1~7层训练结果,只训练softmax层的情况下,又进行了Caltch-101、Caltch-256、PASCAL VOC 2012三个库的测试。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结:
  • 模型的深度很重要,虽然这也增加了过拟合的可能。
  • 可适当精简层,特别是全连接层。
  • 在扩充训练集的时候,调整图像角度是关键。
  • 可以先进行其他数据记得预训练。
  相关解决方案