Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

杜伟机器之心报道

交互改变参数、360度旋转,这个工具让你不用从头构建NN架构图

目前,NN-SVG 工具支持了全连接神经网络(FCNN)、一类卷积神经网络(CNN)和深度神经网络(DNN)的图构建。

神经网络(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
理论NN-SVG 工具神经网络
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~