進入人工智能領(lǐng)域,為什么必須學(xué)習(xí)Python!

如果你想進入人工智能這一領(lǐng)域,你應(yīng)該首先學(xué)習(xí)Python。

盡管人工智能領(lǐng)域還支持其它很多語言,但 Python 是應(yīng)用范圍最廣而且最簡單的一個。但是為什么要選擇 Python 呢——畢竟 Python 速度這么慢?因為大多數(shù)的庫都使用的是符號式語言(symbolic language)方法而非命令式語言(imperative language)方法。解釋一下也就是說:不是一條接一條地執(zhí)行你的指令,而是根據(jù)你給出的所有指令創(chuàng)建一個計算圖(computing graph)。這個圖被內(nèi)部優(yōu)化和編譯成可執(zhí)行的 C++ 代碼。這樣你就能同時利用上兩個世界的最優(yōu)之處:Python 帶來的開發(fā)速度和 C++ 帶來的執(zhí)行速度。

我常聽到人們談?wù)撋疃葘W(xué)習(xí)和人工智能——我該從哪里開始呢?TensorFlow 是現(xiàn)在最流行的吧?我聽說 Caffe 很常用,但會不會太難了?在 BEEVA Labs,我們常常需要應(yīng)對許多不同的深度學(xué)習(xí)庫,所以我希望能夠?qū)⑽覀兊陌l(fā)現(xiàn)和感想分享出來,幫助那些剛剛進入深度學(xué)習(xí)和人工智能領(lǐng)域的人。

首先說幾個常用的深度學(xué)習(xí)語言。

TensorFlow

TensorFlow 是一個使用數(shù)據(jù)流圖(data flow graphs)進行數(shù)值計算的開源軟件庫。TensorFlow是Google Brain的第二代機器學(xué)習(xí)系統(tǒng),已經(jīng)開源。TensorFlow在很多地方可以應(yīng)用,如語音識別,自然語言理解,計算機視覺,廣告等等。TensorFlow是一個非常靈活的框架,它能夠運行在個人電腦或者服務(wù)器的單個或多個CPU和GPU上,甚至是移動設(shè)備上。

TensorFlow 支持 Python 和 C++,也允許在 CPU 和 GPU 上的計算分布,甚至支持使用 gRPC 進行水平擴展。

Caffe

Caffe 不只是最老牌的框架之一,而是老牌中的老牌。起初的時候它并不是一個通用框架,而僅僅關(guān)注計算機視覺,但它具有非常好的通用性。在我們實驗室的實驗中,CaffeNet 架構(gòu)的訓(xùn)練時間在 Caffe 中比在 Keras 中(使用了 Theano 后端)少 5 倍。Caffe 的缺點是它不夠靈活。如果你想給它來一點新改變,那你就需要使用 C++ 和 CUDA 編程,不過你也可以使用 Python 或 Matlab 接口進行一些小改變。

Caffe 的文檔非常貧乏。你需要花大量時間檢查代碼才能理解它(Xavier 初始化有什么用?Glorot 是什么?)。Caffe 的最大缺點之一是它的安裝。它需要解決大量的依賴包……

MXNet

mxnet 是一個支持大多數(shù)編程語言的框架之一,包括 Python,R,C++,Julia 等。但我覺得使用 R 語言的開發(fā)者會特別偏愛 mxnet,因為至今為止還是 Python 以不可置疑的態(tài)勢稱霸深度學(xué)習(xí)語言的。我對多 GPU 的擴展能力有點疑慮并且我很原意去了解這樣實驗的更多細(xì)節(jié),但目前我還是對 mxnet 持懷疑態(tài)度。

那么,python為什么適合人工智能?

谷歌的TensorFlow基本上所有的代碼都是C++和Python,其他語言一般只有幾千行 。如果講運行速度的部分,用C++,如果講開發(fā)效率,用Python,誰會用Java這種高不成低不就的語言搞人工智能呢?Python雖然是腳本語言,但是因為容易學(xué),迅速成為科學(xué)家的工具(MATLAB也能搞科學(xué)計算,但是軟件要錢,且很貴),從而積累了大量的工具庫、架構(gòu),人工智能涉及大量的數(shù)據(jù)計算,用Python是很自然的,簡單高效。現(xiàn)在大部分深度學(xué)習(xí)框架都支持Python,不用Python用誰?Python有非常多優(yōu)秀的深度學(xué)習(xí)庫可用,人生苦短,就用Python。

如何讓自己使用Python開發(fā)的機器學(xué)習(xí)模型快捷低成本的跑起來,深度兼容TensorFlow?你可以學(xué)習(xí)下谷歌的AIY Projects 項目。它也正在通過“AIY項目”這樣的計劃來促進開發(fā)人員和DIY社區(qū)對人工智能的興趣,這些計劃本身代表了人工智能。谷歌的目標(biāo)是讓AI實現(xiàn)真正的平民化,讓人工智能無處不在,人人都可以學(xué)習(xí)。

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

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

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