www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 智能硬件 > 人工智能AI
[導(dǎo)讀] 深度學(xué)習(xí)框架是幫助使用者進(jìn)行深度學(xué)習(xí)的工具,它的出現(xiàn)降低了深度學(xué)習(xí)入門的門檻,你不需要從復(fù)雜的神經(jīng)網(wǎng)絡(luò)開始編代碼,就可以根據(jù)需要使用現(xiàn)有的模型。 做個(gè)比喻,一套深度學(xué)習(xí)框架就像是一套積木

深度學(xué)習(xí)框架是幫助使用者進(jìn)行深度學(xué)習(xí)的工具,它的出現(xiàn)降低了深度學(xué)習(xí)入門的門檻,你不需要從復(fù)雜的神經(jīng)網(wǎng)絡(luò)開始編代碼,就可以根據(jù)需要使用現(xiàn)有的模型。

做個(gè)比喻,一套深度學(xué)習(xí)框架就像是一套積木,各個(gè)組件就是某個(gè)模型或算法的一部分,使用者可以自己設(shè)計(jì)和組裝符合相關(guān)數(shù)據(jù)集需求的積木。

當(dāng)然也正因如此,沒有什么框架是完美的,就像一套積木里可能沒有你需要的那一種積木,所以不同的框架適用的領(lǐng)域不完全一致。

深度學(xué)習(xí)的框架有很多,不同框架之間的“好與壞”卻沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn),因此,當(dāng)大家要開始一個(gè)深度學(xué)習(xí)項(xiàng)目時(shí),在研究到底有哪些框架具有可用性,哪個(gè)框架更適合自己時(shí),卻找不到一個(gè)簡明扼要的“說明書”告訴大家從何著手。

首先,我們先熟悉一下深度學(xué)習(xí)的框架。

Caffe

Caffe是最成熟的框架之一,由Berkeley Vision and Learning Center開發(fā)。它是模塊化的,而且速度非???,并且只需要很少的額外工作就可以支持多個(gè)GPU。它使用類似JSON的文本文件來描述網(wǎng)絡(luò)架構(gòu)以及求解器方法。

此外,在一個(gè)可以下載Caffe模型以及網(wǎng)絡(luò)權(quán)重的網(wǎng)站——“model zoo”中,還可以幫助你快速地準(zhǔn)備樣本。但是,需要注意的是,在Caffe框架中,要調(diào)整超參數(shù)比其他框架更為繁瑣,部分原因是需要為每組超參數(shù)單獨(dú)定義不同的求解器和模型文件。

▲ 使用Caffe編寫的LeNet CNN實(shí)現(xiàn)代碼示例

上圖是LeNet CNN架構(gòu)的代碼片段,該模型由卷積最大池化(convoluTIon max pooling)和激活層組成的7層卷積網(wǎng)絡(luò)構(gòu)成。

Deeplearning4j

Deeplearning4j是由Andrej Karpathy開發(fā)的、支持GPU的多平臺(tái)框架,它是用Java編寫的,并擁有一個(gè)Scala API。Deeplearning4j也是一個(gè)成熟的框架(用Lua編寫),在互聯(lián)網(wǎng)上有許多可以使用的樣本,并且支持多個(gè)GPU。

Tensorflow

Tensorflow是一個(gè)由谷歌開發(fā)的、相對(duì)比較新的框架,但已經(jīng)被廣泛采用。它性能良好,支持多個(gè)GPU和CPU。Tensorflow提供了調(diào)整網(wǎng)絡(luò)和監(jiān)控性能的工具,就像Tensorboard一樣,它還有一個(gè)可用作網(wǎng)絡(luò)應(yīng)用程序的教育工具。

Theano

