热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

中国学者实现CNN全程可视化,详尽展示每次卷积、ReLU和池化过程

本文经AI新媒体量子位(公众号ID:qbitai)授权转载,转载请联系出处

本文约900字,建议阅读5分钟。

本文带你一张图看懂CNN。

标签:人工智能技术

CNN是什么?美国有线电视新闻网吗?

每一个对AI抱有憧憬的小白,在开始的时候都会遇到CNN(卷积神经网络)这个词。

但每次,当小白们想了解CNN到底是怎么回事,为什么就能聪明的识别人脸、听辨声音的时候,就懵了,只好理解为玄学:

中国博士把整个 CNN 都给可视化了,每次卷积 ReLU 池化都清楚

 

好吧,***解决不了的问题,有人给解决了。

中国博士把整个 CNN 都给可视化了,每次卷积 ReLU 池化都清楚

 

这个名叫CNN解释器在线交互可视化工具,把CNN拆开了揉碎了,告诉小白们CNN究竟是怎么一回事,为什么可以辨识物品。

它用TensorFlow.js加载了一个10层的预训练模型,相当于在你的浏览器上跑一个CNN模型,只需要打开电脑,就能了解CNN究竟是怎么回事。

中国博士把整个 CNN 都给可视化了,每次卷积 ReLU 池化都清楚

 

而且,这个网页工具还可以实现交互,只要点击其中任何一个格子——就是CNN中的“神经元”,就能显示它的输入是哪些、经过了怎样细微的变化。

甚至,连每一次卷积运算都能看得清。

看清卷积

这个CNN解释器的使用方式也非常简单:鼠标戳戳戳就好了。

单击神经元,进入弹性解释视图,就可以看到卷积核滑动的过程的动画模拟:

中国博士把整个 CNN 都给可视化了,每次卷积 ReLU 池化都清楚

 

点击一个正在卷积的过程图,就可以看到更具体的过程:

中国博士把整个 CNN 都给可视化了,每次卷积 ReLU 池化都清楚

 

可以看到底层的卷积运算过程,3×3的卷积核是如何经过运算被变成1个数字的。

看清ReLU和最大池化层

点击一个ReLU层的神经元,可以看具体过程,ReLU函数是这样工作的:

中国博士把整个 CNN 都给可视化了,每次卷积 ReLU 池化都清楚

 

点击一个池化神经元,也可以看具体最大池化层是怎样工作的:

中国博士把整个 CNN 都给可视化了,每次卷积 ReLU 池化都清楚

 

看清CNN是怎么输出预测的

点击最右侧的输出神经元,进入弹性解释视图:

中国博士把整个 CNN 都给可视化了,每次卷积 ReLU 池化都清楚

 

可以查看Softmax函数的详情:

中国博士把整个 CNN 都给可视化了,每次卷积 ReLU 池化都清楚

 

识别「狸克」试试?

CNN解释器默认有10张图片,你也可以增加自己的自定义图片。

比如这个:

中国博士把整个 CNN 都给可视化了,每次卷积 ReLU 池化都清楚

 

芝士焗灯笼椒?灯笼椒披萨?还是什么鬼?

复制图片链接或者上传图片之后,它经过了10层处理,得出结论:

中国博士把整个 CNN 都给可视化了,每次卷积 ReLU 池化都清楚

 

是灯笼椒,但也可能是臭虫。

但是,只能归类于右侧原有的10个品类里,比如放一只狸克:

中国博士把整个 CNN 都给可视化了,每次卷积 ReLU 池化都清楚

 

就会被识别成espresso。

中国博士把整个 CNN 都给可视化了,每次卷积 ReLU 池化都清楚

 

佐治亚理工中国博士出品

最后,这个CNN解释器的作者是一位中国小哥,佐治亚理工的Zijie Wang,去年刚开始读机器学习博士,本科毕业于威斯康星大学麦迪逊分校,是一位GPA 3.95/4.00的大学霸。

中国博士把整个 CNN 都给可视化了,每次卷积 ReLU 池化都清楚

 

他也曾经做过一些其他有趣的数据可视化项目,比如威斯康星大学麦迪逊分校的中国本科生都来自哪里:

中国博士把整个 CNN 都给可视化了,每次卷积 ReLU 池化都清楚

 

传送门

CNN解释器:https://poloclub.github.io/cnn-explainer/

GitHub:https://github.com/poloclub/cnn-explainer

论文:

https://arxiv.org/abs/2004.15004

\编辑:于腾凯

校对:林亦霖

—完—


推荐阅读
  • 资源推荐 | TensorFlow官方中文教程助力英语非母语者学习
    来源:机器之心。本文详细介绍了TensorFlow官方提供的中文版教程和指南,帮助开发者更好地理解和应用这一强大的开源机器学习平台。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 随着技术的发展,黑客开始利用AI技术在暗网中创建用户的‘数字孪生’,这一现象引起了安全专家的高度关注。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 深入浅出TensorFlow数据读写机制
    本文详细介绍TensorFlow中的数据读写操作,包括TFRecord文件的创建与读取,以及数据集(dataset)的相关概念和使用方法。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 本教程详细介绍了如何使用 TensorFlow 2.0 构建和训练多层感知机(MLP)网络,涵盖回归和分类任务。通过具体示例和代码实现,帮助初学者快速掌握 TensorFlow 的核心概念和操作。 ... [详细]
  • Python 工具推荐 | PyHubWeekly 第二十一期:提升命令行体验的五大工具
    本期 PyHubWeekly 为大家精选了 GitHub 上五个优秀的 Python 工具,涵盖金融数据可视化、终端美化、国际化支持、图像增强和远程 Shell 环境配置。欢迎关注并参与项目。 ... [详细]
  • 本文旨在探讨如何利用决策树算法实现对男女性别的分类。通过引入信息熵和信息增益的概念,结合具体的数据集,详细介绍了决策树的构建过程,并展示了其在实际应用中的效果。 ... [详细]
  • 本文档旨在帮助开发者回顾游戏开发中的人工智能技术,涵盖移动算法、群聚行为、路径规划、脚本AI、有限状态机、模糊逻辑、规则式AI、概率论与贝叶斯技术、神经网络及遗传算法等内容。 ... [详细]
  • 基于2-channelnetwork的图片相似度判别一、相关理论本篇博文主要讲解2015年CVPR的一篇关于图像相似度计算的文章:《LearningtoCompar ... [详细]
  • 本文详细介绍了使用NumPy和TensorFlow实现的逻辑回归算法。通过具体代码示例,解释了数据加载、模型训练及分类预测的过程。 ... [详细]
author-avatar
mobiledu2502875123
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有