本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。
CNN是什么?美国有线电视新闻网吗?
每一个对AI抱有憧憬的小白,在开始的时候都会遇到CNN(卷积神经网络)这个词。
但每次,当小白们想了解CNN到底是怎么回事,为什么就能聪明的识别人脸、听辨声音的时候,就懵了,只好理解为玄学:
好吧,维基百科解决不了的问题,有人给解决了。
这个名叫CNN解释器在线交互可视化工具,把CNN拆开了揉碎了,告诉小白们CNN究竟是怎么一回事,为什么可以辨识物品。
它用TensorFlow.js加载了一个10层的预训练模型,相当于在你的浏览器上跑一个CNN模型,只需要打开电脑,就能了解CNN究竟是怎么回事。
而且,这个网页工具还可以实现交互,只要点击其中任何一个格子——就是CNN中的“神经元”,就能显示它的输入是哪些、经过了怎样细微的变化。
甚至,连每一次卷积运算都能看得清。
看清卷积
这个CNN解释器的使用方式也非常简单:鼠标戳戳戳就好了。
单击神经元,进入弹性解释视图,就可以看到卷积核滑动的过程的动画模拟:
点击一个正在卷积的过程图,就可以看到更具体的过程:
可以看到底层的卷积运算过程,3×3的卷积核是如何经过运算被变成1个数字的。
看清ReLU和最大池化层
点击一个ReLU层的神经元,可以看具体过程,ReLU函数是这样工作的:
点击一个池化神经元,也可以看具体最大池化层是怎样工作的:
看清CNN是怎么输出预测的
点击最右侧的输出神经元,进入弹性解释视图:
可以查看Softmax函数的详情:
识别「狸克」试试?
CNN解释器默认有10张图片,你也可以增加自己的自定义图片。
比如这个:
芝士焗灯笼椒?灯笼椒披萨?还是什么鬼?
复制图片链接或者上传图片之后,它经过了10层处理,得出结论:
是灯笼椒,但也可能是臭虫。
但是,只能归类于右侧原有的10个品类里,比如放一只狸克:
就会被识别成espresso。
佐治亚理工中国博士出品
最后,这个CNN解释器的作者是一位中国小哥,佐治亚理工的Zijie Wang,去年刚开始读机器学习博士,本科毕业于威斯康星大学麦迪逊分校,是一位GPA 3.95/4.00的大学霸。
他也曾经做过一些其他有趣的数据可视化项目,比如威斯康星大学麦迪逊分校的中国本科生都来自哪里:
传送门
CNN解释器
https://poloclub.github.io/cnn-explainer/
GitHub
https://github.com/poloclub/cnn-explainer
论文
https://arxiv.org/abs/2004.15004