国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

深度神經網絡全面概述:從基本概念到實際模型和硬件基礎

Sanchi / 1706人閱讀

摘要:深度神經網絡所代表的人工智能技術被認為是這一次技術變革的基石之一。導語深度神經網絡目前是許多人工智能應用的基礎。深度神經網絡概述根據應用情況不同,深度神經網絡的形態和大小也各異。

深度神經網絡(DNN)所代表的人工智能技術被認為是這一次技術變革的基石(之一)。近日,由 IEEE Fellow Joel Emer 領導的一個團隊發布了一篇題為《深度神經網絡的有效處理:教程和調研(Efficient Processing of Deep Neural Networks: A Tutorial and Survey)》的綜述論文,從算法、模型、硬件和架構等多個角度對深度神經網絡進行了較為全面的梳理和總結。鑒于該論文的篇幅較長,機器之心在此文中提煉了原論文的主干和部分重要內容,更多內容請點擊文末「閱讀原文」下載原論文了解。

論文地址:https://arxiv.org/pdf/1703.09039.pdf

目前,包括計算機視覺、語音識別和機器人在內的諸多人工智能應用已廣泛使用了深度神經網絡(deep neural networks,DNN)。DNN 在很多人工智能任務之中表現出了當前較佳的準確度,但同時也存在著計算復雜度高的問題。因此,那些能幫助 DNN 高效處理并提升效率和吞吐量,同時又無損于表現準確度或不會增加硬件成本的技術是在人工智能系統之中廣泛部署 DNN 的關鍵。

本文旨在提供一個關于實現 DNN 的有效處理(efficient processing)的目標的進展的全面性教程和調查。特別地,本文還給出了一個 DNN 綜述——討論了支持 DNN 的多種平臺和架構,并強調了的有效處理的技術的關鍵趨勢,這些技術或者只是通過改善硬件設計或者同時改善硬件設計和網絡算法以降低 DNN 計算成本。本文也會對幫助研究者和從業者快速上手 DNN 設計的開發資源做一個總結,并凸顯重要的基準指標和設計考量以評估數量快速增長的 DNN 硬件設計,還包括學界和產業界共同推薦的算法聯合設計。

讀者將從本文中了解到以下概念:理解 DNN 的關鍵設計考量;通過基準和對比指標評估不同的 DNN 硬件實現;理解不同架構和平臺之間的權衡;評估不同 DNN 有效處理技術的設計有效性;理解的實現趨勢和機遇。

I. 導語

深度神經網絡(DNN)目前是許多人工智能應用的基礎 [1]。由于 DNN 在語音識別 [2] 和圖像識別 [3] 上的突破性應用,使用 DNN 的應用量有了爆炸性的增長。這些 DNN 被部署到了從自動駕駛汽車 [4]、癌癥檢測 [5] 到復雜游戲 [6] 等各種應用中。在這許多領域中,DNN 能夠超越人類的準確率。而 DNN 的出眾表現源于它能使用統計學習方法從原始感官數據中提取高層特征,在大量的數據中獲得輸入空間的有效表征。這與之前使用手動提取特征或專家設計規則的方法不同。

然而 DNN 獲得出眾準確率的代價是高計算復雜性成本。雖然通用計算引擎(尤其是 GPU),已經成為許多 DNN 處理的砥柱,但提供對 DNN 計算更專門化的加速方法也越來越熱門。本文的目標是提供對 DNN、理解 DNN 行為的各種工具、有效加速計算的各項技術的概述。

該論文的結構如下:

Section II 給出了 DNN 為什么很重要的背景、歷史和應用。

Section III 給出了 DNN 基礎組件的概述,還有目前流行使用的 DNN 模型。

Section IV 描述了 DNN 研發所能用到的各種資源。

Section V 描述了處理 DNN 用到的各種硬件平臺,以及在不影響準確率的情況下改進吞吐量(thoughtput)和能量的各種優化方法(即產生 bit-wise identical 結果)。

?Section VI 討論了混合信號回路和新的存儲技術如何被用于近數據處理(near-data processing),從而解決 DNN 中數據流通時面臨的吞吐量和能量消耗難題。

Section VII 描述了各種用來改進 DNN 吞吐量和能耗的聯合算法和硬件優化,同時最小化對準確率的影響。

