天天看點

西電焦李成教授一作:“深度神經網絡FPGA”最新研究綜述

西電焦李成教授一作:“深度神經網絡FPGA”最新研究綜述

新智元報道

來源:專知

【新智元導讀】近年來,随着人工智能與大資料技術的發展,深度神經網絡在語音識别、自然語言處理、圖像了解、視訊分析等應用領域取得了突破性進展。深度神經網絡的模型層數多、參數量大且計算複雜,對硬體的計算能力、記憶體帶寬及資料存儲等有較高的要求。

FPGA 作為一種可程式設計邏輯器件,具有可程式設計、高性能、低能耗、高穩定、 可并行和安全性的特點。其與深度神經網絡的結合成為推動人工智能産業應用的研究熱點。

本文首先簡述了人工神經網絡坎坷的七十年發展曆程與目前主流的深度神經網絡模型,并介紹了支援深度神經網絡發展與應用的主流硬體;接下來,在介紹 FPGA 的發展曆程、開發方式、開發流程及型号選取的基礎上,從六個方向分析了 FPGA 與深度神經網絡結合的産業應用研究熱點。

然後,基于 FPGA 的硬體結構與深度神經網絡的模型特點,總結了基于 FPGA 的深度神經網絡的設計思路、優化方向和學習政策;接下來,歸納了 FPGA 型号選擇以及相關研究的評價名額與度量分析原則;最後,我們總結了影響 FPGA 應用于深度神經網絡的五個主要因素并進行了概要分析。

西電焦李成教授一作:“深度神經網絡FPGA”最新研究綜述

論文連結:https://cjc.ict.ac.cn/online/onlinepaper/jlc315.pdf

引言

随着智能化時代的到來,人工智能的應用已經深入到社會的各行各業。作為人工智能的主要研究分支,神經網絡的研究和發展成為主導目前智能化程度的主要力量。

簡單來講,神經網絡是通過模拟人腦中神經元的連接配接方式來實作類腦的資訊處理過程。在過去的七十年發展曆史中,神經網絡的發展也經曆了質疑和低谷,得幸于研究者的堅持探索才使它被普遍認可并有機會更好的造福人類。為讓機器更好地模拟人腦來認識世界,神經網絡模型不斷革新發展,經曆了從淺層神經網絡到深度神經網絡的重要變革。

目前,深度神經網絡可以利用深層的結構很好地提取和拟合資料特征,并在語音識别、自然語言處理、圖像了解、視訊分析等應用領域取得了突破性進展。研究者在追求更好精度的同時,深度神經網絡模型層數和參數數量也在不斷增加,進而對硬體的計算能力、記憶體帶寬及資料存儲等的要求也越來越高。是以,計算能力強、可并行加速、資料吞吐高的高性能硬體平台對于模型訓練和産業應用來說顯得尤為重要。

本節将概述神經網絡的發展史和目前流行的深度神經網絡模型,并分析推動深度神經網絡産業應用的主流硬體平台。

深度神經網絡的發展曆程

相比今天神經網絡的發展速度,其基礎理論研究初期卻經曆重重波折。

最早的神經網絡數學模型是由心理學家 McCulloch 教授和數學家 Pitts 教授于 1943 年提出的模拟人類大腦神經元的 McCullochPitt 神經元模型,并被稱為 M-P 模型。該模型是通過簡單的線性權重來實作對人類神經元處理信号的 模拟,該工作被稱為人工神經網絡(ANN)的起點,随後出現的神經網絡模型均是以該模型為基礎的。然而,其性能的好壞完全由配置設定的權重決定,這就使該模型很難達到最優的效果。

為了改善該模型并讓計算機自動合理的設定權重,心理學家 Hebb 于 1949 年提出 Hebb 學習規則并得到諾貝爾醫學獎得主 Kandel 的認可。随後,康奈爾大學的實驗心理學家 Rosenblatt 于 1958 年提出感覺機模型,該模型是第一個真正意義上的人工神經網絡,标志着神經網絡研究進入了第一次高潮期。

