機器學習(Machine Learning)在最近幾年絕對稱的上是大火,越來越多的公司和資本投入了巨大資源和金錢到這個新上位的技術“新寵”中,尤其是隨著更多的各種機器學習相關類庫的出現和發展,更多新的技術已經被應用到了機器學習中, 現在大家可以看到, Python不再是唯一個老牌機器學習的必用語言, 對于現代神經網絡(neural networks)語言不再是一個問題, 你基本可以使用任何的編程語言, 包括今天我們介紹的標準前端開發語言 - Javascript
Web的整個體系已經在近幾年中有了長足的發展, 雖然 Javascript 和 node.js的使用案例還遠遠無法和Java/Python來媲美。 但是 也足夠應用到很多機器學習的環境中去啦。而且最大的優勢在于 - 一個瀏覽器就可以幫你搞定了一切 !
雖然, 基于Javascript的機器學習類庫還非常的早期,很多依舊在開發狀態下, 但是他們的確已經可以提供比較早期的體驗。 在今天這篇文章中, 我們將選擇幾款超酷的機器學習和AI相關的web應用, 讓大家初體驗一下 ~~
brain是一個允許你快速簡單創建神經網絡并且基于輸入/輸出進行訓練的類庫。雖然一個CDN瀏覽器版本可以直接將類庫加載到web頁面中, 因為這個訓練過程占用了大量的資源, 所以將這個類庫運行在了一格Node.js環境下 。 這個類庫包含了一個非常迷你的在線演示, 可以用來訓練識別顏色的對比度

這個教育化的web應用允許你把玩神經網絡,并且探索不同的組件。 擁有非常設計良好的UI, 可以允許你控制輸入數據,神經元數量, 使用的算法等, 各種相關的度量將會影響最終的結果。 當然這里在后臺中有大量值得學習的東西, 代碼是開源的, 使用了自定義的 機器學習語言 (typescript), 并且擁有非常好的文檔

這是一個使用800行代碼實現的機器學習Javasript類庫, 實現了一個機器學習 flappy bird 游戲的demo。 在這個類庫中使用了AI技巧:Neuroevolution ,應用了來自“自然”雜志的神經系統算法, 動態的從每一個迭代的成功和失敗中學習。 demo運行非常簡單, 直接使用瀏覽器打開index.html即可

截圖中可以看到經過了20代的學習, 這只鳥, 在我截屏的時候,依然還沒有掛掉 !
可能是最活躍維護的項目之一, Synaptic是一個node.js和瀏覽器類庫, 這個類庫被設計為架構不可知的狀態, 允許了開發人員創建任何類型的神經網絡。 擁有很少的內建架構, 是的能夠快速的測試和算法比較。 同時包含了一個非常完整的神經網絡說明, 一些實際的演示, 很多其它相關的教程,來介紹機器學習如何工作滴

land lines是一個非常有趣的Chrome Web實驗, 它查找地球的衛星圖片,找出類似用戶的涂鴉。 這個app沒有服務器調用, 完全在瀏覽器里運行, 使用了webGL和機器學習, 在移動端也有很好的體驗。

雖然已經不再活躍的維護了, ConvNetJS是Javascript機器學習的最先進的類庫。 最早是斯坦福大學開發, 后來在Github上非常知名, 擁有了很多社區開發的特性和教程。 直接在瀏覽器里運行, 支持多學習技巧, 偏底層, 是的它非常適合神經網絡中比較大的體驗

這是一個web實驗演示, 允許你使用手機來識別現實生活中的物品,并且用不同語言來命名。 這個app使用web技術和兩個來自Google的機器學習API實現,包括:
Cloud Vision (圖片識別) 和 Translate API(語言翻譯)

基于“增強學習“的AI系統框架。 很可惜這個項目沒有正確的文檔說明, 但是有一個自動駕駛的演示,擁有很多相關細節的文字描述。 這個類庫純Javascript,可以使用webpack或者babel來編譯打包

另外一個允許我們設置/訓練神經網絡的Javascript類庫。 使用node.js和客戶端安裝非常簡單, 擁有非常干凈的API, 對于不同技術水平的開發人員來說,都非常適應。這個類庫包含了大量的演示, 包含了很多流行的算法, 幫助你理解核心的及其學習語言原則

這是一個用戶友好的深度學習開發環境, 允許你使用一格簡單圖形界面設計神經網絡, 支持遠程機器的訓練模型, 內建版本控制, 這個項目基于Node.js和MongoDB,運行在瀏覽器里, 安裝過程非常類似大多數的web開發過程

文章總結
雖然Javascript相關機器學習環境并沒有被完整的開發, 我們推薦使用本文中列出的這些開源項目作為你的第一個機器學習資料,并且幫助你了解核心的技術。 希望對大家能夠開展機器學習相關功能提供一個有效可借鑒的內容來源,感謝大家關注和閱讀~也希望大家多多支持武林網。
新聞熱點
疑難解答