Section VIII 描述了對比 DNN 設計時應該考慮的關鍵標準。

II. 深度神經網絡(DNN)的背景

在這一部分,我們將描述深度神經網絡(DNN)在人工智能這個大框架下的位置,以及一些促進其發展的的概念。我們還將對其主要的發展歷程和現階段主要的應用領域做一個簡單的介紹。

A. 人工智能和深度神經網絡

根據 John McCarthy 的論述,深度神經網絡(也稱為深度學習)是人工智能(AI)大框架下的一部分。而人工智能(AI)是利用科學與工程學創造具有如同人類那樣能實現目標的智能機器。人工智能這個詞就是這位計算機科學家在上個世紀 50 年代所創造出的。深度學習和整個人工智能的關系就如下圖所示。

圖 1:深度學習在人工智能大框架下的位置

B. 神經網絡和深度神經網絡(DNN)

神經網絡從神經元涉及對輸入值求加權和進行計算這一概念而獲得靈感。這些加權和對應于突觸完成值的縮放以及其和神經元值間的組合。此外,因為計算與神經元級聯相關聯,并且其為簡單線性代數的運算,所以神經元不會僅僅輸出加權和。相反,在神經元中有函數執行組合輸入的運算,而這種函數應該是非線性運算。在非線性運算的過程中,神經元只有在輸入超過一定閥值時才生成輸出。因此通過類比,神經網絡將非線性函數運用到輸入值的加權和中。我們等一下會描述一些非線性函數。

圖 2:簡單的神經網絡例子。(a) 神經元和突觸,(b) 為每一層計算加權和,(c) 前向和反向(循環)網絡,(d) 全連接與稀疏

(a)中展示了計算神經網絡的示意圖。圖的前端是輸入層,該層會接受輸入數據值。這些數據值前向傳播到神經網絡中間層的神經元中,中間層也常稱為神經網絡的隱藏層。一個或多個隱藏層的加權和最終前向傳播到輸出層,該輸出層會最終向用戶呈現神經網絡的輸出結果。為了將腦啟發的術語和神經網絡相匹配,神經元的輸出通常稱為激活(activation),并且突觸如(a)所示通常稱為權重(weight)。

在上方表達式中,W_ij 代表著權重、x_i 為輸入激活、y_i 是輸出激活,而 f(·) 就代表著在 III-2 中描述的非線性激活函數。

在神經網絡的領域內,有一門稱為深度學習的研究。普通神經網絡基本上層級不會很多,而在深度學習里,神經網絡的層級數量十分巨大,現如今基本上神經網絡可以達到 5 到 1000 多層。

C. 推理 vs 訓練

這一節中,如圖 4 所示,我們將把圖像分類用作訓練 DNN 的一個強勁的實例。評估 DNN 時,我們輸入一個圖像,DNN 為每一個對象分類輸出分值向量;分值較高的分類將成為圖像中最有可能的對象分類。訓練 DNN 的總體目標是決定如何設置權重以較大化正確分類(來自標注的訓練數據)的分值并最小化其他不正確分類的分值。理想的正確分值與 DNN 基于其當前權重計算的分值之間的差被稱為損失值(L)。因此訓練 DNN 的目標是找到一組權重以最小化大型數據集中的平均損失值。

圖 4:圖像分類任務

D. 開發歷史

1940 年代 - 神經網絡被提出?

1960 年代 - 深度神經網絡被提出?

1989 年 - 識別數字的神經網(LeNet)出現?

1990 年代 - 淺層神經網硬件出現(Intel ETANN)

2011 年 - DNN 語音識別取得突破性進展(Microsoft)

2012 年 - 用于視覺的 DNN 開始替代人工放大(AlexNet)

2014 年+ - DNN 加速器研究興起(Neuflow、DianNao 等等)

圖 5 的表柱是這些年來 ImageNet 競賽中每屆冠軍的表現。你可以看到最初算法較精確度的錯誤率在 25% 或更多。2012 年,多倫多大學的 AlexNet 團隊通過 GPU 來提升其計算能力并采用深度神經網絡方法,把錯誤率降低了近 10% [3]。他們的成功帶來了深度學習風格的算法的井噴,以及圖像識別技術的持續進步。

