如何进行卷积特征可视化

大家好啊,我是董董灿。

之前写过很多关于卷积算法的文章:5分钟理解什么是卷积的特征提取。总的来说,卷积算法的本质是一个特征提取器

那么既然卷积神经网络在图像分类、图像检测、图像分割以及其他领域有这么好的表现,卷积到底是提取了图像的什么特征呢?

1、卷积特征可视化

虽然有时候我们说神经网络是个黑盒,但是研究人员一直在探索,如何将卷积学习到的特征给分析出来。

其实就是想要一窥神经网络这个黑盒内部的逻辑:在 CNN 网络中,那些卷积到底提取了哪些特征。

我们可以通过一定的方法,将卷积的输出(也就是特征图)给劫持出来,在利用一些可视化的方法将其显示出来,便可以直观的看到卷积学到了什么特征了。

要做这一步需要做到一点,那就是将一个神经网络中卷积的输出(也就是特征图)可以获取到。

幸运的是,我做的一个开源项目:手写一个神经网络中已经把卷积输出特征图给劫持出来,并且可以很轻松的实现特征的可视化。

项目 github 链接为:https://github.com/dongtuoc/resnet50_zero。

在本篇文章中,我们先借助一个很牛的网站工具,来了解一下,卷积特征可视化之后的效果到底如何。

2、一个神奇的网站实现特征可视化

一个很著名的CNN可视化网站:https://poloclub.github.io/cnn-explainer/

在这个网站中,作者搭建了一个只有 10 层的神经网络,包含 4 层卷积,4 个 relu 的激活函数, 2 层最大池化。

这个神经网络的输入是一张 3 通道的 RGB  图片,然后每一层卷积对每个通道进行卷积运算,完成一些特征的提取。

在这个网站中,你可以非常清晰的看到,一张图片在神经网络中是如何进行特征提取,以及从前往后的每一层卷积各自关注到了什么特征。

网站另一个很友好的地方在于,你可以点击其中的每一个步骤来看计算过程。

图片

比如,我点开一个最大池化的操作,就会出现一个动图来展示最大池化是如何运算的。

从这个网站中,我们可以粗略的看到,前几层卷积关注的特征大多还集中在形状、轮廓这种特征,而越往后特征就会变得越来越抽象,比如第 4 层就已经有点像热力图了。

强烈建议初学者去该网站玩一玩,会刷新你对神经网络的认识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

董董灿是个攻城狮

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

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

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

打赏作者

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

抵扣说明:

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

余额充值