一个像素的旅程:CNN可视化项目
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
郭一璞 发自 云凹非寺
量子位 报道 | 公众号 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
作者系网易新闻·网易号“各有态度”签约作者
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~