圖 5:ImageNet 競賽 [10] 結果

E. DNN 的應用

從多媒體到醫療,DNN 對很多應用大有裨益。在這一節中,我們將展示 DNN 正在發揮影響的領域,并凸顯 DNN 有望在未來發揮作用的新興領域。

圖像和視頻

語音和語言

醫療

游戲

機器人

F. 嵌入 vs 云

執行 DNN 推斷處理的嵌入平臺有著嚴格的能耗、計算和存儲成本限制。當 DNN 推斷在云中執行時,語音識別等應用經常有強烈的延遲需求。因此,在本文中,我們將聚焦于推斷處理而不是訓練的計算需求。

III. 深度神經網絡概述

根據應用情況不同,深度神經網絡的形態和大小也各異。流行的形態和大小正快速演化以提升模型準確性和效率。所有深度神經網絡的輸入是一套表征網絡將加以分析處理的信息的值。這些值可以是一張圖片的像素,或者一段音頻的樣本振幅或者某系統或者游戲狀態的數字化表示。

處理輸入的網絡有兩種主要形式:前饋以及循環(圖 2c)。前饋網絡中,所有計算都是在前一層輸出基礎上進行的一系列運作。最終一組運行就是網絡的輸出,比如,這張圖片包括某個特定物體的概率是多少,某段音頻出現某個單詞的概率是多少,或者下一步行動的建議等。在這類深度神經網絡中,網絡并無記憶,輸出也總是與之前網絡輸入順序無關。

相反,循環網絡(LSTM 是一個很受歡迎的變種)是有內在記憶的,允許長期依存關系影響輸出。在這些網絡中,一些中間運行生成的值會被存儲于網絡中,也被用作與處理后一輸入有關的其他運算的輸入。在這篇文章中,我們關注的是前饋網絡,因為到目前為止,少有人關注硬件加速,特別是循環網絡的。

深度神經網絡也可以是全連接的(FC,也指多層感知器),如圖 2(d)最左部分所示。在一個全連接層中,所有輸出與所有輸入都是相連接的。這需要相當數量的存儲和計算空間。謝天謝地,在許多應用中,我們可以移除激活(activations)之間的一些連接,方法就是將權重設置為零而不影響準確性。結果會產生一個稀疏連接層。圖 2(d)最右端的層就是一個稀疏連接層。

通過限制對結果有影響的權重數量,我們也可以實現更高效的計算。如果每個輸出僅僅是一個固定大小輸入窗口的函數,就會出現這類結構化稀疏性。如果這套權重被用于每一個輸入計算,就會進一步提高效率。這一權重共享能顯著降低權重的存儲要求。

通過將計算構建為卷積,一種非常流行的窗口式的權重共享的網絡誕生了,如圖 6(a) 所示,其僅使用少量臨近的激活來計算加權和的輸出(即,該過濾器有一個有限的接受域,與輸入的距離超過特定值的所有權重都將被設置為 0),而且這一套權重能被每個輸入共享來計算(即,濾波器是空間不變的)。這種結構稀疏性的形式正交于源自網絡(修改情況如本文部分 VII-B2 所述)的稀疏性。所以,卷積神經網絡就是一種受歡迎的深度神經網絡形式 [35]。

1) 卷積神經網絡(CNN)

圖 6:卷積的維度。(a) 傳統圖像處理中的二維卷積,(b) CNN 中的高維卷積

圖 7:卷積神經網絡

表 1:CONV/FC 層的形狀參數

給定表 I 中的形狀參數(shape parameters),卷積層的計算可以定義為:

2)非線性(Non-Linearity)

圖 8:多種形式的非線性激活函數(來自 Caffe Tutorial [43])

3)池化(Pooling)

圖 9:多種形式的池化(來自 Caffe Tutorial [43])

4)歸一化(Normalization)

控制輸入在層級中的分布能顯著地加快訓練速度并提升準確度。因此,輸入激活在層級上的分布(σ, μ)需要歸一化處理,使其變換為均值為 0、標準差為 1 的分布。在批量歸一化(batch normalization)中,歸一化值如方程(2)所示將進一步縮放和平移,參數(γ, β)是從訓練 [44] 中學到的兩個小常數,它們能避免數值問題。

