国产成人福利在线视频播放下载,成人无码www免费视频在线看,放荡的美妇在线播放,大地资源网最新更新,国产成人精品日本亚洲网站

泡泡網(wǎng)顯卡頻道 PCPOP首頁      /      顯卡     /      新聞    /    正文

感受Nvidia Jetson TX1的洪荒之力!

    從機(jī)器學(xué)習(xí)說起

    從2015年起國內(nèi)外就掀起了機(jī)器學(xué)習(xí)、深度學(xué)習(xí)的熱潮。以google、facebook、BAT等互聯(lián)網(wǎng)巨頭廣泛研究應(yīng)用機(jī)器學(xué)習(xí)以及深度學(xué)習(xí)技術(shù)并在業(yè)務(wù)方面顯現(xiàn)出了良好的效果,尤其是在語音識別和圖像識別等領(lǐng)域,而AlphaGo戰(zhàn)勝李世石又將大家對機(jī)器學(xué)習(xí)、深度學(xué)習(xí)的關(guān)注推向了新的高峰。現(xiàn)在,在人臉識別、手寫識別、語音識別、語意理解、機(jī)器翻譯、無人駕駛騎車,無人機(jī)和智能機(jī)器人等代表未來技術(shù)的各個領(lǐng)域都有機(jī)器學(xué)習(xí)、深度學(xué)習(xí)的身影。

    “機(jī)器學(xué)習(xí)是研究讓計算機(jī)無需顯式編程即可具有學(xué)習(xí)能力的學(xué)科”(Arthur Samuel,1959)。機(jī)器學(xué)習(xí)以統(tǒng)計學(xué),概率論,組合學(xué)和優(yōu)化理論等為基礎(chǔ),開發(fā)并利用算法來識別數(shù)據(jù)中的模式,由此來指引決策。以機(jī)器學(xué)習(xí)的分支神經(jīng)網(wǎng)絡(luò)為例,訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)可以看作尋找并確定最優(yōu)網(wǎng)絡(luò)參數(shù)(例如內(nèi)部網(wǎng)絡(luò)權(quán)重與傾向),以減小初始數(shù)據(jù)集上的誤差的函數(shù)優(yōu)化問題。但使用數(shù)據(jù)來擬合模型是一個時間代價高昂的計算過程,它需要使用不同的參數(shù)組合反復(fù)地調(diào)用目標(biāo)函數(shù),計算訓(xùn)練數(shù)據(jù)中的每個樣本,其算法的時間復(fù)雜度約為O(N^2)或者更高(N表示數(shù)據(jù)的規(guī)模),如此一來反復(fù)計算目標(biāo)函數(shù)占據(jù)了大量執(zhí)行時間,在這種情況下,可以利用并行計算來縮減運行時間,而并行計算正是GPU的優(yōu)勢,通過將目標(biāo)函數(shù)的計算等過程映射到能執(zhí)行上百個并行線程的GPU上,往往可以在不需要配置維護(hù)大規(guī)模服務(wù)器機(jī)群或多機(jī)環(huán)境的情況下帶來數(shù)倍甚至數(shù)十倍的性能提升。

    根據(jù)前文的介紹,Jetson TX1憑借其Teraflops級的浮點計算能力和強(qiáng)大的軟件堆棧以及超低得能耗 和嬌小的身軀足以負(fù)載特定場合下的中小規(guī)模的機(jī)器學(xué)習(xí)的應(yīng)用和開發(fā),本文將運用神經(jīng)網(wǎng)絡(luò)實現(xiàn)一個經(jīng)典的異或邏輯來一探Jetson TX1在機(jī)器學(xué)習(xí)領(lǐng)域的洪荒之力。

    異或邏輯的神經(jīng)網(wǎng)絡(luò)實現(xiàn)

    神經(jīng)網(wǎng)絡(luò)是由具有適應(yīng)性的簡單單元組成的廣泛并行互連的網(wǎng)絡(luò),它的組織能夠模擬生物神經(jīng)系統(tǒng)對真實世界物體所作出的交互反應(yīng)。神經(jīng)網(wǎng)絡(luò)中最基本的成分是神經(jīng)元模型(Neural Model)(又稱Logistic unit)。對于人類而言,我們的視覺聽覺是由大腦的神經(jīng)中樞產(chǎn)生。而神經(jīng)中樞是由大量的神經(jīng)元相互連接而成。一個神經(jīng)元通過樹突接受其他神經(jīng)元傳來的化學(xué)物質(zhì)(信息),從而改變該神經(jīng)元的電位,當(dāng)電位到達(dá)某一闕值(threshold)時,該神經(jīng)元被激活,即“興奮”起來,從而通過軸突向其他神經(jīng)元發(fā)送化學(xué)物質(zhì),如圖1所示。

