丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能 正文
發(fā)私信給三川
發(fā)送

5

盤點(diǎn)四大民間機(jī)器學(xué)習(xí)開源框架:Theano、Caffe、Torch 和 SciKit-learn

本文作者: 三川 2017-01-03 22:14
導(dǎo)語(yǔ):它們各自有哪些優(yōu)缺點(diǎn)?

在上期的谷歌、微軟、OpenAI 等巨頭的七大機(jī)器學(xué)習(xí)開源項(xiàng)目 看這篇就夠了,我們盤點(diǎn)了 TensorFlow,CNTK,SystemML,DeepMind Lab 等各大互聯(lián)網(wǎng)巨頭的開源平臺(tái)。本期,雷鋒網(wǎng)將帶領(lǐng)大家來看看誕生于民間(學(xué)界)的另外四大開源項(xiàng)目:

1. Theano

盤點(diǎn)四大民間機(jī)器學(xué)習(xí)開源框架:Theano、Caffe、Torch 和 SciKit-learn

Theano 在深度學(xué)習(xí)框架中是祖師級(jí)的存在。它的開發(fā)始于 2007,早期開發(fā)者包括傳奇人物 Yoshua Bengio 和 Ian Goodfellow。

Theano 基于 Python,是一個(gè)擅長(zhǎng)處理多維數(shù)組的庫(kù)(這方面它類似于 NumPy)。當(dāng)與其他深度學(xué)習(xí)庫(kù)結(jié)合起來,它十分適合數(shù)據(jù)探索。它為執(zhí)行深度學(xué)習(xí)中大規(guī)模神經(jīng)網(wǎng)絡(luò)算法的運(yùn)算所設(shè)計(jì)。其實(shí),它可以被更好地理解為一個(gè)數(shù)學(xué)表達(dá)式的編譯器:用符號(hào)式語(yǔ)言定義你想要的結(jié)果,該框架會(huì)對(duì)你的程序進(jìn)行編譯,來高效運(yùn)行于 GPU 或 CPU。

它與后來出現(xiàn)的 Tensorflow 功能十分相似(或者應(yīng)該說,Tensorflow 類似 Theano ),因而兩者常常被放在一起比較。它們本身都偏底層,同樣的,Theano 像是一個(gè)研究平臺(tái)多過是一個(gè)深度學(xué)習(xí)庫(kù)。你需要從底層開始做許多工作,來創(chuàng)建你需要的模型。比方說,Theano 沒有神經(jīng)網(wǎng)絡(luò)的分級(jí)。

但隨著這些年的發(fā)展,大量基于 Theano 的開源深度學(xué)習(xí)庫(kù)被開發(fā)出來,包括 Keras, Lasagne 和 Blocks。這些更高層級(jí)的 wrapper API,能大幅減少開發(fā)時(shí)間以及過程中的麻煩。甚至,據(jù)雷鋒網(wǎng)所知,很少開發(fā)者會(huì)使用“裸奔”的 Theano,多數(shù)人需要輔助的 API。順便說一句,Theano 是一整套生態(tài)系統(tǒng),別只用它裸奔,然后抱怨不好用。

在過去的很長(zhǎng)一段時(shí)間內(nèi),Theano 是深度學(xué)習(xí)開發(fā)與研究的行業(yè)標(biāo)準(zhǔn)。而且,由于出身學(xué)界,它最初是為學(xué)術(shù)研究而設(shè)計(jì),這導(dǎo)致深度學(xué)習(xí)領(lǐng)域的許多學(xué)者至今仍在使用 Theano。但隨著 Tensorflow 在谷歌的支持下強(qiáng)勢(shì)崛起,Theano 日漸式微,使用的人越來越少。這過程中的標(biāo)志性事件是:創(chuàng)始者之一的 Ian Goodfellow 放棄 Theano 轉(zhuǎn)去谷歌開發(fā) Tensorflow。

因此,資深一些的開發(fā)者往往認(rèn)為,對(duì)于深度學(xué)習(xí)新手,用Theano 練練手并沒有任何壞處。但對(duì)于職業(yè)開發(fā)者,還是建議用 Tensorflow。

優(yōu)點(diǎn):

  • Python + NumPy 的組合

  • 使用計(jì)算圖

  • RNN 與計(jì)算圖兼容良好

  • 有 Keras 和 Lasagne 這樣高層的庫(kù)

  • 不少開發(fā)者反映,它的學(xué)習(xí)門檻比Tensorflow 低

缺點(diǎn):

  • 本身很底層

  • 比 Torch 臃腫

  • 不支持分布式

  • 有的錯(cuò)誤信息沒什么用

  • 大模型的編譯時(shí)間有時(shí)要很久

  • 對(duì)事先訓(xùn)練過的模型支持不足

  • 用的人越來越少

2. Caffe

盤點(diǎn)四大民間機(jī)器學(xué)習(xí)開源框架:Theano、Caffe、Torch 和 SciKit-learn

