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

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

1

Caffe作者賈揚清,教你如何打造優(yōu)秀的深度學習架構

本文作者: 大牛講堂 2016-10-12 09:42
導語:在深度學習領域,Caffe框架是人們無法繞過的一座山。本文Caffe作者賈揚清會分享自己開發(fā)Caffe框架的感想,以及對未來深度學習框架的思考。

雷鋒網(wǎng)按:本文作者賈揚清,擁有加州大學伯克利分校計算機科學博士學位、清華大學碩士學位和學士學位,曾于新加坡國立大學、微軟亞洲研究院、NEC美國實驗室、Google Brain工作,現(xiàn)任Facebook研究科學家,負責前沿AI平臺的開發(fā)以及前沿的深度學習研究。

Caffe作者賈揚清,教你如何打造優(yōu)秀的深度學習架構

在伯克利期間開發(fā)了深度學習框架Caffe,在Google期間參與了ImgeNet2014比賽、TensorFlow平臺的開發(fā)、基于深度學習的產(chǎn)品開發(fā)和產(chǎn)品咨詢等。在AI領域有數(shù)年的研究經(jīng)歷。

在深度學習領域,Caffe框架是人們無法繞過的一座山。這不僅是因為它無論在結構、性能上,還是在代碼質(zhì)量上,都稱得上一款十分出色的開源框架。更重要的是,它將深度學習的每一個細節(jié)都原原本本地展現(xiàn)出來,大大降低了人們學習研究和開發(fā)的難度。

這一次,大牛講堂將Caffe框架的作者賈揚清請到了地平線,他將結合自己在Google、Facebook的工作經(jīng)歷以及Caffe等學習架構的開發(fā)經(jīng)驗,為大家分享「怎樣打造更加優(yōu)秀的深度學習架構」。

從Caffe的開發(fā)中了解到的用戶需求

深度學習的框架總會不斷改變,Caffe也會有被新框架代替的一天。但是在開發(fā)Caffe的過程中,賈揚清發(fā)現(xiàn)大家喜歡的框架其實有著很多相似的地方,這些閃光點擁有很長的生命周期,發(fā)現(xiàn)并掌握人們這些共同偏好將為以后開發(fā)新的框架積累經(jīng)驗。他在反復總結之后,認為Caffe之所以廣受歡迎可能是因為有以下的四個特點:

1、 穩(wěn)定的模型架構

Caffe通過Protobuf來定義一個網(wǎng)絡的結構,而這個由Google開源的庫具有優(yōu)秀的版本兼容性。隨著Caffe的框架源碼的不斷更新迭代,之前定義的網(wǎng)絡結構依然能兼容解析,模型仍然能正確加載運行。

2、較好的設備抽象

合理的設備抽象能夠精簡代碼,提高框架適用性。在這方面Caffe做了比較好的嘗試,模型的訓練和使用與不同的平臺耦合比較低,只要平臺能解析網(wǎng)絡結構并讀取二進制的模型參數(shù),就能運行該模型。這樣大大拓展了框架的應用范圍,自然更加符合用戶的使用需求。

3、清晰的說明教程

如何讓首次接觸到框架的人通過說明教程就能最快地熟悉運用,這對于一個新面世的框架來說尤為重要。以Caffe為例,用戶只需要將官方文檔的例子跑一遍,基本就能清楚Caffe的操作過程和細節(jié),這給它的廣泛傳播提供了最堅實的基礎。

4、開放的模型倉庫

目前Caffe還維護了一個Model Zoo, 許多論文的作者會將模型發(fā)布到這里,其它用戶可以利用這些材料輕松地將模型復現(xiàn),還可以在github上參與開發(fā)討論,從而更深入地學習實踐。

 現(xiàn)有深度學習框架的側(cè)重點

人們的需求多種多樣,目前,還沒有任何一種深度學習的框架能夠滿足人們所有的需求。對于工業(yè)界而言,從業(yè)者看重的是框架的穩(wěn)定性強、數(shù)據(jù)量大、速度快、容易進行數(shù)據(jù)整合等。

而對于學術界來說,學者們更希望框架容易調(diào)試、靈活性要強、迭代要快。因此,比照現(xiàn)有深度學習框架的特點,Theano、Torch可能會更加適合學術界,而D4J等可能就要更適合工業(yè)界一些,至于Caffe、Tensor flow等為代表的框架則是介于二者之間。

Caffe作者賈揚清,教你如何打造優(yōu)秀的深度學習架構

 對未來機器學習框架設計的一些思考

1、使用計算圖 (computation graph)

Caffe框架在實現(xiàn)網(wǎng)絡的forward, backward, update時,是通過Solver, Net, Layer之間遞進地逐步回調(diào)對應的forward, backward, update來實現(xiàn)的,在加入并行化之后,為了用計算來覆蓋數(shù)據(jù)傳輸?shù)臅r間,這些回調(diào)的運用會變得相對復雜。

因此,目前許多框架都在往computation graph的風格上偏移。這種基于computation graph的深度學習框架不僅在網(wǎng)絡的更新方面更加直接,而且在并行方面,無論是數(shù)據(jù)并行方式還是模型并行方式,都能做到接近線性的提速。大家未來也可以在這個方向做些嘗試。

2、高效方便地輸入數(shù)據(jù)

對于Caffe用戶而言,首要問題便是如何導入數(shù)據(jù)。尤其是在算法比較簡單時,保證數(shù)據(jù)輸入的高效性將成為制約模型的首要因素。之前進行的某個項目里,在8個GPU(Titan X)上訓練AlexNet,需要達到每秒鐘處理1600張圖片(3.14GB/s)的要求。甚至對于另外一些模型而言,還需要更多的吞吐量。如果數(shù)據(jù)接口沒有做好,是絕對無法達到這樣的要求的。

3、更快的速度


網(wǎng)絡結構實現(xiàn)需要在靈活性和速度上進行權衡,這種權衡可以體現(xiàn)在框架設計的粗細粒度上。例如一個Inception的結構,是做成像Caffe這樣通過各個層的累積來形成,還是直接由Conv2D, BiasAdd, Relu這樣的基本計算來直接構造一個Inception結構。這樣不同粗細粒度的構建方法體現(xiàn)了整個框架對速度或是靈活性的權衡。

另外,對于底層的實現(xiàn),最好用硬件供應商提供的數(shù)值計算庫,比如CuDNN, MKL-DNN,Accelerate,Eigen,NNPack等。

4、 可移植性

要提升框架的實用價值,就必須提升其訓練出的模型的可移植性。換句話說,也就是要讓框架訓練出的模型具有平臺無關性,包括了系統(tǒng)層面(windows、linux、android、iOS、OS X等)及硬件層面(CPU、GPU、FPGA、ARM等)。這就必須使得設計出的模型更加輕量。

雷鋒網(wǎng)(搜索“雷鋒網(wǎng)”公眾號關注)注:本文由大牛講堂授權雷鋒網(wǎng)發(fā)布,如需轉(zhuǎn)載請聯(lián)系原作者,并注明作者和出處,不得刪減內(nèi)容。有興趣可以關注公號地平線機器人技術,了解最新消息。

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

Caffe作者賈揚清,教你如何打造優(yōu)秀的深度學習架構

分享:
相關文章

地平線機器人技術

嵌入式人工智能全球領導者
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說