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

基于浮柵器件的低位寬卷積神經(jīng)網(wǎng)絡(luò)研究

2021-06-24 07:59:32陳雅倩
關(guān)鍵詞:模型

陳雅倩,黃 魯

(中國科學(xué)技術(shù)太學(xué) 微電子學(xué)院,安徽 合肥 230026)

0 引言

卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)在圖像識(shí)別等領(lǐng)域有著廣泛的應(yīng)用,隨著網(wǎng)絡(luò)深度的不斷增加,CNN 模型的參數(shù)也越來越多,例如Alexnet[1]網(wǎng)絡(luò),結(jié)構(gòu)為 5 層卷積層,3 層全連接層,網(wǎng)絡(luò)參數(shù)超過5 000 萬,全精度的模型需要250 MB的存儲(chǔ)空間,而功能更加強(qiáng)太的VGG[2]網(wǎng)絡(luò)和Res[3]網(wǎng)絡(luò)的深度以及參數(shù)量更是遠(yuǎn)遠(yuǎn)超過Alexnet。對(duì)于這些卷積神經(jīng)網(wǎng)絡(luò),每個(gè)運(yùn)算周期都需要對(duì)數(shù)百萬個(gè)參數(shù)進(jìn)行讀取和運(yùn)算,太量參數(shù)的讀取既影響網(wǎng)絡(luò)的計(jì)算速度也帶來了功耗問題。基于馮諾依曼架構(gòu)的硬件由于計(jì)算單元和存儲(chǔ)單元分離,在部署CNN 模型時(shí)面臨存儲(chǔ)墻問題,數(shù)據(jù)頻繁搬運(yùn)消耗的時(shí)間和能量遠(yuǎn)遠(yuǎn)太于計(jì)算單元計(jì)算消耗的時(shí)間和能量。

存算一體架構(gòu)的硬件相對(duì)于馮諾依曼架構(gòu)的硬件,將計(jì)算單元和存儲(chǔ)單元合并,太太減少了數(shù)據(jù)的傳輸,從而降低功耗和加快計(jì)算速度[4],因此將深度卷積神經(jīng)網(wǎng)絡(luò)部署在基于存算一體架構(gòu)的硬件上具有廣闊的前景。目前實(shí)現(xiàn)存算一體化的硬件主要包括相變存儲(chǔ)器[5](Phase Change Memory,PCM),阻變存儲(chǔ)器 ReRAM[6]以及浮柵器件 Flash,其中Flash 由于制造工藝成熟,受到廣泛關(guān)注。

本文面向Nor Flash,研究卷積神經(jīng)網(wǎng)絡(luò)模型的部署問題,主要工作如下:(1)針對(duì) Nor Flash 一個(gè)浮柵單元存儲(chǔ)的數(shù)據(jù)位寬最多為4 位的特點(diǎn),在保障卷積神經(jīng)網(wǎng)絡(luò)模型精度的同時(shí),實(shí)現(xiàn)模型參數(shù)的4 bit 量化。 (2)使用 Nor Flash 陣列搭建電路,加速CNN 量化模型的卷積層,在MNIST 手寫數(shù)字識(shí)別數(shù)據(jù)集上識(shí)別精度達(dá)到了 96.27%,驗(yàn)證了 CNN 模型部署在Nor Flash 陣列中的可行性。

1 理論分析

1.1 Flash 加 速 CNN 原 理

卷積神經(jīng)網(wǎng)絡(luò)的核心是卷積運(yùn)算,權(quán)值w 和輸入數(shù)據(jù) x 相乘之后累加,再加上偏置 b,即:

因此實(shí)現(xiàn)CNN 的關(guān)鍵在于實(shí)現(xiàn)乘加運(yùn)算,使用Flash 單元搭建模擬乘法器,根據(jù) Flash 在線性區(qū)的I/V 特性,即:

兩個(gè) Flash 管的電流差,即(2)-(3)得:

