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

面向在軌高效實時圖像處理的二值權重沙漏網絡加速器設計

2021-09-11 01:38:34程利甫徐煒莉趙啟義段欣欣蔣仁興
上海航天 2021年4期

程利甫,徐煒莉,趙啟義,段欣欣,蔣仁興

(1.清華大學 集成電路學院,北京 100047;2.上海航天電子技術研究所,上海 201109;3.上海市宇航學會,上海 200235)

0 引言

以卷積神經網絡為代表的深度學習方法,已經在很多圖像處理領域取得了超越人類的性能而獲得廣泛的應用,并隨著航空航天領域圖像傳感技術的演進逐步滲透到該領域內,如在軌圖像處理[1-3]、遙感目標識別[4-7]等。沙漏網絡(Hourglass Network,HN)作為一種經典的網絡架構被廣泛應用于特征點檢測等領域,但較高的計算復雜度和存儲需求限制了其在設備端的應用。作為有效降低計算復雜度的一種方法,二值權重處理通過將權重值轉換為+1 或-1,使得原來的乘法操作變為加法操作。

本文對沙漏網絡的權重進行二值化處理得到二值權重沙漏網絡(Binary-weight Hourglass Network,B-HN)。雖然可以將沙漏網絡的權重存儲需求降低到1/32,并且將計算量降低了近1/2,但是,推理過程中的算術操作數量仍然很高,需要對B-HN 算法進行進一步優化。因此,本文的主要設計目標是在不影響識別精度的前提下,通過算法-硬件協同設計實現高能效的高速圖像處理。為了避免造成比較大的精度損失,B-HN 網絡中第一層以及最后一層權重需要保持為多比特位寬(硬件實現時量化為8 bit)。

針對在計算和存儲兩方面潛在的瓶頸問題,采用多級預測校準機制及查找表(Look-Up Table,LUT)方法設計實現B-HN 加速器來滿足高效實時處理需求。

首先,采用LUT 的查表方式來代替大量重復的加法操作。在UNPU[8]中,LUT 被設置為兩種模式:單比特模式和多比特模式來實現不同的計算效率。為了進一步提升硬件效率,本文將多比特權重進行離線編碼,轉換成可復用單比特權重的形式,從而用一種統一模式實現對不同位寬權重計算的支持,可以進一步降低硬件實現開銷并且獲得更高的能量效率。其次,作為B-HN 中廣泛采用的基本結構——“卷積-歸一化-ReLU”,在經過激活后的激活值稀疏度會達到30%~90%。

卷積后為負值的結果在經過激活后會被直接置零。因此,針對這些結果為負值的卷積,如果能夠提前判斷其為負的話,則沒必要執行全部完整精確的計算過程。同樣,對于最大值池化而言,只需要在熱點圖中定位可能為最大值的點的位置即可。卷積過程中的部分計算結果就可以用來提前中止最終為負值的計算或提前濾掉非極大值的點。

基于這些發現,提出了多級預測校準機制來實現對計算精度的自動調整。與基于內核方法[9-10]相比,該方法在AlexNet 和VGG-16 網絡上可以降低77.4%~82.8%的計算量,并分別取得2.3~3.4 倍推理速度提升。

由于殘差網絡模塊中存在大量的模塊內及模塊間的跳轉連接,如果采用傳統的逐層計算模式會造成大量的存儲訪問操作。而頻繁的片外數據訪問會造成巨大的功耗開銷。為了解決這一問題,提出了基于模塊計算的流水架構(Block Computing Based Pipeline,BCP)來提高片上數據重用。與傳統的逐層計算模式[11]相比可以降低66.2%的片外數據訪問。與相似的合并層方法[12]相比,分別降低了60%的片上存儲需求和31%的數據訪問。

在以上優化方法的基礎上,在TSMC 28 nm CMOS 工藝下對B-HN 加速器實現了后端設計和性能分析。該加速器在500 MHz 工作頻率下的功耗為117 mW,功耗效率達到10.15 TOPS/W。

1 二值權重沙漏網絡模型優化

1.1 沙漏網絡模型簡述

基于沙漏模型的算法在特征點檢測的靈活性及精度方面具有明顯的優勢。如圖1 所示,沙漏網絡在自底向上以及自上向下處理過程中呈現對稱分布的特點,因此,可以獲取圖像在各個尺度的關鍵信息。

