通过章节3描述的结构框架,我们开始使用反卷积网来可视化ImageNet验证集上的特征激活。
特征可视化:图2展示了训练结束后,模型各个隐含层提取的特征,图2显示了在给定输出特征的情况下,反卷积层产生的最强的9个输入特征。将这些计算所得的特征,用像素空间表示后,可以清洗的看出:一组特定的输入特征(通过重构获得),将刺激卷积网络产生一个固定的输出特征。这一点解释了为什么当输入存在一定畸变时,网络的输出结果保持不变。在可视化结果的右边是对应的输入图片,和重构特征相比,输入图片之间的差异性很大,而重构特征只包含哪些具有判别能力纹理结构。举例说明:层5第1行第2列的9张输入图片各不相同,差异很大,而对应的重构输入特征则都显示了背景的草地,没有显示五花八门的前景。
每层的可视化结果都展示了网络的层次化特点。层2展示了物体的边缘和轮廓,以及与颜色的组合;层3拥有了更复杂的不变性,主要展示了相似的纹理(例如:第1行第1列的网格模型;第2行第4列的花纹);层4不同组重构特征存在着重大差异性,开始体现类与类之间的差异:狗狗的脸(第一行第一列),鸟的腿(第4行第2列);层5每组图片都展示了存在重大差异的一类物体,例如:键盘(第1行第1列),狗(第4行)
特征在训练过程中的演化:图4展示了在训练过程中,由特定输出特征反向卷积,所获得的最强重构输入特征(从所有训练样本中选出)是如何演化的,当输入图片中的最强刺激源发生变换时,对应的输出特征轮廓发生跳变。经过一定次数的迭代后,底层特征趋于稳定。但更高层的特征则需要更多的迭代才能收敛(约 40~50个周期),这表明:只有所有层都收敛时,分类模型才堪用。
特征不变性:图5展示了5个不同的例子,他们分别被平移,旋转和缩放。图5右边显示了不同层特征向量所具有的不变性能力。在第1层,很小的微变都会导致输出特征变换明显,但越往高层走,平移和尺度变换对最终结果的影响越小。总体来说:卷积网络无法对旋转操作产生不变性,除非物体具有很强的对称性。
图2 :训练好的卷积网络,显示了层2到层5通过反卷积层的计算,得到9个最强输入特征,并将输入特征映射到了像素空间。本文的重构输入特征不是采样生成的:他们是固定的,由特定的输出特征反卷积计算产生。每一个重构输入特征都对应的显示了它的输入图像。三点启示:1 每组重构特征(9个)都有强相关性;2 层次越高,不变性越强;3都是原始输入图片具有强辨识度部分的夸张展现。例如:狗的眼睛,鼻子(层4, 第一行第1列)
4.1 结构选择观察 Krizhevsky 的网络模型可以帮助我们在一开始就选择一个好的模型。反卷积网络可视化技术显示了 Krizhevsky 卷积网络的一些问题。如图 6(a)以及 6(d)所示,第1层卷积核混杂了大量的高频和低频信息,缺少中频信息;第二层由于卷积过程选择4作为步长,产生了混乱无用的特征。为了解决这些问题,我们做了如下的工作:(i)将第一层的卷积核大小由11*11 调整到 7*7;(ii)将卷积步长由 4调整为2;新的模型不但保留了1, 2层绝大部分的有用特征,如图 6(c),6(e)所示,还提高了最终分类性能,我们将在章节5.1看到具体结果。