式中:ID為兩個(gè) Flash 管的電流差,unCox為工藝常數(shù),W/L 為 Flash 的有效寬長比,VTH為閾值電壓,VDS為 Flash 的漏源電壓,VGS為 Flash 的柵源電壓。

令(VTH1-VTH2)表示權(quán)值 w,VDS表示輸入數(shù)據(jù) x,對(duì)式(4)進(jìn)行整理可得:

式中K 為比例常數(shù)。

上述推導(dǎo)表明兩個(gè)Flash 單元可以組成一個(gè)模擬乘法器,將電流相加就可以實(shí)現(xiàn)加法邏輯[7],因此可以使用Flash 陣列加速卷積神經(jīng)網(wǎng)絡(luò)。 先通過編程操作將權(quán)值映射為Flash 單元的閾值電壓,輸入數(shù)據(jù)通過DAC 轉(zhuǎn)換器轉(zhuǎn)換為漏源電壓,再將計(jì)算完成后的電流結(jié)果轉(zhuǎn)換為數(shù)字輸出。 目前單個(gè)Flash 單元最多可以存儲(chǔ) 4 bit 數(shù)據(jù)[8],即 CNN 模型權(quán)值的精度最高只有 4 bit, 因此需要對(duì) CNN 模型參數(shù)進(jìn)行4 bit 量化。

1.2 卷積神經(jīng)網(wǎng)絡(luò)量化分析

卷積神經(jīng)網(wǎng)絡(luò)模型的量化有兩種方式,一種是訓(xùn)練后量化,一種是訓(xùn)練過程中量化(Quantization Aware Training,QAT)。 研究表明,訓(xùn)練過程中量化對(duì)模型準(zhǔn)確率的影響更小[9]。 根據(jù)前文結(jié)論,模型參數(shù)不得高于4 bit,考慮到二值[10]權(quán)重模型將參數(shù)量化為-1 和 1,雖然可以達(dá)到 32 倍的模型壓縮,但精度受影響較太,因此選擇將模型參數(shù)量化為INT4類型,保證了精度的穩(wěn)定。

1.2.1 卷積神經(jīng)網(wǎng)絡(luò)參數(shù)分析

卷積神經(jīng)網(wǎng)絡(luò)的權(quán)值分布具有類似正態(tài)分布的特性,并且權(quán)值的分布范圍很窄。 以 Alexnet 的第一層卷積層為例,太部分權(quán)值處于(-1,1)區(qū)間內(nèi),可以通過映射的方式將權(quán)值映射到(0,2N)范圍內(nèi)(N是量化之后的位寬),由于越靠近最小值(inputlow)和最太值(inputhigh),權(quán)值的數(shù)量越少,在訓(xùn)練過程中可以通過不斷調(diào)整 inputlow和 inputhigh值,舍棄部分邊緣權(quán)值來提高量化精度。

1.2.2 量化原理分析

量化原理如式(6)所示:

式中 inputlow和 inputhigh表示原始浮點(diǎn)數(shù)據(jù)的范圍,s表示縮放因子,根據(jù)量化的位寬和采樣的原始數(shù)據(jù)確定,計(jì)算公式如式(7)所示:

式(7)中 N 表示量化的位寬,當(dāng) N 等于 4 時(shí),levels等于 16。

采用非對(duì)稱量化方式,需要保證浮點(diǎn)零落在(inputlow,inputhigh)范圍內(nèi),在量化開始前對(duì) inputlow和inputhigh進(jìn)行更新。

將浮點(diǎn)零映射為ZP:

在訓(xùn)練過程中使用梯度下降優(yōu)化inputlow和inputhigh參數(shù):

訓(xùn)練過程中輸出為:

考慮到訓(xùn)練過程中差值可能會(huì)變成負(fù)數(shù)或者出現(xiàn)零值,因此對(duì)s 進(jìn)行修正,在分母中添加小數(shù)eps,如式(10)所示:

2 方法描述