A. 流行的 DNN 模型

在過去的二十多年里出現了很多種 DNN 模型。每一種都稱其擁有不同的「網絡架構」,因為他們依據不同層級數量、濾波器形狀(如過濾尺寸,濾波器和通道的數量)、層級類型以及連接方式而劃分。正確地理解這些不同的方法和它們發展的趨勢對于提高 DNN 引擎的效率至關重要。

其中包括:

LeNet [9] 于 1989 年提出,是最早的 CNN 方式之一。其中更為人熟知的是第八版的 LeNet-5,其中包含兩個卷積層和兩個全連接層 [45]。

AlexNet[3] 是第一次贏得 ImageNet 挑戰賽的 CNN 網絡(2012 年)。它由五個卷積層和三個全連接層組成。

Overfeat [46] 與 AlexNet 具有非常相似的架構:五個卷積層和三個全連接層。

VGG-16 [47] 更進一步,使用了 16 層的深度神經網絡,其中包含 13 個卷積層,3 個全連接層。

GoogLeNet[48] 更深,有 22 個層,它首次引入了起始模塊(見下圖)。

ResNet [11],即殘差網絡(Residual Net),使用殘差連接可以讓層級更加深入(34 層以上)。該網絡第一次讓 DNN 在 ImageNet 挑戰賽中的表現超過了人類,top-5 錯誤率在 5% 以下。

圖 11:GoogleNet[48] 的起始模塊(Inception module)通道長度實例,其中每個 CONV 層在 ReLU 層之后(圖中未顯示)。

圖 12:ResNet[11] 中的快捷模塊。其中最后一個 CONV 層之后的 ReLU 層被快捷連接。

表 2:目前流行的 DNN [3, 11, 45, 47, 48] 模型,其中正確率都基于在 ImageNet [10] 中 TOP-5 誤差。

IV. DNN 開發資源

DNN 得以快速發展的一個關鍵因素是研究社區與產業界使得一系列開發資源變得可用。這些資源對 DNN 加速器的開發也很關鍵,提供工作負載的特性、在模型復雜性和準確率上促進權衡性的探索。這一章節將描述了對此領域感興趣的人能快速上手的一些資源。

A. 框架(Frameworks)

為了 DNN 開發的簡便以及讓訓練網絡可共享,不同的團隊開發出了不同的深度學習框架。這些開源庫包含了面向 DNN 的軟件庫。Caffe 在 2014 年由 UC 伯克利大學開源,它支持 C、C++、Python 和 MATLAB。TensorFlow 由谷歌團隊 2015 年開源,支持 C++和 Python,也支持多 CPU 和 GPU。它要比 Caffe 更靈活,計算表達是數據流圖到張量管理(多維度陣列)。另一個流行的框架是 Torch,由 Facebook 和 NYU 開發,它支持 C、C++和 Lua。當然,還有其他的一些框架,比如 Theano、MXNet、CNTK,這在 [57] 中有所描述。

這些框架的存在不只是方便了 DNN 研究人員和應用設計者,它們對編程高性能或更高效的 DNN 計算引擎也是無價的。例如,大部分框架可以使用英偉達的 cuDNN 庫在 GPU 上進行快速運算。這一加速對框架的使用者而言是很明顯的。類似地,硬件加速器這種如此易懂的結合也能在 Eyeriss 這樣的芯片上獲得 [58]。

最終,這些框架對硬件研究人員來說也是無價的資源(工作負載),它們可被用于設計不同工作負載的實驗、性能分析(profiling)不同的工作負載、探索硬件與軟件之間的權衡。

B. 模型(Model)

C. 流行的分類數據集

在許多公開的數據集中有許多人工智能任務可用來評估 DNN 的準確率。公開數據集對對比不同方法的準確率而言非常的重要。最簡單也最常見的任務是圖像分類。圖像分類涉及到在給定的完整圖像中,選擇出 N 類物體中的 1 類,它不需要進行定位于檢測。

其中包括:

MNIST:它包含手寫數字的 28×28 像素的灰度圖像,里面有 10 大類別(10 個數字)、6 萬張訓練圖像和 1 萬張測試圖像。

