【学术】Juggernaut:网络浏览器中的神经网络

Juggernau是一个用Rust编写的实验性神经网络。它是一个使用梯度下降来拟合模型并训练网络的前馈神经网络。Juggernaut使我们能够构建网络应用程序,以在网络浏览器的语境中训练和评估神经网络模型。这是在没有任何服务器或后端的情况下完成的,并且没有使用Javascript来训练模型。

  • Juggernaut地址:https://juggernaut.rs/
  • Rust地址:https://www.rust-lang.org/

Juggernaut的开发者友好的API使交互变得很容易。可以将数据集从CSV文件传递给Juggernaut,或者使用编程API将文件添加到模型中,然后请求框架进行训练。

Juggernaut实现了大部分的激活函数以及一些不同的成本函数,包括Cross Entropy。

Juggernaut有一个用React和D3.js编写的演示页面,解释了训练期间的网络,权值和损失。

演示页面地址:https://juggernaut.rs/demo/

演示

演示页面使用户可以在开始训练会话之前定义一些选项。 这些选项是:

  • 数据集
  • 学习率
  • epoch的数量(迭代)

为了使演示页面更直观,更易于使用,在页面上有几个预定义的数据集,该数据集可以从CSV文件中加载和显示数据点。每个数据集有3个类,橙色,蓝色和绿色以及2个特征X和Y。

选择数据集并定义选项后,你可以点击页面上的“训练”按钮开始训练。 点击这个按钮会产生一个新的线程(工作线程),并将数据集和参数传递给创建的线程。

在训练期间,你可以看到网络的epoch的数量,损失和权值。工作线程与浏览器的主线程进行通信,并将结果发送回渲染线程以可视化每一步的训练。

在应用程序中的层数是预定义的。我们有一个输入层,两个隐藏层和一个输出层。 对于隐藏层,我们使用ReLU激活函数,输出层使用具有交叉熵成本函数的Softmax。

编译Rust到Web程序集

Juggernaut的演示页面使用Web程序集和HTML5工作线程,以在网络浏览器的语境中产生一个新线程,并在工作线程和浏览器的渲染线程(主线程)之间进行通信以训练和评估模型。

下面是编译Rust到Web程序集的过程:

Web程序集地址:http://webassembly.org/ 编译Rust到Web程序集地址:https://www.slideshare.net/RReverser/rust-javascript

Juggernau不使用任何类型的Javascript代码来训练和评估模型。但是,在大多数网络浏览器没有任何后端服务器的情况下,Juggernaut仍然有可能运行在现代网络浏览器上,包括在Android和iOS上的IE 11和可移植的web浏览器,支持web程序集。

重要的是,演示页面使用单独的线程来训练和评估一个模型,并且不会阻塞Web浏览器的主线程或渲染线程。因此,在训练期间,你仍然可以与页面的UI元素进行交互,或者可以保持训练会话运行一段时间,直到从框架接收到准确评估为止。

原文发布于微信公众号 - ATYUN订阅号(atyun_com)

原文发表时间:2017-11-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏GAN&CV

深度学习优化器算法详解:梯度更新规则+缺点+如何选择

转载自:https://mp.weixin.qq.com/s/RZc1PUgZs1BqRPeyBmTELA

1312
来自专栏算法+

快速均值模糊算法

前段时间在网上看到一个快速均值模糊算法,性能很不错。 源博客: http://www.lellansin.com/super-fast-blur-%E6%A8%...

3355
来自专栏软件

可视化你的BLAST结果

人类已经使用数据可视化技术很长一段时间了,图像和图表已被证明是一种有效的方法来进行新信息的传达与教学。有研究表明,80%的人还记得他们所看到的,但只有20%的人...

24710
来自专栏落花落雨不落叶

写了个学习正则的小工具

3166
来自专栏Python小屋

使用Python获取Excel文件中单元格公式的计算结果

假设有如下Excel文件,其中第二个WorkSheet中数据如下: ? 其中D列为公式,现在要求输出该列公式计算的数值结果,代码如下: ? 代码运行结果: ?...

2856
来自专栏机器学习养成记

关联分析(3):Apriori R语言实现

我们对UCI机器学习库上下载的美国众议院议员投票记录数据,进行关联分析。在R中,可以直接调用arules包中的apriori()函数训练模型。

842
来自专栏专知

【干货】还在自己写训练过程么?你需要一个训练引擎

2513
来自专栏祝威廉

MLSQL如何支持部署SKLearn,Tensorflow,MLLib模型提供API预测服务

部署成API服务时,除了要把raw数据特征化成向量外,研发还要想着怎么加载模型,产生模型的框架五花八门,比如Tensorflow,SKlearn,Spark M...

794
来自专栏专知

推荐一些有助于理解TensorFlow机制的资料(一)

1182
来自专栏WOLFRAM

Mathematica 11.1.1 中文版已发布

1203

扫码关注云+社区