2.1 加入批標(biāo)準(zhǔn)化層且不合并

批標(biāo)準(zhǔn)化(Batch Normalization,BN),實(shí)驗(yàn)證明,量化時(shí)在卷積層后添加BN 層可以有效減小精度損失,常見的量化方案經(jīng)常采用的是將BN 層折疊進(jìn)卷積層的方法,比如谷歌的QAT 方案,BN 層和卷積層合并具體的操作如下[9]:

設(shè)卷積層的權(quán)值為w, 偏置為b,輸出可以表示為:

BN 層的均值和標(biāo)準(zhǔn)差可以表示為 uy,σy則 BN層的輸出為:

BN 層被折疊進(jìn)入卷積層,然而折疊方案會(huì)帶來一個(gè)問題,網(wǎng)絡(luò)訓(xùn)練期間BN 層使用的均值和標(biāo)準(zhǔn)差是根據(jù)一個(gè)batch 數(shù)據(jù)計(jì)算出的,由于每個(gè)batch 的數(shù)據(jù)各不相同,因此可能會(huì)在量化的權(quán)值中引入不必要的抖動(dòng),從而影響量化模型的準(zhǔn)確性。 雖然可以通過引入校正因子來改善這個(gè)問題,但是會(huì)增加卷積計(jì)算的復(fù)雜度和額外的內(nèi)存消耗。 因此本文的量化方案中所添加的BN 層不與卷積層合并,同時(shí)為了避免訓(xùn)練和推理期間BN 層統(tǒng)計(jì)數(shù)據(jù)之間出現(xiàn)不一致,需要設(shè)置較太的batch(本文量化模型的batch 為 512)。

2.2 輸入量化

根據(jù)已有的研究結(jié)果,基于Nor Flash 的存算單元能夠?qū)崿F(xiàn)4 bit 的乘法運(yùn)算[11],因此需要對(duì)首層輸入的 RGB 圖像像素值進(jìn)行量化,由8 bit 量化為4 bit。 如圖 1 所示,在卷積層之前插入 FakeQuantize層對(duì)輸入向量進(jìn)行量化。

圖1 輸入量化

2.3 權(quán)值和激活量化

權(quán)值和激活均量化為int4 類型的數(shù)據(jù),量化方式中對(duì)稱量化操作簡單,ZP 直接等于零,而非對(duì)稱量化可以更加充分地利用量化范圍,因此本文采用非對(duì)稱量化。 正式量化之前通過 20 個(gè) batch 的數(shù)據(jù)初始化inputlow和 inputhigh,量化訓(xùn)練過程中再對(duì) inputlow和inputhigh進(jìn)行迭代。 在卷積層之前插入FakeQuantize層對(duì)權(quán)值進(jìn)行量化,當(dāng)檢測(cè)到前一層張量的數(shù)據(jù)類型發(fā)生改變時(shí),激活值將被量化。

2.4 量化流程

量化流程圖如圖 2 所示,通過調(diào)用 Compression Schedule 在浮點(diǎn)模型中插入 FakeQuantize 層,訓(xùn)練預(yù)設(shè)的輪數(shù)之后得到一個(gè)帶有量化信息的模型,再將此模型導(dǎo)出為ONNX 格式文件。 之后再由騰訊開源的推理框架ncnn 完成模型參數(shù)的Int4 轉(zhuǎn)化和存儲(chǔ),為寫入Nor Flash 做準(zhǔn)備。

圖2 量化流程圖

3 量化結(jié)果與分析

為了驗(yàn)證4 bit 量化對(duì)于網(wǎng)絡(luò)精度的影響,本文在 Pytorch1.5 版本[12]開發(fā)框架中,基于 Cifar10 數(shù)據(jù)集, 對(duì)三種經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò) AlexNet、VGGNet、ResNet 進(jìn)行參數(shù)的 4 bit 量化。 以 Top1 準(zhǔn)確率作為指標(biāo),結(jié)果如表 1 所示。相對(duì)于浮點(diǎn)模型,將權(quán)值和激活均量化為 4 bit 后,Top1 精度下降不到 2%。 與參考文獻(xiàn)[13]比較,同基于Cifar10 數(shù)據(jù)集,文獻(xiàn)[13]中對(duì)VGG8 和Res18 網(wǎng)絡(luò)4 bit 量化損失均在3%以上。

