目前,機(jī)器人的發(fā)展越來越迅速琢岩,伴隨來的就有不同的聲音投剥,未來是機(jī)器人主宰人類?還是人類主宰機(jī)器人担孔?想必大家都明白江锨,肯定是人類主宰機(jī)器人吃警,為什么?因?yàn)檎Z言啄育。
如果你想進(jìn)入人工智能這一領(lǐng)域酌心,你應(yīng)該首先學(xué)習(xí)Python。
盡管人工智能領(lǐng)域還支持其它很多語言挑豌,但 Python 是應(yīng)用范圍最廣而且最簡單的一個(gè)安券。但是為什么要選擇 Python 呢——畢竟 Python 速度這么慢?因?yàn)榇蠖鄶?shù)的庫都使用的是符號(hào)式語言(symbolic language)方法而非命令式語言(imperative language)方法氓英。解釋一下也就是說:不是一條接一條地執(zhí)行你的指令侯勉,而是根據(jù)你給出的所有指令創(chuàng)建一個(gè)計(jì)算圖(computing graph)。這個(gè)圖被內(nèi)部優(yōu)化和編譯成可執(zhí)行的 C++ 代碼铝阐。這樣你就能同時(shí)利用上兩個(gè)世界的最優(yōu)之處:Python 帶來的開發(fā)速度和 C++ 帶來的執(zhí)行速度壳鹤。
我常聽到人們談?wù)撋疃葘W(xué)習(xí)和人工智能——我該從哪里開始呢?TensorFlow 是現(xiàn)在最流行的吧饰迹?我聽說 Caffe 很常用,但會(huì)不會(huì)太難了余舶?在 BEEVA Labs啊鸭,我們常常需要應(yīng)對許多不同的深度學(xué)習(xí)庫,所以我希望能夠?qū)⑽覀兊陌l(fā)現(xiàn)和感想分享出來匿值,幫助那些剛剛進(jìn)入深度學(xué)習(xí)和人工智能領(lǐng)域的人赠制。
首先說幾個(gè)常用的深度學(xué)習(xí)語言。
TensorFlow
TensorFlow 是一個(gè)使用數(shù)據(jù)流圖(data flow graphs)進(jìn)行數(shù)值計(jì)算的開源軟件庫挟憔。TensorFlow是Google Brain的第二代機(jī)器學(xué)習(xí)系統(tǒng)钟些,已經(jīng)開源。TensorFlow在很多地方可以應(yīng)用绊谭,如語音識(shí)別政恍,自然語言理解,計(jì)算機(jī)視覺达传,廣告等等篙耗。TensorFlow是一個(gè)非常靈活的框架,它能夠運(yùn)行在個(gè)人電腦或者服務(wù)器的單個(gè)或多個(gè)CPU和GPU上宪赶,甚至是移動(dòng)設(shè)備上宗弯。
TensorFlow 支持 Python 和 C++,也允許在 CPU 和 GPU 上的計(jì)算分布搂妻,甚至支持使用 gRPC 進(jìn)行水平擴(kuò)展蒙保。
Caffe
Caffe 不只是最老牌的框架之一,而是老牌中的老牌欲主。起初的時(shí)候它并不是一個(gè)通用框架邓厕,而僅僅關(guān)注計(jì)算機(jī)視覺逝嚎,但它具有非常好的通用性。在我們實(shí)驗(yàn)室的實(shí)驗(yàn)中邑狸,CaffeNet 架構(gòu)的訓(xùn)練時(shí)間在 Caffe 中比在 Keras 中(使用了 Theano 后端)少 5 倍懈糯。Caffe 的缺點(diǎn)是它不夠靈活。如果你想給它來一點(diǎn)新改變单雾,那你就需要使用 C++ 和 CUDA 編程赚哗,不過你也可以使用 Python 或 Matlab 接口進(jìn)行一些小改變。
Caffe 的文檔非常貧乏硅堆。你需要花大量時(shí)間檢查代碼才能理解它(Xavier 初始化有什么用屿储?Glorot 是什么?)渐逃。Caffe 的最大缺點(diǎn)之一是它的安裝够掠。它需要解決大量的依賴包……
MXNet
mxnet 是一個(gè)支持大多數(shù)編程語言的框架之一,包括 Python茄菊,R疯潭,C++,Julia 等面殖。但我覺得使用 R 語言的開發(fā)者會(huì)特別偏愛 mxnet竖哩,因?yàn)橹两駷橹惯€是 Python 以不可置疑的態(tài)勢稱霸深度學(xué)習(xí)語言的。我對多 GPU 的擴(kuò)展能力有點(diǎn)疑慮并且我很原意去了解這樣實(shí)驗(yàn)的更多細(xì)節(jié)脊僚,但目前我還是對 mxnet 持懷疑態(tài)度相叁。
那么,python為什么適合人工智能辽幌?
谷歌的TensorFlow基本上所有的代碼都是C++和Python增淹,其他語言一般只有幾千行 。如果講運(yùn)行速度的部分乌企,用C++虑润,如果講開發(fā)效率,用Python加酵,誰會(huì)用Java這種高不成低不就的語言搞人工智能呢端辱?Python雖然是腳本語言,但是因?yàn)槿菀讓W(xué)虽画,迅速成為科學(xué)家的工具(MATLAB也能搞科學(xué)計(jì)算舞蔽,但是軟件要錢,且很貴)码撰,從而積累了大量的工具庫渗柿、架構(gòu),人工智能涉及大量的數(shù)據(jù)計(jì)算,用Python是很自然的朵栖,簡單高效〖樟粒現(xiàn)在大部分深度學(xué)習(xí)框架都支持Python,不用Python用誰陨溅?Python有非常多優(yōu)秀的深度學(xué)習(xí)庫可用终惑,人生苦短,就用Python门扇。
如何讓自己使用Python開發(fā)的機(jī)器學(xué)習(xí)模型快捷低成本的跑起來雹有,深度兼容TensorFlow?你可以學(xué)習(xí)下谷歌的AIY Projects 項(xiàng)目臼寄。它也正在通過“AIY項(xiàng)目”這樣的計(jì)劃來促進(jìn)開發(fā)人員和DIY社區(qū)對人工智能的興趣霸奕,這些計(jì)劃本身代表了人工智能桐经。谷歌的目標(biāo)是讓AI實(shí)現(xiàn)真正的平民化两残,讓人工智能無處不在驰坊,人人都可以學(xué)習(xí)舆逃。
就小編來看,目前選擇AI是個(gè)不錯(cuò)的選擇辕宏,就業(yè)前景也不錯(cuò)戈稿。當(dāng)然猾浦,大家覺得有更好的發(fā)展方向可以評論或私信小編哦反正不管怎么樣炼邀,小編希望大家都能找到一份不錯(cuò)的工作魄揉,過著神一樣的逍遙日子,所以一起加油吧~