感受Nvidia Jetson TX1的洪荒之力!

生物神經(jīng)系統(tǒng)中的神經(jīng)元模型

    人工神經(jīng)元模型便是模擬上述的神經(jīng)元接受信息并傳遞信息的過程。如圖2所示,人工神經(jīng)元接收來自n個其他人工神經(jīng)元傳遞過來的輸入信號,這些輸入信號通過帶權(quán)重的連接進(jìn)行傳遞,人工神經(jīng)元將接收到的總輸入值與人工神經(jīng)元的闕值進(jìn)行比較,再通過激活函數(shù)(activation function)處理以產(chǎn)生神經(jīng)元的輸出。

感受Nvidia Jetson TX1的洪荒之力!

人工神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元模型

    由于我們需要實現(xiàn)的異或邏輯并不是線性可分的問題,所以為了實現(xiàn)異或邏輯,我們需要使用神經(jīng)元搭建含有隱藏層的神經(jīng)網(wǎng)絡(luò),其由三部分組成,分別是輸入層(input layer),隱藏層(hide layer)和輸出層(output layer),如圖3所示。

感受Nvidia Jetson TX1的洪荒之力!

一個含有隱藏層的神經(jīng)網(wǎng)絡(luò)示意

    如上圖所示,除了需要大量彼此連接的節(jié)點 (即神經(jīng)元),神經(jīng)網(wǎng)絡(luò)還需要具備以下特性:

    1.激活函數(shù),每個神經(jīng)元根據(jù)激活函數(shù),通過計算處理來自其它相鄰神經(jīng)元的加權(quán)輸入值。

    2.連接權(quán)重,它定義神經(jīng)元之間的信息傳遞的強(qiáng)度,算法會依靠大量的數(shù)據(jù)來訓(xùn)練,不斷自我調(diào)整連接權(quán)重。

    3.成本函數(shù),用來定量評估計算出來的輸出結(jié)果于真實值的偏離程度。

    4.學(xué)習(xí)的算法,這是根據(jù)成本函數(shù)的結(jié)果, 自學(xué), 糾錯, 最快地找到神經(jīng)元之間最優(yōu)化的加權(quán)值。

    在學(xué)習(xí)算法方面,目前,有許多流行的庫、工具和算法可以用來計算針對多變量函數(shù)的最優(yōu)擬合,同時互聯(lián)網(wǎng)上也有很多免費許可的數(shù)值工具和代碼供我們使用,本文將選擇使用Nelder-Mead方法,NM方法是一種常見的直接搜索型非線性優(yōu)化方法,我們可以在互聯(lián)網(wǎng)上找到John Burkhardt創(chuàng)建的一個免費的C語言實現(xiàn),在這里,我們只需要進(jìn)行一些細(xì)微的調(diào)整,就可以用在本次的代碼中。

    編寫完代碼后,我們可以選擇直接在HOST電腦中編譯生成可執(zhí)行文件,如下圖所示。

感受Nvidia Jetson TX1的洪荒之力!