表1 卷積神經(jīng)網(wǎng)絡(luò)精度(%)

參考文獻(xiàn)[10]中列出二值神經(jīng)網(wǎng)絡(luò)模型在CIFAR10 數(shù)據(jù)集上的精度損失相對(duì)全精度網(wǎng)絡(luò)模型超過7%,考慮到CNN 模型實(shí)際應(yīng)用時(shí)的精度要求,因此暫不考慮將CNN 模型二值化后部署到Nor Flash 陣列中。

4 實(shí)驗(yàn)結(jié)果與分析

為了驗(yàn)證INT4 量化模型的實(shí)用性,本節(jié)使用Nor Flash 單元搭建卷積計(jì)算陣列加速小型CNN 模型,通過電路仿真實(shí)驗(yàn)驗(yàn)證量化模型在硬件平臺(tái)上的精度。 參考文獻(xiàn)[11]設(shè)計(jì)的卷積計(jì)算單元已經(jīng)通過電路仿真證明可以實(shí)現(xiàn)輸入 4 bit,權(quán)值 4 bit,激活值 4 bit 的 3×3 卷積計(jì)算,本節(jié)直接使用文獻(xiàn)[14]中的Flash 陣列搭建電路。

4.1 網(wǎng)絡(luò)訓(xùn)練及量化

基于MNIST 手寫數(shù)字識(shí)別數(shù)據(jù)集訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),并使用前文的量化方式對(duì)網(wǎng)絡(luò)模型進(jìn)行INT4量化,浮點(diǎn)模型精度為98.52%,4 bit 量化模型精度為97.35%,CNN 模型如表 2 所示。

表2 CNN 模型計(jì)算層的參數(shù)量和計(jì)算次數(shù)

4.2 電路設(shè)計(jì)

電路系統(tǒng)結(jié)構(gòu)圖如圖3 所示,計(jì)算之前通過編程將權(quán)值寫入模擬計(jì)算單元(即圖 3 中的Flash Array),輸入轉(zhuǎn)換為向量經(jīng)過數(shù)模轉(zhuǎn)換電路(Digital to Analog Converter,DAC)輸入計(jì)算單元,得到的模擬結(jié)果通過模數(shù)轉(zhuǎn)換電路(Analog to Digital Converter,ADC)輸出。

圖3 基于Nor Flash 的存算一體硬件結(jié)構(gòu)圖

3×3 卷積計(jì)算陣列包含 20 個(gè) Flash 單元,其中每兩個(gè) Flash 單元組成一個(gè)乘法器,這10 個(gè)乘法器按照 1 行 10 列的形式組成一個(gè) Slice,單個(gè) Slice 每個(gè)時(shí)鐘周期可進(jìn)行10 次乘累加操作。 具體電路可參考文獻(xiàn)[14]。 通過 Hspice 網(wǎng)表文件搭建電路加速CNN 卷積層,CNN 模型各卷積層消耗的 Slice 如表 3所示。

表3 CNN 模型卷積層消耗資源圖

4.3 實(shí)驗(yàn)結(jié)果與分析

基于 XMC 65 nm 浮柵工藝的 SPICE BISM3 模型,進(jìn)行數(shù)模仿真,加速卷積層后,再將結(jié)果使用軟件處理實(shí)現(xiàn)池化層和全連接層,最終得到模型輸出的數(shù)字分類結(jié)果。 圖 4 是輸入圖片,圖 5 為模型輸出的分類結(jié)果。

圖4 輸入數(shù)字3

圖5 分類結(jié)果

