神經(jīng)網(wǎng)絡(luò)工具的突發(fā)展
隨著黑客、學(xué)生、研究人員以及企業(yè)數(shù)量的增加,神經(jīng)網(wǎng)絡(luò)越來越流行。最近一次復(fù)蘇是在80、90年代,當(dāng)時幾乎沒有網(wǎng)絡(luò),也沒有神經(jīng)網(wǎng)絡(luò)相關(guān)的工具。本次復(fù)蘇始于2006年左右。從一個黑客的角度來看,在那個時候都有哪些可用的工具和資源?現(xiàn)在又有哪些?我們對將來的期望又是怎么樣的呢?對我個人來說,樹莓派上的GPU正是我所期盼的。
80、90年代
閱讀本文的年輕人可能想知道,在互聯(lián)網(wǎng)沒有發(fā)明之前,我們這些老家伙是如何接觸到新知識的。其實,紙質(zhì)雜志在當(dāng)時起到了相當(dāng)大的作用。比如,《科學(xué)美國人》雜志在1992年9月的心靈與大腦特刊便讓我第一次接觸到了神經(jīng)網(wǎng)絡(luò),既是在生物學(xué)上,也是在人工智能學(xué)上。
在當(dāng)時,你既可以自己從頭編寫神經(jīng)網(wǎng)絡(luò)程序,也可以從其他地方訂購一套包含源代碼的軟盤。我就曾經(jīng)在《科學(xué)美國人》雜志的《美國科學(xué)家》專欄訂購了這么一套軟盤。當(dāng)然,你也可以購買一套能夠開發(fā)低級別的、復(fù)雜的數(shù)學(xué)神經(jīng)網(wǎng)絡(luò)開發(fā)庫。比如,在多倫多大學(xué),就有一個名叫Xerion的免費的模擬器。
如果你經(jīng)常關(guān)注書店里科學(xué)類書刊的話,你有時候也會發(fā)現(xiàn)這方面的書籍,最經(jīng)典的就是曾經(jīng)出版過兩卷的《并行分布式處理探索》,作者是Rumelhart、 McClelland等人。我最喜歡的一本書是《神經(jīng)計算與自組織映射導(dǎo)論》,如果你對利用神經(jīng)網(wǎng)絡(luò)來控制機械臂感興趣,這本書對你來說將會受益匪淺。
當(dāng)然,你也可以參加一些短期的課程和會議。我在1994年曾經(jīng)參加了一個為期兩天的免費會議,這個會議最早是由Geoffrey Hinton主辦的,后來改由多倫多大學(xué)主辦。這個會議無論是在當(dāng)時,還是在現(xiàn)在,都是神經(jīng)網(wǎng)絡(luò)領(lǐng)域的領(lǐng)導(dǎo)者。當(dāng)時被譽為最好的年度會議是神經(jīng)信息處理系統(tǒng)會議,它在當(dāng)今仍然很受歡迎。
最后,我把為了發(fā)布論文而開發(fā)的神經(jīng)網(wǎng)絡(luò)程序整理了一遍。同時,我把所有的會議論文、課程講義、復(fù)印的文章和手寫的筆記統(tǒng)統(tǒng)摞了起來,足足達到了3英尺厚。
神經(jīng)網(wǎng)絡(luò)在經(jīng)歷了80、90年代的復(fù)蘇后,又逐漸變得相對低調(diào)起來。從整個世界來看,除了對于個別研究團隊,它已經(jīng)變得不再重要。伴隨著緩慢的改進以及一些小小的突破,神經(jīng)網(wǎng)絡(luò)始終保持著很低調(diào)。直到大概2006年左右,它又在世界范圍內(nèi)引發(fā)了一場大爆炸。
現(xiàn)在
現(xiàn)在我們來看一下神經(jīng)網(wǎng)絡(luò)工具得到重大突破的一些地方:
超過了三層甚至四層深度的新的訓(xùn)練網(wǎng)絡(luò)技術(shù),稱之為深層神經(jīng)網(wǎng)絡(luò)
通過使用GPU(圖像處理單元)來加速訓(xùn)練
包含大量樣本的訓(xùn)練數(shù)據(jù)的有效性
神經(jīng)網(wǎng)絡(luò)框架
現(xiàn)在有非常多的神經(jīng)網(wǎng)絡(luò)框架,他們使用了各種不同的授權(quán)協(xié)議,允許用戶免費下載。其中很多還是開源框架。大部分的流行框架允許你在GPU上運行神經(jīng)網(wǎng)絡(luò),并且支持大多數(shù)的神經(jīng)網(wǎng)絡(luò)算法。
下文將介紹一些流行的框架,他們都支持GPU,除了模糊神經(jīng)網(wǎng)絡(luò)。
TensorFlow是Google公司推出的最新的神經(jīng)網(wǎng)絡(luò)框架,它專門為分布式而設(shè)計。作為一個底層框架,雖然有著非常大的靈活性,但是也比高級框架(例如Keras和TFLearn,下文會有介紹)擁有更陡的學(xué)習(xí)曲線。目前,Google正在開發(fā)Keras集成在TensorFlow中的版本。
推薦Hackaday網(wǎng)站上的兩篇文章“能識別錘子和啤酒瓶的機器人”和“TensorFlow入門”一睹TensorFlow的風(fēng)采。
開發(fā)語言:Python
這是一款用來做多維矩陣高效數(shù)值計算的開源庫。它出自蒙特利爾大學(xué),可運行在Windows、Linux和OS X上。Theano發(fā)布于2009年,已經(jīng)存在了很長時間。
開發(fā)語言:命令行, Python, MATLAB
Caffe是一款由伯克利人工智能研究所和社區(qū)貢獻者共同開發(fā)的開源庫。在Caffe中,你可以使用文本文件來定義模型,然后通過命令行工具來進行處理。Caffe同時也有Python和MATLAB接口。例如,首先使用文本文件定義模型,然后在另外一個文本文件中給出詳細的訓(xùn)練方法,然后通過命令行工具讀入這兩個文件,這樣就能開始訓(xùn)練神經(jīng)網(wǎng)絡(luò)了。最后,你可以使用Python程序來調(diào)用這個已經(jīng)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)來實現(xiàn)一些功能了,比如說把圖片進行分類。
開發(fā)語言:Python, C++, C#
這是微軟的認知開發(fā)包(CNTK),可運行在Windows和Linux上。微軟目前正在開發(fā)一個內(nèi)部使用Keras的版本。
開發(fā)語言:Python
這個庫以TensorFlow或者Theano作為底層,這樣可以使其用起來更加簡單。Keras同時也有支持CNTK的計劃。目前,把Keras融入到TensorFlow的工作正在進行中,而以后就會出現(xiàn)一個僅支持TensorFlow的獨立的版本。
開發(fā)語言:Python
跟Keras一樣,是一個基于TensorFlow的高級別的庫。
開發(fā)語言:支持超過15種語言,但不支持GPU
這是一個使用C語言開發(fā)的高級別的開源庫,僅可用于完全連接和稀疏連接的神經(jīng)網(wǎng)絡(luò)。然而,F(xiàn)ANN卻已經(jīng)流行了很多年,甚至已經(jīng)包含在一些Linux發(fā)行版中。Hackaday最近的一篇“通過強化學(xué)習(xí)來讓機器人學(xué)習(xí)走路”中提到了關(guān)于FANN的使用。
開發(fā)語言:Lua
一款使用C語言開發(fā)的開源庫。特別要注意的一點,在Rorch官網(wǎng)上特別注明了該框架支持嵌入式設(shè)備,例如iOS、Android和FPGA。
開發(fā)語言:Python
PyTorch相對來說還是比較新的,在其官網(wǎng)上注明了目前還屬于早起的測試版,但似乎現(xiàn)在已經(jīng)吸引了很多人的目光。它運行在Linux和OS X上,并以Torch作為底層。
你應(yīng)該選擇哪一個框架呢?除編程語言或者操作系統(tǒng)對你來說是影響選擇的一個大問題,如果你覺得數(shù)學(xué)太難,或者不想深入地挖掘神經(jīng)網(wǎng)絡(luò)的細節(jié),那么盡量選擇一個高級的框架吧。在這種情況下,請遠離TensorFlow,因為相對于Kera、TFLearn或者其他高級框架,你必須去學(xué)習(xí)更多的API函數(shù)。該框架在強調(diào)自身具有強大數(shù)學(xué)功能的同時,也需要你去花費更多的精力來創(chuàng)建神經(jīng)網(wǎng)絡(luò)。另外一個影響你選擇框架的因素是你是否需要做基礎(chǔ)研究,一個高級框架可能不會讓你能接觸到內(nèi)部邏輯。
在線服務(wù)
你是否正在尋找一種可用的神經(jīng)網(wǎng)絡(luò)庫,但你又不想花費太多的時間去學(xué)習(xí)呢?這里有一些互聯(lián)網(wǎng)在線服務(wù)可以滿足你的要求。
我們已經(jīng)看到了無數(shù)使用亞馬遜Alexa語音識別服務(wù)的例子。Google也提供了包括視覺和語音的云機器學(xué)習(xí)服務(wù)。這方面的例子有:使用樹莓派來對糖果進行排序,以及識別人類的表情。Wekinator是一款針對藝術(shù)家和音樂家的軟件,它可用于訓(xùn)練神經(jīng)網(wǎng)絡(luò),可以讓人們用手勢來控制屋內(nèi)的電器的開關(guān)。當(dāng)然了,微軟也有自己的認知服務(wù)API,包括視覺、語音、語言等多個方面。
GPU和TPU

非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
下載地址
神經(jīng)網(wǎng)絡(luò)工具的突發(fā)展下載
相關(guān)電子資料下載
- 深度學(xué)習(xí)在工業(yè)缺陷檢測中的應(yīng)用 63
- 智慧礦山:AI算法為何能提高未戴安全帶識別準(zhǔn)確率! 51
- 《人工智能在指揮和控制系統(tǒng)中的決策支持》 133
- 利用PyTorch實現(xiàn)NeRF代碼詳解 79
- 卷積神經(jīng)網(wǎng)絡(luò)中的池化方式 81
- 使用DNN深度神經(jīng)網(wǎng)絡(luò)實現(xiàn)圖像AIGC的開發(fā)-基于米爾瑞薩RZ/G2L開發(fā)板的創(chuàng)新應(yīng)用 148
- 人工智能領(lǐng)域存在第一性原理嗎? 53
- 基于機器視覺檢測技術(shù)現(xiàn)狀 41
- 基于ZYNQ的超低成本的開發(fā)板 36
- 智能駕駛感知算法梳理 高階自動駕駛落地關(guān)鍵分析 36
