雖然大部分機器學習都是用python這樣的語言完成的,但在Javascript生態系統中,其前端和後端社區都很棒。這個有趣的交集促使我們探索並嘗試了一起使用Javascript和機器學習的奇怪可能性。這裡分享有一些有趣的庫,它們將Javascript,機器學習,DNN甚至NLP結合在一起。
![2019年11個值得研究的Javascript機器學習庫](http://p2.ttnews.xyz/loading.gif)
1. Brain.js
![2019年11個值得研究的Javascript機器學習庫](http://p2.ttnews.xyz/loading.gif)
Brain.js是神經網絡的Javascript庫,取代了(現已棄用的)“ 大腦 ”庫,可以與Node.js一起使用或在瀏覽器中使用(筆記計算),併為不同的任務提供不同類型的網絡。
Github地址:https://github.com/BrainJS/brain.js
這是一個訓練網絡識別顏色對比的演示。
2. Synaptic
Synaptic是一個用於node.js和瀏覽器的Javascript神經網絡庫,它使您能夠訓練第一級甚至二級神經網絡架構。該項目包括一些內置架構,如多層感知器,多層長短期記憶網絡,液體狀態機和能夠訓練真實網絡的培訓師。
Github地址:https://github.com/cazala/synaptic
3. Neataptic
該庫為瀏覽器和Node.js提供快速神經進化和反向傳播,其中包括一些內置網絡,包括感知器,LSTM,GRU,Nark等。這是一個簡單培訓的新手教程。
Github地址:https://github.com/wagenaartje/neataptic
4. ConvNetJS
由斯坦福大學博士開發,這個受歡迎的圖書館在過去的4年裡一直沒有得到維護,但絕對是名單上最有趣的項目之一。它是神經網絡的Javascript實現,支持通用模塊,分類,迴歸,實驗強化學習模塊,甚至能夠訓練處理圖像的卷積網絡。
Github地址:https://github.com/karpathy/convnetjs
它目前支持:
- 常見的神經網絡模塊(完全連接的層,非線性)
- 分類(SVM / Softmax)和迴歸(L2)成本函數
- 能夠指定和訓練處理圖像的卷積網絡
- 基於Deep Q Learning 的實驗性強化學習模塊
5. WebDNN
這個日本製造的JavaScript庫是為了在瀏覽器上快速運行深度神經網絡預訓練模型而構建的。由於在瀏覽器上執行DNN會消耗大量計算資源,因此該框架優化了DNN模型以壓縮模型數據並通過JavaScript API(如WebAssembly和WebGPU)加速執行。
Github地址:https://github.com/mil-tokyo/webdnn
利用WebDNN做神經網絡風格轉移的例子:
6. Deeplearnjs
這個流行的庫允許您在瀏覽器中訓練神經網絡或在推理模式下運行預先訓練的模型,甚至聲稱它可以用作網絡的NumPy。通過易於獲取的API,該庫可用於實用的有用應用程序,並且可以進行主動維護。
Github地址:https://github.com/tensorflow/tfjs-core
作為TensorFlow.js生態系統的一部分,它如今託管在@tensorflow/tfjs-core了,是TensorFlow.js核心API,它提供低級,硬件加速的線性代數運算和用於自動區分的急切API。
7. Tensorflow Deep Playground
Tensorflow Deep Playground是神經網絡的交互式可視化,使用d3.js和TypeScript編寫。雖然這個項目基本上包含了一個非常基本的張量流動操場,但它可以用於不同的手段或者用作不同目的的非常令人印象深刻的教育功能。
Github地址:https://github.com/tensorflow/playground
8. Compromise
這個非常受歡迎的庫提供“javascript中適度的自然語言處理”。這是非常基本和直接的,甚至可以編譯成一個小文件。出於某種原因,其適度的“足夠好”的方法使其成為幾乎任何需要基本NLP的應用程序的主要候選者。
Github地址:https://github.com/spencermountain/compromise
9. Neuro.js
這個漂亮的項目是一個深度學習和強化學習Javascript庫框架的瀏覽器。實現基於完整堆棧神經網絡的機器學習框架以及擴展的強化學習支持,一些人認為該項目是convnetjs的繼承者。
Github地址:https://github.com/janhuenermann/neurojs
10. ml.js
一組存儲庫,為mljs組織開發的Javascript提供機器學習工具,包括監督和無監督學習,人工神經網絡,迴歸算法和統計,數學等支持庫。這是一個簡短的演練。
Github地址:https://github.com/mljs
11. Mind
Node.js和瀏覽器的靈活神經網絡庫,基本上學習如何進行預測,使用矩陣實現來處理訓練數據並啟用可配置的網絡拓撲。您還可以即插即用已經學過的“思想”,這對您的應用程序非常有用。
Github地址:https://github.com/stevenmiller888/mind
閱讀更多 EdgeAITech 的文章
關鍵字: 人工智能 編程語言 JavaScript