论文笔记Visualizing and understanding convolutional networks

1. 标题及来源

Visualizing and understanding convolutional networks, ECCV 2014

2. 阅读目的

学会如何可视化网络的中间结果,并使用代码表示出来
理解卷积网络如何学习(已经能理解,但是理解较模糊,无法建立直观概念)

3. 领域

卷积网络可视化

4. 拟解决的问题

1. 为什么卷积网络能表现得很好
2. 卷积网络性能提升的可能办法

5. 提出的方法

通过反卷积对网络的中间层进行可视化,可以给人最直观的理解,更换分类器的类型。

6. 结果

对一个五层的网络进行可视化
论文笔记Visualizing and understanding convolutional networks
Layer2中,我们可以看到左上角第一个3x3的区域以及右边对应位置的区域,如下所示,
论文笔记Visualizing and understanding convolutional networks论文笔记Visualizing and understanding convolutional networks
从这两个图中我们可以发现,通过学习的参数对其进行可视化,我们发现网络学的东西是一些很奇怪的东西,但是通过反卷积可视化后,我们可以直观的看到网络学习到的特征。从图中我们可以发现,在Layer2中,网络大致学了一些简单的特征,例如纹理论文笔记Visualizing and understanding convolutional networks
在Layer3中,同样是左上角的位置,我们可以发现,网络学习到了一些有很多孔的物品的特征;在最后一行倒数第二块中,我们发现网络中学习到了一些人的轮廓,对其可视化后,我们可以发现它提取了一些人物的特征,这意味着网络已经能够辨别人
论文笔记Visualizing and understanding convolutional networks
在Layer4中,我们通过观察左上角可以发现一些狗的轮廓,通过反卷积可视化之后可以看到一些狗的照片,这意味着这层的网络已经可以辨别一些狗了;
Layer5中的特征同理
论文笔记Visualizing and understanding convolutional networks
这个图展示了训练过程中,每层网络的特征演变过程,从图中我们可以发现,在低层学习的都是一些简单的特征,例如轮廓,方向等,随着网络深度的增加,我们发现网络中学习的特征越来越复杂,这也印证了卷积网络的特点——低层学习简单特征,高层学习的是一些语义特征,更复杂,但是与物体的相似度更高
论文笔记Visualizing and understanding convolutional networks

a和b表示Layer1的结果,c和d表示Layer2的结果,其中a和c表示网络的默认结果,b和d表示修改后的结果(将b中的卷积核从11x11变到7x7,stride从4变到2)
当stride变大时,会出现混淆现象
论文笔记Visualizing and understanding convolutional networks论文笔记Visualizing and understanding convolutional networks
论文笔记Visualizing and understanding convolutional networks
改变网络结构后的误差
论文笔记Visualizing and understanding convolutional networks
预训练模型的重要性
论文笔记Visualizing and understanding convolutional networks
从图中第三行46.5%的正确率说明使用一个小的训练集训练大的卷积网络几乎不可能有很好地效果

注意:
预训练模型不一定能显著提升效果,当两个数据集或者两个网络的任务相似时,使用预训练模型也许能提升效果

论文笔记Visualizing and understanding convolutional networks
从上表中可以发现,使用基于ImageNet上预训练的网络,在Pascal2012数据集并不能得到很好的效果,这可能是因为两个数据集的分布不太一样。更换损失函数也许能解决这种精度问题
论文笔记Visualizing and understanding convolutional networks

7. 改进&存在的问题

  1. 只能对单个通道进行可视化,不能可视化一个层

8. 可借鉴的点

9. 知识补充

9.1 RMS(root mean square)值

RMS=1n(x12+x22++xn2RMS = \sqrt{\frac{1}{n} (x^2_1 + x^2_2 + \cdots + x^2_n}