什么是神经网络?
神经网络是一种构建能从数据中学习的计算机程序的方法,其灵感与我们对人脑的理解有一些松散的联系。首先创建一组软件“神经元”,并将它们连接起来,让它们能够互相传递信息。随后让网络反复尝试解决某个问题,每次加强有助于成功的连接,减弱导致失败的连接。要了解更详细的入门知识,可以阅读迈克尔·尼尔森的《神经网络与深度学习》。如果希望阅读技术性更强的综述,可以参考《深度学习》,作者为伊恩·古德费洛、约书亚·本吉奥和亚伦·库维尔。
可以把它用于自己的课程或项目吗?
当然可以!我们已在代码托管平台开源这个项目,希望让神经网络更容易理解和学习。只要遵守Apache 许可证,就可以按许可使用。如果有新增功能或修改建议,请向原作者反馈.
。下方提供了可见控件的设置,方便针对某个主题或课程定制实验。选择需要显示的功能后,保存,或页面。
颜色分别表示什么?
可视化中的橙色和蓝色在不同位置有略微不同的含义,总体上橙色表示负值,蓝色表示正值。
数据点以小圆点表示,最初显示为橙色或蓝色,对应正一和负一两种类别。
隐藏层中的连线颜色表示神经元之间的连接权重。蓝色表示正权重,即网络直接使用该神经元的输出;橙色表示网络赋予它负权重。
输出层中的数据点按照原始数值显示为橙色或蓝色。背景颜色表示网络对该区域的预测,颜色强度表示预测的置信程度。
使用了什么计算库?
我们编写了一个小型神经网络计算库,满足这项教学可视化的需求。实际应用可以考虑TensorFlow计算库。
致谢
本项目由 Daniel Smilkov 和 Shan Carter 创作,延续了许多人的早期工作,尤其是 Andrej Karpathy 的卷积神经网络演示以及 Chris Olah 的神经网络文章。感谢 D. Sculley 对最初构思的帮助,也感谢 Fernanda Viégas、Martin Wattenberg 及Big Picture和Google Brain团队的反馈与指导。