新聞中心
在過去的每一年,用于機器學習(Machine Learning)的庫在變得越來越快和易用。一直以來Python都是機器學習的***語言,但現(xiàn)在幾乎可將所有語言用于神經(jīng)網(wǎng)絡(neural networks),這里當然也包括JavaScript!

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站建設、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的西鄉(xiāng)塘網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
近幾年,Web生態(tài)系統(tǒng)取得了很大進步,雖然JavaScript和Node.js的性能比Python和Java略差,但它們已足夠處理許多機器學習問題。Web語言具有被廣泛且易于使用的優(yōu)勢——你只需一個Web瀏覽器就可以運行一個JavaScript語言編寫的機器學習項目。
雖然許多JavaScript語言編寫的機器學習庫是剛剛誕生并且還在持續(xù)開發(fā)中,但還是值得去嘗試使用它們。這篇文章會介紹幾個JavaScript語言編寫的機器學習庫以及一些很酷的AI Web應用示例,它們可以很好的幫助你開始AI之旅。
1. Brain
使用Brain 可以輕松的創(chuàng)建神經(jīng)網(wǎng)絡,并且可通過輸入/輸出數(shù)據(jù)對它進行訓練。因為訓練神經(jīng)網(wǎng)絡會消耗比較多的資源,所以推薦在Node.js環(huán)境中而不是直接使用瀏覽器來訓練神經(jīng)網(wǎng)絡。在官網(wǎng)上有個可以識別顏色(recognize color contrast)的小demo (PS:試了下,這個demo現(xiàn)在是404頁面)。
2. Deep playground
這是一個寓教于樂的Web應用,可以讓你以游戲的方式來探索神經(jīng)網(wǎng)絡的不同部分。它有一個友好的界面用于讓你控制數(shù)據(jù)的輸入,算法所用的神經(jīng)元數(shù)量以及其它一些會影響輸出結果的權值因素。這是一個開源項目,它是使用TypeScript編寫的機器學習庫并且有完善的文檔,從中我們可以許多東西。
3. FlappyLearning
FlappyLearning 項目大約800行代碼,這個項目包含一個機器學習庫并且實現(xiàn)了一個很有趣的demo——學習玩 Flappy Bird 游戲。它使用了一種叫做 Neuroevolution 的AI技術,使用了受自然神經(jīng)系統(tǒng)激發(fā)而產(chǎn)生的算法,可以從每次成功或失敗的迭代中進行動態(tài)進行學習。
4. Synaptic
Synaptic是一個架構無關(architecture-agnostic)且得到積極維護的Node.js和瀏覽器庫,它允許開發(fā)者構建任何類型的神經(jīng)網(wǎng)絡。它有幾個內(nèi)置的架構,使得可以快速測試和比較不同機器學習算法間的異同。它還提供了介紹神經(jīng)網(wǎng)絡的文檔及幾個實用demo和其它可以幫助我們學習機器學習的教程。
5. Land Lines
Land Lines 是一個有趣的用于搜尋地球衛(wèi)星圖片的Chrome網(wǎng)絡實驗(web experiment)。這個應用無需服務調(diào)用:它完全運行在瀏覽器環(huán)境中,得益于機器學習的使用,WebGL也可以在移動設備中有很好的表現(xiàn)。你可以在GitHub 上瀏覽源碼或者在這里閱讀完整的示例。
6. ConvNetJS
盡管已不再被積極的維護,但ConvNetJS依然是JavaScriptp中最為先進的深度學習庫之一。這個庫最初由斯坦福大學開發(fā),然后ConvNetJS開始在GitHub上流行,社區(qū)為它添加了許多特性和教程。ConvNetJS直接運行在瀏覽器環(huán)境中,支持多種學習技術,并且它接近底層原理使得它更適有較多神經(jīng)網(wǎng)絡方面經(jīng)驗的人。
7. Thing Translator
Thing Translator是一個網(wǎng)絡實驗,它可以讓你的手機識別真是的物體并用不同的語言標注物體的名稱。這個應用完全建立在web技術之上并且利用了Google提供的兩種機器學習APIs——用于圖像識別的Cloud Vision 和用于自然語言翻譯的Translate API。
8. Neurojs
Nerojs用于建立基于增強學習(reinforcement learning)的AI系統(tǒng)框架。不幸的是這個開源項目除了一個自動駕駛實驗的demo外并沒有完善的文檔,這個demo對組成神經(jīng)網(wǎng)絡的不同部分有著很好的描述。這個庫借助如現(xiàn)代化工具如:webpack 和babel,使用純JavaScript進行開發(fā)。
9. Machine_learning
這也是一個允許我們僅使用JavaScript創(chuàng)建并訓練神經(jīng)網(wǎng)絡的庫。它很容易就可以安裝到Node.js和客戶端環(huán)境,并且擁有對開發(fā)人員十分友好的的API。這個庫提供了許多示例,可以幫助你理解機器學習的核心原理。
10. DeepForge
DeepForge是一個用于深度學習且易于使用的開發(fā)環(huán)境。它允許你使用簡單的圖形接口創(chuàng)建神經(jīng)網(wǎng)絡,支持在遠程機器上訓練模型,并且內(nèi)置版本控制系統(tǒng)。這個項目基于Node.js和MongoDB且運行在瀏覽器環(huán)境中。
彩蛋: Machine Learning in Javascript
Burak Kanber 發(fā)布的一些列優(yōu)秀博文中講述了機器學習的基本原理。這些教程寫的很好且專門面向JavaScript開發(fā)者。如果你想深入理解機器學習,這些博文是很好的學習資源。
結語
盡管JavaScript的機器學習生態(tài)尚未成熟,但仍然建議使用上述資源來開啟你的機器學習之路并對一些核心技術建立感性認識。正如文章中展示的一些實驗,你也可以僅使用瀏覽器和少量JavaScript代碼來創(chuàng)建許多有趣的東西。
網(wǎng)站名稱:10個機器學習的JavaScript示例
當前鏈接:http://m.jiaoqi3.com/article/copogos.html


咨詢
建站咨詢
