当前位置: 首页 > 科技观察

JavaScript也能玩转机器学习推荐5个开源JavaScript机器学习框架

时间:2023-03-13 03:32:27 科技观察

3个月前,公司的AI团队与我们分享了如何使用机器学习来帮助我们分析图片和视频中的星星和地标。作为网络前端开发人员,我很好奇机器学习是如何工作的。我不打算系统地学习机器学习(ML)、神经网络、NLP自然语言处理等,但光是看到这些概念就很有趣,打开了一个新的世界。大部分玩机器学习的同事在工作中都是用Python这样的语言来做的,但既然身处JavaScript生态,何不尝试用JavaScript一起玩机器学习呢?并且使用JavaScript还允许运行在浏览器和服务器端,甚至是桌面程序。经过一些搜索和研究,我发现这里确实有一些简单的库可以结合JavaScript、机器学习、DNN甚至NLP,而且大多数浏览器端的库都会调用WebGL来做机器学习计算。1.TensorFlow.js(https://js.tensorflow.org/)TensorFlow.js是一个开源的硬件加速JavaScript库,支持在浏览器或NodeJs中运行深度学习,可以支持现有的Tensorflow模型,由Google出品。可以说是前端深度学习框架Deeplearn.js的继承者。它提供了一系列简洁易懂的API,用于训练和部署模型。并且因为它可以在浏览器中运行,所以你可以直接通过网址分享你的程序:相机控制的吃豆人游戏2.Brain.js(https://brain.js.org/)Brain.js也是可以的运行在浏览器和NodeJs服务器上,可以为不同的任务提供不同类型的训练网络。特点是定义、训练和执行神经网络极其简单。个人觉得这个库比较适合入门。例如,下面短短几行代码涵盖了神经网络的创建、训练和执行,一目了然:Brain.jscolorrecognizer3.Synaptic.js(http://caza.la/synaptic)Synaptic可以运行在浏览器和NodeJs上的服务器端神经网络库,您可以使用它来训练一层甚至两层神经网络结构。该库包括内置架构,例如多层感知器(MLP)、长短期记忆网络、液态机和能够训练真实网络的训练器。突触图像滤波器感知器4。MachineLearningtools(https://github.com/mljs/ml)MachineLearningtools是mljs组织开发的一套库,可以为JavaScript提供机器学习工具,包括有监督和无监督学习,人工神经网络(ANN),回归算法,统计,数学等的支持库,类似于Python中的scikit-learn。5.compromise(http://compromise.cool/)基本上是一个NLP自然语言处理库——一个前端JavaScript实现***,这个库加上自带的数据库可以压缩成min.js文件大小可以达到300k以下这样在浏览器和NodeJs服务器上运行问题不大。具体可以做的事情是训练自定义语义库:分词分词,获取句子的各个词性,将句子进行正负变化,分词等,比如下面的例子:虽然JavaScript并不是最流行的机器学习编程语言,但随着近年来Web生态和人工智能技术的不断发展和完善,越来越多的此类机器学习工具库被开发和发布。对于Web前端开发者来说,以JavaScript作为入门机器学习的桥梁是一个不错的选择,也可以帮助你开启机器学习之旅。参考资料:《A Web Developer’s Guide to Machine Learning in JavaScript》