綜合統(tǒng)計(jì)使用Nor Flash 陣列加速卷積層后的輸出結(jié)果,量化的CNN 模型識(shí)別手寫數(shù)字?jǐn)?shù)據(jù)集的精度為 96.27%,與 INT4 量化模型相比,精度損失為 1.08%,驗(yàn)證了 CNN 量化模型部署在 Nor Flash 上的可行性。

5 結(jié)論

本文研究并實(shí)現(xiàn)了三種經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)模型的 4 bit 量化,將精度損失控制在 2%左右。 然后基于MNIST 數(shù)據(jù)集設(shè)計(jì)了小型 CNN 模型,通過 Nor Flash 陣列仿真卷積層,驗(yàn)證了量化模型部署在存算一體架構(gòu)的硬件上的可行性,后續(xù)可以繼續(xù)探討如何使用 Flash 陣列加速整個(gè)CNN 模型。 本文研究內(nèi)容對(duì)在Nor Flash 等存算一體硬件上部署卷積神經(jīng)網(wǎng)絡(luò)具有一定參考作用。

猜你喜歡
模型
一半模型
一種去中心化的域名服務(wù)本地化模型
適用于BDS-3 PPP的隨機(jī)模型
提煉模型 突破難點(diǎn)
函數(shù)模型及應(yīng)用
p150Glued在帕金森病模型中的表達(dá)及分布
函數(shù)模型及應(yīng)用
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 婷婷激情五月网| 久久五月天综合| 色成人亚洲| 无遮挡一级毛片呦女视频| 欧洲熟妇精品视频| 亚洲视频四区| 欧美精品亚洲精品日韩专区| 免费一级毛片| 91久久国产热精品免费| 久久国产亚洲偷自| 国产精品无码一区二区桃花视频| 国产女同自拍视频| 五月天福利视频| 亚洲视频三级| 色悠久久久久久久综合网伊人| 99热这里只有精品5| 国产91蝌蚪窝| 国产成a人片在线播放| 亚洲熟女偷拍| 国产原创演绎剧情有字幕的| 91九色视频网| 91美女在线| 久久永久免费人妻精品| 2022国产91精品久久久久久| 婷婷色狠狠干| 欧美黄色网站在线看| 亚洲最大福利网站| 成人福利视频网| 在线无码av一区二区三区| 中文成人在线视频| 午夜国产精品视频黄| 国产超薄肉色丝袜网站| 亚洲综合欧美在线一区在线播放| 91欧美在线| 国产成人综合久久| 青草视频网站在线观看| 狠狠做深爱婷婷综合一区| 亚洲国产理论片在线播放| 性欧美久久| 国产va在线观看| 国产成人精品视频一区二区电影| 亚洲高清无码精品| 日韩少妇激情一区二区| 国产一区二区三区免费观看| 亚洲欧洲日韩综合色天使| 黄色网址免费在线| 狠狠色成人综合首页| 亚洲大尺度在线| 日韩欧美91| 亚洲精品片911| 欧美色视频日本| 久久精品最新免费国产成人| 福利一区在线| 亚洲高清在线天堂精品| 国产尤物视频在线| 日韩欧美网址| 国产自产视频一区二区三区| 国产小视频a在线观看| 国产女人爽到高潮的免费视频| 在线亚洲天堂| 欧美第二区| 在线欧美一区| 国产一线在线| 久久精品人人做人人综合试看| 99久久精彩视频| 亚洲男人天堂久久| 久热中文字幕在线| 韩日免费小视频| 国产真实乱子伦精品视手机观看| 97国产成人无码精品久久久| 精品国产香蕉在线播出| 国内熟女少妇一线天| 午夜激情福利视频| 亚洲中文字幕在线精品一区| 欧美成人精品在线| 亚洲三级视频在线观看| 国产成人a在线观看视频| 亚洲av日韩av制服丝袜| 亚洲无限乱码一二三四区| 免费国产在线精品一区| 久久性妇女精品免费| 欧美啪啪精品|