圖1 通用的沙漏網絡模型架構及殘差模塊Fig.1 Common hourglass network model and residual block

除此之外,還可以通過不斷重復疊加沙漏模塊來提高精度。本文針對沙漏網絡進行二值權重優化,在通過B-HN 的歸一化圖像處理后會產生一組熱點圖。每個熱點反映了該像素作為特征點的概率大小。殘差模塊作為沙漏網絡中的基礎模塊是本文的主要優化對象,其中,C 代表連接,“+”代表逐個元素的求和。本文提出的層次化并行模塊(P-Residual Block,PRB)增加了跳轉連接,提高了網絡中的梯度流。同時該模塊中并不存在1×1 卷積,因為在二值網絡中這種卷積核會造成比較嚴重的性能下降。

在PRB 模塊中,存在很多模塊間與模塊內的跳轉連接。由于模塊中每一層的激活值不能全部存在片上,從而造成大量的片外存儲訪問操作,并進一步限制網絡推理速度并造成比較高的能耗開銷。因此,PRB 模塊是限制整個B-HN 網絡性能的一個主要瓶頸。

此外,批量歸一化_線性修正單元(Batch Normalization Rectified Linear Unit,BN_ReLU)被重新調整到卷積層之后,跳轉連接之前來進行存儲訪問。為了進一步利用ReLU 函數之后造成的稀疏性,采用多級預測校準(Multi-level Prediction-Correction,MPC)模型來降低大量零值激活值與非最大值之間的冗余操作。

B-HN 的網絡拓撲結構是對稱的,任務精度與速度可以通過調整堆疊的沙漏模塊數量來實現靈活調整。同時,通過調整B-HN 的權重和最后一層的輸出通道數來實現不同的檢測功能。因此,本文提出的方案可以根據不同的任務需求(處理速度、功耗、識別精度等)對網絡架構和參數進行靈活配置。

1.2 基于LUT 方法的計算優化

考慮有限的二值權重可能會造成的大量重復的加法操作,本文提出了基于輸入特征圖重用的LUT 方法來替換這些重復的操作。在B-HN 網絡中,需要強調的是第一層和最后一層的權重是多比特位寬。在B-HN 網絡的所有計算當中,多比特位寬權重卷積操作大概占比達到43%。因此,針對多比特位寬權重卷積操作進行優化將同樣重要。

在文獻[13]中,LUT 可以被配置成2 種模式:二值權重模式和多比特權重模式。一個深度為4 的LUT 可以執行針對多比特權重卷積的兩路位串行加法操作和二值權重卷積的三路位串行加法操作。為了同時支持這2 種模式,本文提出了一種統一模式的LUT 方法。

1.2.1 二值權重卷積優化

對于二值權重,每個權重參數的值或者為-1或者為+1。如果將幾個二值權重劃分為一組,則這些權重的組合也是有限的。如圖2 所示,以M個輸入特征圖、N個輸出特征圖,以及濾波器尺寸為3×3 為例,則一共需要N×M個3×3 的濾波器核。如果每3 個權重劃分為一組,對于相應的3 個輸入激活值a、b、c而言,一共有8 種輸出組合。在通常情況下,卷積神經網絡中輸出通道的數量要比這些組合的數量大很多,可以通過LUT 的方法來避免重復操作。同時可以發現,LUT 中出現的8 種組合的值是對稱的,即前4 種組合可以通過相應的后4 位組合直接取反得到。因此,只需要對4 種組合進行編碼即可以覆蓋所有可能出現的組合,最后2 bit 用來對相應的LUT 值進行選擇,第一比特則用來決定符號。

圖2 基于LUT 的二值權重卷積計算優化Fig.2 LUT-based binary weight convolution optimization

1.2.2 多比特卷積轉換方法

考慮到二值權重計算的高效性,多比特權重也被轉換成二值權重的形式,從而使得其乘法卷積轉換成二值權重的計算方式。首先,B-HN 中第一層和最后一層的權重首先被量化到8 bit。8 bit 權重值又被進一步拆分成8 bit 的基值和8 bit 的校準值。所有卷積核中基值的每個bit 都是-1,而校準值的每一位則可能是+1,也可能是-1。在對應同樣輸出位置的不同通道間計算時,基于基值的卷積計算結果都是一樣的,因此,僅需要計算一次。然后通過校準值的計算來復用二值計算模式得到最終的計算結果。

