机器学习领域新技术的迅猛发展帮助软件开发人员以前所未有的方式构建新的人工智能应用程序。
目前,大多数 AI 爱好者利用 Python 框架进行 AI 和机器学习开发。
但环顾四周,人们可能还会发现基于 JavaScript 的框架也正在 AI 中实现。
这个有趣的交叉点让我们探索和试验了一起使用 Javascript 和机器学习的奇怪可能性。
从我们的研究中分享,这里有一些简洁的 JavaScript 机器学习库,它们将 Javascript、机器学习、DNN 甚至 NLP 结合在一起。看一看。
由于其全面的线性代数核心和深度学习层, Tensorflow.js在 2019 年已成为所有机器学习 Javascript 项目的面包和黄油。
它在支持的 API 数量上迅速赶上了它的 Python 姐妹,并且在这一点上,几乎机器学习中的任何问题都可以使用它来解决。
Tensorflow.js可以直接在浏览器中使用,同时利用 WebGL 进行加速。
支持浏览器和 Node.js 环境的 Tensorflow.js 模型已被包括Brain.js和machinelearn.js在内的许多开源库采用。
优点
缺点
Brain.js是一个用于神经网络的 Javascript 库,替代了(现已弃用的)“brain”库,它可以与Node.js或浏览器(注意计算)一起使用,并为不同的任务提供不同类型的网络。
优点
缺点
ml.js是一个全面的通用 JavaScript ML 库,适用于浏览器和 Node.js。它为有监督和无监督问题提供简单且关键任务的模型和实用程序。它专注于 Javascript 和 Typescript 开发人员的简单性和多合一通用机器学习,提供聚类、分解、集成、装袋、线性模型、特征提取等。
优点
缺点
stidlib是构建无限可扩展、自我修复 API 的最快、最简单的方法。标准库基于功能即服务(“无服务器”)架构,最初由 AWS Lambda 推广。您可以使用标准库在几分钟内为自己和其他开发人员构建模块化、可扩展的 API,而无需管理服务器、网关、域、编写文档或构建 SDK。您的开发工作流程从未如此简单——专注于编写您喜欢的代码,让标准库处理其他一切。
优点
缺点
ConvNetJS是另一个用于神经网络和深度学习的库。它可以在浏览器中训练神经网络。除了分类和回归问题,它还有仍在实验阶段的强化学习模块(使用 Q-learning)。ConvNetJS 为擅长图像识别的卷积神经网络提供支持。
优点
缺点
Neataptic提供灵活的神经网络;只需一行代码即可删除神经元和突触。神经网络完全不需要固定的架构来发挥作用。这种灵活性允许通过使用多个线程完成的神经进化来为您的数据集塑造网络。
优点
缺点
Synaptic实现了一种通用的“无架构”算法,可用于创建比通常遇到的更广泛的网络类型。它带有一些预定义的网络——多层感知器、多层长短期记忆网络、液态机器等等。
优点
缺点
Keras已成为领先的神经网络库,用于在大量平台上创建和准备深度学习模型。它是用 Python 编写的,拥有超过 250,000 个个人客户端,是仅次于 TensorFlow 的第二大深度学习结构。
优点
缺点
Mathjs是一个可满足 JavaScript 中所有数学需求的库,具有广泛的线性代数 API,包括矩阵运算和核心数学。它非常轻量级,因为它不依赖于其他不断增加的加速技术,例如 WebAssembly 或 WebGL。
优点
缺点
Limdu.js是 Node.js 的机器学习框架,支持二进制分类、多标签分类、特征工程、在线学习和实时分类。它目前处于 alpha 状态并正在寻找贡献者。
优点
缺点
Neuro是一个库,用于在 JavaScript 中开发和训练 ML 模型,并在浏览器或 Node.js 上进行部署。它还有助于构建 AI 助手和聊天机器人。
优点
缺点
deeplearn.js是一个用于机器智能的开源硬件加速 JavaScript 库。deeplearn.js将高性能机器学习构建块引入网络,允许您在浏览器中训练神经网络或在推理模式下运行预训练模型。
优点
缺点
MXNetJS是 Apache MXNet Javascript 包。MXNetJS 为浏览器带来了最先进的深度学习推理 API。它是使用 Emscripten 和 MXNet Amalgamation 生成的。
MXNetJS 允许您在任何计算图中运行最先进的深度学习模型的预测,并将深度学习的乐趣带到客户端。
优点
缺点
Synapses 是一个轻量级的神经网络库,适用于 js、JVM 和 .net。它的特点fitNetwork是一个新的神经网络,用一次观察训练。
优点
缺点
Compromise是一个解释和解析文本的javascript库。并做出一些合理的决定。妥协通过压缩大量单词然后在运行时扩展它们来工作。
优点
缺点
结论
在本文中,我们将介绍 15 个最佳开源JavaScript 机器学习库,以扩展 JavaScript 的功能。
此外,作为拥有并使用正确的 JavaScript 机器学习库的开发人员,将帮助您寻求组合一种算法,该算法将利用您选择的机器学习项目的优势和能力。
本文只是 JavaScript 机器学习库的冰山一角,在以后的文章中还有更多内容需要介绍。