关注我们
一、引言
由于深度学习的不可解释性,作者提出了CNN交互式可视化工具—CNN Explainer。试用之后感觉不错,还有配套论文可以学习,速来分享~~
CNN解释器:https://poloclub.github.io/cnn-explainer
论文:https://arxiv.org/abs/2004.15004
GitHub:https://github.com/poloclub/cnn-explainer
卷积神经网络可视化:可交互有细节,卷积ReLU池化一目了然,CNN解释器在线交互可视化工具。
本文分为:CNN解释器与论文简析两个部分展开讲解。
二、CNN 解释器
CNN Explainer:卷积神经网络可视化,可交互有细节,卷积激活池化一目了然。该项目用TensorFlow.js加载一个10层的预训练模型,相当于在浏览器上跑一个CNN模型,只需打开笔记本,就可以了解CNN的处理过程。
而且,这个网页工具还可以实现交互,只要点击其中任何一个格子—CNN中的“神经元”,就能显示它的输入、经过的变化,甚至连每一次卷积运算都能看得清清楚楚,快来和我一窥究竟吧~
1. 网站展示
首先进入在线网站:
https://poloclub.github.io/cnn-explainer
等待刷新一段时间,会出现下面的这个界面:
以conv_1_1为例,该工作可视化了卷积的计算过程。
由动态图,可以发现单个卷积核计算,通过3*3卷积分别以相同的权重在RGB每个通道上求乘积之和,然后三个通道求和再加上偏置,就得到一个conv_1_1其中一个特征图的像素,通过滑动得到一个特征图。10个卷积得到10张特征图。参数量也可以计算,由于权重共享,因此单个卷积核的参数为3*3,输入有三个通道、10个卷积核,还有一个偏置的参数就是(3*3*3+1)*10。
2. 卷积过程
单击卷积神经元,进入解释视图:
点击卷积,可以看到更加具体的过程:
3. 激活与池化过程
点击ReLU神经元:
点击池化神经元:
4. 输出预测
点击输出神经元:
点击Softmax函数:
5. 解释器使用
CNN解释器默认10张图片,可以增加自己的自定义图片。
选择默认图片或者上传图片后,经过CNN处理,得出识别结论。
二、论文简析
1. 摘要
由于深度学习的复杂性与不可解释性,作者提出了交互式可视化工具—CNN EXPLAINER。
2. 介绍
由于CNN作为常见的网络结构、且入门阶段必须学习。但是呢?学习CNN的一个主要挑战是:低层次数学运算和网络中这些运算的高层次集成之间复杂的相互作用。
文章介绍部分总结了现有帮助人们理解深度学习的一些工具,并针对这些说明了其论文要提出该可视化工具的目的,以及总结了该文献的创新点。包括CNN EXPLAINER可视化工具、以及开源代码等。
3. 论文
下图为19个已经学习过CNN的被测试者的调研结果。
论文采用10层的网络结构,其中包含了最基本的神经网络结构:卷积、池化及激活等,输入图像经过模型处理,最终给出分类结果。
领取专属 10元无门槛券
私享最新 技术干货