這又是一個(gè)祖師級(jí)的深度學(xué)習(xí)框架,2013 年就已問世。

它的全稱是 “Convolution Architecture For Feature Extraction”,意為“用于特征提取的卷積架構(gòu)”,很明白地體現(xiàn)了它的用途。Caffe 的創(chuàng)始人,是加州大學(xué)伯克利分校的中國(guó)籍博士生賈揚(yáng)清。當(dāng)時(shí)賈在伯克利計(jì)算機(jī)視覺與學(xué)習(xí)中心做研究。博士畢業(yè)后,他先后在谷歌和 Facebook 工作。

在 AI 開發(fā)者圈子中,Caffe 可以說是無人不知、無人不曉。據(jù) GitHub 最新的機(jī)器學(xué)習(xí)項(xiàng)目熱度排名,Caffe 僅位列 Tensorflow 之后,雄踞第二。它是一個(gè)被廣泛使用的機(jī)器視覺庫(kù),把 Matlab 執(zhí)行快速卷積網(wǎng)絡(luò)的方式帶到 C 和 C++。雖然 Caffe 被部分開發(fā)者看做是通用框架,但它的設(shè)計(jì)初衷是計(jì)算機(jī)視覺——并不適于其他深度學(xué)習(xí)應(yīng)用,比如文字、語(yǔ)音識(shí)別和處理時(shí)間序列數(shù)據(jù)。

Caffe 的主要用途:利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像分類。這方面它代表了業(yè)內(nèi)一流水平,是開發(fā)者的首選。

說到 Caffe,就不得不提 Model Zoo。后者是在 Caffe 基礎(chǔ)上開發(fā)出的一系列模型的匯聚之地。因此,開發(fā)者使用 Caffe 最大的好處是:能在 Model Zoo 海量的、事先訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)中,選擇貼近自己使用需求的直接下載,并立刻就能用。

就雷鋒網(wǎng)所知,這些模型中有很多是世界一流的。有很多它們的教程:

  • Alex’s CIFAR-10 tutorial with Caffe

  • Training LeNet on MNIST with Caffe

  • ImageNet with Caffe

業(yè)內(nèi)人士普遍認(rèn)為,Caffe 適合于以實(shí)現(xiàn)基礎(chǔ)算法為主要目的的工業(yè)應(yīng)用,有利于快速開發(fā)。但對(duì)于處理較特殊的任務(wù),它存在靈活性不足的問題——為模型做調(diào)整常常需要用 C++ 和 CUDA,雖然 Python 和 Matlab 也能做些小調(diào)整。

優(yōu)點(diǎn):

非常適合前饋神經(jīng)網(wǎng)絡(luò)和圖像處理任務(wù)

非常適于利用現(xiàn)有神經(jīng)網(wǎng)絡(luò)

不寫代碼也能訓(xùn)練模型

Python 交互界面做得不錯(cuò)

缺點(diǎn):

需要 C++ 和 CUDA 來編寫新 GPU 層級(jí)。

在遞歸神經(jīng)網(wǎng)絡(luò)上表現(xiàn)不佳

對(duì)于大型神經(jīng)網(wǎng)絡(luò),它十分繁瑣(GoogLeNet, ResNet)

沒有商業(yè)支持

3. Torch

盤點(diǎn)四大民間機(jī)器學(xué)習(xí)開源框架:Theano、Caffe、Torch 和 SciKit-learn

相比其他開源框架,Torch 是一個(gè)非主流。

沒錯(cuò),說的就是它的開發(fā)語(yǔ)言:基于1990 年代誕生于巴西的 Lua,而非機(jī)器學(xué)習(xí)界廣泛采用的 Python。其實(shí) Lua 和Python 都屬于比較容易入門的語(yǔ)言。但后者明顯已經(jīng)統(tǒng)治了機(jī)器學(xué)習(xí)領(lǐng)域,尤其在學(xué)界。而企業(yè)界的軟件工程師最熟悉的是 Java,對(duì) Lua 也比較陌生。這導(dǎo)致了 Torch 推廣的困難。因此,雖然 Torch 功能強(qiáng)大,但并不是大眾開發(fā)者的菜。

那么它強(qiáng)大在哪里?

  • 首先,Torch 非常適用于卷積神經(jīng)網(wǎng)絡(luò)。它的開發(fā)者認(rèn)為,Torch 的原生交互界面比其他框架用起來更自然、更得心應(yīng)手。

  • 其次,第三方的擴(kuò)展工具包提供了豐富的遞歸神經(jīng)網(wǎng)絡(luò)( RNN)模型。

因?yàn)檫@些強(qiáng)項(xiàng),許多互聯(lián)網(wǎng)巨頭開發(fā)了定制版的 Torch,以助力他們的 AI 研究。這其中包括 Facebook、Twitter,和被谷歌招安前的 DeepMind。

