神经网络 Playground

直接在浏览器中设计神经网络
别担心,不会把浏览器搞崩溃。我们可以保证。

完整训练次数

数据

您想要使用哪个数据集?

特征

您想要输入哪些属性?

点击任意位置即可修改。
权重/偏差0.2
这是 1 个神经元的输出。鼠标悬停在上方即可放大查看。
输出中混合了不同的权重,并按线条粗细来表示。

隐藏层

输出

测试损失
训练损失
颜色代表不同的数据、神经元和权重值。

呃,什么是神经网络?

神经网络是一种技术,可用于构建能够从数据中学习规律的计算机程序。该技术大致以我们认为人类大脑所采用的工作方式为基础。首先,要创建各种软件“神经元”并将它们连接在一起,让它们可以互相发送消息。接下来,该网络需要解决某个问题,它会尝试一次又一次地完成相关计算,每次都会对引向成功的连接进行强化,并减少导致失败的连接。如需了解关于神经网络的详细介绍,Michael Nielsen 的《神经网络与深度学习》会对您有所帮助。如需了解技术性更强的概述,您可以尝试阅读由 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 合著的《深度学习》

太酷了,我可以修改它吗?

请随意修改!我们已通过 GitHub 开放相关源代码,希望这样能够降低神经网络的接触门槛,也让学习神经网络变得更加容易。您可以随意使用这些源代码,只需符合 Apache 许可证的要求即可。如果您在添加或更改代码方面有任何建议,请与我们联系

我们还在下面提供了一些控件,让您可以针对特定主题或课程对该 Playground 进行定制。只需在下面选择您想要显示的特征,然后保存此链接刷新页面即可。

各种颜色分别表示什么意思?

橙色和蓝色在整个可视化过程中的使用方法略有不同,但通常橙色代表负值,而蓝色代表正值。

数据点(以小圆圈表示)最初显示为橙色或蓝色,分别对应正值和负值。

在隐藏层中,线条根据神经元之间的连接的权重标注颜色。蓝色代表正权重值,意味着网络在使用神经元给定的输出。橙色线条代表网络分配了负权重值。

在输出层中,点根据原始值标注为橙色或蓝色。背景颜色代表网络对特定区域的预测情况。颜色强度代表系统对相应预测的信心程度。

你们使用的是哪个库?

我们编写了一个小型神经网络,该库能够满足此可视化教学图表的要求。对于现实世界中的应用,请考虑使用 TensorFlow 库。

鸣谢

该 Playground 由 Daniel Smilkov 和 Shan Carter 创建而成。 该 Playground 借鉴了很多人之前的工作成果,尤其是 Andrej Karpathy 的 convnet.js 演示以及 Chris Olah 发布的关于神经网络的文章。 此外,非常感谢 D. Sculley 帮助提出最初的想法,还要感谢 Fernanda Viégas 和 Martin Wattenberg,以及 Big PictureGoogle Brain 团队的其他成员提供反馈和指导。