同樣以M個輸入特征圖、N個輸出特征圖、卷積核尺寸k×k的Ibit 權重為例,為了計算同一位置所有輸出通道的值,需要考慮3 個方面的開銷:所有權重基礎組合的卷積計算、部分和的加法以及LUT值的選擇。假設每s個權重為一組,并通過P1、P2和P3來表示上述3 方面的功耗開銷。我們的目標是使得總的功耗開銷最小化。需要強調的是,s是正整數。通過解這個優化問題,可以得到最小開銷下的s值。s主要與輸出通道數有關,基于s的加法操作降低比例見表1,降低比率隨著輸出通道數的增加而快速增加。

表1 不同輸出通道數量下的計算優化對比Tab.1 Computation optimization for different numbers of output channels

另一個需要解決的問題是如何對權重進行分組。通過實驗發現,經過ReLU 函數處理后,統一通道的輸出特征圖中存在著大量連續分布的零值。這就意味著可以通過時鐘門控來實現大量零值計算的跳轉,因此相同通道內的權重被選擇作為一組。與相關CNN 加速器的LUT 方法對比,本文提出的LUT 計算方法可以實現對多種位寬權重的卷積實現統一支持,同時降低硬件的實現開銷,針對多比特權重卷積實現1.33~1.50 倍的卷積速度提升。

1.3 多級預測校準模型

在主流CNN 模型中,通用的基礎網絡架構為“卷積-歸一化-ReLU 激活-池化”等。其中,作為應用最廣泛的激活函數,ReLU 會造成很高的激活值稀疏度。同時經過最大值池化層后,僅需要決定池化結果的相對尺寸,這也就意味著最終結果為負值或非最大值的全精度卷積計算是完全沒有必要的。與當前提出的基于零值的操作消除方法[13-14]相比,本文提出了一種更加高效的多級預測較準方法。

為了便于硬件實現,計算過程中的所有權重及中間結果均需要進行定點化。本文提出的多級預測校準主要針對兩種計算模式:1)激活層。預測階段主要對最終激活值的符號進行判斷,后面對結果進行校準。2)最大值池化層。前面的計算判定激活值的相對尺寸,后面的計算完成更大值的更新。而在本文的B-HN 網絡中主要包括二值權重和多位寬權重兩種網絡類型。

在二值權重網絡層,由于權重是1 bit 數據,卷積操作被轉換為加法操作。針對輸入的8 bit 數據,將其劃分為高4 bit 和低4 bit 兩個部分。對于激活層而言,在預測階段,將高4 bit 參與到計算過程并判斷ReLU 最終結果的符號,如果可以判定結果為負值,則將輸出結果直接設置為0,后續結果無需繼續執行;否則,需要執行低4 bit 計算來對輸出結果進行校準。在B-HN 網絡中,經過ReLU 處理后的稀疏度在30%到90%之間,因此,采用本方法大概可以節省15%~45%的操作。對于最大值池化層,在預測階段,首先計算高4 bit 的結果來判斷最大池化輸出的相對尺寸。需要采用一個閾值Tm來對相對尺寸進行評估。如果最大值與其他非極大值的距離大于閾值,則后續非計算值的計算不需要繼續執行。否則,需要執行后續計算過程。在校準階段,低4 bit 的計算結果將用來繼續執行比較,本方法可以降低大約37.5%的計算處理。

在多比特權重網絡中,輸入特征值和權重均被量化為8 bit。對于輸入而言,同樣被分為高4 bit 和低4 bit 兩部分,而權重則按每2 bit 分組,從高位到低位劃分為4 部分。在此劃分模式下,每次輸入與權重的乘法操作轉換為8 級從高位到低位的計算過程,具體的計算及校準過程與二值權重計算過程相同。

2 硬件架構設計

如圖3 所示,B-HN 加速器的硬件架構中主要包括3 個模塊:1)預處理模塊;2)多級計算控制模塊;3)存儲系統。

圖3 B-HN 加速器的系統架構Fig.3 System architecture of B-HN accelerator

2.1 預處理模塊

在B-HN 加速器的處理過程中,輸入的激活值及首末層權重的位寬均為8 bit,其他層的權重為1 bit。處理單元(Processing Element,PE)主要由查找表和加法器樹組成。每個PE 包括9 個查找表和1 個由9 個加法器組成的加法器樹,其中,每個LUT中包括4 個7 bit 的實體。在該架構中,總共包括176 個PE。