Theano是使用符號(hào)邏輯創(chuàng)建網(wǎng)絡(luò)的框架,是以Python編寫的,但利用了numpy的高效代碼庫,從而提高了性能,超過了標(biāo)準(zhǔn)的Python。Theano在構(gòu)建網(wǎng)絡(luò)方面有很大的優(yōu)勢,但是在創(chuàng)造完整的解決方案中則具有比較大的挑戰(zhàn)。Theano將機(jī)器學(xué)習(xí)中使用的梯度計(jì)算作為網(wǎng)絡(luò)創(chuàng)建的“免費(fèi)”副產(chǎn)品,對(duì)于那些希望更多地關(guān)注網(wǎng)絡(luò)架構(gòu)而不是梯度計(jì)算的人來說,這可能是有用的。此外,它的文本文件質(zhì)量也相當(dāng)不錯(cuò)。

但需要提醒大家的一點(diǎn)是,Theano目前已停止更新。

Lasagne

Lasagne是用Python編寫的,建立在Theano之上的框架。它是一個(gè)相對(duì)簡單的系統(tǒng),能夠使得網(wǎng)絡(luò)構(gòu)建比直接使用Theano更容易。因此,其表現(xiàn)極大地反映了Theano的潛能。

Keras

Keras是用Python編寫的框架,可以作為Theano或Tensorflow的后端(如下圖)。這使得Keras在構(gòu)建完整的解決方案中更容易,而且因?yàn)槊恳恍写a都創(chuàng)建了一個(gè)網(wǎng)絡(luò)層,所以它也更易于閱讀。此外,Keras還擁有最先進(jìn)算法(優(yōu)化器(opTImizers)、歸一化例程(normalizaTIon rouTInes)、激活函數(shù)(activation functions))的最佳選擇。

需要說明的是,雖然Keras支持Theano和Tensorflow后端,但輸入數(shù)據(jù)的維度假設(shè)是不同的,因此需要仔細(xì)的設(shè)計(jì)才能使代碼支持兩個(gè)后端工作。該項(xiàng)目有完備的文本文件,并提供了一系列針對(duì)各種問題的實(shí)例以及訓(xùn)練好了的、用于傳輸學(xué)習(xí)實(shí)現(xiàn)常用體系的結(jié)構(gòu)模型。

在編寫的時(shí)候,有消息宣稱Tensorflow將采用Keras作為首選的高級(jí)包。其實(shí),這并不奇怪,因?yàn)镵eras的開發(fā)者Francois Chollet本身就是谷歌的軟件工程師。

▲ 使用Keras編寫的LeNet CNN實(shí)現(xiàn)代碼示例

MXNet

MXNet是一個(gè)用C ++編寫的深度學(xué)習(xí)框架,具有多種語言綁定,并支持分布式計(jì)算,包括多GPU。它提供對(duì)低級(jí)結(jié)構(gòu)以及更高級(jí)/符號(hào)級(jí)API的訪問。在性能上被認(rèn)為可以與Tensorflow、Caffe等在內(nèi)的其他框架匹敵。GitHub中提供了很多關(guān)于MXNet的教程和培訓(xùn)示例。

Cognitive Network Toolkit (CNTK)

CNTK是由微軟開發(fā)的框架,并被描述為機(jī)器學(xué)習(xí)的“Visual Studio”。對(duì)于那些使用Visual Studio進(jìn)行編程的人,這可能是一種更溫和、更有效的進(jìn)入深度學(xué)習(xí)的方式。

DIGITS

DIGITS是由英偉達(dá)開發(fā)的,一款基于網(wǎng)絡(luò)的深層開發(fā)工具。在很多方面,它像Caffe一樣,能夠使用文本文件而不是編程語言來描述網(wǎng)絡(luò)和參數(shù)。它具有網(wǎng)絡(luò)可視化工具,因此文本文件中的錯(cuò)誤更容易被識(shí)別出來。此外,它還具有用于可視化學(xué)習(xí)過程的工具,并支持多個(gè)GPU。

Torch

