【譯】10個機器學習的JavaScript示例


原文地址:10 Machine Learning Examples in JavaScript

在過去的每一年,用於機器學習(Machine Learning)的庫在變得越來越快和易用。一直以來Python都是機器學習的首選語言,但現在幾乎可將所有語言用於神經網絡(neural networks),這里當然也包括JavaScript!

近幾年,Web生態系統取得了很大進步,雖然JavaScript和Node.js的性能比Python和Java略差,但它們已足夠處理許多機器學習問題。Web語言具有被廣泛且易於使用的優勢——你只需一個Web瀏覽器就可以運行一個JavaScript語言編寫的機器學習項目。

雖然許多JavaScript語言編寫的機器學習庫是剛剛誕生並且還在持續開發中,但還是值得去嘗試使用它們。這篇文章會介紹幾個JavaScript語言編寫的機器學習庫以及一些很酷的AI Web應用示例,它們可以很好的幫助你開始AI之旅。

1. Brain

 

使用Brain 可以輕松的創建神經網絡,並且可通過輸入/輸出數據對它進行訓練。因為訓練神經網絡會消耗比較多的資源,所以推薦在Node.js環境中而不是直接使用瀏覽器來訓練神經網絡。在官網上有個可以識別顏色(recognize color contrast)的小demo (PS:試了下,這個demo現在是404頁面)。

2. Deep playground

 

這是一個寓教於樂的Web應用,可以讓你以游戲的方式來探索神經網絡的不同部分。它有一個友好的界面用於讓你控制數據的輸入,算法所用的神經元數量以及其它一些會影響輸出結果的權值因素。這是一個開源項目,它是使用TypeScript編寫的機器學習庫並且有完善的文檔,從中我們可以許多東西。

3. FlappyLearning

 

FlappyLearning 項目大約800行代碼,這個項目包含一個機器學習庫並且實現了一個很有趣的demo——學習玩 Flappy Bird 游戲。它使用了一種叫做 Neuroevolution 的AI技術,使用了受自然神經系統激發而產生的算法,可以從每次成功或失敗的迭代中進行動態進行學習。

4. Synaptic

 
.png

Synaptic是一個架構無關(architecture-agnostic)且得到積極維護的Node.js和瀏覽器庫,它允許開發者構建任何類型的神經網絡。它有幾個內置的架構,使得可以快速測試和比較不同機器學習算法間的異同。它還提供了介紹神經網絡的文檔及幾個實用demo和其它可以幫助我們學習機器學習的教程。

5. Land Lines

 

Land Lines 是一個有趣的用於搜尋地球衛星圖片的Chrome網絡實驗(web experiment)。這個應用無需服務調用:它完全運行在瀏覽器環境中,得益於機器學習的使用,WebGL也可以在移動設備中有很好的表現。你可以在GitHub 上瀏覽源碼或者在這里閱讀完整的示例。

6. ConvNetJS

 

盡管已不再被積極的維護,但ConvNetJS依然是JavaScriptp中最為先進的深度學習庫之一。這個庫最初由斯坦福大學開發,然后ConvNetJS開始在GitHub上流行,社區為它添加了許多特性和教程。ConvNetJS直接運行在瀏覽器環境中,支持多種學習技術,並且它接近底層原理使得它更適有較多神經網絡方面經驗的人。

7. Thing Translator

 

Thing Translator是一個網絡實驗,它可以讓你的手機識別真是的物體並用不同的語言標注物體的名稱。這個應用完全建立在web技術之上並且利用了Google提供的兩種機器學習APIs——用於圖像識別的Cloud Vision 和用於自然語言翻譯的Translate API

8. Neurojs

 

Nerojs用於建立基於增強學習(reinforcement learning)的AI系統框架。不幸的是這個開源項目除了一個自動駕駛實驗的demo外並沒有完善的文檔,這個demo對組成神經網絡的不同部分有着很好的描述。這個庫借助如現代化工具如:webpack 和babel,使用純JavaScript進行開發。

9. Machine_learning

 

這也是一個允許我們僅使用JavaScript創建並訓練神經網絡的庫。它很容易就可以安裝到Node.js和客戶端環境,並且擁有對開發人員十分友好的的API。這個庫提供了許多示例,可以幫助你理解機器學習的核心原理。

10. DeepForge

 

DeepForge是一個用於深度學習且易於使用的開發環境。它允許你使用簡單的圖形接口創建神經網絡,支持在遠程機器上訓練模型,並且內置版本控制系統。這個項目基於Node.js和MongoDB且運行在瀏覽器環境中。

彩蛋: Machine Learning in Javascript

 

Burak Kanber 發布的一些列優秀博文中講述了機器學習的基本原理。這些教程寫的很好且專門面向JavaScript開發者。如果你想深入理解機器學習,這些博文是很好的學習資源。

結語

盡管JavaScript的機器學習生態尚未成熟,但仍然建議使用上述資源來開啟你的機器學習之路並對一些核心技術建立感性認識。正如文章中展示的一些實驗,你也可以僅使用瀏覽器和少量JavaScript代碼來創建許多有趣的東西。

推薦閱讀

Machine Learning and AI
Tensorflow

版權聲明

本文為作者原創,版權歸作者雪飛鴻所有。 轉載必須保留文章的完整性,且在頁面明顯位置處標明原文鏈接

如有問題, 請發送郵件和作者聯系。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM