CNNs 可视化

CNNs 可视化

让我们看一个 CNN 的例子,了解它如何运作。

我们看到的训练 ImageNet 的 CNN 例子,来自 Zeiler 和 Fergus 的论文 。在下图中(同样取自此论文),我们会看到网络中的每一层侦测到什么,看到每一层如何侦测更复杂的概念。

第一层

网络第一层被激活的样例。有简单的对角线(左上)和绿色色块(中下)。

网络第一层被激活的样例。有简单的对角线(左上)和绿色色块(中下)。

图片来自 Matthew Zeiler 和 Rob Fergus 的 deep visualization toolbox,让我们可以可视化地看到 CNN 每一层的关注的点是什么。

上述格子中的每一个图片都代表一个激活神经元的图案。换句话说,这些是第一层认出的图案。左上角的图有一条-45度的直线,上方中间的图有一个+45度的直线。如下所示:

可以看到第一层识别出的-45度的直线

可以看到第一层识别出的-45度的直线

CNN 的第一层还识别除了+45度的直线

CNN 的第一层还识别除了+45度的直线

让我们看下引发这些示例图片的图片。下面的图都引发了 -45 度的直线,尽管他们有不同的颜色,渐变和图案。

在第一层引发 -45 度直线的原图。

在第一层引发 -45 度直线的原图。

所以 CNN 的第一层很清楚的选择了非常简单的形状、图案,例如直线和色块。

第二层

CNN 第二层的可视化。可以发现它注意到更复杂的概念例如圈,条纹。左边的图表示这一次 CNN 的激活状况(或者说它“看到”了什么),右边是引起这些状况的原始图片。

CNN 第二层的可视化。可以发现它注意到更复杂的概念例如圈,条纹。左边的图表示这一次 CNN 的激活状况(或者说它“看到”了什么),右边是引起这些状况的原始图片。

CNN 的第二层捕捉了一些复杂的概念。

如上图所示,CNN 的第二层认出了圈(第二行第二栏),条纹(第一行第二栏)和长方形(右下角)。

CNN 是自己学着做这些事情的。 我们并没有设定让更深的网络层聚焦于更复杂的事物上。只要把训练数据输入 CNN,自然就会发生这样的事情。

第三层

CNN 第三层的可视化图。左边的网格表示 CNN 的激活(或者说它“看到”了什么)。右边是相对应的原始图片。

CNN 第三层的可视化图。左边的网格表示 CNN 的激活(或者说它“看到”了什么)。右边是相对应的原始图片。

第三层捕捉了第二层特征的复杂组合。包括格子,蜂窝状(左上),轮子(第二行第二列)甚至脸(第三行第三列)。

第五层

CNN 第五层,也是最后一层的可视化。左边的灰色网格表示 CNN 的激活(或者说它“看到”了什么)。右边是相对应的原始图片。

CNN 第五层,也是最后一层的可视化。左边的灰色网格表示 CNN 的激活(或者说它“看到”了什么)。右边是相对应的原始图片。

我们跳过了第四层(这一层同样遵循这个规律),直接跳到 CNN 的第五层,也是最后一层。

最后一层选取了我们最关心的,可用作分类的概念,例如狗的脸,鸟的脸,自行车。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ncst

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值