Torch是一款成熟的機(jī)器學(xué)習(xí)框架,是用C語言編寫的。它具有完備的文本,并且可以根據(jù)具體需要進(jìn)行調(diào)整。由于是用C語言編寫的,所以Torch的性能非常好。

PyTorch

PyTorch是Torch計(jì)算引擎的python前端,不僅能夠提供Torch的高性能,還能夠?qū)PU的提供更好支持。該框架的開發(fā)者表示,PyTorch與Torch的區(qū)別在于它不僅僅是封裝,而是進(jìn)行了深度集成的框架,這使得PyTorc在網(wǎng)絡(luò)構(gòu)建方面具有更高的靈活性。(如下圖)

▲ PyTorch代碼示例和等效方框圖

Chainer

Chainer與其他框架有點(diǎn)不同,它將網(wǎng)絡(luò)構(gòu)建視為其計(jì)算的一部分。它的開發(fā)者介紹說,在這一框架中,大多數(shù)工具都是“定義然后運(yùn)行”,這意味著你要定義架構(gòu),然后才能運(yùn)行它。Chainer嘗試構(gòu)建并優(yōu)化其架構(gòu),使其成為學(xué)習(xí)過程的一部分,或者稱之為“通過運(yùn)行定義”。

其他

除了上述的深度學(xué)習(xí)框架之外,還有更多的專注于具體任務(wù)的開源解決方案。例如,Nolearn專注于深度信念網(wǎng)絡(luò)(deep belief networks); Sklearn-theano提供了一個(gè)與scikit-learn(即Python中一個(gè)重要的機(jī)器學(xué)習(xí)的庫)匹配的編程語法,可以和Theano庫配合使用;Paddle則可以提供更好的自然語言處理能力……

面對(duì)如此之多的深度學(xué)習(xí)框架,使用者該如何做出合適的選擇?對(duì)此,LexiconAI的CEO兼創(chuàng)始人Matthew Rubashkin及其團(tuán)隊(duì)通過對(duì)不同的框架在計(jì)算機(jī)語言、教程(Tutorials)和訓(xùn)練樣本、CNN建模能力、RNN建模能力、架構(gòu)的易用性、速度、多GPU支持、Keras兼容性等方面的表現(xiàn)對(duì)比,總結(jié)出了以下圖表:

| Matthew Rubashkin畢業(yè)于加州大學(xué)伯克利分校,是UCSF的Insight數(shù)據(jù)工程研究員和博士生。曾在硅谷數(shù)據(jù)科學(xué)(SVDS)就職,并領(lǐng)導(dǎo)SVDS的深度學(xué)習(xí)研發(fā)團(tuán)隊(duì)進(jìn)行項(xiàng)目研究,包括在IoT設(shè)備上的TensorFlow圖像識(shí)別等等。

值得注意的是,這一結(jié)果結(jié)合了Matthew Rubashkin團(tuán)隊(duì)在圖像和語音識(shí)別應(yīng)用方面對(duì)這些技術(shù)的主觀經(jīng)驗(yàn)和公開的基準(zhǔn)測試研究,并且只是階段性檢測,未囊括所有可用的深度學(xué)習(xí)框架。我們看到,包括DeepLearning4j、Paddle、Chainer等在內(nèi)的框架都還未在其列。

以下是對(duì)應(yīng)的評(píng)估依據(jù):

計(jì)算機(jī)語言

編寫框架所使用的計(jì)算機(jī)語言會(huì)影響到它的有效性。盡管許多框架具有綁定機(jī)制,允許使用者使用與編寫框架不同的語言訪問框架,但是編寫框架所使用的語言也不可避免地在某種程度上影響后期開發(fā)的語言的靈活性。

因此,在應(yīng)用深度學(xué)習(xí)模型時(shí),最好能夠使用你所熟悉的計(jì)算機(jī)語言的框架。例如,Caffe(C++)和Torch(Lua)為其代碼庫提供了Python綁定,但如果你想更好地使用這些技術(shù),就必須能夠熟練使用C++或者Lua。相比之下,TensorFlow和MXNet則可以支持多語言,即使使用者不能熟練使用C++,也可以很好地利用該技術(shù)。