Minsky 和 Papert 等學者對感覺機模型進行了分析,結論為該模型無法求解簡單的異或等線性不可分問題,從此神經網絡的發展進入低潮甚至幾乎處于停滞狀态。

并行分布處理、反向傳播算法及 1982 年連續和離散 Hopfield 神經網絡模型的提出為研究者重新打開了思路,開啟了神經網絡發展的又一個春天, 此後的神經網絡模型研究開始向問題導向發展。

1985 年 Sejnowski 和 Hinton 受 Hopfield 神經網絡模型的啟示提出的玻爾茲曼機模型。該模型通 過學習資料的固有内在表示來解決困難學習的問題,随後又針對模型局限性進一步提出受限玻爾茲曼機模型和深度玻爾茲曼機模型。

反向傳播算法于 1986 年得到進一步發展,成為後續神經網絡模型發展的基石,1990 年用于解決資料結構關 系的遞歸神經網絡出現。

經過半個世紀的研究,加拿大多倫多大學的教授 Hinton 等人在 2006 年提 出了深度置信網絡模型,不但提出了多隐層的神經網絡,而且提出了深層神經網絡在訓練問題上的解決方法,該模型開啟了深度神經網絡的研究熱潮。自此,針對特定研究問題的深度神經網絡模型大量湧現。

深度卷積神經網絡是一種受啟發于人類大腦對眼睛裡接收到的信号的了解過程而提出的神經網絡模型。該網絡作為人工神經網絡的典型模型之一被提出并出色地應用于計算機視覺領域。

LeCun 等人 提出的 LeNet 模型作為卷積神經網絡的雛形起初被應用于手寫體識别。2012 年 Hinton 等人提出 AlexNet 模型,并應用 ImageNet 圖像識别大賽中,其精确度颠覆了圖像識别領域,使卷積神經網絡進入大衆視野。

随後出現了大量經典卷積神經網絡模型如在網絡層次上進行加深的 NIN,GoogLeNet,VGGNet等,通過拆分卷積核來提升效率的 Inception V2/V3,在深層網絡中引入連跳結構來 緩解梯度消失的 ResNet 和 DenseNet 等。除此之外,還有模組化特征通道間互相依賴關系的 SENet、基于 ResNet 進行改進的 ResNext 及 ResNeSt 等。

在不同的研究領域也出現大量經典的卷積神經網絡模型,如緻力于全景分割的 UPSNet、FPSNet 和 OANet 等,緻力于目标檢測的 Faster-RCNN、YOLO v1/v2/v3、SSD、EfficientDet、LRF-Net等,緻力于目标跟蹤的 SimeseNet、MDNet。目前,随着社會的不斷進步,卷積神經網絡的各種變型模型已經被應用于無人駕駛、智能監控和機器人等領域。

膠囊網絡是 Hinton 團隊于 2017 年為彌補卷積神經網絡在物體空間關系上認知的不足而提出的一種新的網絡體系結構。

其與卷積神經網絡的差別在于,該網 絡是一種由含有一小群神經元的膠囊組成新型的神經網絡,這些膠囊之間通過動态路由來傳遞特征。膠囊網絡獨特的資料表示方式使其考慮了目标的位置、方向、形變等特征,并能對提取的特征進行了解。

随後,為提升膠囊網絡的性能,對膠囊進行優化和對動态路由進行優化的方法被提出。目前,膠囊網絡的成就主要有抵禦對抗性攻擊、結合圖卷積神經網絡進行圖像分類、結合注意力機制進行零樣本意圖識别等。

深度強化學習是一種集感覺能力和決策能力為一體的神經網絡模型,其應用成果真正進入大衆視野是在 Alpha Go 出現後。

