谷歌也發佈了Web前端機器學習庫,就叫deeplearn.js

 2017-08-08 18:13:00.0

在人工智能時代,不管是音箱、手機、汽車、app,自家產品沒有用上深度學習都不好意思跟別人打招呼;另外,谷歌和 Facebook 都分別在 TensorFlow 和 Caffe 2 裏提出了在移動設備上運行機器學習算法的目標和相關支持,更優秀的框架和更低的計算力要求確實是移動應用開發者的福音。不過這還沒完,在瀏覽器上以 WebApp 的形式做模型推理甚至模型訓練也有重要的開發和應用需求。

以往大家對前端機器學習庫的關注度較低,不外乎人們認爲 JavaScript 運行速度低、應用範圍窄、支持前端的庫少等幾個原因。不過許多JS圖形庫已經有力地證明了 JavaScript 不是低速的代名詞,帶有構建好的機器學習算法的庫也確實有一些,比如 brain.js、Synaptic、Natural、ConvNetJS、mljs等等,分別是幾個神經網絡、自然語言處理等的庫,其中最出名、最先進的是卷積神經網絡庫 ConvNetJS,不過據我們瞭解,它已經不再積極地維護了。

谷歌也發佈了Web前端機器學習庫,就叫deeplearn.js

現在谷歌也決定在機器學習前端開發領域添一把柴,昨天發佈了開源了自己的前端機器學習庫 deeplear.js(https://pair-code.github.io/deeplearnjs/ )。

谷歌的 PAIR(People + AI Research)研究小組是一個以人爲中心的 AI 系統研究小組,他們的研究興趣是各種人類和人工智能之間的互動可能,包括爲工程師提供更便捷的開發方式,一直到用人工智能理解生活中各種各樣的事情。deeplearn.js 就是 PAIR 出力、藉助了谷歌大腦團隊的一點幫助開發出來的,它除了支持構建可微的數據流圖、帶有可以直接使用的數學函數外,還使用 WebGL 來加速訓練和推理過程,從而提供了高性能的機器學習模型開發平臺,可以在瀏覽器環境下訓練模型或者用訓練好的模型做推理。PAIR 希望對機器學習感興趣的人可以把它用在教育、理解模型、藝術工作等各個領域。

deeplear.js 提供了兩套 API,一套是類似 NumPy 的即時執行模型,另一套是對 TensorFlow API 的重現,不過會略有延遲。它當然也提供了詳細的開發文檔和新手教程。爲了方便剛接觸的人快速瞭解核心概念,新手教程裏有專門面向初次接觸機器學習者的部分,講解了基本的計算原理;自帶的 demo 也非常簡單直觀便於操作,比如下圖就是用 deeplear.js 實現的經典卷積網絡 MNIST 識別模型,界面美觀、清晰易懂。只有加載時候花一點時間,修改模型的時候非常方便快捷。

谷歌也發佈了Web前端機器學習庫,就叫deeplearn.js

在 deeplear.js 的官網上也一併介紹了這個項目的路線圖,除了下一步要支持到 WebGL 2.0以外,SGD之外的優化器、2D邏輯採樣(目前需要在3D邏輯空間實際2D空間之間轉換)、增大batch大小、提高與 TensorFlow 之間協作的易用性、增加循環網絡類型等等修補、增添也會加入到 deeplear.js 中來。可預見的是,deeplear.js 在不久的將來會成爲真正完善好用的前端機器學習庫,成爲輕量的初學者和嚴肅的web開發者的一個好選擇。

文章來源:雷鋒網