CIFAR:這是一個包含不同物體 32×32 像素的彩色圖像數據集。

ImageNet:它包含的圖像是 256×256 彩色像素,有 1000 多類。

圖:13 MNIST 數據集(10 類、6 萬張訓練圖像、1 萬張測試圖像)[59] vs. ImageNet 數據集 (1000 多類、130 萬張訓練圖像、10 萬張測試圖像)[10]

D. 用于其它任務的數據集

V. 用于 DNN 處理的硬件

在這部分里,我們將討論在不同的硬件平臺中進行高效處理而不降低準確性的策略(所有在本節中的方法都要輸出完全相同的結果)。

對于 CPU 與 GPU 這樣的時間敏感架構,我們將討論在它們的運行中如何減少乘法次數以增加吞吐量。

對于加速器這樣的空間敏感架構,我們討論數據流如何能低成本地從存儲器中被調用,以減少能耗。

圖 14:高度并行的計算范式

A. 在 CPU 和 GPU 平臺上加速核(kernel)計算

圖 15:映射到全連接層(a)的矩陣乘法,當從單個輸入特征圖計算單個輸出特征圖時,使用矩陣向量乘法。(b)當從 N 個輸入特征圖計算 N 個輸出特征圖時,使用矩陣乘法。

圖 16:映射到卷積層的矩陣乘法(a)將卷積映射到 Toeplitz 矩陣。(b)將 Toeplitz 矩陣擴展到多個通道和濾波器。

圖 17:用于加速 DNN 的 FFT。

B. 為加速器設計的 Energy-Efficient Dataflow

圖 18:每個 MAC 的存取

圖 19:存儲層級和數據移動能量

圖 20:DNN 中的數據復用機會

圖 22:DNN 的數據流。(a) 權重固定(WS),(b) 輸出固定(OS),(c) 沒有局部復用(NLR)

VI. 近場數據處理

在上一章節中,我們強調了數據流通主導了能源的消耗。雖然空間架構盡可能將儲存器安放在離計算很近的位置(如放入 PE),但同時我們也在努力將高密度存儲器安置在近計算的位置,或者直接將計算集成到存儲器本身中。在嵌入式系統中,我們還努力將計算放入到傳感器(最先收集數據的元件)中。在本論文的這個章節中,我們將討論如何通過使用混合信號回路(mixed-signal circuit)設計和高級存儲技術將處理盡可能放置在離數據近的地方以減少數據流通。

A. DRAM

B. SRAM

C. 非易失性電阻式存儲(Non-volatile Resistive Memories)

D. 傳感器

圖 33。通過 (a) SRAM bit-cell 和 (b) 非易失性電阻式存儲進行模擬計算

VII. DNN 模型和硬件的聯合設計(CO-DESIGN)

對 DNN 模型和 DNN 硬件進行聯合設計可以為處理效率帶來進一步的提升。在傳統上,DNN 模型的設計目標是較大化準確度,而不會考慮太多實現的復雜性。但是,這可能會使得設計很難實現。DNN 模型和硬件和聯合設計可以有效地聯合較大化準確度和吞吐量,同時最小化能耗和成本,這能增加采用的可能性。這種方法已經在其它重要的且廣泛應用的多媒體應用(比如視頻壓縮)中得到了證明。之前的時候,視頻標準大多關注算法開發。從 MPEG-2 到 H.264/AVC,在編碼效率上實現了 2 倍的提升,而解碼器復雜性卻增加了 4 倍 [110]。最近,的視頻編碼標準 H.265/HEVC [111] 使用了算法和硬件的聯合設計;結果其相對于 H.264/AVC 在編碼效率上實現了又 2 倍的提升 [112],而解碼器復雜性也只增加了 2 倍。在這一節,我們將重點介紹幾個 DNN 模型和硬件聯合設計方面的研究。注意和第 V 節不同,這一節所提出的技術可能會改變準確度;盡管其目標是在最小化準確度改變的同時顯著減少能耗并提高吞吐量。

這些方法可以大致分為以下幾類:

降低運算和操作數的精度。這包括將浮點數改為定點數、減少位寬、移到對數域和權重共享。