加法器在配置下首先被配置來計算LUT 中的4 個基礎值,編碼后權重用來決定Psum 的值。每組權重包括3 bit,由后2 個bit 來選擇LUT 中的值,第一個bit 來確定符號。隨后Psum 值在加法器樹中進行累加。最終,通過權重轉換得到的校準值與Psum相加得到最后的結果。在整個處理過程中,二值權重卷積操作可以在一個周期內完成,而多比特權重操作則需要多個周期穿行計算完成。

為了優化片上數據存儲及訪問,采用了同時復用輸入和權重的計算模式。對于多比特位寬層,輸入尺寸為256×256×3(位寬為8 bit),在重用輸入與權重的基礎上利用所有的PE 來并行計算3×256×3 大小的模塊,可以在每8 個周期內完成64 個點的計算。

而對于其他層而言,PE 用來并行的執行2×16×144 大小的模塊,每16 個周期產生32 個點。對于殘差模塊,分別采用128、32 和16 個PE 來完成殘差模塊中3 層的計算,每6 個時鐘周期產生4 個點。在整個計算過程中,所有的輸入會一致被重用直到相對應通道的計算全部完成。

2.2 多級計算控制

該模塊的主要功能是完成所有的參數配置和模塊工作調度,包括閾值設定、多級計算預測、Psum累加、多比特權重卷積的分解與組合。該模塊主要包括4 個部分:歸一化模塊、ReLU 模塊、最大池化模塊和確認模塊。歸一化模塊包括一個乘法器和加法器。

ReLU 模塊則采用符號位來作為選擇信號來判定選擇原輸出值或者是0。ReLU 之后結果的符號位則寫進標志位表來標識是否需要執行下一級計算以及控制PE 陣列的數據更新,最大池化模塊則由一個閾值比較邏輯和選擇最大值的多選器組成。

2.3 存儲系統

采用獨立的輸入緩存和權重緩存來為PE 陣列提供數據。由于有限的數據帶寬及計算資源,無法將卷積操作完全并行展開執行。因此,多級計算需要串行執行并且在片上實現每級計算的中間結果存儲,采用Psum 緩存來存儲這些數據。對于殘差模塊中的跳轉連接而言,部分數據需要存在很長時間才會被用于計算,因此,需要一個臨時數據緩存來存儲這些數據。由于本文提出的BCP方法,使得這些數據不需要存到片外,而僅需要存3 行特征圖數據。因此對于片外存儲的帶寬和訪問極大降低。

2.4 基于模塊計算的流水架構

作為B-HG 網絡中的瓶頸模塊,PRB 模塊主要由內部及外部跳轉連接的3 層卷積層組成。考慮到每個中間層的輸出結果均非常多,如果采用傳統逐層處理方式的話,會造成與片外存儲之間的大量數據交互。因此,提出面向PRB 模塊的三級流水計算架構。在這種架構下,僅僅需要在片上存儲3.5 行特征圖數據,而且中間結果不需要寫回到片外存儲,同時跳轉連接也不需要從片外存儲多次讀取數據。PRB 模塊中3 層網絡的計算時間比為8∶2∶1,根據這個比例來對每一層分配相應的計算資源,來保證流水處理的負載均衡性。

假設M個W×H大小的輸入特征圖,N個輸出特征圖,卷積核尺寸為k×k,將計算模塊的尺寸設置為w×h,輸入、權重及中間結果的位寬分別為Ba、Bw和Bp。每次數據讀取和寫入的功耗分別為Pr和Pw,則由輸入、位寬及中間結果數據訪問造成的開銷C1、C2和C3分別為

本文的設計目標則是實現三者之和的最小化,在給定的硬件資源約束下對這一優化問題進行求解,得到對于PRB 模塊每一層最優的計算模塊尺寸為6×4×48、4×4×24 和4×4×12。

對于非PRB 的網絡層而言,采用逐層處理的方式。為了保證最小的存儲開銷,對于每一層選取最優的模塊尺寸。對于B-HN 網絡的第一層,其卷積核尺寸為3×3,步長為2,輸出通道數為144,每次讀取5 行圖像數據,計算模塊被配置成3×128×3。對于B-HN 網絡中的其他網絡層,卷積核尺寸為1×1,步長為1,計算模塊尺寸則被配置成2×16×144。

3 性能評估與硬件實現

3.1 性能評估