與 Caffe 相比,在 Torch 里定義一個(gè)新層級(jí)比它要容易,因?yàn)槟悴恍枰獙? C++ 代碼。和 TensorFlow 和 Theano 比起來,Torch 的靈活度更高,因?yàn)樗敲钍降?;而前兩者是陳述式的(declarative),你必須 declare 一個(gè)計(jì)算圖。這使得在 Torch 上進(jìn)行束搜索(beam search)這樣的操作要比它們?nèi)菀椎枚唷?/p>

Torch 的熱門應(yīng)用:在增強(qiáng)學(xué)習(xí)領(lǐng)域,用卷積神經(jīng)網(wǎng)絡(luò)和代理處理圖像問題。

興趣主要在增強(qiáng)學(xué)習(xí)的開發(fā)者, Torch 是首選。

優(yōu)點(diǎn):

  • 靈活度很高

  • 高度模塊化

  • 容易編寫你自己的層級(jí)

  • 有很多訓(xùn)練好的模型

缺點(diǎn):

  • 需要學(xué)  Lua

  • 通常需要自己寫訓(xùn)練代碼

  • 不適于循環(huán)神經(jīng)網(wǎng)絡(luò)

  • 沒有商業(yè)支持

4. SciKit-learn

盤點(diǎn)四大民間機(jī)器學(xué)習(xí)開源框架:Theano、Caffe、Torch 和 SciKit-learn

SciKit-learn 是老牌的開源 Python 算法框架,始于 2007 年的 Google Summer of Code 項(xiàng)目,最初由 David Cournapeau 開發(fā)。

它是一個(gè)簡(jiǎn)潔、高效的算法庫(kù),提供一系列的監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)的算法,以用于數(shù)據(jù)挖掘和數(shù)據(jù)分析。SciKit-learn 幾乎覆蓋了機(jī)器學(xué)習(xí)的所有主流算法,這為其在 Python 開源世界中奠定了江湖地位。

它的算法庫(kù)建立在 SciPy (Scientific Python) 之上——你必須先安裝 SciPy 才能使用 SciKit-learn 。它的框架中一共包括了:

  • NumPy: 基礎(chǔ)的多維數(shù)組包

  • SciPy: 科學(xué)計(jì)算的基礎(chǔ)庫(kù)

  • Matplotlib: 全面的 2D/3D 測(cè)繪

  • IPython: 改進(jìn)的交互控制器

  • Sympy: 符號(hào)數(shù)學(xué)

  • Pandas:數(shù)據(jù)結(jié)構(gòu)和分析

它命名的由來:SciPy 的擴(kuò)展和模塊在傳統(tǒng)上被命名為 SciKits。而提供學(xué)習(xí)算法的模組就被命名為 scikit-learn。

它與 Python 世界另一大算法框架——TensorFlow 的主要區(qū)別是TensorFlow 更底層。而 SciKit-learn 提供了執(zhí)行機(jī)器學(xué)習(xí)算法的模塊化方案,很多算法模型直接就能用。

優(yōu)點(diǎn):

  • 經(jīng)過篩選的、高質(zhì)量的模型

  • 覆蓋了大多數(shù)機(jī)器學(xué)習(xí)任務(wù)

  • 可擴(kuò)展至較大的數(shù)據(jù)規(guī)模

  • 使用簡(jiǎn)單

缺點(diǎn):

  • 靈活性低

5. MXNet

提到出身學(xué)界的開源框架,就不得不提 MXNet。不過,因?yàn)閬嗰R遜已將其作為御用平臺(tái),因而上期的盤點(diǎn)(谷歌、微軟、OpenAI 等巨頭的七大機(jī)器學(xué)習(xí)開源項(xiàng)目 看這篇就夠了)中已經(jīng)對(duì)其作了介紹。有興趣的讀者請(qǐng)戳鏈接。

【兼職召集令!】

如果你對(duì)未來充滿憧憬,喜歡探索改變世界的科技進(jìn)展,look no further!

我們需要這樣的你:

精通英語(yǔ),對(duì)技術(shù)與產(chǎn)品感興趣,關(guān)注人工智能學(xué)術(shù)動(dòng)態(tài)的蘿莉&萌妹子&技術(shù)宅;

文字不求妙筆生花,但希望通俗易懂;

在這里,你會(huì)收獲:

一群來自天南地北、志同道合的小伙伴;

前沿學(xué)術(shù)科技動(dòng)態(tài),每天為自己充充電;

更高的生活品質(zhì),翻翻文章就能掙到零花錢;

有意向的小伙伴們把個(gè)人介紹/簡(jiǎn)歷發(fā)至 guoyixin@leiphone.com,如有作品,歡迎一并附上。

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

盤點(diǎn)四大民間機(jī)器學(xué)習(xí)開源框架:Theano、Caffe、Torch 和 SciKit-learn

分享:
相關(guān)文章

用愛救世界
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說