随着时间的推移,机器学习库变得更快、更易于使用,并且开发的步伐丝毫没有放缓的迹象。虽然Python长期以来一直是机器学习的重要语言,但今天的神经网络可以以任何语言运行,包括JavaScript!尽管JavaScript和Node.js在性能方面仍然落后于Python和Node.js,但近来Web生态系统发展迅速。Java,但它们也足够强大,可以处理许多机器学习问题。Web开发语言受益于它们的易用性——您只需要在Web浏览器中运行一个JavaScriptML项目。大多数JavaScript机器学习库还很年轻,仍在开发中,但它们存在于此,您可以试用它们。通过本文,我们将了解这些库以及它们的大量很酷的示例。1.BrainBrain是一个可以让你轻松创建神经网络的库,然后你可以通过输入/输出数据来训练神经网络。虽然可以通过CDN浏览器版本直接在网页加载,但是因为训练会占用很多资源,所以最好在Node.js环境下进行。他们的网站上有一个经过训练可以识别颜色对比度的小演示。2.Deepplayground这是一个用于教育目的的网络应用程序,您可以在其中玩神经网络并探索其各种组件。它有一个漂亮的用户界面,允许您控制输入数据、神经元数量、使用哪种算法以及您希望反映在最终结果中的各种其他指标。您还可以从幕后的应用程序中学到很多东西——代码是开源的,使用用TypeScript编写的自定义机器学习库,并且有友好的文档。3.FlappyLearningFlappyLearning是一个JavaScript项目,包含大约800行未简化的代码,用于管理机器学习库的创建,并在一个关于像FlappyBird一样玩耍的有趣演示中按场景实现它。这个库中使用的AI技术被称为神经进化(Neuroevolution),应用了从自然界中的神经系统中汲取灵感而发现的神经系统的算法,动态地从每次迭代的成功或失败中学习。该演示非常易于运行-只需在浏览器中打开index.html即可。4.SynapticSynaptic是一个与体系结构无关的Node.js和浏览器库,可能是该列表中最活跃的项目,它允许开发人员构建他们想要的任何类型的神经网络。它有几个内置架构,可用于快速测试和比较不同的机器学习算法。它还对神经网络有一个很好的书面介绍,一些带有示例的演示,以及其他揭示机器学习如何工作的很棒的教程。5.LandLinesLandLines是一个有趣的ChromeWeb实验,可用于发现地球的卫星图像,类似于用户制作的涂鸦。该应用程序不进行服务器端调用:它完全在浏览器中运行,并且由于巧妙地使用了机器学习和WebGL,它在移动设备上也表现出色。您可以在GitHub上查看其源代码,或在此处查看完整的研究案例。6.ConvNetJSConvNetJS虽然不再积极维护,但仍然是最先进的基于JavaScript的深度学习库之一。ConvNetJS最初在斯坦福大学开发,此后在GitHub上变得非常流行,产生了许多社区驱动的功能和教程。它可以直接在浏览器中运行,支持多种学习技术,而且相当底层,适合对神经网络有较多经验的人。7.ThingTranslatorThingTranslator是一个网络实验,可以让你的手机识别现实生活中的物体并用不同的语言命名它们。该应用程序完全基于网络,并利用了谷歌的两个机器学习API——用于图像识别的CloudVision和用于自然语言翻译的TranslateAPI。8.Neurojs这是一个基于强化学习构建人工智能系统的框架。可悲的是,它没有作为开源项目的适当文档,但有一个演示,这是一个自动驾驶实验,可以很好地描述构成神经网络的不同部分。这个库是纯JavaScript,并使用了现代工具,如webpack和babel。9.Machine_learning这是另一个允许我们在JavaScript中设置和训练神经网络的库。它在Node.js和客户端中都非常容易安装,并且具有非常干净的API,使其适合所有技能水平的开发人员。该库提供了许多实现流行算法的示例,以帮助您了解核心机器学习原理。10.DeepForgeDeepForge是一个用户友好的深度学习开发环境。它允许您使用简单的图形界面设计神经网络,支持在远程机器上进行模型训练,并具有内置的版本控制。该项目可以在浏览器中运行,基于Node.js和MongoDB,大多数Web开发人员都非常熟悉安装过程。结论虽然JavaScript机器学习生态系统尚未完全开发,但您可以使用此列表中的资源开始学习ML并获得核心技术的经验。正如本文中的示例所示,您只需使用浏览器和一些熟悉的JavaScript代码就可以获得很多乐趣。