開源機器學習庫Deeplearn.js

谷歌開發者_發表於2017-08-17

文 / Google Big Picture 團隊軟體工程師 Nikhil Thorat 和 Daniel Smilkov


機器學習 (ML) 已經成為一個日益強大的工具,該工具可以應用到橫跨物體識別、語言翻譯、健康醫療等各種領域。然而,目前,常常只有具備能夠處理共用 ML 庫的計算資源和技術專家的開發商才可以開發 ML 系統。


有了 PAIR 這款直觀易學、重新設計的人類與機器學習互動的工具,我們希望面向儘可能多的人開放機器學習。為了追求該目標,我們非常興奮地宣佈推出 deeplearn.js 0.1.0:

https://pair-code.github.io/deeplearnjs


這是一款基於 WebGL 加速的開放原始碼 JavaScript 機器學習庫,該庫可以直接在您的瀏覽器中執行,而無需進行安裝,也無需藉助後端執行。


640?wx_fmt=png


將機器學習帶入瀏覽器的理由有很多。客戶端 ML 庫可以是用於互動解說、快速原型開發和視覺化甚至離線計算的平臺。瀏覽器很可能是世界上最流行的程式設計平臺之一了。


儘管網路機器學習庫已問世多年(例如 Andrej Karpathy 的 convnetjs),但它們一直受到 JavaScript 速度的限制,或者一直侷限於推理,而不是訓練(例如 TensorFire)。對比之下,deeplearn.js 不僅通過利用 WebGL 在 GPU 上執行計算大幅提高了速度,同時還能夠執行完整全面的反向傳播。


此 API 模仿 TensorFlow 和 NumPy 的結構,包含一個延遲執行的訓練模型(類似於 TensorFlow)以及一個立即執行的推理模型(類似於 NumPy)。我們還實現了某些最常用的 TensorFlow 操作版本。隨著 deeplearn.js 的釋出,我們提供了從 TensorFlow 檢查點匯出權重的工具,這些工具允許作者將這些權重匯入到網頁中,以便 deeplearn.js 進行推理。


您可以通過訓練卷積神經網路識別照片和手寫數字來挖掘該庫的潛力,所有一切都可直接在瀏覽器中執行,而不必編寫任何程式碼。


640?wx_fmt=png


我們即將釋出一系列展示 deeplearn.js 實戰應用的演示。我們通過一個影象識別器來體驗一下,該識別器可以實時使用您的網路攝像頭並觀看所拍攝畫面在網路內部的表現形式。或者以流暢的每秒 60 幀的速度生成抽象藝術視訊。deeplearn.js 首頁包含上述及其他演示。


我們的願景是:該庫將極大地提高機器學習的能見度以及人們參與機器學習的熱情,讓開發者能夠訪問強大的工具,同時為普通使用者提供與他們互動的途徑。我們期待與開放原始碼社群合作,共同推進該願景的實現。

檢視全文及文中連結,請點選文末“閱讀原文”。


推薦閱讀:

Google釋出機器學習開源視覺化工具Facets

如何利用深度學習製作專業水準的照片?

重新審視深度學習時代資料的非理性效果

釋出Tensor2Tensor,加快深度學習研究


640?wx_fmt=gif

相關文章