999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

探究GPU對神經網絡的加速作用

2018-02-15 03:02:36朱永貴華敏杰張佳佳
關鍵詞:深度

朱永貴,華敏杰,張佳佳

(中國傳媒大學理學院,北京 100024)

1 引言

隨著深度學習技術的發展,ANN(Artificial Neural Networks,人工神經網絡)由于其強大的學習能力受到了研究人員的廣泛關注,它是一種模仿動物大腦神經突觸連接結構進行分布式并行信息處理的算法模型,在工程和學術界也常簡稱為神經網絡[1]。ANN的網絡結構通常包含輸入層、隱含層和輸出層,其中輸入層和輸出層只有一層,而隱含層可以有多層。每層都含有若干個神經元,相鄰層之間的所有神經元之間都存在連接,每個連接上都有一個權重。神經網絡的目標就是優化連接上的權值,使得從輸入層到輸出層的映射最能符合實際情況。

但是,由于ANN的各層之間均采用全連接結構,這使得其參數量十分巨大,尤其是在對圖像的處理過程中,每個像素點都是一個特征值,全連接結構所產生的可學習參數量是難以接受的。并且,全連接結構的參數是非常冗余的,既加大了神經網絡的計算量,減慢了訓練時的收斂速度,又增加了過擬合現象出現的概率。

CNN(Convolutional Neural Networks,卷積神經網絡)是一種特殊的神經網絡,引入了卷積、池化、局部感受野以及權值共享等概念,使得CNN能夠利用輸入數據的二維結構[2]。因此,與傳統的神經網絡相比,CNN更適合用于處理圖像問題。

2 GPU的發展現狀與計算特性

GPU(Graphic Processing Unit,圖形處理單元)這一概念最早由Nvidia在1999年發布GeForce 256圖形處理芯片時提出。在此之前的顯卡僅能用于簡單的文字和圖形輸出,而GeForce 256采用了“T&L”硬件(硬件級的光影轉換引擎)、立方環境材質貼圖和頂點混合、紋理壓縮和凹凸映射貼圖、雙重紋理等核心技術,同時,OpenGL(Open Graphics Library,開源圖形庫)和DirectX 7均提供了硬件頂點變換的編程接口。從此以后,大量的坐標和光影轉換工作從CPU解放出來,轉而交由GPU完成。

雖然GPU的設計初衷是為了解決圖形渲染效率的問題,但是隨著技術的不斷進步,微軟發布了Shader Model(渲染單元模式),Shader由此誕生。Shader從本質上說是一段能針對3D圖像進行操作并被GPU所執行的圖形渲染指令集[3],通過這些指令集,開發人員能夠在GPU上實現像素的可編程。正因如此,GPU的作用不再局限于圖形領域,對于提升計算密集型程序的效率也同樣適用,因此就出現了GPGPU(General Purpose GPU,通用計算圖形處理單元)這一概念。

GPU之所以比CPU更適合可并行計算,是因為CPU與GPU的架構大不相同。人們最初在設計CPU時,希望其具備很強的通用性來處理各種不同的數據類型,同時需要進行邏輯判斷,這又會引入大量的分支跳轉和中斷的處理,這使得CPU的結構非常復雜;而GPU面對的是類型高度統一的、相互無依賴的大規模數據和不需要被打斷的純凈的計算環境[4],因此我們希望GPU擁有強大的計算能力而無需具備復雜的邏輯判斷能力。如圖1所示,其中綠色表示的是計算單元,橙色表示的是存儲單元,黃色表示的是控制單元。從圖中可以看出,GPU采用了數量眾多的計算單元,而其控制邏輯卻非常簡單,并且省去了緩存區;而CPU不僅被緩存占據了大量的空間,而且還有復雜的控制邏輯,與GPU相比,CPU的計算單元卻只占用其很小的一部分。因此,CPU適用于邏輯復雜且計算量不大的程序,而GPU則適用于邏輯簡單、計算密集且易于并行的程序。

圖1 CPU與GPU架構的比較

