谷歌也發(fā)布了Web前端機器學(xué)習(xí)庫,就叫deeplearn.js
在人工智能時代,不管是音箱、手機、汽車、app,自家產(chǎn)品沒有用上深度學(xué)習(xí)都不好意思跟別人打招呼;另外,谷歌和 Facebook 都分別在 TensorFlow 和 Caffe 2 里提出了在移動設(shè)備上運行機器學(xué)習(xí)算法的目標(biāo)和相關(guān)支持,更優(yōu)秀的框架和更低的計算力要求確實是移動應(yīng)用開發(fā)者的福音。不過這還沒完,在瀏覽器上以 WebApp 的形式做模型推理甚至模型訓(xùn)練也有重要的開發(fā)和應(yīng)用需求。
本文引用地址:http://www.biyoush.com/article/201708/362868.htm以往大家對前端機器學(xué)習(xí)庫的關(guān)注度較低,不外乎人們認(rèn)為 JavaScript 運行速度低、應(yīng)用范圍窄、支持前端的庫少等幾個原因。不過許多 JS 圖形庫已經(jīng)有力地證明了 JavaScript 不是低速的代名詞,帶有構(gòu)建好的機器學(xué)習(xí)算法的庫也確實有一些,比如 brain.js、Synaptic、Natural、ConvNetJS、mljs 等等,分別是幾個神經(jīng)網(wǎng)絡(luò)、自然語言處理等的庫,其中最出名、最先進(jìn)的是卷積神經(jīng)網(wǎng)絡(luò)庫 ConvNetJS,不過據(jù)了解,它已經(jīng)不再積極地維護(hù)了。
現(xiàn)在谷歌也決定在機器學(xué)習(xí)前端開發(fā)領(lǐng)域添一把柴,昨天發(fā)布了開源了自己的前端機器學(xué)習(xí)庫 deeplear.js。
谷歌的 PAIR(People + AI Research)研究小組是一個以人為中心的 AI 系統(tǒng)研究小組,他們的研究興趣是各種人類和人工智能之間的互動可能,包括為工程師提供更便捷的開發(fā)方式,一直到用人工智能理解生活中各種各樣的事情。deeplearn.js 就是 PAIR 出力、借助了谷歌大腦團隊的一點幫助開發(fā)出來的,它除了支持構(gòu)建可微的數(shù)據(jù)流圖、帶有可以直接使用的數(shù)學(xué)函數(shù)外,還使用 WebGL 來加速訓(xùn)練和推理過程,從而提供了高性能的機器學(xué)習(xí)模型開發(fā)平臺,可以在瀏覽器環(huán)境下訓(xùn)練模型或者用訓(xùn)練好的模型做推理。PAIR 希望對機器學(xué)習(xí)感興趣的人可以把它用在教育、理解模型、藝術(shù)工作等各個領(lǐng)域。
deeplear.js 提供了兩套 API,一套是類似 NumPy 的即時執(zhí)行模型,另一套是對 TensorFlow API 的重現(xiàn),不過會略有延遲。它當(dāng)然也提供了詳細(xì)的開發(fā)文檔和新手教程。為了方便剛接觸的人快速了解核心概念,新手教程里有專門面向初次接觸機器學(xué)習(xí)者的部分,講解了基本的計算原理;自帶的 demo 也非常簡單直觀便于操作,比如下圖就是用 deeplear.js 實現(xiàn)的經(jīng)典卷積網(wǎng)絡(luò) MNIST 識別模型,界面美觀、清晰易懂。只有加載時候花一點時間,修改模型的時候非常方便快捷。
在 deeplear.js 的官網(wǎng)上也一并介紹了這個項目的路線圖,除了下一步要支持到 WebGL 2.0 以外,SGD 之外的優(yōu)化器、2D 邏輯采樣(目前需要在 3D 邏輯空間實際 2D 空間之間轉(zhuǎn)換)、增大 batch 大小、提高與 TensorFlow 之間協(xié)作的易用性、增加循環(huán)網(wǎng)絡(luò)類型等等修補、增添也會加入到 deeplear.js 中來??深A(yù)見的是,deeplear.js 在不久的將來會成為真正完善好用的前端機器學(xué)習(xí)庫,成為輕量的初學(xué)者和嚴(yán)肅的 web 開發(fā)者的一個好選擇。
評論