Google DeepMind 公司提出的深度強化學習模型 Deep Q-Network 讓這一更接近人類思維方式的模型得到更多學者的青睐。随後,針對 Deep Q-Network 計算方法、網絡結構和資料結構進行改進出現了 Double DQN、Dueling Network 和 Prioritized Replay 三種強化學習模型。另外,Deep Q-Network 加入了遞歸思想生成了 Deep Recurrent Q-Network。田春偉等人将強化學習思想用于目标跟蹤領域并提出了 ADNet 模型。

除此之外,繼 Alpha Go 之後,DeepMind 又推出基于強化學習的 AlphaZero 和 MuZero,提高了深度神經網絡的智能化水準。生成對抗網絡(GAN)是由 Goodfellow 等人在 2014 年提出的,是采用博弈對抗理論的一種新型神經網絡模型。

該模型打破了已存在的神經網絡對标簽的依賴性,一出現就受到業界的歡迎并衍生出許多廣泛流行的構架模型,主要有:第一次将 GAN 和卷積神經網絡相結合的 DCGAN 模型、利用 GAN 重新整理人臉生成任務的 StyleGAN 模型、探索文本和圖像合成的 StackGAN 模型、進行圖像風格轉化的 CycleGAN、Pix2Pix 和 StyleGAN,首次可生成具有高保真度低品種差距 圖像的 BigGAN,用于解決視訊跟蹤問題中樣本不均衡問題的 VITAL 網絡模型。

圖神經網絡是針對圖結構資料發展而來的一種神經網絡模型,該模型可以對可轉化為圖結構的資料之間的關系進行處理分析,它克服了已有的神經網絡模型在處理不規則資料時的不足。

圖神經網絡模型最早起源于 2005 年,随後由 Franco 博士在 2009 年首次定義了該模型的理論基礎,提出之初,該模型并沒有引起很大波瀾,直到 2013 年圖神經網絡才得到廣泛關注。

近年來圖神經網絡得到廣泛應用,同時結合已有網 絡模型. 圖神經網絡的不同拓展模型被不斷提出, 如圖卷積網絡(Graph Convolutional Networks)、圖注意力網絡(Graph Attention Networks)、圖自編碼器(Graph Auto-encoder)、圖時空網絡 (Graph Spatial-Temporal Networks)、圖強化學習、圖對抗網絡模型等。

目前,圖神經網絡模型應用比較廣泛,不僅被應用于計算機視覺、推薦系統、社交網絡、智能交通等領域,還被應用于實體、化學、生物和知識圖譜等領域。

輕量級神經網絡是在保證模型的精度下對神經網絡結構進行壓縮、量化、剪枝、低秩分解、教師學生網絡、輕量化設計後的小體積網絡模型。

2015 年之前,随着神經網絡模型性能的不斷提升,不斷增大的網絡體積和複雜度對計算資源也有較高的需求,這就限制了目前高性能的網絡模型在移動裝置上的靈活應用。為了解決這一問題,在保證精确度的基礎上,一些輕量級網絡應運而生。從 2016 年開始,SqueezeNet、ShuffleNet、NasNet 以及 MobileNet、MobileNetV2、MobileNetV3等輕量級網絡模型相繼出現,這些輕量級網絡的出現使一些嵌入式裝置和移動終端運作神經網絡成為可能,也使神經網絡得到更廣泛的應用。

自動機器學習(Automatic Machine Learning,AutoML)是針對機器學習領域對機器學習從業者和 所需經費的需求不斷增長而提出的一種真正意義上的自動化機器學習系統。

AutoML 代替人工進行自動的網絡模型選取、目标特征選擇、網絡參數優化和模型評價。也就是說,AutoML 可以自動建構具有有 限計算預算的機器學習模型結構。

AutoML 通過 2017 年 5 月的 Google I/O 大會進入業界視野并得到 廣泛關注。随着神經網絡深度和模型數量的不斷增加,大部分的 AutoML 研究将重點關注在了神經網 絡搜尋算法(Neural Architecture Search algorithm, NAS),NAS 的開創性工作是 GoogleBrain 于 2016 年同時提出的。