Nvidia一直處于GPU市場的領先地位,在GPGPU的概念出現后,Nvidia推出了CUDA庫(Compute Unified Device Architecture,通用并行計算架構),從而使開發者能更加輕松地利用Nvidia的GPU優化自己的算法[5]。隨著深度學習技術的快速發展,Nvidia在人工智能高性能計算方面遠遠地甩開了其競爭對手AMD,逐漸確立起了其在高性能通用計算型GPU市場中的霸主地位。起初,Nvidia主打的GPU系列是GeForce,主要用于家庭和企業的娛樂應用,面向游戲用戶,此時GPU的作用也主要在于圖形渲染和光照運算;而Quadro系列則主要應用于圖形工作站,面向專業的圖形繪制專家。隨著人工智能研究的不斷推進,計算力逐漸成為深度學習算法的訓練瓶頸,CPU已經難以支撐起日漸龐大的模型和數據。于是,Nvidia推出了Tesla系列GPU,為企業級深度學習研究人員提供了強大的硬件支持。2017年5月11日,在加州圣何塞舉辦的2017年度GPU技術大會上,Nvidia發布了最新款Tesla系列GPU:Tesla V100。相比于其上一代產品Tesla P100,V100搭載了新款圖形處理器GV100,采用Volta架構代替了P100的Pascal架構,CUDA核心數從3584個增加到5120個,并且增加了640個能提高深度計算性能的Tensor內核,雙精度浮點運算速度從4.7 TFLOPs提升到7 TFLOPs,單精度浮點運算速度從9.3 TFLOPs提升到14 TFLOPs。

圖2對比了Tesla P100與V100對于ResNet-50網絡的訓練與預測效率[6],從圖中可知,在訓練過程中,P100使用單精度進行運算,每秒能處理200多張圖片,而V100使用Tensor內核進行運算,每秒能處理將近600張圖片,V100的訓練效率是P100的2.4倍;而在預測過程中,P100使用半精度進行運算,每秒能處理約1500張圖片,V100仍使用Tensor內核進行運算,每秒能處理5000多張圖片,V100的訓練效率是P100的3.7倍。

圖2 Nvidia Tesla P100與V100性能對比

2017年12月8日,Nvidia在NIPS(Conference and Workshop on Neural Information Processing Systems,神經信息處理系統大會)會議上發布了其全新的Titan系列GPU:Nvidia Titan V。與Tesla系列略有不同,Titan系列更專注于神經信息處理方向,因此更專注于單精度浮點運算。Titan V的單精度浮點速度達到了15 TFLOPS,比Tesla V100的14 TFLOPS還要高。

除了PC端GPU以外,Nvidia也推出了供移動端使用的嵌入式GPU:Jetson模塊。如Jetson TX2,兼具了高效能與低能耗,非常適合部署在機器人、無人機或智能家居等智能終端裝置上,用于加速神經網絡計算。雖然Jetson TX2的性能與PC端GPU相比遜色不少,僅配備了256個CUDA核心,但其計算神經網絡的效率仍遠遠高于移動端CPU。

由此可見,以Nvidia為代表的GPU生產商已經發現深度學習算法在人工智能應用領域中的巨大潛力,而深度學習算法在面對海量的數據時,需要巨大的計算力的支持。隨著專用于并行計算的GPU逐漸進入人工智能領域,深度學習在計算層面的瓶頸得到了極大地緩解,GPU也不再僅僅是圖形學計算的工具。

3 神經網絡的計算方法

3.1 人工神經網絡的計算

對于有多個隱含層的神經網絡,計算方法可以類推,只需將上一層的輸出值作為下一層的輸入值,逐層傳導即可。

3.2 卷積神經網絡的計算

卷積層是CNN的核心構成單元,一個卷積層由若干卷積核組成,卷積核包含若干可學習的參數。每個卷積核只連接上一層中的某幾個神經元,常見的卷積核尺寸為,意味著每個卷積核的感受野僅限于一個的局部區域。假設Wij表示卷積核中第i行,第j列的權值,表示該卷積核的偏置項權值,xi,j表示該卷積核當前對應的上一層感受野區域中第i行,第j列的特征值,那么該卷積操作的輸出值y按以下公式進行計算:

4 GPU對卷積神經網絡的加速

a(k+1)=f(W(k)·a(k)+b(k))

而對于CNN中的卷積層計算,我們也可以將其轉化為矩陣乘法運算。如圖3所示,中間為輸入的特征圖像,上方展示了傳統的卷積計算方法,下方展示了將卷積轉化為矩陣乘法的方法,主要思路是將卷積核和對應窗口的特征圖展開成一維向量。

