分享

基于JavaScript的一些很酷的 AI Web 应用程序实例



问题导读:

1.怎样使用js创建神经网络?
2.怎样使用js创建可视化的神经网络交互式学习程序?
3.怎样使用js实现通过手机来识别实物?







随着人工智能技术的发展,机器学习越来越受到开发者们的关注,从而也导致了机器学习库如雨后春笋般的涌现出来,而且没有任何放缓的趋势。虽然,传统意义上 Python 已经成为了最受欢迎的机器学习语言。但目前神经网络可在任何编程语言中运行,当然也包括 JavaScript!

近来,Web 生态系统取得了重大的进展。尽管 JavaScript 和 Node.js 的性能要比 Python 和 Java 的性能差,但它们已经能够应对机器学习中的许多问题。同时,Web 编程语言也具有很强的易用性,即你只要搞定了 Web 浏览器,那么运行 JavaScript ML 项目就不是个事儿。

虽然,大多数 JavaScript 机器学习库都是“新轮子”,有的甚至还在研发中,但并不会影响你的使用。在这篇文章中,我们将与你分享这些库,以及一些很酷的 AI Web 应用程序实例,帮助你开启机器学习之旅。

1. Brain

v2-7c4be51aee555911ae6556e741ee89f1_b.jpg

Brain 是一个可以让你轻松创建神经网络的库,并可通过输入/输出数据进行训练。尽管,它可以直接在浏览器网页上运行,但是训练的过程会占用大量的资源,因此最好在 Node.js 环境中启动它。另外,在他们网站上还有一个用于训练识别色彩对比度的小例子,你也可以了解下。

项目地址:【传送门

2. Deep playground
v2-7da42a83b890da3131de97e41d031669_b.jpg

这是由 TensorFlow 出品的可视化的神经网络交互式学习程序。它可以带你了解神经网络,并探索其不同的组件。它不仅有一个漂亮的用户界面,而且通过控制数据、神经元数量、使用算法的类别以及各项其他的指标,让你能够直观、实时的了解其运行的状态。另外,由于它是开源的(它用 TypeScript 编写,并具备优质的文档可查阅),所以通过了解其项目背景,你还能够学到更多有价值的知识。

项目地址:【传送门

3. FlappyLearning
v2-6af15523c3c598285b38418dd6b09ae1_b.jpg

FlappyLearning 是一个仅用 800 行代码创建的 JavaScript 机器学习库,它让你可以像行家一样玩转Flappy Bird游戏。在这个库中所使用的 AI 技术被称为“Neuroevolution”,而它所应用算法的灵感则源于自然界生物神经系统的进化,并且它可以从每次成功或失败的迭代中进行动态的学习。另外,你只需要在浏览器中打开 index.html 就可以运行它了,炒鸡简单。

项目地址:【传送门

4. Synaptic
v2-662108bac192be0e5ae3352dab3d8c61_b.jpg

这个项目可能是本文所有项目中最活跃的项目了。Synaptic 是一个 Node.js 和浏览器可用的库。虽然它的架构未知,但开发人员可以通过它来构建任何类型的神经网络。它也具备一些内置架构,使它能够快速的测试,并能针对不同的机器学习算法进行比较。同时,它的使用文档丰富且全面,包含了神经网络的基本介绍、一些实用的演示,以及相应的使用教程。

项目地址:【传送门

5. Land Lines
v2-afd3fced884201de99b4f5aba90732fa_b.jpg

Land Lines 是一个有趣的 Chrome Web 实验。用户通过在页面上涂鸦,来发现地球上的卫星图像。它可以完全在浏览器中运行,无需服务器端的调用。同时,由于机器学习和 WebGL 的巧妙使用,即使在移动设备上它也有出色的表现。如果你对它比较感兴趣,也可以在GitHub上查看其源码,或者在这里阅读整个案例研究。

项目地址:【传送门

6. ConvNetJS
v2-a54115303b1b384efb92664999a00828_b.png

虽然,此项目不再积极维护,但 ConvNetJS 却是基于 JavaScript 最先进的深度学习库之一。最初它是由斯坦福大学开发的项目,随着在 GitHub 上的流行,许多社区开始驱动了其新的特性,并撰写了相关的教程。它可以直接在浏览器中工作,支持多种学习技术,而且操作简单,适合神经网络进阶者学习。

项目地址:【传送门

7. Thing Translator
v2-6f99793bfd8968b1ff48d6ec140e9be8_b.jpg

Thing Translator 是一个 Web 实验,让你可以通过手机来识别实物,并可用不同的语言为它们命名。这款应用程序完全基于 Web 技术构建,并整合了 Google 的两种机器学习 API,即用于图像识别的Cloud Vision和用于自然语言翻译的Translate API

项目地址:【传送门

8. Neurojs
v2-17d68da81786fba5276151e7e62263a1_b.jpg


这是一个基于强化学习的人工智能系统框架。遗憾的是,这个开源项目并没有合适的文档。但其中一个自动驾驶汽车的演示,却对组成神经网络的不同部分有很好的描述。这个库仅通过 JavaScript 实现,并应用了 webpackbabel

项目地址:【传送门

9. Machine_learning
v2-bd80670219eca91f86149d020d1dc3f5_b.png


Machine_learning 是一个仅通过 JavaScript 便可设置和训练神经网络的库。无论是在 Node.js,还是客户端上,它都易于安装,并且具备非常干净的 API,适合任何技术级别的开发者进行学习。同时,该库还提供了许多现成的流行算法示例,帮助你了解核心的机器学习原理。

项目地址:【传送门

10. DeepForge
v2-d2b0d6b0118f351bfb538784bea3355d_b.jpg

DeepForge 是一个对于用户友好的深度学习开发环境。有了它,你可以使用简单的图形界面对神经网络进行设计,同时它还支持远程机器的训练模型,并且内置了版本控制。它基于 Node.js 和 MongoDB,可在浏览器中运行。对于大多数 Web 开发者来说,它的安装过程也会相当的简单。

项目地址:【传送门

奖励:Machine Learning in Javascript
v2-07764c867a0413ed8d3b800acaa3c8b8_b.png

这是由 Burak Kanber 发表的一系列文章,主要介绍了一些机器学习基础知识。这些教程专门针对 JavaScript 开发人员,而且写得比较透彻。如果你想更深入地了解机器学习,不妨看一看。

结论
虽然,基于 JavaScript 的机器学习生态体系还在不断的发展,但本文推荐的这些资源,能够帮助你开启机器学习的体验之旅,并对其核心技术有所了解。正如文章中的实例所示,你只需通过浏览器和一些熟知的 JavaScript 代码就能体会到机器学习的极大乐趣。



来源:zhihu
作者:zhuanlan

本帖被以下淘专辑推荐:

已有(2)人评论

跳转到指定楼层
地球仪 发表于 2017-5-8 10:14:35
基于JavaScript的一些很酷的 AI Web 应用程序实例
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条