随後 MIT 和 GoogleBrain 又在其基礎上做了一系列的改進工作,加入了強化學習、 基于序列模型的優化、遷移學習等更多合理的邏輯 思路,随之依次出現了 NasNet、基于正則化進化的 NasNet、PNAS 和 ENAS 等。賀鑫等 将目前神經網絡搜尋算法的研究進展進行了詳細總結。

Google 推出了 Cloud AutoML 平台,隻需上傳你的資料,Google 的 NAS 算法就會為你找到一個快速簡便的架構。

AutoML 的出現降低了部分行業對機器學習尤其是神經網絡的使用者的在數量和知識儲備上的要求,進一步拓寬了機器學習和神經網絡的适用範圍。

深度神經網絡的主流硬體平台

随着硬體技術和深度神經網絡的發展,目前形成了以「CPU+GPU」的異構模式伺服器為主的深度神經網絡的研究平台,如英偉達的 DGX-2。其具有 16 塊 Tesla V100 GPU,可以提供最高達 2 PFLOPs 的計算能力。

面對複雜的實際應用需求和不斷加深的神經網絡結構,多樣化的深度神經網絡硬體平台也不斷發展起來,形成了以通用性晶片(CPU、GPU)、半制定化晶片(FPGA)、全制定化晶片(ASIC)、內建電路晶片(SoC)和類腦晶片等為主的硬體平台市場。計算性能、靈活性、易用性、成本和功耗等成為評價深度神經網絡硬體平台的因素和标準。

GPU

GPU(Graphic Processing Unit)起初專門用于處理圖形任務,主要由控制器、寄存器和邏輯單元構成。GPU 包含幾千個流處理器,可将運算并行化執行,大幅縮短模型的運算時間。由于其強大的計算能力,目前主要被用于處理大規模的計算任務。

英偉達在 2006 年推出了統一計算裝置構架 CUDA 及對應的 G80 平台,第一次讓 GPU 具有可程式設計性, 使得 GPU 的流式處理器除了處理圖形也具備處理 單精度浮點數的能力。

在深度神經網絡中,大多數計算都是矩陣的線性運算,它涉及大量資料運算, 但控制邏輯簡單。對于這些龐大的計算任務,GPU 的并行處理器表現出極大的優勢。自從 AlexNet 在 2012 年的 ImageNet 比賽中取得優異成績以來,GPU 被廣泛應用于深層神經網絡的訓練和推理。

大量依賴 GPU 運算的深度神經網絡軟體架構(如:TensorFlow、PyTorch、Caffe、Theano 和 Paddle-Paddle 等)的出現極大地降低了 GPU 的使用難度。是以它也成為人工智能硬體首選,在雲端和終端各種場景均被率先應用,也是目前應用範圍最廣、靈活度最高的 AI 硬體。

FPGA

FPGA(Field Programmable Gate Array)是現場可程式設計門陣列,它允許無限次的程式設計,并利用小型查找表來實作組合邏輯。

FPGA 可以定制化硬體流水線,可以同時處理多個應用或在不同時刻處理不 同應用,具有可程式設計、高性能、低能耗、高穩定、可并行和安全性的特點,在通信、航空航天、汽車電子、工業控制、測試測量等領域取得了很大應用市場。

人工智能産品中往往是針對一些特定應用場景而定制的,定制化晶片的适用性明顯比通用晶片的适用性高。FPGA 成本低并且具有較強的可重構性,可進行無限程式設計。是以,在晶片需求量不大或 者算法不穩定的時候,往往使用 FPGA 去實作半定制的人工智能晶片,這樣可以大大降低從算法到芯 片電路的成本。

随着人工智能技術的發展,FPGA 在加速資料處理、神經網絡推理、并行計算等方面 表現突出,并在人臉識别、自然語言處理、網絡安 全等領域取得了很好的應用.

ASIC

ASIC(Application Specific Integrated Circuit)是專用內建電路,是指根據特定使用者要求和特定電 子系統的需要而設計、制造的內建電路。