為了進一步衡量本文提出方法的通用性,以AlexNet[15]作為測試基準來對本文提出的方法效果進行測試,網絡的權重根據本文方法確定為每4 bit為一組。二值權重AlexNet 網絡中5 層卷積層的性能統計數據見表2。表中可見,二值權重AlexNet 的計算量可以降低82.75%。

表2 AlexNet 網絡的性能優化分析Tab.2 Performance optimization analysis for AlexNet

3.2 硬件實現

在TSMC 28 nm 的CMOS 工藝下對提出的BHN 加速器進行了后端實現和性能仿真,具體的芯片版圖及性能指標如圖4 和表3 所示。

圖4 B-HN 加速器后端版圖Fig.4 Post-layout of the B-HN accelerator

表3 B-HN 加速器后端仿真性能數據Tab.3 Performance data of simulation for the B-HN accelerator post-layout

B-HN 加速器與相關二值權重硬件加速器的性能對比情況見表4。表中可見,B-HN 加速器在計算延遲及功耗效率方面較相關工作取得了比較明顯的提升。

表4 與相關工作性能對比Tab.4 Performance comparison with related works

4 結束語

本文首先采用二值化權重方法對當前通用的沙漏卷積神經網絡模型進行處理,并在進一步分析其計算、存儲瓶頸的基礎上提出了基于多級預測校準模型及LUT 方法的高效卷積計算、針對殘差模塊的基于模塊計算的流水架構,最終在28 nm 工藝條件下對提出的B-HN 模型高效硬件設計及性能評估。后續工作將重點基于航天應用中的專用數據集本文架構進行進一步優化。

主站蜘蛛池模板: 天天综合网色| 人妻精品久久久无码区色视| 亚洲资源站av无码网址| 精品久久久久久久久久久| 国产精品精品视频| 熟女成人国产精品视频| 香蕉久人久人青草青草| 9久久伊人精品综合| 国产成人亚洲精品色欲AV| 国产区成人精品视频| 嫩草国产在线| 国产成人免费手机在线观看视频 | 亚洲Aⅴ无码专区在线观看q| 国产成人综合亚洲网址| 欧美.成人.综合在线| 国产精品伦视频观看免费| 71pao成人国产永久免费视频| 欧美成人在线免费| 亚洲专区一区二区在线观看| 久久亚洲美女精品国产精品| 免费毛片网站在线观看| 欧美日在线观看| 国产日韩欧美在线视频免费观看| av大片在线无码免费| 国产一区二区三区精品久久呦| 国产91在线|中文| 欧美a级在线| 激情无码视频在线看| 亚洲天堂网2014| 久久这里只有精品国产99| 国产精品区视频中文字幕| 欧美三级自拍| 亚洲另类色| 日韩人妻精品一区| 中文字幕首页系列人妻| 无码国内精品人妻少妇蜜桃视频| 婷婷色一区二区三区| 久久综合AV免费观看| 欧美日韩成人在线观看| 亚洲欧美不卡中文字幕| 一本大道无码高清| 亚洲第一页在线观看| 六月婷婷精品视频在线观看| Jizz国产色系免费| 亚洲精品高清视频| 亚洲欧洲AV一区二区三区| 亚洲日韩久久综合中文字幕| 五月婷婷亚洲综合| 免费国产无遮挡又黄又爽| 亚洲日韩第九十九页| 99热这里只有精品在线观看| 久久人人爽人人爽人人片aV东京热 | 丝袜高跟美脚国产1区| 不卡视频国产| 国产精品网曝门免费视频| 久久综合结合久久狠狠狠97色| 九九热在线视频| 无码精品国产dvd在线观看9久| 精品自窥自偷在线看| 国产精品三级av及在线观看| 狂欢视频在线观看不卡| 亚洲精品在线影院| 国产微拍一区| 亚洲成人精品久久| 亚洲欧美精品日韩欧美| 亚洲精选无码久久久| 国产特级毛片aaaaaa| 精品99在线观看| 99在线视频精品| 88国产经典欧美一区二区三区| 97超碰精品成人国产| 免费一级无码在线网站| 免费一级毛片| 天天摸夜夜操| 欧美日韩中文国产va另类| 91九色最新地址| 日本黄色不卡视频| 国产香蕉一区二区在线网站| 红杏AV在线无码| 美女扒开下面流白浆在线试听 | 亚洲视频二| 99re这里只有国产中文精品国产精品 |