Visualizing and Understanding Convolutional Networks

本文分析AlexNet成功因素,如大量训练数据、GPU计算能力和dropout等,并介绍如何使用deconvnet技术可视化CNN各层特征,揭示网络内部工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ECCV2014

本文针对 AlexNet 网络非凡效果,主要分析它为什么好,怎么改进。为此引入了一个 CNN网络的可视化技术,借此技术分析CNN网络中间各层都学习到什么样的特征,并提出怎么改进 AlexNet 网络。

1 Introduction
首先分析了一下AlexNet 网络成功的几个因素:i) 大量标定的训练数据,ii)GPU的计算能力使一些大模型具有训练的可行性,iii)更好的模型镇定策略,例如 AlexNet 中使用的 dropout。

虽然 AlexNet 效果很好,但是我们对于CNN网络的内部结构没有很清晰的认识,不知道它为什么有如此好的效果。为此我们借用了deconvnet 提出了一个针对CNN网络的可视化技术。

这里我们主要采用 AlexNet 网络结构,如下图所示:

这里写图片描述

将一幅图像裁出一个 224*224大小的 RGB图像作为CNN网络的输入。在第一层进行 96个不同滤波器进行卷积,每个滤波器大小为7*7,步长在 x 和 y 方向都是2 (a stride of 2 in both x and y)。接着做 ReLU ,ReLU 之后是 最大池化(max within
3x3 regions, using stride 2),最后是归一化 contrast normalized,得到96个 55*55大小的 feature maps。第 2,3,4,5层类似第一层,第5层的输出是 256个 6*6*大小的 feature maps,第6,7层是4096个神经单元的全链接层,最后一层是 C-way softmax function,对应 C个类别。

2.1. Visualization with a Deconvnet
为了将CNN网络中间层的特征可视化,我们将中间层的feature maps 通过 (Zeiler et al., 2011)提出的 deconvnet 映射到 the input pixel space。

为了观察一个网络,每个网络层都需要单独有一个 deconvnet,它将该层的信息可以重构到输入图像像素层面。开始首先是输入图像进过网络每一层计算,我们得到每一层对应的 feature maps。为了观测特定的网络响应,我们将该层其他网络响应置零,将 featur maps作为该层对应的 deconvnet 的输入。然后我们经过连续的 (i) unpool, (ii) rectify and (iii) filter 重构,最后我们得到该响应在图像像素层面的输出。如下图所示,右边对应正常的网络层,左边是对应的 deconvnet 层。

这里写图片描述
这里写图片描述

3 Training Details
这里主要是一些训练的参数设置

4 Convnet Visualization
Feature Visualization: 下图显示了 CNN网络模型训练完毕之后各层学习到的特征。对于每一层,我们显示了前9个响应最大的特征,在显示学习到的特征同时,我们还显示了特征对应位置的图像。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

从上图可以看出网络提取出来的特征是越来越抽象。第一层对应方向,第二层是 corners and other edge/color conjunctions,第三层 则有更多的不变性, textures text,第四层则有了一些类别信息,第五层有完整的类别信息,还有姿态信息。

随着学习的深入,各层学习到的特征也在不断变化,如下图所示:
这里写图片描述

对于图像的平移 尺度 旋转 ,特征的变化如下图所示:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值