相比于同樣工藝 FPGA 實作,ASIC 可以實作 5~10 倍的計算加速,且量産後 ASIC 的成本會大大降低。

不同于可程式設計的 GPU 和 FPGA,ASIC 一旦制造完成将不能更改,是以具有開發成本高、周期長、門檻高等問題。例如近些年類似谷歌的 TPU、寒武紀的 NPU、地平線的 BPU、英特爾的 Nervana、微軟的 DPU、亞馬遜的 Inderentia、百度的 XPU 等晶片,本質上都屬于基于特定應用的人工智能算法的 ASIC 定制。

與通用內建電路相比,由于 ASIC 是專為特定目的而設計,GoogleBrain 具有體積更小、功耗更低、性能提高、保密性增強等優點,具有很高的商業價值,特别适合移動終端的消費電子領域的産業應用。

SoC

SoC(System on Chip)是系統級晶片,一般是将中央處理器、儲存器、控制器、軟體系統等內建在單一晶片上,通常是面向特殊用途的指定産品,如手機 SoC、電視 SoC、汽車 SoC 等。

系統級晶片能降低開發和生産成本,相比于 ASIC 晶片的開發周期短,是以更加适合量産商用。

目前,高通、AMD、ARM、英特爾、英偉達、阿裡巴巴等都在緻力于 SoC 硬體的研發,産品中內建了人工智能加速引擎,進而滿足市場對人工智能應用的需求。

英特爾旗下子公司 Movidius 在 2017 年推出了全球第一個配備專用神經網絡計算引擎的 SoC(Myriad X),晶片上內建了專為高速、低功耗的神經網絡而設計的硬體子產品,主要用于加速裝置端的深度神經網絡推理計算。

賽靈思推出的可程式設計片上系統(Zynq 系列)是基于 ARM 處理器的 SoC,具有高性能、低功耗、多核和開發靈活的優勢。華為推出的昇騰 310 是面向計算場景的人工智能 SoC 晶片。

類腦晶片

類腦晶片(brain-inspired chip)是仿照人類大腦的資訊處理方式,打破了存儲和計算分離的架構,實作資料并行傳送、分布式處理的低功耗晶片。

在基于馮諾依曼結構的計算晶片中,計算子產品和存儲子產品分離處理進而引入了延時及功耗浪費。類腦晶片側重于仿照人類大腦神經元模型及其資訊處理的機制,利用扁平化的設計結構,進而在降低能耗的前提下高效地完成計算任務。

在人工智能火熱的時代,各國政府、大學、公司紛紛投入到類腦晶片的研究當中,其中典型的有 IBM 的 TrueNorth、英特爾的 Loihi、高通的 Zeroth、清華大學的天機芯等。

目前,深度神經網絡晶片正在不斷研究開發中,每種晶片均是針對一定的問題而設計的。是以,不同的晶片有其獨特的優勢和不足。通過上述對不同晶片的描述,我們可以了解到相比 GPU,FPGA 具有更強的計算能力和較低的功耗。相比 ASIC 和 SoC, FPGA 具有更低的設計成本和靈活的可程式設計性。

相比類腦晶片,FPGA 的開發設計更簡單。綜合目前深度神經網絡晶片的特性可知,FPGA 的設計性能更适合應用于深度神經網絡在普通領域的開發和應用。随着 FPGA 在深度神經網絡領域的應用,相關學者對其進行了分析和整理。

本文從 FPGA 應用于深度神經網絡的設計原理、型号選擇、應用領域、加速器及具體加速原理、實驗評估名額到最後的 FPGA 應用與深度神經網絡的影響因素等方面進行歸納總結,對 FPGA 用于神經網絡加速進行全面的介紹,為讀者提供理論和實踐指導。

西電焦李成教授一作:“深度神經網絡FPGA”最新研究綜述

參考資料:

https://cjc.ict.ac.cn/online/onlinepaper/jlc315.pdf

繼續閱讀