神经网络(NN)架构图制作起来往往费时耗力,很多时候机器学习研究人员需要从头开始构建相关图。
近日,机器之心在 GitHub 上发现这样一个项目 ——NN-SVG,可以为研究人员解决这一烦心事。项目作者 Alexander Lenail 为 MIT 计算系统生物学二年级博士生,研究兴趣主要是创建用于生物分析、理解和设计的计算工具。
项目地址:https://github.com/alexlenail/NN-SVG
据作者介绍,NN-SVG 是一个参数化而非手动构建神经网络架构图的交互工具。该工具还能够将构建的图导出至可缩放矢量图形(Scalable Vector Graphics, SVG)文件,适合用在学术论文或网页中。
具体地,NN-SVG 工具可以构建以下三种风格的神经网络图:
- 全连接神经网络(FCNN)
- LeNet 论文中提出的一类卷积神经网络(CNN)
- 风格类似于 AlexNet 论文中提出的深度神经网络(DNN)
其中,前两类神经网络图形使用 JavaScript 库 D3.js 完成的,后一类由 Three.js 完成。NN-SVG 的亮点在于可以根据使用者的喜好来改变神经网络图的大小、颜色和布局参数。
我们仅以 FCNN 风格的生成图为例进行讲解。下图中都是可以改变的组件,如边缘宽度、边缘不透明度、边缘权重对应的颜色、节点直径、层间距、随机权重等。
比如,改变「边缘权重对应的颜色」前后:
再比如,添加「18 和 20 个权重」前后:
LeNet 风格和 AlexNet 风格的神经网络图构建过程与之类似。总之,在这个工具中,一切都是可以交互的。
项目作者希望 NN-SVG 工具可以节省机器学习研究人员的时间,也希望这个软件在某些情境下可以作为教学工具。
感兴趣的小伙伴可以去试试。
NN-SVG 地址:https://alexlenail.me/NN-SVG/LeNet.html