




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 深度學(xué)習(xí)領(lǐng)域高性能計算發(fā)展分析目 錄 TOC o 1-3 h z u HYPERLINK l _Toc530405374 1.1 深度學(xué)習(xí)領(lǐng)域高性能計算發(fā)展現(xiàn)狀 PAGEREF _Toc530405374 h 3 HYPERLINK l _Toc530405375 1.1.1 深度學(xué)習(xí)領(lǐng)域介紹 PAGEREF _Toc530405375 h 3 HYPERLINK l _Toc530405376 1.1.2 常用深度學(xué)習(xí)軟件簡介 PAGEREF _Toc530405376 h 8 HYPERLINK l _Toc530405377 1.1.3 深度學(xué)習(xí)框架XSharp PAGEREF _To
2、c530405377 h 12 HYPERLINK l _Toc530405378 1.1.4 深度學(xué)習(xí)領(lǐng)域需求分析 PAGEREF _Toc530405378 h 15深度學(xué)習(xí)領(lǐng)域高性能計算發(fā)展現(xiàn)狀深度學(xué)習(xí)領(lǐng)域介紹深度學(xué)習(xí)簡介深度學(xué)習(xí)框架,尤其是基于人工神經(jīng)網(wǎng)絡(luò)的框架可以追溯到1980年福島邦彥提出的新認知機,而人工神經(jīng)網(wǎng)絡(luò)的歷史更為久遠。1989年,燕樂存(Yann LeCun)等人開始將1974年提出的標準反向傳播算法應(yīng)用于深度神經(jīng)網(wǎng)絡(luò),這一網(wǎng)絡(luò)被用于手寫郵政編碼識別。盡管算法可以成功執(zhí)行,但計算代價非常巨大,神經(jīng)網(wǎng)路的訓(xùn)練時間達到了3天,因而無法投入實際使用。許多因素導(dǎo)致了這一緩慢的訓(xùn)
3、練過程,其中一種是由于爾根施密德胡伯(Jrgen Schmidhuber)的學(xué)生賽普霍克賴特(Sepp Hochreiter)于1991年提出的梯度消失問題。與此同時,神經(jīng)網(wǎng)絡(luò)也受到了其他更加簡單模型的挑戰(zhàn),支持向量機等模型在20世紀90年代到21世紀初成為更加流行的機器學(xué)習(xí)算法。“深度學(xué)習(xí)”這一概念從2007年前后開始受到關(guān)注。當(dāng)時,杰弗里辛頓(Geoffrey Hinton)和魯斯蘭薩拉赫丁諾夫(Ruslan Salakhutdinov)提出了一種在前饋神經(jīng)網(wǎng)絡(luò)中進行有效訓(xùn)練的算法。這一算法將網(wǎng)絡(luò)中的每一層視為無監(jiān)督的受限玻爾茲曼機,再使用有監(jiān)督的反向傳播算法進行調(diào)優(yōu)。在此之前的1992年
4、,在更為普遍的情形下,施密德胡伯也曾在遞歸神經(jīng)網(wǎng)絡(luò)上提出一種類似的訓(xùn)練方法,并在實驗中證明這一訓(xùn)練方法能夠有效提高有監(jiān)督學(xué)習(xí)的執(zhí)行速度.自深度學(xué)習(xí)出現(xiàn)以來,它已成為很多領(lǐng)域,尤其是在計算機視覺和語音識別中,成為各種領(lǐng)先系統(tǒng)的一部分。在通用的用于檢驗的數(shù)據(jù)集,例如語音識別中的TIMIT和圖像識別中的ImageNet, Cifar10上的實驗證明,深度學(xué)習(xí)能夠提高識別的精度。硬件的進步也是深度學(xué)習(xí)重新獲得關(guān)注的重要因素。高性能圖形處理器的出現(xiàn)極大地提高了數(shù)值和矩陣運算的速度,使得機器學(xué)習(xí)算法的運行時間得到了顯著的縮短基本概念深度學(xué)習(xí)的基礎(chǔ)是機器學(xué)習(xí)中的分散表示(distributed repres
5、entation)。分散表示假定觀測值是由不同因子相互作用生成。在此基礎(chǔ)上,深度學(xué)習(xí)進一步假定這一相互作用的過程可分為多個層次,代表對觀測值的多層抽象。不同的層數(shù)和層的規(guī)模可用于不同程度的抽象。深度學(xué)習(xí)運用了這分層次抽象的思想,更高層次的概念從低層次的概念學(xué)習(xí)得到。這一分層結(jié)構(gòu)常常使用貪婪算法逐層構(gòu)建而成,并從中選取有助于機器學(xué)習(xí)的更有效的特征.不少深度學(xué)習(xí)算法都以無監(jiān)督學(xué)習(xí)的形式出現(xiàn),因而這些算法能被應(yīng)用于其他算法無法企及的無標簽數(shù)據(jù),這一類數(shù)據(jù)比有標簽數(shù)據(jù)更豐富,也更容易獲得。這一點也為深度學(xué)習(xí)贏得了重要的優(yōu)勢。人工神經(jīng)網(wǎng)絡(luò)下的深度學(xué)習(xí)一部分最成功的深度學(xué)習(xí)方法涉及到對人工神經(jīng)網(wǎng)絡(luò)的運用。
6、人工神經(jīng)網(wǎng)絡(luò)受到了1959年由諾貝爾獎得主大衛(wèi)休伯爾(David H. Hubel)和托斯坦威澤爾(Torsten Wiesel)提出的理論啟發(fā)。休伯爾和威澤爾發(fā)現(xiàn),在大腦的初級視覺皮層中存在兩種細胞:簡單細胞和復(fù)雜細胞,這兩種細胞承擔(dān)不同層次的視覺感知功能。受此啟發(fā),許多神經(jīng)網(wǎng)絡(luò)模型也被設(shè)計為不同節(jié)點之間的分層模型。福島邦彥提出的新認知機引入了使用無監(jiān)督學(xué)習(xí)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)。燕樂存將有監(jiān)督的反向傳播算法應(yīng)用于這一架構(gòu)。事實上,從反向傳播算法自20世紀70年代提出以來,不少研究者都曾試圖將其應(yīng)用于訓(xùn)練有監(jiān)督的深度神經(jīng)網(wǎng)絡(luò),但最初的嘗試大都失敗。賽普霍克賴特(Sepp Hochreiter)在
7、其博士論文中將失敗的原因歸結(jié)為梯度消失,這一現(xiàn)象同時在深度前饋神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)中出現(xiàn),后者的訓(xùn)練過程類似深度網(wǎng)絡(luò)。在分層訓(xùn)練的過程中,本應(yīng)用于修正模型參數(shù)的誤差隨著層數(shù)的增加指數(shù)遞減,這導(dǎo)致了模型訓(xùn)練的效率低下。為了解決這一問題,研究者們提出了一些不同的方法。于爾根施密德胡伯(Jrgen Schmidhuber)于1992年提出多層級網(wǎng)絡(luò),利用無監(jiān)督學(xué)習(xí)訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的每一層,再使用反向傳播算法進行調(diào)優(yōu)。在這一模型中,神經(jīng)網(wǎng)絡(luò)中的每一層都代表觀測變量的一種壓縮表示,這一表示也被傳遞到下一層網(wǎng)絡(luò)。另一種方法是賽普霍克賴特和于爾根施密德胡伯提出的長短期記憶神經(jīng)網(wǎng)絡(luò)(long short t
8、erm memory,LSTM)。2009年,在ICDAR 2009舉辦的連筆手寫識別競賽中,在沒有任何先驗知識的情況下,深度多維長短期記憶神經(jīng)網(wǎng)絡(luò)取得了其中三場比賽的勝利。斯文貝克提出了在訓(xùn)練時只依賴梯度符號的神經(jīng)抽象金字塔模型,用以解決圖像重建和人臉定位的問題。其他方法同樣采用了無監(jiān)督預(yù)訓(xùn)練來構(gòu)建神經(jīng)網(wǎng)絡(luò),用以發(fā)現(xiàn)有效的特征,此后再采用有監(jiān)督的反向傳播以區(qū)分有標簽數(shù)據(jù)。辛頓等人于2006年提出的深度模型提出了使用多層隱變量學(xué)習(xí)高層表示的方法。這一方法使用斯摩棱斯基于1986年提出的受限玻爾茲曼機對每一個包含高層特征的層進行建模。模型保證了數(shù)據(jù)的對數(shù)似然下界隨著層數(shù)的提升而遞增。當(dāng)足夠多的層
9、數(shù)被學(xué)習(xí)完畢,這一深層結(jié)構(gòu)成為一個生成模型,可以通過自上而下的采樣重構(gòu)整個數(shù)據(jù)集。辛頓聲稱這一模型在高維結(jié)構(gòu)化數(shù)據(jù)上能夠有效低提取特征。吳恩達和杰夫迪恩(Jeff Dean)領(lǐng)導(dǎo)的谷歌大腦團隊創(chuàng)建了一個僅通過YouTube視頻學(xué)習(xí)高層概念(例如貓)的神經(jīng)網(wǎng)絡(luò)。其他方法依賴了現(xiàn)代電子計算機的強大計算能力,尤其是GPU。2010年,在于爾根施密德胡伯位于瑞士人工智能實驗室IDSIA的研究組中,丹奇雷尚(Dan Ciresan)和他的同事展示了利用GPU直接執(zhí)行反向傳播算法而忽視梯度消失問題的存在。這一方法在燕樂存等人給出的手寫識別MNIST數(shù)據(jù)集上戰(zhàn)勝了已有的其他方法。截止2011年,前饋神經(jīng)網(wǎng)絡(luò)
10、深度學(xué)習(xí)中最新的方法是交替使用卷積層(convolutional layers)和最大值池化層(max-pooling layers)并加入單純的分類層作為頂端。訓(xùn)練過程也無需引入無監(jiān)督的預(yù)訓(xùn)練。從2011年起,這一方法的GPU實現(xiàn)多次贏得了各類模式識別競賽的勝利,包括IJCNN 2011交通標志識別競賽和其他比賽。深度學(xué)習(xí)結(jié)構(gòu)深度神經(jīng)網(wǎng)絡(luò)是一種具備至少一個隱層的神經(jīng)網(wǎng)絡(luò)。與淺層神經(jīng)網(wǎng)絡(luò)類似,深度神經(jīng)網(wǎng)絡(luò)也能夠為復(fù)雜非線性系統(tǒng)提供建模,但多出的層次為模型提供了更高的抽象層次,因而提高了模型的能力。深度神經(jīng)網(wǎng)絡(luò)通常都是前饋神經(jīng)網(wǎng)絡(luò),但也有語言建模等方面的研究將其拓展到遞歸神經(jīng)網(wǎng)絡(luò)。卷積深度神經(jīng)網(wǎng)
11、絡(luò)(Covolutional Neuron Networks, CNN)在計算機視覺領(lǐng)域得到了成功的應(yīng)用。此后,卷積神經(jīng)網(wǎng)絡(luò)也作為聽覺模型被使用在自動語音識別領(lǐng)域,較以往的方法獲得了更優(yōu)的結(jié)果40深度神經(jīng)網(wǎng)絡(luò)深度神經(jīng)網(wǎng)絡(luò)(deep neuron networks, DNN)是一種 HYPERLINK /wiki/%E5%88%A4%E5%88%AB%E6%A8%A1%E5%9E%8B o 判別模型 判別模型,可以使用 HYPERLINK /wiki/%E5%8F%8D%E5%90%91%E4%BC%A0%E6%92%AD%E7%AE%97%E6%B3%95 o 反向傳播算法 反向傳播算法進行訓(xùn)
12、練。權(quán)重更新可以使用下式進行 HYPERLINK /w/index.php?title=%E9%9A%8F%E6%9C%BA%E6%A2%AF%E5%BA%A6%E4%B8%8B%E9%99%8D&action=edit&redlink=1 o 隨機梯度下降(頁面不存在) 隨機梯度下降求解:其中,為學(xué)習(xí)率,為 HYPERLINK /w/index.php?title=%E4%BB%A3%E4%BB%B7%E5%87%BD%E6%95%B0&action=edit&redlink=1 o 代價函數(shù)(頁面不存在) 代價函數(shù)。這一函數(shù)的選擇與學(xué)習(xí)的類型(例如監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)、增強學(xué)習(xí))以及 HY
13、PERLINK /w/index.php?title=%E6%BF%80%E6%B4%BB%E5%87%BD%E6%95%B0&action=edit&redlink=1 o 激活函數(shù)(頁面不存在) 激活函數(shù)相關(guān)。例如,為了在一個多分類問題上進行監(jiān)督學(xué)習(xí),通常的選擇是使用 HYPERLINK /w/index.php?title=Softmax%E5%87%BD%E6%95%B0&action=edit&redlink=1 o Softmax函數(shù)(頁面不存在) Softmax函數(shù)作為激活函數(shù),而使用 HYPERLINK /w/index.php?title=%E4%BA%A4%E5%8F%89
14、%E7%86%B5&action=edit&redlink=1 o 交叉熵(頁面不存在) 交叉熵作為代價函數(shù)。Softmax函數(shù)定義為,其中代表類別的概率,而和分別代表對單元和的輸入。交叉熵定義為,其中代表輸出單元的目標概率,代表應(yīng)用了激活函數(shù)后對單元的概率輸出 HYPERLINK /wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0 l cite_note-HINTON2012-41 41。深度神經(jīng)網(wǎng)絡(luò)的問題與其他神經(jīng)網(wǎng)絡(luò)模型類似,如果僅僅是簡單地訓(xùn)練,深度神經(jīng)網(wǎng)絡(luò)可能會存在很多問題。常見的兩類問題是過擬合和過長的運算時間。深度神經(jīng)網(wǎng)絡(luò)很容易產(chǎn)生過擬合現(xiàn)象,因
15、為增加的抽象層使得模型能夠?qū)τ?xùn)練數(shù)據(jù)中較為罕見的依賴關(guān)系進行建模。對此,權(quán)重遞減(正規(guī)化)或者稀疏(-正規(guī)化)等方法可以利用在訓(xùn)練過程中以減小過擬合現(xiàn)象。另一種較晚用于深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練的正規(guī)化方法是丟棄法(dropout regularization),即在訓(xùn)練中隨機丟棄一部分隱層單元來避免對較為罕見的依賴進行建模。反向傳播算法和梯度下降法由于其實現(xiàn)簡單,與其他方法相比能夠收斂到更好的局部最優(yōu)值而成為神經(jīng)網(wǎng)絡(luò)訓(xùn)練的通行方法。但是,這些方法的計算代價很高,尤其是在訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)時,因為深度神經(jīng)網(wǎng)絡(luò)的規(guī)模(即層數(shù)和每層的節(jié)點數(shù))、學(xué)習(xí)率、初始權(quán)重等眾多參數(shù)都需要考慮。掃描所有參數(shù)由于時間代價的原
16、因并不可行,因而小批量訓(xùn)練(mini-batching),即將多個訓(xùn)練樣本組合進行訓(xùn)練而不是每次只使用一個樣本進行訓(xùn)練,被用于加速模型訓(xùn)練44。而最顯著地速度提升來自GPU,因為矩陣和向量計算非常適合使用GPU實現(xiàn)。但使用大規(guī)模集群進行深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練仍然存在困難,因而深度神經(jīng)網(wǎng)絡(luò)在訓(xùn)練并行化方面仍有提升的空間。深度置信網(wǎng)絡(luò)深度置信網(wǎng)絡(luò)(deep belief networks,DBN)是一種包含多層隱單元的概率生成模型,可被視為多層簡單學(xué)習(xí)模型組合而成的復(fù)合模型。深度置信網(wǎng)絡(luò)可以作為深度神經(jīng)網(wǎng)絡(luò)的預(yù)訓(xùn)練部分,并為網(wǎng)絡(luò)提供初始權(quán)重,再使用反向傳播或者其他判定算法作為調(diào)優(yōu)的手段。這在訓(xùn)練數(shù)據(jù)較為
17、缺乏時很有價值,因為不恰當(dāng)?shù)某跏蓟瘷?quán)重會顯著影響最終模型的性能,而預(yù)訓(xùn)練獲得的權(quán)重在權(quán)值空間中比隨機權(quán)重更接近最優(yōu)的權(quán)重。這不僅提升了模型的性能,也加快了調(diào)優(yōu)階段的收斂速度46。深度置信網(wǎng)絡(luò)中的每一層都是典型的受限玻爾茲曼機(restricted Boltzmann machine,RBM),可以使用高效的無監(jiān)督逐層訓(xùn)練方法進行訓(xùn)練。受限玻爾茲曼機是一種無向的基于能量的生成模型,包含一個輸入層和一個隱層。圖中對的邊僅在輸入層和隱層之間存在,而輸入層節(jié)點內(nèi)部和隱層節(jié)點內(nèi)部則不存在邊。單層RBM的訓(xùn)練方法最初由杰弗里辛頓在訓(xùn)練“專家乘積”中提出,被稱為對比分歧(contrast divergenc
18、e, CD)。對比分歧提供了一種對最大似然的近似,被理想地用于學(xué)習(xí)受限玻爾茲曼機的權(quán)重。當(dāng)單層RBM被訓(xùn)練完畢后,另一層RBM可被堆疊在已經(jīng)訓(xùn)練完成的RBM上,形成一個多層模型。每次堆疊時,原有的多層網(wǎng)絡(luò)輸入層被初始化為訓(xùn)練樣本,權(quán)重為先前訓(xùn)練得到的權(quán)重,該網(wǎng)絡(luò)的輸出作為新增RBM的輸入,新的RBM重復(fù)先前的單層訓(xùn)練過程,整個過程可以持續(xù)進行,直到達到某個期望中的終止條件。盡管對比分歧對最大似然的近似十分粗略(對比分歧并不在任何函數(shù)的梯度方向上),但經(jīng)驗結(jié)果證實該方法是訓(xùn)練深度結(jié)構(gòu)的一種有效的方法。卷積神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)(convolutional neuron networks,CNN)由
19、一個或多個卷積層和頂端的全連通層(對應(yīng)經(jīng)典的神經(jīng)網(wǎng)絡(luò))組成,同時也包括關(guān)聯(lián)權(quán)重和池化層(pooling layer)。這一結(jié)構(gòu)使得卷積神經(jīng)網(wǎng)絡(luò)能夠利用輸入數(shù)據(jù)的二維結(jié)構(gòu)。與其他深度學(xué)習(xí)結(jié)構(gòu)相比,卷積神經(jīng)網(wǎng)絡(luò)在圖像和語音識別方面能夠給出更優(yōu)的結(jié)果。這一模型也可以使用反向傳播算法進行訓(xùn)練。相比較其他深度、前饋神經(jīng)網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò)需要估計的參數(shù)更少,使之成為一種頗具吸引力的深度學(xué)習(xí)結(jié)構(gòu)。卷積深度置信網(wǎng)絡(luò)卷積深度置信網(wǎng)絡(luò)(convolutional deep belief networks,CDBN)是深度學(xué)習(xí)領(lǐng)域較新的分支。在結(jié)構(gòu)上,卷積深度置信網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)在結(jié)構(gòu)上相似。因此,與卷積神經(jīng)網(wǎng)絡(luò)
20、類似,卷積深度置信網(wǎng)絡(luò)也具備利用圖像二維結(jié)構(gòu)的能力,與此同時,卷積深度信念網(wǎng)絡(luò)也擁有深度置信網(wǎng)絡(luò)的預(yù)訓(xùn)練優(yōu)勢。卷積深度置信網(wǎng)絡(luò)提供了一種能被用于信號和圖像處理任務(wù)的通用結(jié)構(gòu),也能夠使用類似深度置信網(wǎng)絡(luò)的訓(xùn)練方法進行訓(xùn)練。注:資料來源于維基百科: HYPERLINK /wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0 /wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0常用深度學(xué)習(xí)軟件簡介CaffeCaffe的全稱應(yīng)該是Convolutional Architecture for Fast Feature Embedding,它是
21、一個清晰、高效的深度學(xué)習(xí)框架,它是開源的,核心語言是C+,它支持命令行、Python和Matlab接口,它既可以在CPU上運行也可以在GPU上運行。它的license是BSD 2-Clause。Deep Learning比較流行的一個原因,主要是因為它能夠自主地從數(shù)據(jù)上學(xué)到有用的feature。特別是對于一些不知道如何設(shè)計feature的場合,比如說圖像和speech。Caffe的設(shè)計基本上,Caffe 對神經(jīng)網(wǎng)絡(luò)進行了一個簡單假設(shè)所有的計算都是以layer的形式表示的,layer做的事情就是拿一些數(shù)據(jù),然后輸出一些計算以后的結(jié)果,比如說卷積,就是輸入一個圖像,然后和這一層的參數(shù)(filter
22、)做卷積,然后輸出卷積的結(jié)果。每一個layer需要做兩個計算:forward是從輸入計算輸出,然后backward是從上面給的gradient來計算相對于輸入的gradient,只要這兩個函數(shù)實現(xiàn)了以后,我們就可以把很多層連接成一個網(wǎng)絡(luò),這個網(wǎng)絡(luò)做的事情就是輸入我們的數(shù)據(jù)(圖像或者語音),然后來計算我們需要的輸出(比如說識別的label),在training的時候,我們可以根據(jù)已有的label來計算loss和gradient,然后用gradient來update網(wǎng)絡(luò)的參數(shù),這個就是Caffe的一個基本流程?;旧?,最簡單地用Caffe上手的方法就是先把數(shù)據(jù)寫成Caffe的格式,然后設(shè)計一個網(wǎng)絡(luò)
23、,然后用Caffe提供的solver來做優(yōu)化看效果如何,如果你的數(shù)據(jù)是圖像的話,可以從現(xiàn)有的網(wǎng)絡(luò),比如說alexnet或者googlenet開始,然后做fine tuning,如果你的數(shù)據(jù)稍有不同,比如說是直接的float vector,你可能需要做一些自定義配置,Caffe的logistic regression example興許會很有幫助。Caffe的亮點:(1)、模塊化:Caffe從一開始就設(shè)計得盡可能模塊化,允許對新數(shù)據(jù)格式、網(wǎng)絡(luò)層和損失函數(shù)進行擴展。(2)、表示和實現(xiàn)分離:Caffe的模型(model)定義是用Protocol Buffer語言寫進配置文件的。以任意有向無環(huán)圖的形式
24、,Caffe支持網(wǎng)絡(luò)架構(gòu)。Caffe會根據(jù)網(wǎng)絡(luò)的需要來正確占用內(nèi)存。通過一個函數(shù)調(diào)用,實現(xiàn)CPU和GPU之間的切換。(3)、測試覆蓋:在Caffe中,每一個單一的模塊都對應(yīng)一個測試。(4)、Python和Matlab接口:同時提供Python和Matlab接口。(5)、預(yù)訓(xùn)練參考模型:針對視覺項目,Caffe提供了一些參考模型,這些模型僅應(yīng)用在學(xué)術(shù)和非商業(yè)領(lǐng)域,它們的license不是BSD。MXNet這是自xgboost, cxxnet, minerva以來集合DMLC幾乎所有開發(fā)者力量的一個機器學(xué)習(xí)項目。MXNet名字源于”Mix and Maximize”。我們一直有一個目標,就是希望把
25、cxxnet這樣強調(diào)性能靜態(tài)優(yōu)化的C+庫和靈活的NDArray有機結(jié)合在一起。做包含cxxnet的靜態(tài)優(yōu)化,卻又可以像minerva, theano, torch那樣進行靈活擴展的深度學(xué)習(xí)庫。與其他工具相比,mxnet結(jié)合了符號語言和過程語言的編程模型,并試圖最大化各自優(yōu)勢,利用統(tǒng)一的執(zhí)行引擎進行自動多GPU并行調(diào)度優(yōu)化。不同的編程模型有各自的優(yōu)勢,以往的深度學(xué)習(xí)庫往往著重于靈活性,或者性能。MXNet通過融合的方式把各種編程模型整合在一起,并且通過統(tǒng)一的輕量級運行引擎進行執(zhí)行調(diào)度。使得用戶可以直接復(fù)用穩(wěn)定高效的神經(jīng)網(wǎng)絡(luò)模塊,并且可以通過Python等高級語言進行快速擴展。MXNet由 dml
26、c/cxxnet, dmlc/minerva和Purine2的作者發(fā)起,融合了Minerva的動態(tài)執(zhí)行,cxxnet的靜態(tài)優(yōu)化和Purine2的符號計算等思想,直接支持基于Python的parameter server接口,使得代碼可以很快向分布式進行遷移。每個模塊都進行清晰設(shè)計,使得每一部分本身都具有被直接利用的價值。C接口和靜態(tài)/動態(tài)Library使得對于新語言的擴展更加容易,目前支持C+和python 2/3 ,接下來相信會有更多語言支持,并方便其他工具增加深度學(xué)習(xí)功能。輕量級調(diào)度引擎。在數(shù)據(jù)流調(diào)度的基礎(chǔ)上引入了讀寫操作調(diào)度,并且使得調(diào)度和調(diào)度對象無關(guān),用以直接有機支持動態(tài)計算和靜態(tài)計算
27、的統(tǒng)一多GPU多線程調(diào)度,使得上層實現(xiàn)更加簡潔靈活。符號計算支持。MXNet支持基于靜態(tài)計算流圖符號計算。計算流圖不僅使設(shè)計復(fù)雜網(wǎng)絡(luò)更加簡單快捷,而且基于計算流圖,MXNet可以更加高效得利用內(nèi)存。 同時進一步優(yōu)化了靜態(tài)執(zhí)行的規(guī)劃,內(nèi)存需求比原本已經(jīng)省的cxxnet還要少?;旌蠄?zhí)行引擎。相比cxxnet的全靜態(tài)執(zhí)行,minerva的全動態(tài)執(zhí)行。MXNet采用動態(tài)靜態(tài)混合執(zhí)行引擎,可以把cxxnet靜態(tài)優(yōu)化的效率帶和ndarray動態(tài)運行的靈活性結(jié)合起來。把高效的c+庫更加靈活地和Python等高級語言結(jié)合在一起。更加靈活:在MShadow C+表達式模板的基礎(chǔ)上,符號計算和ndarray使在P
28、ython等高級語言內(nèi)編寫優(yōu)化算法,損失函數(shù)和其他深度學(xué)習(xí)組件并高效無縫支持CPU/GPU成為可能。用戶無需關(guān)心底層實現(xiàn),在符號和NDArray層面完成邏輯即可進行高效的模型訓(xùn)練和預(yù)測。對于云計算更加友好:所有數(shù)據(jù)模型可以從S3/HDFS/Azure上直接加載訓(xùn)練。代碼更加簡潔高效:大量使用C+11特性,使MXNet利用最少的代碼實現(xiàn)盡可能最大的功能。用約11k行C+代碼 (加上注釋 4k行)實現(xiàn)了以上核心功能。開源用戶和設(shè)計文檔,mxnet提供了非常詳細的用戶文檔和設(shè)計文檔以及樣例。所有的代碼都有詳細的文檔注釋。并且會持續(xù)更新代碼和系統(tǒng)設(shè)計細節(jié),希望對于廣大深度學(xué)習(xí)系統(tǒng)開發(fā)和愛好者有所幫助。
29、TensorFlowGoogle 大腦項目開始于 2011 年,目的是探索在科研和 Google 的產(chǎn)品中超大規(guī)模深度神經(jīng)網(wǎng)絡(luò)的使用。作為這個項目的早期工作,Google構(gòu)建了 DistBelief 第一代的可擴展分布式訓(xùn)練和推斷系統(tǒng),這個系統(tǒng)工作得很不錯。Google 的同事使用 DistBelief 進行了廣泛的研究包括非監(jiān)督學(xué)習(xí)、語言表示、圖像分類模型和目標檢測、視頻分類、語音識別、序列預(yù)測、Go 的移動選擇、行人檢測、強化學(xué)習(xí)等等。另外,超過 50 個 Google 內(nèi)部的團隊和其他 Alphabet 公司也已經(jīng)部署了使用 DistBelief 的深度神經(jīng)網(wǎng)絡(luò)在眾多產(chǎn)品中,包括 Goo
30、gle Search、廣告產(chǎn)品、語音識別系統(tǒng)、Google Photos、Google Maps 和 街景、Google 翻譯、Youtube 和很多其他的產(chǎn)品。Google基于使用 DistBelief 的經(jīng)驗和對于期望用來訓(xùn)練和使用神經(jīng)網(wǎng)絡(luò)的系統(tǒng)特性和需求更加完備地理解,構(gòu)建了 TensorFlow第二代大規(guī)模機器學(xué)習(xí)模型的實現(xiàn)和部署的系統(tǒng)。TensorFlow 使用通過類似數(shù)據(jù)流模型的計算,將這些計算映射到不同的硬件平臺例如使用包含一個或者多個 GPU 顯卡的裝有 Android 和 iOS 的單個機器上進行推斷,到運行在數(shù)百臺包含數(shù)千個 GPU 的大規(guī)模系統(tǒng)訓(xùn)練和推斷。擁有一個單一的系
31、統(tǒng)可以擴展分布到眾多的平臺上可以大大簡化真實場景中機器學(xué)習(xí)系統(tǒng)的使用,正如在用分離的系統(tǒng)進行大規(guī)模訓(xùn)練和小規(guī)模的部署,會產(chǎn)生巨大的維護代價和較差的抽象效果。TensorFlow 的計算被表示為含狀態(tài)的數(shù)據(jù)流圖,我們聚焦在讓這個系統(tǒng)足夠靈活能夠快速地實驗研究中產(chǎn)生的新模型,并同時充分地提升產(chǎn)品級訓(xùn)練的性能和部署機器學(xué)習(xí)模型健壯性。為擴展神經(jīng)網(wǎng)絡(luò)訓(xùn)練搞更大的部署環(huán)境,TensorFlow 允許 client 簡單地表達不同類型的并行通過復(fù)制和并行執(zhí)行一個核心模型數(shù)據(jù)流圖,依賴不同計算設(shè)備合作更新一個共享的參數(shù)或者其他的狀態(tài)。對計算描述的微妙變動可以使用較低的代價來達到和嘗試很多不同的并行的方法。一
32、些 TensorFlow 的用途借助參數(shù)更新的一致性來實現(xiàn)靈活性,可以在一些更大的部署環(huán)境中輕易表達和利用這些同步上的松弛。對比 DistBelief,TensorFlow 的編程模型更加靈活,性能也更好,支持在大規(guī)模的異構(gòu)硬件平臺上訓(xùn)練和使用很多的模型。DistBelief 的內(nèi)部用戶已經(jīng)切換成TensorFlow 了。這些客戶依賴 TensorFlow 來研究和產(chǎn)品,執(zhí)行諸如在移動電話計算機視覺模型的推斷到使用數(shù)百臺機器進行千億級樣本的千億級參數(shù)的深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。TersorFlow按照 Apache 2.0 協(xié)議在 2015 年 11 月開源了 TensorFlow API,可以在
33、HYPERLINK /p/ t _blank 查看。TorchTorch誕生已經(jīng)有十年之久,但是真正起勢得益于去年Facebook開源了大量Torch的深度學(xué)習(xí)模塊和擴展。Torch另外一個特殊之處是采用了不怎么流行的編程語言Lua(該語言曾被用來開發(fā)視頻游戲)。除了以上三個比較成熟知名的項目,還有很多有特色的深度學(xué)習(xí)開源框架也值得關(guān)注KerasKeras是一個極度簡化、高度模塊化的神經(jīng)網(wǎng)絡(luò)第三方庫。基于Python+Theano開發(fā),充分發(fā)揮了GPU和CPU操作。其開發(fā)目的是為了更快的做神經(jīng)網(wǎng)絡(luò)實驗。適合前期的網(wǎng)絡(luò)原型設(shè)計、支持卷積網(wǎng)絡(luò)和反復(fù)性網(wǎng)絡(luò)以及兩者的結(jié)果、支持人工設(shè)計的其他網(wǎng)絡(luò)、在G
34、PU和CPU上運行能夠無縫連接。深度學(xué)習(xí)框架XSharp深度學(xué)習(xí)的泰斗吳恩達指出,高性能計算(High Performance Computing, HPC)是深度學(xué)習(xí)的動力引擎。憑借自身在國內(nèi)HPC的技術(shù)和市場領(lǐng)先優(yōu)勢,率先提出深度學(xué)習(xí)XSystem系統(tǒng)。此系統(tǒng)為用戶提供一體化的深度學(xué)習(xí)軟硬件整體解決方案,包含深度學(xué)習(xí)XSharp軟件棧和XMachine硬件平臺。藉此軟硬件一體化平臺,幫助用戶快速進入Deep Learning領(lǐng)域,實現(xiàn)企業(yè)應(yīng)用快速成長,將科研成果快速轉(zhuǎn)化為第一生產(chǎn)力。整個系統(tǒng)以“XMachine Deep Learning一體機”為硬件平臺,為深度學(xué)習(xí)定制開發(fā),多種類型GP
35、U服務(wù)器供選擇,原生支持NVIDIA DIGITS開發(fā)環(huán)境,大大降低用戶進入深度學(xué)習(xí)領(lǐng)域的軟件件投入成本。XSharp系統(tǒng)特點XSharp深度學(xué)習(xí)軟件與其他產(chǎn)品有著本質(zhì)的區(qū)別。與其他廠商簡單包裝開源軟件不同。XSharp產(chǎn)品初衷以用戶應(yīng)用為主,科研為輔。產(chǎn)品面向企業(yè)用戶的實際應(yīng)用,以XSharp平臺為契合點,為用戶提供相應(yīng)的優(yōu)化策略,加速應(yīng)用效果?!癤Sharp Deep Learning軟件平臺”包含三個不同層次的軟件開發(fā)優(yōu)化層面,分別從分布式并行系統(tǒng)優(yōu)化,分布式并行機器學(xué)習(xí)執(zhí)行模式優(yōu)化,大規(guī)模機器學(xué)習(xí)算法工具集三個層面提供Deep Learning優(yōu)化策略,幫助用戶實現(xiàn)應(yīng)用優(yōu)化。同時,XSharp軟件棧各模塊可以隨意組合,按照用戶應(yīng)用進行裁剪,滿足不同需求。XSystem系統(tǒng)以“HPC+大數(shù)據(jù)處理”為設(shè)計理念,為深度學(xué)習(xí)用戶提供完整的軟件棧,整個平臺的目標是加速用戶開發(fā)進度,而非喧賓奪主,讓用戶偏離原有的研發(fā)方向。XSharp軟件意義XSharp是目前國內(nèi)廠商唯一一個針對深度學(xué)習(xí)的開放框架。我們利用HPC多年的技術(shù)積累,在HPC架構(gòu)基礎(chǔ)上構(gòu)建XSharp軟件棧,從原生技術(shù)上支持機器學(xué)習(xí)。XSharp聚焦用戶應(yīng)用,以加速實際應(yīng)用為目標,抽取圖像處理、音頻處理、自然語言處理過程中的通用方法,以核心的算法為突破口
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東鄒平賈寨遺址晚商時期文化遺存初步研究
- 潮州木雕金漆山水畫形象研究
- 非手術(shù)食管鱗癌患者生存預(yù)后影響因素的分析及預(yù)測模型的構(gòu)建
- 庫布齊沙漠沙柳人工林植物和土壤C、N、P生態(tài)化學(xué)計量研究
- 模特合同范本
- 面向頻譜感知的高速數(shù)據(jù)采集與傳輸系統(tǒng)的設(shè)計與實現(xiàn)
- 硬件開發(fā)合同范本
- 柞蠶絲企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 高錳酸鹽企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 大學(xué)課本企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 運動康復(fù)機構(gòu)跌倒風(fēng)險管理措施
- 開學(xué)安全第一課主題班會課件
- 殘疾人的就業(yè)創(chuàng)業(yè)與自我發(fā)展
- 全套課件-建筑工程質(zhì)量與安全管理
- 醫(yī)院感染的中心靜脈導(dǎo)管相關(guān)血流感染預(yù)防
- 新版《醫(yī)療器械經(jīng)營質(zhì)量管理規(guī)范》(2024)培訓(xùn)試題及答案
- 2025年人教版數(shù)學(xué)五年級下冊教學(xué)計劃(含進度表)
- DBJ33T 1286-2022 住宅工程質(zhì)量常見問題控制標準
- 北師大版七年級上冊數(shù)學(xué)期末考試試題及答案
- 《工業(yè)廢水臭氧催化氧化深度處理技術(shù)規(guī)程》(T-SDEPI 030-2022)
- 多元化與平等待遇管理制度
評論
0/150
提交評論