【譯】10個(gè) JavaScript 中的機(jī)器學(xué)習(xí)實(shí)例

原文:10個(gè) JavaScript 中的機(jī)器學(xué)習(xí)實(shí)例
作者: Danny Markov

image

近幾年,機(jī)器學(xué)習(xí)庫(kù)發(fā)展的得越來(lái)越快,也變得越來(lái)越易用,而且并沒(méi)有顯示出放緩的跡象。 雖然傳統(tǒng)上 Python 一直是機(jī)器學(xué)習(xí)的首選語(yǔ)言,但現(xiàn)在神經(jīng)網(wǎng)絡(luò)可以運(yùn)行在任何語(yǔ)言中,包括 JavaScript

網(wǎng)絡(luò)生態(tài)系統(tǒng)近年來(lái)已經(jīng)取得了很大的進(jìn)步,盡管 JavaScript 和 Node.js 的性能仍然不如 Python 和 Java,但它們現(xiàn)在已經(jīng)足夠強(qiáng)大,可以處理許多機(jī)器學(xué)習(xí)問(wèn)題。 Web 語(yǔ)言還具有“超級(jí)可訪問(wèn)性”的優(yōu)點(diǎn)——運(yùn)行一個(gè) JavaScript ML 項(xiàng)目所需要的只是 Web 瀏覽器。

大多數(shù) JavaScript 機(jī)器學(xué)習(xí)庫(kù)都是相當(dāng)新的,并且仍在開發(fā)中,但是它們確實(shí)存在等待你的嘗試。 在這篇文章中,我們將對(duì)其中的一些庫(kù)進(jìn)行初探,并展示一些很酷的人工智能網(wǎng)絡(luò)應(yīng)用程序的例子,來(lái)幫助你開始你的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)之路。

1. Brain

Brain是一個(gè)可以讓你輕松地搭建一個(gè)神經(jīng)網(wǎng)絡(luò),并根據(jù)輸入 / 輸出數(shù)據(jù)訓(xùn)練這個(gè)網(wǎng)絡(luò)。 由于訓(xùn)練占用了大量資源,所以最好在 Node.js 環(huán)境中運(yùn)行庫(kù),盡管 CDN 瀏覽器版本也可以直接加載到網(wǎng)頁(yè)上。 在他們的網(wǎng)站上有一個(gè)小demo ,可以訓(xùn)練識(shí)別顏色的對(duì)比度。

image

2. Deep playground

教育網(wǎng)絡(luò)應(yīng)用程序,可以讓你體驗(yàn)神經(jīng)網(wǎng)絡(luò),并探索其中不同的組件。 它的 UI非常棒,允許您控制輸入數(shù)據(jù)、神經(jīng)元數(shù)量、要使用的算法,以及各種其他會(huì)對(duì)結(jié)果產(chǎn)生影響的參數(shù)。 這款應(yīng)用程序背后還有很多值得我們學(xué)習(xí)的地方——它的代碼是開源的,并且使用了一個(gè)自定義的機(jī)器學(xué)習(xí)庫(kù),這個(gè)庫(kù)是用TypeScript編寫的,并且有完善的文檔。

3. FlappyLearning

是一個(gè) JavaScript 項(xiàng)目,在大約800行的無(wú)壓縮代碼中創(chuàng)建了一個(gè)機(jī)器學(xué)習(xí)庫(kù),并在一個(gè)有趣的演示中實(shí)現(xiàn)它,學(xué)會(huì)像一個(gè)演奏家一樣玩 Flappy Bird 。 這個(gè)庫(kù)使用的人工智能技術(shù)被稱為Neuroevolution ,它使用的算法靈感來(lái)源于自然界中神經(jīng)系統(tǒng),從每次迭代的成功或者失敗中動(dòng)態(tài)地學(xué)習(xí)經(jīng)驗(yàn)。 這個(gè)演示程序非常容易運(yùn)行——只需在瀏覽器中打開index.html即可。

image.png

Synaptic

這可能是本文列舉的項(xiàng)目中最活躍的一個(gè),Synaptic 是一個(gè)Node.js和瀏覽器庫(kù),它與框架無(wú)關(guān),允許開發(fā)者構(gòu)建他們想要的任何類型的神經(jīng)網(wǎng)絡(luò)。 它有少許的內(nèi)置的框架,能夠進(jìn)行快速測(cè)試,以及比較不同的機(jī)器學(xué)習(xí)算法。 它還有精心編寫的關(guān)于神經(jīng)網(wǎng)絡(luò)的介紹,一些練習(xí)演示,以及還有許多非常精彩的教程來(lái)揭示機(jī)器學(xué)習(xí)是如何工作的。