在HOST電腦上直接編譯生成可執(zhí)行文件

    或可以將源碼文件直接同步到Jetson TX1,然后在其命令行中通過命令編譯生成可執(zhí)行文件,如下圖所示。

感受Nvidia Jetson TX1的洪荒之力!

在Jetson TX1上直接編譯生成可執(zhí)行文件

    這里需要注意的是,用戶開發(fā)的一些項目可能會用到第三方的庫或者工具,如Lapack和Levmar等,如果選擇在HOST電腦上完成編譯,只需要在HOST電腦上安裝配置所需的庫和工具,如果用戶需要在Jetson TX1上直接編譯生成項目,那么同時也需要在Jetson TX1上安裝配置對應(yīng)的庫和工具。

    程序執(zhí)行結(jié)果和性能

    項目成功生成之后,使用“./”在Jetson TX1命令行中運行,得到如下結(jié)果:

感受Nvidia Jetson TX1的洪荒之力!

Jetson TX1異或邏輯單精度運行結(jié)果

感受Nvidia Jetson TX1的洪荒之力!

Jetson TX1異或邏輯雙精度運行結(jié)果

感受Nvidia Jetson TX1的洪荒之力!

GeForce GT650M異或邏輯單精度運行結(jié)果

感受Nvidia Jetson TX1的洪荒之力!

GeForce GT650M異或邏輯雙精度運行結(jié)果

感受Nvidia Jetson TX1的洪荒之力!

Core i7-3630QM異或邏輯雙精度運行結(jié)果

    Jetson TX1運行異或邏輯單精度共用時174.12秒,處理完成0.48GB數(shù)據(jù);雙精度共用時636.05秒,處理完成0.96GB數(shù)據(jù),而與此同時,筆者在筆記本電腦上使用GeForce GT650M運行異或邏輯處理相同數(shù)據(jù)量單精度共用時201.02秒,雙精度共用時435.69秒,而在Core i7-3630QM CPU上運行類似雙精度代碼共用時5204.50秒,由此也可以看出Jetson TX1與筆記本電腦相比帶來的性能的提升尤其是GPU與CPU相比帶來的性能提升;同時在這里引用其他人在單路至強(qiáng)E5630上運行類似算法時的平均目標(biāo)函數(shù)運行時間數(shù)據(jù):單精度 0.45秒,雙精度 0.54秒;而對應(yīng)的Jetson TX1的數(shù)據(jù)則為0.03秒和0.18秒,與單路至強(qiáng)E5630相比,分別由15倍和3倍的加速。僅使用一個嵌入式開發(fā)板就能達(dá)到這樣的性能水平還是十分令人驚訝。

感受Nvidia Jetson TX1的洪荒之力!

異或邏輯總運行時間對比(單位:秒)

感受Nvidia Jetson TX1的洪荒之力!

平均目標(biāo)函數(shù)運行時間對比(單位:秒)

    本次開發(fā)的一些體驗

    Jetson TX1的性能令人驚訝

    在本次的項目示例中,峰值功耗僅10W的Jetson TX1在性能上完勝了筆者搭載core i7處理器的筆記本電腦,并在類比的數(shù)據(jù)中,領(lǐng)先于單路E5630,令筆者更深刻的體會到了其1Teraflops計算能力帶來的時間效率提升。作為一塊嵌入式開發(fā)板,確實令人映像深刻。

    NVIDIA CUDA提供的示例代碼對實際項目的開發(fā)幫助很大

    由于本次項目中使用了OpenMP中的部分函數(shù),所以在編譯時需要配置專門的參數(shù),如-fopenmp等,而NVIDIA CUDA 示例代碼cudaOpenMP中的Makefile示例給筆者提供了極大的幫助,參考其修改本次項目中的Makefile以完成項目的成功編譯生成?!?/p>

0人已贊

關(guān)注我們

泡泡網(wǎng)

手機(jī)掃碼關(guān)注