随着人工智能技术的发展,机器学习越来越受到开发者们的关注,从而也导致了机器学习库如雨后春笋般的涌现出来,而且没有任何放缓的趋势。
虽然,传统意义上 Python 已经成为了最受欢迎的机器学习语言。但目前神经网络可在任何编程语言中运行,当然也包括 JavaScript!
近来,Web 生态系统取得了重大的进展。尽管 JavaScript 和 Node.js 的性能要比 Python 和 Java 的性能差,但它们已经能够应对机器学习中的许多问题。
同时,Web 编程语言也具有很强的易用性,即你只要搞定了 Web 浏览器,那么运行 JavaScript ML 项目就不是个事儿。
虽然,大多数 JavaScript 机器学习库都是“新轮子”,有的甚至还在研发中,但并不会影响你的使用。
今天在这篇文章中,我们将与你分享这些库,以及一些很酷的 AI Web 应用程序实例,帮助你开启机器学习之旅。
1、Brain
实例地址:https://github.com/harthur-org/brain.js/
![c661fc8ec4d0079a058b812ad1fd4d48.png](https://i-blog.csdnimg.cn/blog_migrate/e9a611e20152c9306422692477f93db4.jpeg)
Brain 是一个可以让你轻松创建神经网络的库,并可通过输入/输出数据进行训练。尽管,它可以直接在浏览器网页上运行,但是训练的过程会占用大量的资源,因此最好在 Node.js 环境中启动它。另外,在他们网站上还有一个用于训练识别色彩对比度的小例子,你也可以了解下。
2、Deep playground
实例地址:https://github.com/tensorflow/playground
![1265f81f31a1027a051aaa6ad650118e.png](https://i-blog.csdnimg.cn/blog_migrate/0a84e248b67ef05bb5eb0830e0dc527f.jpeg)
这是由 TensorFlow 出品的可视化的神经网络交互式学习程序。它可以带你了解神经网络,并探索其不同的组件。
它不仅有一个漂亮的用户界面,而且通过控制数据、神经元数量、使用算法的类别以及各项其他的指标,让你能够直观、实时的了解其运行的状态。
另外,由于它是开源的(它用 TypeScript 编写,并具备优质的文档可查阅),所以通过了解其项目背景,你还能够学到更多有价值的知识。
3、FlappyLearning
实例地址:https://github.com/xviniette/FlappyLearning
![4ee2d18126538f772a4fb7aa83125de4.png](https://i-blog.csdnimg.cn/blog_migrate/1906acd9e25413352f1173024cff105b.jpeg)
FlappyLearning 是一个仅用 800 行代码创建的 JavaScript 机器学习库,它让你可以像行家一样玩转 Flappy Bird 游戏。
在这个库中所使用的 AI 技术被称为“ Neuroevolution”,而它所应用算法的灵感则源于自然界生物神经系统的进化,并且它可以从每次成功或失败的迭代中进行动态的学习。
另外,你只需要在浏览器中打开 index.html 就可以运行它了,炒鸡简单。
4、Synaptic
实例地址:https://github.com/cazala/synaptic
![6e726d2219cbb7748f62682479261843.png](https://i-blog.csdnimg.cn/blog_migrate/1e129ca42421e2a55bdf5a0dc77f45cb.jpeg)
这个项目可能是本文所有项目中最活跃的项目了。Synaptic 是一个 Node.js 和浏览器可用的库。
虽然它的架构未知,但开发人员可以通过它来构建任何类型的神经网络。它也具备一些内置架构,使它能够快速的测试,并能针对不同的机器学习算法进行比较。
同时,它的使用文档丰富且全面,包含了神经网络的基本介绍、一些实用的演示,以及相应的使用教程。
5、Land Lines
实例地址:https://github.com/ofZach/landlines
![0bdbb5624951da4071edea407313f1d9.png](https://i-blog.csdnimg.cn/blog_migrate/7cf29968d34ee2736403544c1f662b6f.jpeg)
Land Lines 是一个有趣的 Chrome Web 实验。用户通过在页面上涂鸦,来发现地球上的卫星图像。它可以完全在浏览器中运行,无需服务器端的调用。同时,由于机器学习和 WebGL 的巧妙使用,即使在移动设备上它也有出色的表现。如果你对它比较感兴趣,也可以在 GitHub 上查看其源码,或者在这里阅读整个案例研究。
6、ConvNetJS
实例地址:https://developers.google.com/web/showcase/2016/land-lines
![5cb0c7479d5354bed5e8be19180c218c.png](https://i-blog.csdnimg.cn/blog_migrate/fda300fe9666b7f1301b797ba96188ea.jpeg)
虽然,此项目不再积极维护,但 ConvNetJS 却是基于 JavaScript 最先进的深度学习库之一。最初它是由斯坦福大学开发的项目,随着在 GitHub 上的流行,许多社区开始驱动了其新的特性,并撰写了相关的教程。它可以直接在浏览器中工作,支持多种学习技术,而且操作简单,适合神经网络进阶者学习。
7、Thing Translator
实例地址:https://github.com/dmotz/thing-translator
![d13769971e2f1744d8b9d6851c42fdfd.png](https://i-blog.csdnimg.cn/blog_migrate/ae01f7a84d1cd9a04173c06e270575f5.jpeg)
Thing Translator 是一个 Web 实验,让你可以通过手机来识别实物,并可用不同的语言为它们命名。
这款应用程序完全基于 Web 技术构建,并整合了 Google 的两种机器学习 API,即用于图像识别的 Cloud Vision 和用于自然语言翻译的 Translate API 。
8、Neurojs
实例地址:https://github.com/janhuenermann/neurojs
![2223828202ef715f4f2c72bf651922e8.png](https://i-blog.csdnimg.cn/blog_migrate/9ce72ca1c0c77a117690c785d5920d7e.jpeg)
这是一个基于强化学习的人工智能系统框架。遗憾的是,这个开源项目并没有合适的文档。但其中一个自动驾驶汽车的演示,却对组成神经网络的不同部分有很好的描述。这个库仅通过 JavaScript 实现,并应用了 webpack 和 babel 。
9、Machine_learning
实例地址:https://github.com/junku901/machine_learning
![445ebe2fedeecf9c6fb188838e840945.png](https://i-blog.csdnimg.cn/blog_migrate/f129244feff28dfe7afbd1c3cd04ee8f.jpeg)
Machine_learning 是一个仅通过 JavaScript 便可设置和训练神经网络的库。无论是在 Node.js,还是客户端上,它都易于安装,并且具备非常干净的 API,适合任何技术级别的开发者进行学习。
同时,该库还提供了许多现成的流行算法示例,帮助你了解核心的机器学习原理。
10、DeepForge
实例地址:https://github.com/deepforge-dev/deepforge
![df9ff76eba870995b09566ba552eaa2a.png](https://i-blog.csdnimg.cn/blog_migrate/b1b2c0c59349d88cb64c77e9043ed999.jpeg)
DeepForge 是一个对于用户友好的深度学习开发环境。有了它,你可以使用简单的图形界面对神经网络进行设计,同时它还支持远程机器的训练模型,并且内置了版本控制。它基于 Node.js 和 MongoDB,可在浏览器中运行。
对于大多数 Web 开发者来说,它的安装过程也会相当的简单。
![a10e5fe456d2f4e28a25f2794d5b2241.png](https://i-blog.csdnimg.cn/blog_migrate/6f5bd5c4522ee8b72b3c7a2bc489eb15.jpeg)
最后,Machine Learning in Javascript,这是由 Burak Kanber 发表的一系列文章(地址:https://burakkanber.com/blog/machine-learning-in-other-languages-introduction/),主要介绍了一些机器学习基础知识。这些教程专门针对 JavaScript 开发人员,而且写得比较透彻。如果你想更深入地了解机器学习,不妨看一看。
结论
虽然,基于 JavaScript 的机器学习生态体系还在不断的发展,但本文推荐的这些资源,能够帮助你开启机器学习的体验之旅,并对其核心技术有所了解。
正如文章中的实例所示,你只需通过浏览器和一些熟知的 JavaScript 代码就能体会到机器学习的极大乐趣。