當前位置:
首頁 > 知識 > Theano 停止更新之後,開發者們怎麼說?

Theano 停止更新之後,開發者們怎麼說?

關於深度學習的框架之爭一直都沒停止過,每隔一陣大家就要進行一次框架大討論:

TensorFlow 的使用者雖多,又有谷歌的背書,但真的很!難!用!

Pytorch 雖然入門簡單、上手快,但因為開源時間不長,關於它的文檔和代碼相對較少。

Keras 作為 TensorFlow 的高級 KPI,一旦有什麼想法需要快速建模驗證時很方便,但相較 tf 功能還是沒那麼全。

Caffe 雖然方便部署,但是 C++ 的框架,在編程上會比較難。

……

每個框架都各有優劣,而針對於此的討論也一直沒有停息。

近日,Yoshua Bengio 教授的一封郵件又讓對框架的討論迅速升溫,在郵件中,他表示, 他們將會停止對 Theano 的更新,接下來,會以最低成本對 Theano 進行為期一年的維護,之後就將徹底與 Theano 告別。詳情可參見此前發文Theano 退役,Bengio 發出告別信

這意味著,開發者又要與一個深度學習框架說再見了。

深度學習框架祖師爺 Theano

早在今年一月份雷鋒網進行框架大盤點時,就曾詳述過 Theano 。詳情可以參見《盤點四大民間機器學習開源框架:Theano、Caffe、Torch 和 SciKit-learn》(http://t.cn/ROtOw8V)

Theano 基於 Python,是一個擅長處理多維數組的庫(這方面類似於 NumPy),它的設計初衷是執行深度學習中大規模神經網路演算法的運算。Theano 早期的開發者有 Yoshua Bengio 和 Ian Goodfellow,由於出身學界,它最初是為學術研究而設計。當它與其他深度學習庫結合起來之後,會非常適合於數據探索。

Theano 可以被更好地理解為一個數學表達式的編譯器:用符號式語言定義你想要的結果,該框架會對你的程序進行編譯,來高效運行於 GPU 或 CPU。

在過去的很長一段時間內,Theano 都是是深度學習開發與研究的行業標準。比起深度學習庫,它更像是一個研究平台,你需要從底層開始做許多工作,來創建自己需要的模型,這就意味著它的靈活性很強。

再怎麼優秀的工具都有退出歷史舞台的一天,曾經深得學界青睞的 Theano 也不例外。

作為深度學習框架中祖師級的存在,從 2007 的推出到 2017 的落幕,到現在剛好歷經十年。

Theano 已完成歷史使命,功成身退

針對 Theano 的落幕,AI 科技評論與眾多開發者進行了交流,大家的看法出奇一致:

——對於這件事情並不吃驚,很正常的更新換代。

——以前用 Theano 的人大都已經換成其他框架,Theano 已完成了它的歷史使命,退出舞台是必然的。

為什麼說 Theano 的落幕是歷史必然?針對於此,AI 科技評論聯繫了幾個曾經接觸過 Theano 的開發者進行了採訪:

KDD Cup 2017 的雙料冠軍胡可對 AI 科技評論表示 ,雖然在 KDD Cup 比賽時用了 Theano,但平時在其他任務上一般用的是 TensorFlow 或者 CNTK。「Theano 完成了它的歷史使命,它比較適合實驗室的 toy data,不太適合當前工業界『大數據』的需求。」 正如胡可所言,生於學界的 Theano,必然有其應用局限性——比較適合做小規模的短期實驗,而在近兩年數據量劇增且優秀框架層出不窮的當下,就不再那麼得人心了。

曾經接觸過 Theano 的一位開發者表示,Theano 的速度在當時來說,與同期的 Torch 相比並不算快,更比不上現在新出的框架。此外,在代碼實現上,比起其他框架,Theano 也不是很直接。

2015 年,一個關於機器學習的博客 fastML 就將 Torch 與 Theano 進行了對比:

圖中紅色柱狀圖指 Torch,綠色柱狀圖指 Theano,可以看到 Torch 在大多數情況下性能都要優於 Theano。

而對於使用 Theano 的原因,卡內基梅隆大學(CMU)語言技術研究所(LTI)博士研究生王贇對 AI 科技評論表示,他是 2015 年初開始做深度學習的,那時候還沒有 Tensorflow,而同時期的 Torch 又是基於他不會的 Lua 語言,所以最終選擇了 Theano。「才短短兩年多,就已經天翻地覆」,他感慨道。確實如此,短短兩年的時間,TensorFlow 的用戶量就遙遙領先,亞馬遜開始為 Mxnet 背書,微軟和 Facebook 也牽手發布 ONNX,而 Theano 則黯然退出歷史舞台。

Theano 並非完全消失

那麼,就像之前媒體所報道的那樣,Theano 已死?並非如此。

Bengio 在他的公開郵件上這樣寫道,「多年以來,我們都以 Theano 的創新深感自豪,其創新也正被其他框架繼承和優化。比如,把模型表達為數學表達式、重寫計算圖以獲得更優性能和內存使用、GPU 上的透明執行、更高階的自動微分,正在全部成為主流。」

正如 Bengio 所言,從現在的主流模型之中,我們仍然可以看到 Theano 的影子。它並沒有死,而是影響著許許多多的模型。

事實上,Theano 的很多開發人員都去谷歌參與 TensorFlow 的開發了,其中包括早期開發成員 Ian Goodfellow。而後起之秀 Tensorflow 在功能上與 Theano 十分相似,它也是一個偏底層的框架,相比 Theano,性能也更加優化。

上圖為 TensorFlow 系統架構,詳情可參見《從系統和代碼實現角度解析 TensorFlow 的內部實現原理》(http://t.cn/ROtOdS9)一文。

AWS 工程師張幟對 AI 科技評論表示:新老交替,這一天總會來的。基本上所有的輪子都參考過 Theano,它也不算徹底消失。

知乎網友 mileistone 也如此評價 Theano:Theano 開啟了基於符號運算的機器學習框架的先河,然後隨著 tf 和 pytorch 的崛起,完成自己的歷史任務。

下一步

Bengio 在他的郵件中表示,目前支持深度學習研究的軟體生態系統快速進化,還有很多別的優秀的深度學習框架可供選擇。

而隨著對「Theano 停止更新」的緬懷結束,似乎話題又要轉向另一個方向了,那就是,究竟下一步該選擇什麼框架呢?

討論雖多,每家各執一言,但有個不爭的事實:TensorFlow 的忠實擁護者一直處於遙遙領先狀態,有利於快速建模驗證的 Keras 也頗得人心,後起之秀 PyTorch 的粉絲數日益增多,背靠亞馬遜的 MxNet、背靠微軟的 CNTK 更新也一直穩定。

不過對框架的選擇也許並不是重點,有網友評價,框架就是刻刀,而開發者是雕刻家。雖說刻刀的選擇很重要,但雕出來的東西好不好,更多是取決於個人。

CMU LTI 博士研究生王贇也對 AI 科技評論這樣說道:

其實這麼多年我看著各種庫的起起落落,還有一種感慨是研究者不能始終抱著一個大腿,要與時俱進。但是時代的潮流在哪裡也不是隨時都能看出來的,也沒法時刻保持自己在前沿,但好在掌握了一個庫之後再換另一個庫並不是很費勁。

相信這也是千千萬萬開發者的觀點,框架的選擇並沒有「那麼」重要,更重要的是研究者自身的與時俱進。

新人福利

關注 AI 研習社(okweiwu),回復1領取

【超過 1000G 神經網路 / AI / 大數據,教程,論文】

深度學習之父 Geoffrey Hinton 的神經網路合集(中文字幕首發)| 國慶特輯


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 唯物 的精彩文章:

搜狗研究員:基於LSTM-RNN的語音聲學建模技術
如何用 MOOC 組合掌握機器學習?
UC Berkeley 博士:端到端自動駕駛與自動駕駛前沿研究內容
從DL到Hinton到GANs再到PyTorch,這裡全都有了!
PyTorch 合輯 國慶特輯

TAG:唯物 |