教程(Tutorials)和訓(xùn)練樣本

框架的文本質(zhì)量、覆蓋范圍以及示例對(duì)于有效使用框架至關(guān)重要。高質(zhì)量的文本文件以及待處理的問題的示例將有助于有效解決開發(fā)者的問題。完備的文件也表明該工具已經(jīng)成熟并且在短期內(nèi)不會(huì)改變。

而不同的深度學(xué)習(xí)框架之間在教程和訓(xùn)練樣本的質(zhì)量和數(shù)量的需求方面存在很大的區(qū)別。舉例來說,Theano、TensorFlow、Torch和MXNet由于具有很好的文本化教程(documented tutorials),所以非常易于理解和實(shí)現(xiàn)。另外,我們還發(fā)現(xiàn),不同的框架在GitHub社區(qū)的參與度和活躍度高低不僅可以作為其未來發(fā)展的重要指標(biāo),同時(shí)也可以用來衡量通過搜索StackOverflow或Git報(bào)告事件來檢測和修復(fù)bug的速度。值得注意的是,在教程數(shù)量、訓(xùn)練樣本以及開發(fā)人員和用戶社區(qū)方面,TensorFlow的需求量非常非常大(像是一個(gè)800磅重的大猩猩一樣的龐然大物)。

CNN建模能力

卷積神經(jīng)網(wǎng)絡(luò)(CNN)是由一組不同的層組成,將初始數(shù)據(jù)量轉(zhuǎn)換成預(yù)定義類分?jǐn)?shù)的輸出分?jǐn)?shù)。是一種前饋神經(jīng)網(wǎng)絡(luò),它的人工神經(jīng)元可以響應(yīng)一部分覆蓋范圍內(nèi)的周圍單元,對(duì)于大型圖像處理有出色表現(xiàn),可用于圖像識(shí)別、推薦引擎和自然語言處理。此外,CNN還可以用于回歸分析,如自動(dòng)駕駛車輛轉(zhuǎn)向角輸出模型等等。CNN建模能力包括幾個(gè)功能:定義模型的概率空間、預(yù)構(gòu)建層的可用性以及可用于連接這些層的工具和功能。我們看到,Theano、Caffe和MXNet都具有很好的CNN建模功能,這意味著,TensorFlow能夠很容易地在其InceptionV3模型上進(jìn)行能力構(gòu)建,Torch中包括易于使用的時(shí)間卷積集在內(nèi)的優(yōu)秀的CNN資源,都使得這兩種技術(shù)在CNN建模功能上能夠很好地區(qū)分開來。

RNN建模能力

有別于CNN,遞歸神經(jīng)網(wǎng)絡(luò)(RNN)可以用于語音識(shí)別、時(shí)間序列預(yù)測、圖像字幕和其他需要處理順序信息的任務(wù)。由于預(yù)先構(gòu)建的RNN模型不像CNN那樣多,因此,如果你有一個(gè)RNN深度學(xué)習(xí)項(xiàng)目,那么就必須考慮為特定技術(shù)預(yù)先實(shí)施和開源何種RNN模型,這是非常重要的。例如,Caffe擁有極少的RNN資源,而微軟的CNTK和Torch則擁有豐富的RNN教程和預(yù)置模型。雖然TensorFlow也具有一些RNN資源,但TFLearn和Keras中所包含的RNN示例要比使用TensorFlow多得多。

架構(gòu)