降低運算的數量和模型的大小。其中的技術包括:壓縮、剪枝和設計緊湊的網絡架構。

表 3:為 AlexNet 降低數值精度的方法。這里的準確度是在 ImageNet 上測得的 top-5 error。* 表示不適用于第一層和/或最后的層

VIII. 用于 DNN 評估和比較的基準指標

A. DNN 模型的指標

為了評估一個給定模型的屬性,我們應該考慮以下元素:

在 ImageNet 這樣的數據集上的 top-5 error 方面的模型準確度。另外,使用了哪種類型的數據增強(比如,多次裁剪、集成模型)。

對于該 DNN 模型,要么應該使用眾所周知的模型,要么就應該報告模型的參數,包括層的數量、濾波器大小、濾波器的數量和通道的數量。

權重的數量會影響該模型的存儲需求,應該報告。如果可能,也應該報告非零權重的數量,因為這能反映理論上的最小存儲需求。

需要執行的 MAC 的量應被報告,因為其或多或少指示了給定 DNN 的運算量和吞吐量。如果可能,也應該報告非零 MAC 的量,因為這能反映理論上的最小計算需求。

表 4:流行的 DNN 指標。稀疏性(sparsity)根據報告的非零(NZ)權重和 MAC 得到

B. DNN 硬件的指標

為了測量 DNN 硬件的有效性,我們要考慮這些指標:

硬件設計的能量效率,包括每非零 MAC(非零權重和激活)的能量和 MAC 的位寬(bitwidth)。

片外(off-chip)帶寬(如,DRAM 帶寬)應該報告的包括片外的每非零 MAC(非零權重和激活)的訪問和 MAC 的位寬

區域效率(area efficiency)衡量的是芯片的成本,要考慮內存(寄存器或 SRAM)的尺寸和類型和控制邏輯的量。

吞吐量(throughput)應該基于多種 DNN 的運行時間來報告,以考慮映射和內存帶寬的影響,這能提供比峰值吞吐量更有用和信息更豐富的指標。?

表 5:Eyeriss 基準指標示例 [90]

歡迎加入本站公開興趣群

商業智能與數據分析群

興趣范圍包括各種讓數據產生價值的辦法,實際應用案例分享與討論,分析工具,ETL工具,數據倉庫,數據挖掘工具,報表系統等全方位知識

QQ群:81035754

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/4512.html

相關文章

  • 硬件配置框架選擇,請以這種姿勢入坑深度學習

    摘要:幸運的是,這些正是深度學習所需的計算類型。幾乎可以肯定,英偉達是目前執行深度學習任務較好的選擇。今年夏天,發布了平臺提供深度學習支持。該工具適用于主流深度學習庫如和。因為的簡潔和強大的軟件包擴展體系,它目前是深度學習中最常見的語言。 深度學習初學者經常會問到這些問題:開發深度學習系統,我們需要什么樣的計算機?為什么絕大多數人會推薦英偉達 GPU?對于初學者而言哪種深度學習框架是較好的?如何將...

    marek 評論0 收藏0
  • 原創翻譯 | 深度學習與機器學習 - 您需要知道的基本差異!

    摘要:深度學習自動找到對分類重要的特征,而在機器學習,我們必須手工地給出這些特征。數據依賴深度學習和傳統機器學習最重要的區別在于數據量增長下的表現差異。這是深度學習一個特別的部分,也是傳統機器學習主要的步驟。 前言 機器學習和深度學習現在很火!突然間每個人都在討論它們-不管大家明不明白它們的不同! 不管你是否積極緊貼數據分析,你都應該聽說過它們。 正好展示給你要關注它們的點,這里...

    jsummer 評論0 收藏0
  • 深度學習

    摘要:深度學習在過去的幾年里取得了許多驚人的成果,均與息息相關。機器學習進階筆記之一安裝與入門是基于進行研發的第二代人工智能學習系統,被廣泛用于語音識別或圖像識別等多項機器深度學習領域。零基礎入門深度學習長短時記憶網絡。 多圖|入門必看:萬字長文帶你輕松了解LSTM全貌 作者 | Edwin Chen編譯 | AI100第一次接觸長短期記憶神經網絡(LSTM)時,我驚呆了。原來,LSTM是神...

    Vultr 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<