image.png

Land Lines

Land Lines是一個(gè)有趣的 Chrome Web網(wǎng)絡(luò)實(shí)驗(yàn),用戶進(jìn)行涂鴉后,根據(jù)地球的衛(wèi)星圖像找出和涂鴉最相似的衛(wèi)星圖像區(qū)域。 這個(gè)應(yīng)用程序不需要服務(wù)器調(diào)用:它完全在瀏覽器中工作,而且由于機(jī)器學(xué)習(xí)的巧妙應(yīng)用,WebGL 甚至在移動(dòng)設(shè)備上也有很好的性能。 你可以在 GitHub 上查看源代碼,或者在這里閱讀完整的案例。

image.png

ConvNetJS

ConvNetJS是 JavaScript 中最先進(jìn)的深度學(xué)習(xí)庫(kù)之一,盡管它不再有活躍的維護(hù)。 最初在斯坦福大學(xué)開發(fā)的時(shí)候,ConvNetJS 在 GitHub 上相當(dāng)流行,產(chǎn)生了許多社區(qū)驅(qū)動(dòng)的特性和教程。 它可以直接在瀏覽器中工作,支持多種機(jī)器學(xué)習(xí)技術(shù),而且層次較低,適合在神經(jīng)網(wǎng)絡(luò)方面有較大經(jīng)驗(yàn)的人。

Thing Translator

Thing Translator是一個(gè)網(wǎng)絡(luò)實(shí)驗(yàn),它允許你的手機(jī)識(shí)別現(xiàn)實(shí)生活中的物體,并用不同的語(yǔ)言給它們命名。 這款應(yīng)用完全基于網(wǎng)絡(luò)技術(shù),并且使用了谷歌的兩個(gè)機(jī)器學(xué)習(xí)接口,Cloud Vision ——進(jìn)行圖像識(shí)別; Translate API ——自然語(yǔ)言翻譯。

Neurojs

Neurojs是基于強(qiáng)化學(xué)習(xí)的AI系統(tǒng)構(gòu)建框架。 遺憾的是,這個(gè)開源項(xiàng)目沒(méi)有合適的文檔,但是其中一個(gè)關(guān)于自動(dòng)駕駛汽車實(shí)驗(yàn)的demo ,對(duì)構(gòu)成神經(jīng)網(wǎng)絡(luò)的不同組成有很好的描述。 這個(gè)庫(kù)是純 JavaScript 的,并且使用了像 webpackbabel這樣的現(xiàn)代工具。

Machine_learning

這是另一個(gè)只用 JavaScript 來(lái)建立和訓(xùn)練神經(jīng)網(wǎng)絡(luò)的庫(kù)。 它在 Node.js 和客戶端都非常容易安裝,并且有一個(gè)非常干凈的 API,適合任何水平的開發(fā)人員使用。 該庫(kù)提供了許多流行算法的示例 ,幫助您理解機(jī)器學(xué)習(xí)原理的核心。

DeepForge

Deepforge 是一個(gè)對(duì)用戶友好的深度學(xué)習(xí)開發(fā)環(huán)境。 它允許您使用簡(jiǎn)單的圖形界面設(shè)計(jì)神經(jīng)網(wǎng)絡(luò),支持在遠(yuǎn)程機(jī)器上的訓(xùn)練模型,并具有內(nèi)置的版本控制。 該項(xiàng)目運(yùn)行在瀏覽器中,基于 Node.jsMongoDB,安裝過(guò)程對(duì)于大多數(shù) web 開發(fā)者來(lái)說(shuō)非常熟悉。

Bonus: Machine Learning in Javascript

布拉克 · 坎伯(Burak Kanber)的一系列精彩的博客文章,講述了機(jī)器學(xué)習(xí)的一些基本原理。 這些教程寫得很好,很清晰,并且專門針對(duì) JavaScript 開發(fā)者。 如果你想更深入地了解機(jī)器學(xué)習(xí),這是一個(gè)很好的資源。

結(jié)論

雖然 JavaScript 的機(jī)器學(xué)習(xí)生態(tài)系統(tǒng)還沒(méi)有完全成熟,但是我們推薦使用這個(gè)列表中的資源,讓你在機(jī)器學(xué)習(xí)中邁出第一步,感受一下核心技術(shù)。 正如文章中的實(shí)驗(yàn)所顯示的那樣,只用瀏覽器和一些熟悉的 JavaScript 代碼就可以創(chuàng)建大量有趣的東西。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容