“全球人工智能”擁有十多萬AI產(chǎn)業(yè)用戶,10000多名AI技術(shù)專家。主要來自:北大,清華,中科院,麻省理工,卡內(nèi)基梅隆,斯坦福,哈佛,牛津,劍橋...以及谷歌,騰訊,百度,臉譜,微軟,阿里,??低?,英偉達......等全球名校和名企。
我們對23種用于數(shù)據(jù)科學的開源深度學習庫作了排名。這番排名基于權(quán)重一樣大小的三個指標:Github上的活動、Stack Overflow上的活動以及谷歌搜索結(jié)果。
排名結(jié)果
下面是23種用于數(shù)據(jù)科學的開源深度學習庫的排名,按照Github上的活動、Stack Overflow上的活動以及谷歌搜索結(jié)果來衡量。該表顯示了標準化分數(shù),1這個值表示高于平均值(平均值=0)一個標準偏差。比如說,Caffe高于Github活動方面的平均值一個標準偏差,而deeplearning4j接近平均值。
方法詳見如下
結(jié)果和討論
排名基于權(quán)重一樣大小的三個指標:Github(星標和分支)、Stack Overflow(標簽和問題)以及谷歌結(jié)果(總體增長率和季度增長率)。這些是使用可用的API獲得的。制作一個全面的深度學習工具包列表很棘手——最后,我們列出了我們認為有代表性的五個不同的列表(參閱下面介紹的方法,可了解詳細信息)。計算每個度量指標的標準化分數(shù)后,我們就能看到哪些軟件包在每個類別中脫穎而出。完整排名在這里(https://github.com/thedataincubator/data-science-blogs/blob/master/output/DL_libraries_final_Rankings.csv),原始數(shù)據(jù)在這里(https://github.com/thedataincubator/data-science-blogs/blob/master/output/deep_learning_data.csv)。
TensorFlow憑最大的活躍社區(qū)一路領(lǐng)跑
在所有衡量指標中,TensorFlow比平均值高出至少兩個標準偏差。相比第二大流行框架:Caffe,TensorFlow的Github分支數(shù)量幾乎是其三倍,Stack Overflow問題更是其六倍以上。TensorFlow最初由谷歌Brain團隊于2015年開源,發(fā)展勢頭已超過歷史更悠久的庫,比如Theano(第4位)和Torch(第8位),躍居我們榜單的首位。雖然TensorFlow附帶在C 引擎上運行的Python API,但本榜單上的幾種庫可以使用TensorFlow作為后端,提供各自的接口。這些庫包括Keras(第2位,很快將成為核心TensorFlow的一部分)和Sonnet(第6位)。TensorFlow之所以人氣這么高,可能是由于它結(jié)合了通用深度學習框架、靈活的接口、外觀整潔的計算圖形可視化以及谷歌龐大的開發(fā)者和社區(qū)資源。
Caffe尚未被Caffe2所取代
Caffe在本榜單上排名第三,Github上的活動比其所有競爭對手(TensorFlow除外)都要多。Caffe歷來被認為比Tensorflow更專門化,當初專注于圖像處理、對象識別和預訓練的卷積神經(jīng)網(wǎng)絡(luò)。Facebook于2017年4月發(fā)布了Caffe2(第11名),Caffe2已經(jīng)躋身于深度學習庫的上半部分。Caffe2是一種更輕量級、模塊化、可擴展的Caffe,它包括循環(huán)神經(jīng)網(wǎng)絡(luò)。Caffe和Caffe2是獨立的代碼庫,所以數(shù)據(jù)科學家可以繼續(xù)使用原來的Caffe。然而,一些遷移工具(比如Caffe Translator)為使用Caffe2來驅(qū)動現(xiàn)有的Caffe模型提供了一種手段。
Keras是最流行的深度學習前端
Keras(第2位)是排名最高的非框架庫。Keras可以用作TensorFlow(第1位)、Theano(第4位)、MXNet(第7位)、CNTK(第9位)或deeplearning4j(第14位)的前端。Keras在所有三個衡量指標方面的表現(xiàn)均勝過平均值。Keras之所以人氣很旺,可能歸功于其簡單性和易用性。Keras允許用戶快速建立原型,代價是直接使用框架所帶來的靈活性和控制性方面欠缺一點。Keras頗受對數(shù)據(jù)集使用深度學習的數(shù)據(jù)科學家的青睞。由于R Studio最近發(fā)布了使用R的面向Keras的接口,Keras的發(fā)展和人氣指數(shù)不斷提升。
即便沒有行業(yè)的大力支持,Theano依然名列前茅
在眾多新的深度學習框架中,Theano(第4位)是本榜單上歷史最悠久的庫。Theano率先使用了計算圖,在整個深度學習和機器學習研究界當中仍很受歡迎。Theano實際上就是面向Python的數(shù)值計算庫,但可以與像Lasagne(第15位)這樣的高級深度學習封裝庫一起使用。谷歌支持TensorFlow(第1位)和Keras(第2位),F(xiàn)acebook支持PyTorch(第5位)和Caffe2(第11位),而MXNet(第7位)是亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)的官方深度學習框架,微軟設(shè)計并維護CNTK(第9位),雖然沒有得到哪家技術(shù)行業(yè)巨頭的官方支持,但Theano依然頗受歡迎。
Sonnet是發(fā)展最快的庫
2017年年初,谷歌的DeepMind公開發(fā)布了Sonnet(第6位)的代碼,這是一種以TensorFlow為基礎(chǔ)的面向?qū)ο蟮母呒墡?。這個季度相比上個季度,Sonnet的谷歌搜索結(jié)果中返回的頁面數(shù)量增加了272%,這是我們排名的所有庫中增幅最大的。雖然谷歌在2014年收購了DeepMind這家英國人工智能公司,但DeepMind和谷歌Brain仍擁有基本上獨立的團隊。DeepMind專注于強人工智能,Sonnet可以幫助用戶在特定的AI想法和研究的基礎(chǔ)上構(gòu)建神經(jīng)網(wǎng)絡(luò)。
Python是深度學習接口的首選語言
PyTorch(第5位)是其單一接口使用Python的一種框架,它是本榜單上發(fā)展速度第二快的庫。與上季度相比,PyTorch的谷歌搜索結(jié)果多了236%。在我們排名的23種開源深度學習框架和封裝庫中,只有三種沒有使用Python的接口:Dlib(第10位)、MatConvNet(第20位)和OpenNN(第23位)。C 接口和R接口分別用于23種庫中的7種庫和6種庫。雖然數(shù)據(jù)科學界在使用Python方面幾乎趨于一致,但是深度學習庫方面還是有許多選擇。
限制
與任何分析一樣,我們一路上做出了決定。所有源代碼和數(shù)據(jù)都在我們的Github頁面上。深度學習庫的完整列表來自幾個來源。
當然,一些歷史更悠久的庫會有更高的指標,因而排名更高。唯一考慮到這一點的指標是谷歌搜索季度增長率。
數(shù)據(jù)帶來了幾個難題:
Neural Designer和Wolfram Mathematica是專有的,已被剔除
cntk又叫微軟認知工具包,但是我們只使用了原來的ctnk名字
neon改成了nervana neon
paddle改成了paddlepaddle
一些庫顯然是其他庫的衍生版,比如Caffe和Caffe2。如果這些庫有獨特的github代碼庫,我們決定將它們分開來對待。
方法
所有源代碼和數(shù)據(jù)都放在我們的Github頁面(https://github.com/thedataincubator/data-science-blogs)上。
我們先從五個不同的來源制作了23種開源深度學習庫列表,然后為所有庫收集了指標,以得出排名。Github數(shù)據(jù)基于星標和分支,Stack Overflow數(shù)據(jù)基于含有軟件包名稱的標簽和問題,谷歌結(jié)果基于過去五年的谷歌搜索結(jié)果總數(shù)和過去三個月較之前三個月計算出來的季度結(jié)果增長率。
其他一些注意事項:
幾個庫是常用詞(caffe、chainer和lasagne),因此用來確定谷歌搜索結(jié)果數(shù)量的搜索詞包括庫名和“deep learning”這個術(shù)語。
任何缺少的Stack Overflow計數(shù)一律轉(zhuǎn)換為零計數(shù)。
計數(shù)標準化,均值為0,偏差為1,然后求平均值,以獲得Github和Stack Overflow分數(shù),最后結(jié)合搜索結(jié)果得出總分。
進行一番手動檢查,確認Github的代碼庫位置。
系統(tǒng)學習,進入全球人工智能學院