10 個基於 JavaScript 的機器學習例項

發表於2017-05-05
10 個基於 JavaScript 的機器學習例項
10 個基於 JavaScript 的機器學習例項

隨著人工智慧技術的發展,機器學習越來越受到開發者們的關注,從而也導致了機器學習庫如雨後春筍般的湧現出來,而且沒有任何放緩的趨勢。雖然,傳統意義上 Python 已經成為了最受歡迎的機器學習語言。但目前神經網路可在任何程式語言中執行,當然也包括 JavaScript!

近來,Web 生態系統取得了重大的進展。儘管 JavaScript 和 Node.js 的效能要比 Python 和 Java 的效能差,但它們已經能夠應對機器學習中的許多問題。同時,Web 程式語言也具有很強的易用性,即你只要搞定了 Web 瀏覽器,那麼執行 JavaScript ML 專案就不是個事兒。

雖然,大多數 JavaScript 機器學習庫都是“新輪子”,有的甚至還在研發中,但並不會影響你的使用。在這篇文章中,我們將與你分享這些庫,以及一些很酷的 AI Web 應用程式例項,幫助你開啟機器學習之旅。


1. Brain

10 個基於 JavaScript 的機器學習例項

Brain 是一個可以讓你輕鬆建立神經網路的庫,並可通過輸入/輸出資料進行訓練。儘管,它可以直接在瀏覽器網頁上執行,但是訓練的過程會佔用大量的資源,因此最好在 Node.js 環境中啟動它。另外,在他們網站上還有一個用於訓練識別色彩對比度的小例子,你也可以瞭解下。

專案地址:【傳送門

2. Deep playground

10 個基於 JavaScript 的機器學習例項

這是由 TensorFlow 出品的視覺化的神經網路互動式學習程式。它可以帶你瞭解神經網路,並探索其不同的元件。它不僅有一個漂亮的使用者介面,而且通過控制資料、神經元數量、使用演算法的類別以及各項其他的指標,讓你能夠直觀、實時的瞭解其執行的狀態。另外,由於它是開源的(它用 TypeScript 編寫,並具備優質的文件可查閱),所以通過了解其專案背景,你還能夠學到更多有價值的知識。

專案地址:【傳送門

3. FlappyLearning

10 個基於 JavaScript 的機器學習例項

FlappyLearning 是一個僅用 800 行程式碼建立的 JavaScript 機器學習庫,它讓你可以像行家一樣玩轉 Flappy Bird 遊戲。在這個庫中所使用的 AI 技術被稱為“ Neuroevolution”,而它所應用演算法的靈感則源於自然界生物神經系統的進化,並且它可以從每次成功或失敗的迭代中進行動態的學習。另外,你只需要在瀏覽器中開啟 index.html 就可以執行它了,炒雞簡單。

專案地址:【傳送門

4. Synaptic

10 個基於 JavaScript 的機器學習例項

這個專案可能是本文所有專案中最活躍的專案了。Synaptic 是一個 Node.js 和瀏覽器可用的庫。雖然它的架構未知,但開發人員可以通過它來構建任何型別的神經網路。它也具備一些內建架構,使它能夠快速的測試,並能針對不同的機器學習演算法進行比較。同時,它的使用文件豐富且全面,包含了神經網路的基本介紹、一些實用的演示,以及相應的使用教程。

專案地址:【傳送門

5. Land Lines

10 個基於 JavaScript 的機器學習例項

Land Lines 是一個有趣的 Chrome Web 實驗。使用者通過在頁面上塗鴉,來發現地球上的衛星影像。它可以完全在瀏覽器中執行,無需伺服器端的呼叫。同時,由於機器學習和 WebGL 的巧妙使用,即使在移動裝置上它也有出色的表現。如果你對它比較感興趣,也可以在 GitHub 上檢視其原始碼,或者在這裡閱讀整個案例研究。

專案地址:【傳送門

6. ConvNetJS

10 個基於 JavaScript 的機器學習例項

雖然,此專案不再積極維護,但 ConvNetJS 卻是基於 JavaScript 最先進的深度學習庫之一。最初它是由史丹佛大學開發的專案,隨著在 GitHub 上的流行,許多社群開始驅動了其新的特性,並撰寫了相關的教程。它可以直接在瀏覽器中工作,支援多種學習技術,而且操作簡單,適合神經網路進階者學習。

專案地址:【傳送門

7. Thing Translator

10 個基於 JavaScript 的機器學習例項

Thing Translator 是一個 Web 實驗,讓你可以通過手機來識別實物,並可用不同的語言為它們命名。這款應用程式完全基於 Web 技術構建,並整合了 Google 的兩種機器學習 API,即用於影像識別的 Cloud Vision 和用於自然語言翻譯的 Translate API

專案地址:【傳送門

8. Neurojs

10 個基於 JavaScript 的機器學習例項

這是一個基於強化學習的人工智慧系統框架。遺憾的是,這個開源專案並沒有合適的文件。但其中一個自動駕駛汽車的演示,卻對組成神經網路的不同部分有很好的描述。這個庫僅通過 JavaScript 實現,並應用了 webpack babel

專案地址:【傳送門

9. Machine_learning

10 個基於 JavaScript 的機器學習例項

Machine_learning 是一個僅通過 JavaScript 便可設定和訓練神經網路的庫。無論是在 Node.js,還是客戶端上,它都易於安裝,並且具備非常乾淨的 API,適合任何技術級別的開發者進行學習。同時,該庫還提供了許多現成的流行演算法示例,幫助你瞭解核心的機器學習原理。

專案地址:【傳送門

10. DeepForge

10 個基於 JavaScript 的機器學習例項

DeepForge 是一個對於使用者友好的深度學習開發環境。有了它,你可以使用簡單的圖形介面對神經網路進行設計,同時它還支援遠端機器的訓練模型,並且內建了版本控制。它基於 Node.js 和 MongoDB,可在瀏覽器中執行。對於大多數 Web 開發者來說,它的安裝過程也會相當的簡單。

專案地址:【傳送門

獎勵:Machine Learning in Javascript

10 個基於 JavaScript 的機器學習例項

這是由 Burak Kanber 發表的一系列文章,主要介紹了一些機器學習基礎知識。這些教程專門針對 JavaScript 開發人員,而且寫得比較透徹。如果你想更深入地瞭解機器學習,不妨看一看。

結論

雖然,基於 JavaScript 的機器學習生態體系還在不斷的發展,但本文推薦的這些資源,能夠幫助你開啟機器學習的體驗之旅,並對其核心技術有所瞭解。正如文章中的例項所示,你只需通過瀏覽器和一些熟知的 JavaScript 程式碼就能體會到機器學習的極大樂趣。

相關文章