為了在特定的框架中創(chuàng)建和訓(xùn)練新的模型,至關(guān)重要的一點(diǎn)是要有一個(gè)易于使用而且是模塊化的前端架構(gòu)。檢測結(jié)果表明,TensorFlow、Torch和MXNet都具有直觀的模塊化架構(gòu),這使得開發(fā)變得簡單并且直觀。相比之下,像Caffe這樣的框架則需要花大量的工作來創(chuàng)建一個(gè)新的層。另外,我們還發(fā)現(xiàn)由于TensorBoard Web GUI應(yīng)用程序已經(jīng)被包含在內(nèi),TensorFlow在訓(xùn)練期間和訓(xùn)練之后會(huì)特別容易調(diào)試和監(jiān)控。

速度

在開放源代碼卷積神經(jīng)網(wǎng)絡(luò)(CNN)方面Torch和Nervana擁有基準(zhǔn)測試的最佳性能記錄,TensorFlow性能在大多數(shù)測試中也“有的一拼”,而Caffe和Theano在這方面則表現(xiàn)得并不突出;在遞歸神經(jīng)網(wǎng)絡(luò)(RNN)方面,微軟則聲稱CNTK的訓(xùn)練時(shí)長最短,速度最快。當(dāng)然,也有另一項(xiàng)直接針對(duì)RNN建模能力速度進(jìn)行比較的研究表明,在Theano、Torch和TensorFlow中,Theano的表現(xiàn)最好。

多GPU支持

大多數(shù)深度學(xué)習(xí)應(yīng)用程序需要大量的浮點(diǎn)運(yùn)算(FLOP)。例如,百度的DeepSpeech識(shí)別模型需要10秒鐘的ExaFLOPs(百萬兆浮點(diǎn)運(yùn)算)進(jìn)行訓(xùn)練。那可是大于10的18次方的計(jì)算量!而作為領(lǐng)先的圖形處理單元(GPU)——如英偉達(dá)的Pascal TitanX,每秒可以執(zhí)行11萬億次浮點(diǎn)運(yùn)算,在一個(gè)足夠大的數(shù)據(jù)集上訓(xùn)練一個(gè)新的模型需要一周的時(shí)間。為了減少構(gòu)建模型所需的時(shí)間,需要多臺(tái)機(jī)器上的多個(gè)GPU。幸運(yùn)的是,上面列出的大多數(shù)技術(shù)都提供了這種支持,比如,MXNet就具有一個(gè)高度優(yōu)化的多GPU引擎。

Keras兼容性

Keras是一個(gè)用于進(jìn)行快速深度學(xué)習(xí)原型設(shè)計(jì)的高級(jí)庫,是一個(gè)讓數(shù)據(jù)科學(xué)家能夠自如地應(yīng)用深度學(xué)習(xí)的工具。Keras目前支持兩個(gè)后端——TensorFlow和Theano,并且還將在TensorFlow中獲得正式的支持。

Matthew Rubashkin建議,當(dāng)你要開始一個(gè)深度學(xué)習(xí)項(xiàng)目時(shí),首先要評(píng)估好自己團(tuán)隊(duì)的技能和項(xiàng)目需求。舉例來說,對(duì)于以Python為中心的團(tuán)隊(duì)的圖像識(shí)別應(yīng)用程序,他建議使用TensorFlow,因?yàn)槠湮谋疚募S富、性能適宜并且還擁有優(yōu)秀的原型設(shè)計(jì)工具。而如果是為了將RNN擴(kuò)展到具有Lua能力的客戶團(tuán)隊(duì)產(chǎn)品上,他則推薦使用Torch,這是因?yàn)樗哂凶吭降乃俣群蚏NN建模能力。

總而言之,對(duì)于大多數(shù)人而言,“從零開始”編寫深度學(xué)習(xí)算法成本非常高,而利用深度學(xué)習(xí)框架中可用的巨大資源是更有效率的。如何選擇更合適的框架將取決于使用者的技能和背景,以及具體項(xiàng)目的需求。因此,當(dāng)你要開始一個(gè)深度學(xué)習(xí)項(xiàng)目時(shí),的確值得花一些時(shí)間來評(píng)估可用的框架,以確保技術(shù)價(jià)值的最大化。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