對于矩陣乘法的運算,Nvidia提供了基于CUDA實現的線性代數庫cuBLAS(CUDA Basic Linear

圖3 卷積轉化為矩陣乘法示意圖

Algebra Subprograms,CUDA基礎線性代數庫)[7]。cuBLAS通過Nvidia的GPU加速線性代數的運算,用戶可以調用cuBLAS API來計算向量加法、內積,矩陣加法、乘法等常用的線性運算。在調用cuBLAS API時,程序會在GPU中分配矩陣或向量所需的內存空間,并加載數據,調用對應的cuBLAS函數,在GPU計算完成后,再將計算結果從GPU內存空間上傳到主機。

除此以外,Nvidia還針對深度神經網絡進行專門的GPU優化,提供了cuDNN計算庫[8]。可以看到,在將卷積轉化為矩陣乘法的過程中,會產生很多冗余的數據量。而GPU的內存是非常寶貴的,在理想狀態下,GPU內存中應該儲存的是樣本數據、參數和神經的激活值,而不是在計算過程中所產生的輔助數據。cuDNN的目標是在保證計算精度的前提下,消除這些額外的內存消耗,同時加快神經網絡的計算速度。因此,cuDNN有助于GPU加載更大型的神經網絡,同時訓練更多的樣本數據,也提高了神經網絡的收斂速度。

5 總結

本文對GPU的發展現狀進行了闡述,并將其與CPU在物理特性方面進行對比。然后對ANN和CNN卷積操作的計算方法進行說明,發現兩者在計算過程中的共同特征,最后介紹了GPU對神經網絡進行加速的方法和一些計算庫,對深度學習算法的相關研究人員和從業人員具有一定的參考價值。

猜你喜歡
深度
深度理解不等關系
四增四減 深度推進
深度理解一元一次方程
深度觀察
深度觀察
深度觀察
深度觀察
芻議深度報道的深度與“文”度
新聞傳播(2016年10期)2016-09-26 12:14:59
提升深度報道量與質
新聞傳播(2015年10期)2015-07-18 11:05:40
微小提議 深度思考
主站蜘蛛池模板: 精品自窥自偷在线看| 很黄的网站在线观看| 思思热在线视频精品| 亚洲第一页在线观看| 精品第一国产综合精品Aⅴ| 欧美人人干| 特级精品毛片免费观看| 91在线丝袜| 精品偷拍一区二区| 欧美日韩资源| 99久久人妻精品免费二区| 99久久99这里只有免费的精品| 欧美性猛交xxxx乱大交极品| 老司机久久精品视频| 欧美在线观看不卡| 中文国产成人精品久久| 亚洲精品国产首次亮相| 国产特一级毛片| 午夜高清国产拍精品| 这里只有精品在线| 国产亚洲视频免费播放| a级毛片免费网站| 狠狠操夜夜爽| 国产精品久久精品| 精品福利国产| 中文无码日韩精品| 茄子视频毛片免费观看| 在线观看视频99| 亚洲乱亚洲乱妇24p| 精品人妻无码中字系列| 真实国产精品vr专区| 毛片视频网| 人妻无码中文字幕一区二区三区| 日韩a在线观看免费观看| 国产精品亚洲一区二区在线观看| 久久青草精品一区二区三区| 动漫精品中文字幕无码| 亚洲91精品视频| 亚洲精品成人7777在线观看| 青青国产视频| 国产永久无码观看在线| 成人午夜天| 国产丝袜第一页| 精品国产成人三级在线观看| 中文字幕久久波多野结衣| 亚洲视频四区| 日本欧美视频在线观看| 精品国产aⅴ一区二区三区| 色综合手机在线| 五月婷婷激情四射| 喷潮白浆直流在线播放| 免费人成又黄又爽的视频网站| 久久黄色视频影| 国产网站免费| 国产三级视频网站| 亚洲人成网站日本片| 亚洲成a人在线观看| 国产又爽又黄无遮挡免费观看| igao国产精品| 国外欧美一区另类中文字幕| 国产色婷婷| 潮喷在线无码白浆| 亚洲天堂免费| 国产成人a毛片在线| 亚洲AV无码不卡无码| 中文字幕无码中文字幕有码在线| 99视频精品在线观看| 少妇极品熟妇人妻专区视频| 成人精品午夜福利在线播放| 日本成人不卡视频| 久青草免费在线视频| 国产在线无码av完整版在线观看| 精品视频第一页| 四虎成人精品在永久免费| 日韩AV无码免费一二三区| 国产一级无码不卡视频| 亚洲天堂高清| Jizz国产色系免费| 99这里只有精品免费视频| 香蕉网久久| 亚洲三级视频在线观看| 欧洲日本亚洲中文字幕|