0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

存內(nèi)計(jì)算芯片研究進(jìn)展以及應(yīng)用-以基于Nor Flash的卷積神經(jīng)網(wǎng)絡(luò)量化以及部署

廖慧敏 ? 來源:jf_13681693 ? 作者:jf_13681693 ? 2024-05-17 14:19 ? 次閱讀

@[toc]

如果我能看得更遠(yuǎn)一點(diǎn)的話,那是因?yàn)槲艺驹诰奕说募绨蛏稀?—牛頓

存內(nèi)計(jì)算的背景

存內(nèi)計(jì)算是一種革新性的計(jì)算范式,旨在克服傳統(tǒng)馮·諾依曼架構(gòu)的局限性。隨著大數(shù)據(jù)時(shí)代的到來,傳統(tǒng)的馮·諾依曼架構(gòu)由于處理單元和存儲(chǔ)器互相分離,帶來了巨大的延時(shí)和能耗,承受著高昂的數(shù)據(jù)傳輸成本,即所謂的“馮·諾依曼瓶頸”。為了解決這個(gè)問題,存內(nèi)計(jì)算應(yīng)運(yùn)而生。

存內(nèi)計(jì)算架構(gòu)在功能和物理上合并了數(shù)據(jù)處理和存儲(chǔ)單元,在數(shù)據(jù)存儲(chǔ)的位置即處理數(shù)據(jù),在器件層面以原位的方式執(zhí)行計(jì)算。這種方式可以避免頻繁的數(shù)據(jù)通信,從而減少相應(yīng)的延時(shí)和能耗。存儲(chǔ)器是存內(nèi)計(jì)算的核心器件,這種架構(gòu)的需求同時(shí)也促進(jìn)了新型非易失性存儲(chǔ)器(NVM)的發(fā)展。

早期,由于大數(shù)據(jù)、人工智能云計(jì)算等需要大量數(shù)據(jù)處理的應(yīng)用還沒展開,存內(nèi)計(jì)算僅僅停留在理論研究階段,并未實(shí)現(xiàn)實(shí)際的應(yīng)用。然而,近年來隨著這些應(yīng)用的興起,人們?cè)俅侮P(guān)注存內(nèi)計(jì)算的研究。世界知名的IC企業(yè)和高校都推出了存內(nèi)計(jì)算的架構(gòu)。

存內(nèi)計(jì)算的研究還涉及模擬式憶阻器等重要器件,這些器件可以支持各種模擬計(jì)算應(yīng)用,包括人工神經(jīng)網(wǎng)絡(luò)(ANN)、機(jī)器學(xué)習(xí)、科學(xué)計(jì)算和數(shù)字圖像處理等,展現(xiàn)出了突出的潛力。

首個(gè)存內(nèi)計(jì)算開發(fā)者社區(qū)-CSDN存內(nèi)計(jì)算

全球首個(gè)存內(nèi)計(jì)算社區(qū)創(chuàng)立,涵蓋最豐富的存內(nèi)計(jì)算內(nèi)容,以存內(nèi)計(jì)算技術(shù)為核心,絕無僅有存內(nèi)技術(shù)開源內(nèi)容,囊括云/邊/端側(cè)商業(yè)化應(yīng)用解析以及新技術(shù)趨勢(shì)洞察等, 邀請(qǐng)業(yè)內(nèi)大咖定期舉辦線下存內(nèi)workshop,實(shí)戰(zhàn)演練體驗(yàn)前沿架構(gòu);從理論到實(shí)踐,做為最佳窗口,存內(nèi)計(jì)算讓你觸手可及。
傳送門:[https://bbs.csdn.net/forums/computinginmemory?category=10003]
社區(qū)最新活動(dòng)存內(nèi)計(jì)算大使招募中,享受社區(qū)資源傾斜,打造屬于你的個(gè)人品牌,點(diǎn)擊下方一鍵加入。
[https://bbs.csdn.net/topics/617915760]

首個(gè)存內(nèi)計(jì)算開發(fā)者社區(qū),0門檻新人加入,發(fā)文享積分兌超值禮品;
成為存內(nèi)計(jì)算大使,享受資源支持與激勵(lì),打造亮眼個(gè)人品牌,共同引流存內(nèi)計(jì)算潮流。

存算一體技術(shù)發(fā)展歷程

存算一體技術(shù),也稱為近存計(jì)算與存內(nèi)計(jì)算,其概念最早在1969年被提出。這種技術(shù)旨在克服傳統(tǒng)馮·諾依曼架構(gòu)的局限性,通過在存儲(chǔ)器中直接進(jìn)行計(jì)算,減少數(shù)據(jù)傳輸?shù)拈_銷。然而,早期由于缺乏大數(shù)據(jù)處理的應(yīng)用需求以及芯片制造成本高昂,存算一體技術(shù)主要停留在研究階段。

計(jì)算架構(gòu)的演變示意圖如下:
在這里插入圖片描述

隨著技術(shù)的發(fā)展,尤其是摩爾定律的逐漸失效和大數(shù)據(jù)應(yīng)用的驅(qū)動(dòng),存算一體技術(shù)重新受到關(guān)注。2015年以來,這一領(lǐng)域的研究取得了顯著進(jìn)展,涌現(xiàn)出了一系列相關(guān)研究工作,包括基于SRAM、DRAM、Flash、ReRAM、PCM、FeFET、MRAM等各種存儲(chǔ)介質(zhì)的研究。

存內(nèi)計(jì)算芯片8 bit精度運(yùn)算測(cè)試結(jié)果如下圖:
在這里插入圖片描述

存算一體技術(shù)被認(rèn)為是先進(jìn)算力的代表性技術(shù)之一。在學(xué)術(shù)界和工業(yè)界,許多知名機(jī)構(gòu)都在積極開展存算一體芯片或系統(tǒng)原型的研究,如蘇黎世聯(lián)邦理工學(xué)院、加利福尼亞大學(xué)圣巴巴拉分校、英偉達(dá)、英特爾、微軟、三星等。這些研究工作不僅在學(xué)術(shù)期刊上發(fā)表了一系列研究成果,也在國際會(huì)議上得到了廣泛關(guān)注。
基于不同存儲(chǔ)介質(zhì)的計(jì)算架構(gòu)演變圖如下:
在這里插入圖片描述

存算一體技術(shù)的發(fā)展歷程表明,盡管早期受到技術(shù)和成本等方面的限制,但隨著大數(shù)據(jù)和人工智能等應(yīng)用的興起,這一領(lǐng)域的研究已經(jīng)取得了顯著進(jìn)展,并被認(rèn)為是未來計(jì)算架構(gòu)的重要方向之一。

存內(nèi)計(jì)算芯片研究現(xiàn)狀

存內(nèi)計(jì)算芯片可以根據(jù)計(jì)算范式和存儲(chǔ)介質(zhì)的不同進(jìn)行分類。主要分為模擬式和數(shù)字式兩種,根據(jù)存儲(chǔ)介質(zhì)的不同又可分為基于傳統(tǒng)存儲(chǔ)器和基于新型非易失性存儲(chǔ)器兩種。

  1. 計(jì)算范式分類:
    • 模擬式存內(nèi)計(jì)算: 在此類存內(nèi)計(jì)算中,存儲(chǔ)單元內(nèi)部或陣列周邊的信號(hào)以模擬信號(hào)的方式進(jìn)行操作。這意味著計(jì)算過程中采用模擬信號(hào),其中的運(yùn)算是以連續(xù)的模擬形式進(jìn)行的。
    • 數(shù)字式存內(nèi)計(jì)算: 在數(shù)字式存內(nèi)計(jì)算中,存儲(chǔ)單元內(nèi)部或陣列周邊的信號(hào)以數(shù)字信號(hào)的方式進(jìn)行操作。實(shí)際運(yùn)算過程中,信號(hào)以離散的數(shù)字形式進(jìn)行計(jì)算。
  2. 存儲(chǔ)介質(zhì)分類:
    • 基于傳統(tǒng)存儲(chǔ)器的存內(nèi)計(jì)算芯片: 包括使用傳統(tǒng)存儲(chǔ)器技術(shù)的存內(nèi)計(jì)算芯片,如SRAM(靜態(tài)隨機(jī)存儲(chǔ)器)、DRAM(動(dòng)態(tài)隨機(jī)存儲(chǔ)器)和Flash等。這些技術(shù)已經(jīng)被廣泛應(yīng)用于存內(nèi)計(jì)算領(lǐng)域。
    • 基于新型非易失性存儲(chǔ)器的存內(nèi)計(jì)算芯片: 包括使用新型非易失性存儲(chǔ)器技術(shù)的存內(nèi)計(jì)算芯片,如ReRAM(電阻隨機(jī)存儲(chǔ)器)、PCM(相變存儲(chǔ)器)、FeFET(鐵電場(chǎng)效應(yīng)晶體管)和MRAM(磁阻存儲(chǔ)器)等。這些新型存儲(chǔ)器具有一些優(yōu)勢(shì),如更低的功耗、更高的穩(wěn)定性等。

在當(dāng)前的研究工作中,許多存內(nèi)計(jì)算芯片綜合了模擬和數(shù)字兩種運(yùn)算方式,并且在存儲(chǔ)介質(zhì)的選擇上也有很多不同的組合。其中,基于NOR Flash和基于SRAM的存內(nèi)計(jì)算芯片距離產(chǎn)業(yè)化較近,已經(jīng)在一些應(yīng)用中取得了一定的進(jìn)展。

在這里插入圖片描述

SRAM存內(nèi)計(jì)算

基于SRAM的存內(nèi)計(jì)算芯片通常以典型的6T(6-Transistor)基本單元為基礎(chǔ)。由于SRAM是二值存儲(chǔ)器,它可以用于二值乘累加運(yùn)算,這等效于同或累加運(yùn)算。這使得它適用于二值神經(jīng)網(wǎng)絡(luò)運(yùn)算。核心思想是將網(wǎng)絡(luò)權(quán)重存儲(chǔ)于SRAM單元中,激勵(lì)信號(hào)從字線給入,最終利用外圍電路實(shí)現(xiàn)同或累加運(yùn)算。結(jié)果可以通過計(jì)數(shù)器或模擬電流/電壓輸出。

如果要實(shí)現(xiàn)多比特精度運(yùn)算,通常需要多個(gè)單元進(jìn)行拼接,這不可避免地會(huì)帶來面積開銷。對(duì)6T基本單元的一個(gè)簡(jiǎn)單修改是將字線進(jìn)行拆分。此外,為了解決讀寫干擾問題,可以采用8T基本單元,但這明顯增加了布局面積,如圖所示。

基于SRAM的存內(nèi)計(jì)算技術(shù)由于其工藝成熟度與微縮性良好,受到業(yè)界的高度關(guān)注。在近幾年的ISSCC(國際固態(tài)電路大會(huì))上,連續(xù)報(bào)道了多篇相關(guān)論文。例如,2021年,存內(nèi)計(jì)算共有兩個(gè)分論壇,共收錄8篇論文,其中5篇是關(guān)于SRAM存內(nèi)計(jì)算芯片的。在2022年的ISSCC中,北京大學(xué)提出了一種基于動(dòng)態(tài)邏輯且無模數(shù)轉(zhuǎn)換器的SRAM存內(nèi)計(jì)算芯片[42]。SRAM存內(nèi)計(jì)算技術(shù)的主要應(yīng)用難點(diǎn)在于在保證運(yùn)算精度的前提下,實(shí)現(xiàn)高算力和小面積。
在這里插入圖片描述

DRAM存內(nèi)計(jì)算

基于DRAM的存內(nèi)計(jì)算芯片的層次結(jié)構(gòu)通常分為陣列、子陣列和單元。一組陣列由若干子陣列和用于讀寫操作的相關(guān)外圍電路組成,而子陣列則包含若干行1T1C(1-Transistor-1-Capacitor)單元、感知放大器和本地解碼器。其基本原理是利用DRAM單元之間的電荷共享機(jī)制。圖4展示了一種典型的實(shí)現(xiàn)方案,當(dāng)多行單元同時(shí)被選通時(shí),不同單元之間因?yàn)榇鎯?chǔ)數(shù)據(jù)的不同會(huì)產(chǎn)生電荷交換共享,從而實(shí)現(xiàn)邏輯運(yùn)算。

然而,DRAM存內(nèi)計(jì)算方案面臨兩個(gè)主要難點(diǎn)。首先,由于DRAM本身為易失性存儲(chǔ)器,計(jì)算操作會(huì)破壞數(shù)據(jù),因此需要在每次運(yùn)算后進(jìn)行刷新,這會(huì)帶來額外的功耗問題。其次,在實(shí)現(xiàn)大陣列運(yùn)算時(shí),難以保證運(yùn)算精度,這可能在一定程度上影響其應(yīng)用的可靠性。

盡管存在這些難點(diǎn),基于DRAM的存內(nèi)計(jì)算方案仍然具有潛在的優(yōu)勢(shì),包括其相對(duì)較低的成本和高度集成的能力。不斷的研究和創(chuàng)新可能有助于解決這些難題,使其更加適用于特定的應(yīng)用場(chǎng)景。
在這里插入圖片描述

ReRAM/PCM存內(nèi)計(jì)算

ReRAM(電阻隨機(jī)存儲(chǔ)器)/PCM(相變存儲(chǔ)器)存內(nèi)計(jì)算的基本原理是利用存儲(chǔ)單元的模擬多比特特性,通過基于電流/電壓的歐姆定律與基爾霍夫定律進(jìn)行矩陣乘加運(yùn)算。主要有兩種實(shí)現(xiàn)方案,分別是1T1R(1-transistor-1-resistance)結(jié)構(gòu)和交叉陣列結(jié)構(gòu),如圖所示。

  • 1T1R結(jié)構(gòu): 使用1T1R結(jié)構(gòu),即一個(gè)晶體管和一個(gè)電阻組成一個(gè)存儲(chǔ)單元。這種結(jié)構(gòu)通過控制電流或電壓,可以實(shí)現(xiàn)對(duì)存儲(chǔ)單元的狀態(tài)調(diào)控,進(jìn)而進(jìn)行計(jì)算操作。
  • 交叉陣列結(jié)構(gòu): 利用ReRAM能夠?qū)崿F(xiàn)大規(guī)模交叉點(diǎn)陣列,將存儲(chǔ)單元排列成交叉的結(jié)構(gòu)。這樣的陣列結(jié)構(gòu)可以進(jìn)行并行計(jì)算,提高計(jì)算效率。

自2008年ReRAM首次實(shí)驗(yàn)發(fā)現(xiàn)以來,基于ReRAM的存內(nèi)計(jì)算研究不斷涌現(xiàn)。特別是在2020年,清華大學(xué)研發(fā)了基于多個(gè)ReRAM陣列的存內(nèi)計(jì)算系統(tǒng),該系統(tǒng)在手寫數(shù)字集上的識(shí)別準(zhǔn)確率達(dá)到96.19%,與軟件的識(shí)別準(zhǔn)確率相當(dāng),證明了存內(nèi)計(jì)算架構(gòu)全硬件實(shí)現(xiàn)的可行性。測(cè)試芯片如圖所示。

盡管ReRAM存內(nèi)計(jì)算技術(shù)具有廣闊的應(yīng)用潛力,但目前仍面臨一些挑戰(zhàn)。其中主要難點(diǎn)包括工藝尚不夠成熟、多比特精度實(shí)現(xiàn)較為困難以及一致性和魯棒性較差。隨著技術(shù)的不斷發(fā)展,這些問題有望在未來得到解決,推動(dòng)ReRAM存內(nèi)計(jì)算技術(shù)的進(jìn)一步應(yīng)用和成熟。
在這里插入圖片描述

MRAM存內(nèi)計(jì)算

MRAM(磁性隨機(jī)存儲(chǔ)器)存內(nèi)計(jì)算主要有兩種技術(shù)方案:

  1. 基于讀/寫操作的數(shù)字式存內(nèi)計(jì)算: 早期的MRAM存內(nèi)計(jì)算多采用數(shù)字式方案。例如,在2015年,日本東北大學(xué)提出了一種基于讀操作實(shí)現(xiàn)多種布爾邏輯的方案,并通過實(shí)驗(yàn)驗(yàn)證獲得了48.3%的能效提升。此外,在2019年,北京航空航天大學(xué)提出了基于單次寫操作的數(shù)字式MRAM存內(nèi)計(jì)算方案,實(shí)現(xiàn)計(jì)算結(jié)果原位存儲(chǔ)的同時(shí)降低了延時(shí)和功耗。
  2. 基于基爾霍夫電流定律和歐姆定律的模擬式存內(nèi)計(jì)算: 近年來,隨著計(jì)算范式、器件和電路的創(chuàng)新,MRAM模擬存內(nèi)計(jì)算得到了迅速發(fā)展。在2021年,美國普林斯頓大學(xué)通過電路級(jí)優(yōu)化,實(shí)現(xiàn)了第一款基于STT-MRAM的模擬存內(nèi)計(jì)算硬核。而在2022年,韓國三星公司在Nature期刊上發(fā)表了基于電阻累加方案的MRAM模擬存內(nèi)計(jì)算芯片原型,并取得了最高405 TOPS/W的能效比。該芯片的陣列布局圖、顯微圖和結(jié)構(gòu)如圖所示。
    在這里插入圖片描述

模擬式存內(nèi)計(jì)算在MRAM中的難點(diǎn)主要體現(xiàn)在器件的阻值相對(duì)較小(約幾千歐姆)以及高低阻值比率相對(duì)較?。s250%),這使得實(shí)現(xiàn)多比特精度較為困難。然而,通過多層次的創(chuàng)新突破,MRAM模擬存內(nèi)計(jì)算技術(shù)在最近取得了顯著的進(jìn)展。

NOR Flash存內(nèi)計(jì)算

基于NOR Flash的存內(nèi)計(jì)算技術(shù)原理與ReRAM相似,如圖所示。目前,NOR Flash存內(nèi)計(jì)算芯片技術(shù)相對(duì)較成熟,并已于2021年實(shí)現(xiàn)量產(chǎn)。美國的Mythic和國內(nèi)的知存科技都推出了基于NOR Flash的存內(nèi)計(jì)算芯片產(chǎn)品

  • Mythic M1076芯片: Mythic推出了M1076芯片,如圖所示。這款芯片采用NOR Flash存內(nèi)計(jì)算技術(shù),具有嵌入式AI推理能力,適用于各種端側(cè)設(shè)備,如攝像頭、傳感器和邊緣計(jì)算設(shè)備等。
  • 知存科技WTM2101芯片: 知存科技推出了WTM2101量產(chǎn)SoC芯片,如圖所示。該芯片基于NOR Flash存內(nèi)計(jì)算技術(shù),具有邊緣AI計(jì)算能力,適用于智能攝像頭、智能家居等場(chǎng)景,實(shí)現(xiàn)了高效的本地AI處理。

這些NOR Flash存內(nèi)計(jì)算芯片的推出表明該技術(shù)已經(jīng)進(jìn)入商業(yè)化階段,成為實(shí)際應(yīng)用的一部分。這種技術(shù)的優(yōu)勢(shì)在于其相對(duì)成熟的制造工藝和較低的成本,使其成為在端側(cè)設(shè)備中進(jìn)行AI計(jì)算的有力選擇。
在這里插入圖片描述

基于 NOR Flash 的卷積神經(jīng)網(wǎng)絡(luò)量化

基于 NOR Flash 陣列實(shí)現(xiàn)模擬乘法的原理結(jié)合浮柵單元的存儲(chǔ)特點(diǎn),以實(shí)現(xiàn) 4 位(即網(wǎng)絡(luò)正向傳播時(shí)只存在精度為 4 位的計(jì)算)的卷積神經(jīng)網(wǎng)絡(luò)模型,采用基于動(dòng)態(tài)閾值調(diào)整的量化方法。這個(gè)方法主要涉及神經(jīng)網(wǎng)絡(luò)量化時(shí)的參數(shù)(權(quán)值 w 和偏置 b)以及激活函數(shù)的不同量化方案。

  1. 參數(shù)量化: 在訓(xùn)練過程中,采樣浮點(diǎn)參數(shù)的閾值多次,以改變縮放因子,使得量化的映射更加精確。通過動(dòng)態(tài)調(diào)整閾值,可以更好地適應(yīng)不同參數(shù)的取值范圍,提高量化的準(zhǔn)確性。
  2. 激活函數(shù)的量化: 針對(duì)激活函數(shù),引入可學(xué)習(xí)的參數(shù),在 ReLU(Rectified Linear Unit)激活函數(shù)中,使激活的量化可以根據(jù)實(shí)際情況在反向傳播過程中不斷更新,以提高量化精度。這樣的調(diào)整可以根據(jù)網(wǎng)絡(luò)的訓(xùn)練過程中動(dòng)態(tài)變化的激活值來調(diào)整量化的參數(shù),以適應(yīng)不同的輸入情況。

這種基于 NOR Flash 陣列和浮柵單元的量化方法可以在訓(xùn)練過程中動(dòng)態(tài)地調(diào)整閾值和參數(shù),以適應(yīng)不同的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和輸入數(shù)據(jù)的變化,提高量化的精度,同時(shí)降低模型的計(jì)算和存儲(chǔ)開銷。這種動(dòng)態(tài)的量化方法有望在實(shí)際的卷積神經(jīng)網(wǎng)絡(luò)模型中取得更好的性能。
在這里插入圖片描述

卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)

在這里插入圖片描述
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是一類專門用于處理具有類似網(wǎng)格結(jié)構(gòu)的數(shù)據(jù)的深度學(xué)習(xí)模型,特別適用于圖像和視頻的處理。以下是卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu):

  1. 輸入層(Input Layer): 輸入層負(fù)責(zé)接收原始數(shù)據(jù),通常是圖像的像素值。每個(gè)輸入節(jié)點(diǎn)對(duì)應(yīng)圖像中的一個(gè)像素或一組像素。
  2. 卷積層(Convolutional Layer): 卷積層是卷積神經(jīng)網(wǎng)絡(luò)的核心部分。它通過使用卷積操作從輸入數(shù)據(jù)中提取特征。卷積操作是通過濾波器(也稱為卷積核)在輸入數(shù)據(jù)上滑動(dòng)并執(zhí)行元素乘法和求和來實(shí)現(xiàn)的。這有助于捕捉輸入中的局部特征,同時(shí)減少網(wǎng)絡(luò)參數(shù)的數(shù)量。
  3. 激活函數(shù)層(Activation Layer): 卷積操作的結(jié)果通常通過一個(gè)激活函數(shù)進(jìn)行非線性變換,以引入網(wǎng)絡(luò)的非線性特性。常見的激活函數(shù)包括ReLU(Rectified Linear Unit)和Sigmoid等。
  4. 池化層(Pooling Layer): 池化層用于減小特征圖的空間維度,減少計(jì)算復(fù)雜度并使網(wǎng)絡(luò)對(duì)平移更加不變。常見的池化操作包括最大池化和平均池化。
  5. 全連接層(Fully Connected Layer): 全連接層負(fù)責(zé)整合之前層的信息,并將其映射到輸出層。每個(gè)節(jié)點(diǎn)與前一層的所有節(jié)點(diǎn)相連,引入了全局信息。
  6. 輸出層(Output Layer): 輸出層負(fù)責(zé)生成網(wǎng)絡(luò)的最終輸出,通常對(duì)應(yīng)于問題的類別數(shù)。對(duì)于分類問題,輸出層通常使用softmax激活函數(shù),對(duì)每個(gè)類別產(chǎn)生一個(gè)概率分布。

上述結(jié)構(gòu)構(gòu)成了一個(gè)基本的卷積神經(jīng)網(wǎng)絡(luò)的層次結(jié)構(gòu)。在實(shí)際應(yīng)用中,人們通常會(huì)堆疊多個(gè)這樣的層次,形成深層的網(wǎng)絡(luò)結(jié)構(gòu),以提高模型的學(xué)習(xí)能力和表示能力。深層卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)在圖像識(shí)別、目標(biāo)檢測(cè)語音識(shí)別等領(lǐng)域取得了顯著的成果。

一維卷積:
在這里插入圖片描述

二維卷積:
在這里插入圖片描述

三維卷積:
在這里插入圖片描述

卷積神經(jīng)網(wǎng)絡(luò)量化方法研究

基于動(dòng)態(tài)閾值調(diào)整的量化方法,主要針對(duì)神經(jīng)網(wǎng)絡(luò)中的參數(shù)和激活值的量化。以下是該方法的主要步驟:

  1. 參數(shù)量化: 針對(duì)模型的權(quán)重(參數(shù)),不斷采樣浮點(diǎn)參數(shù),并在反向傳播過程中更新浮點(diǎn)參數(shù)的閾值范圍。通過這種方式,動(dòng)態(tài)地調(diào)整映射系數(shù),使得參數(shù)的量化能夠更好地適應(yīng)模型的變化。
  2. 激活量化: 針對(duì)激活值,引入可學(xué)習(xí)的截?cái)鄥?shù)。在激活函數(shù)中,通過學(xué)習(xí)可調(diào)整的截?cái)鄥?shù),使激活函數(shù)能夠在訓(xùn)練過程中不斷學(xué)習(xí),并確定最佳的截?cái)辔恢谩_@有助于提高激活值的量化精度。
  3. BN層處理: 針對(duì)批量歸一化(Batch Normalization,BN)層的浮點(diǎn)計(jì)算過程,提供相應(yīng)的處理方案。BN層通常用于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,而在量化神經(jīng)網(wǎng)絡(luò)中,需要特殊的處理方式來實(shí)現(xiàn)全整數(shù)計(jì)算。

該方法通過動(dòng)態(tài)調(diào)整參數(shù)的映射系數(shù)和引入可學(xué)習(xí)的截?cái)鄥?shù),實(shí)現(xiàn)了對(duì)神經(jīng)網(wǎng)絡(luò)的全整數(shù)計(jì)算的量化。這有助于減小神經(jīng)網(wǎng)絡(luò)在推理階段的計(jì)算復(fù)雜度,適應(yīng)特定硬件或嵌入式設(shè)備的需求。

這些措施的目標(biāo)是在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中,通過動(dòng)態(tài)調(diào)整閾值和引入可學(xué)習(xí)的參數(shù),優(yōu)化量化的精度,提高在反向傳播中的更新效果。文本還提到了對(duì)BN層和其他激活函數(shù)的相應(yīng)處理,以確保整個(gè)神經(jīng)網(wǎng)絡(luò)在量化過程中能夠保持良好的性能。

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

在CIFAR-10數(shù)據(jù)集上評(píng)估動(dòng)態(tài)閾值調(diào)整算法的性能。

  1. 數(shù)據(jù)集選擇理由: 選擇CIFAR-10數(shù)據(jù)集的原因有三點(diǎn):首先,相對(duì)于MNIST數(shù)據(jù)集,CIFAR-10包含RGB三通道彩色圖像,更符合當(dāng)今卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用場(chǎng)景;其次,相對(duì)于ImageNet數(shù)據(jù)集,CIFAR-10訓(xùn)練可以使用十幾層的神經(jīng)網(wǎng)絡(luò),這提高了在邊緣設(shè)備上部署這些模型的可行性;最后,盡管CIFAR-10只有10個(gè)類別,但由于數(shù)據(jù)集本身的訓(xùn)練難度,通過更改Softmax輸出層來實(shí)現(xiàn)遷移學(xué)習(xí),從而完成更多物品的分類識(shí)別。
  2. CIFAR-10數(shù)據(jù)集描述: CIFAR-10數(shù)據(jù)集包括60000張大小為32x32的彩色圖像,分為10個(gè)類別,每個(gè)類別有6000張圖像。
  3. 訓(xùn)練集和測(cè)試集劃分: 數(shù)據(jù)集中的50000張圖像用于訓(xùn)練,10000張用于測(cè)試。

對(duì)于訓(xùn)練難度和遷移學(xué)習(xí)的考慮使得CIFAR-10數(shù)據(jù)集成為評(píng)估動(dòng)態(tài)閾值調(diào)整算法性能的有力選擇。

Res18模型精度如下圖:
在這里插入圖片描述
使用CIFAR-10數(shù)據(jù)集訓(xùn)練的全精度AlexNet、VGG16和ResNet-18模型在測(cè)試集上的分類準(zhǔn)確率。

  1. 訓(xùn)練結(jié)果: 本文使用CIFAR-10數(shù)據(jù)集訓(xùn)練了AlexNet、VGG16和ResNet-18模型,它們?cè)跍y(cè)試集上的分類準(zhǔn)確率分別為90.07%,91.65%,93.23%。
  2. 與其他工作的對(duì)比: 文中對(duì)比了其他相關(guān)工作的結(jié)果。其中,引用的文獻(xiàn)1使用AlexNet網(wǎng)絡(luò)在CIFAR-10數(shù)據(jù)集上訓(xùn)練,最終分類準(zhǔn)確率為89%。文獻(xiàn)2使用VGG16網(wǎng)絡(luò)和ResNet-18網(wǎng)絡(luò)在CIFAR-10數(shù)據(jù)集上分別達(dá)到90.92%和92.32%的準(zhǔn)確率。文獻(xiàn)3使用ResNet-110在CIFAR-10數(shù)據(jù)集上訓(xùn)練,最終分類準(zhǔn)確率為93.57%。本文的結(jié)果與這些工作相似,但文獻(xiàn)3中的模型深度明顯大于本文的模型。

本文的模型在CIFAR-10數(shù)據(jù)集上達(dá)到了競(jìng)爭(zhēng)性的分類準(zhǔn)確率。

數(shù)據(jù)結(jié)果對(duì)比:
在這里插入圖片描述
量化結(jié)果對(duì)比:
在這里插入圖片描述

心得

經(jīng)過對(duì)動(dòng)態(tài)閾值量化算法的實(shí)驗(yàn)驗(yàn)證,包括實(shí)驗(yàn)平臺(tái)及相關(guān)設(shè)置、在CIFAR-10數(shù)據(jù)集上對(duì)參數(shù)和激活層進(jìn)行的驗(yàn)證以及對(duì)AlexNet、VGG16和ResNet-18這三種卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行4位量化的結(jié)果。
在CIFAR-10數(shù)據(jù)集上,對(duì)動(dòng)態(tài)閾值量化算法進(jìn)行了驗(yàn)證,分別針對(duì)模型參數(shù)和激活層。實(shí)驗(yàn)結(jié)果表明,該算法在減小量化模型精度損失方面取得了成功,將損失控制在1.5%以內(nèi)。
對(duì)AlexNet、VGG16和ResNet-18這三種卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行了4位量化的實(shí)驗(yàn)。結(jié)果表明,動(dòng)態(tài)閾值量化算法在這些網(wǎng)絡(luò)上能夠?qū)⒘炕P偷木葥p失有效地降低到1.5%以內(nèi)。

參考文獻(xiàn)

1.知存科技
2.中國移動(dòng)研究院
3.電子與信息學(xué)報(bào)—存內(nèi)計(jì)算芯片研究進(jìn)展及應(yīng)用
4.中科院—基于NorFlash的表積神經(jīng)網(wǎng)絡(luò)量化

文獻(xiàn)內(nèi)容極多,本文基于眾多文獻(xiàn)經(jīng)過仔細(xì)仔細(xì)分析總結(jié)而來。支持存內(nèi)計(jì)算發(fā)展。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    內(nèi)計(jì)算技術(shù)工具鏈——量化

    本篇文章將重點(diǎn)講述內(nèi)計(jì)算技術(shù)工具鏈之“量化”,我們將從面向內(nèi)
    的頭像 發(fā)表于 05-16 12:35 ?1082次閱讀
    <b class='flag-5'>存</b><b class='flag-5'>內(nèi)</b><b class='flag-5'>計(jì)算</b>技術(shù)工具鏈——<b class='flag-5'>量化</b>篇

    內(nèi)計(jì)算芯片研究進(jìn)展及應(yīng)用

    NOR Flash內(nèi)計(jì)算芯片當(dāng)中,向量-矩陣乘法運(yùn)算基于電流/電壓的跨導(dǎo)與基爾霍夫定律進(jìn)行物
    的頭像 發(fā)表于 05-16 15:30 ?1165次閱讀
    <b class='flag-5'>存</b><b class='flag-5'>內(nèi)</b><b class='flag-5'>計(jì)算</b><b class='flag-5'>芯片</b><b class='flag-5'>研究進(jìn)展</b>及應(yīng)用

    卷積神經(jīng)網(wǎng)絡(luò)如何使用

    卷積神經(jīng)網(wǎng)絡(luò)(CNN)究竟是什么,鑒于神經(jīng)網(wǎng)絡(luò)在工程上經(jīng)歷了曲折的歷史,您為什么還會(huì)在意它呢? 對(duì)于這些非常中肯的問題,我們似乎可以給出相對(duì)簡(jiǎn)明的答案。
    發(fā)表于 07-17 07:21

    什么是圖卷積神經(jīng)網(wǎng)絡(luò)

    卷積神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 08-20 12:05

    卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)是什么

    卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)
    發(fā)表于 05-05 18:12

    可分離卷積神經(jīng)網(wǎng)絡(luò)在 Cortex-M 處理器上實(shí)現(xiàn)關(guān)鍵詞識(shí)別

    我們可以對(duì)神經(jīng)網(wǎng)絡(luò)架構(gòu)進(jìn)行優(yōu)化,使之適配微控制器的內(nèi)存和計(jì)算限制范圍,并且不會(huì)影響精度。我們將在本文中解釋和探討深度可分離卷積神經(jīng)網(wǎng)絡(luò)在 Cortex-M 處理器上實(shí)現(xiàn)關(guān)鍵詞識(shí)別的潛力
    發(fā)表于 07-26 09:46

    量化神經(jīng)網(wǎng)絡(luò)的相關(guān)資料下載

    視覺任務(wù)中,并取得了巨大成功。然而,由于存儲(chǔ)空間和功耗的限制,神經(jīng)網(wǎng)絡(luò)模型在嵌入式設(shè)備上的存儲(chǔ)與計(jì)算仍然是一個(gè)巨大的挑戰(zhàn)。前面幾篇介紹了如何在嵌入式AI芯片部署
    發(fā)表于 12-14 07:35

    卷積神經(jīng)網(wǎng)絡(luò)一維卷積的處理過程

    以前的神經(jīng)網(wǎng)絡(luò)幾乎都是部署在云端(服務(wù)器上),設(shè)備端采集到數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送給服務(wù)器做inference(推理),結(jié)果再通過網(wǎng)絡(luò)返回給設(shè)備端。如今越來越多的
    發(fā)表于 12-23 06:16

    卷積神經(jīng)網(wǎng)絡(luò)模型發(fā)展及應(yīng)用

    分析了目前的特殊模型結(jié)構(gòu),最后總結(jié)并討論了卷積神經(jīng)網(wǎng)絡(luò)在相關(guān)領(lǐng)域的應(yīng)用,并對(duì)未來的研究方向進(jìn)行展望。卷積神經(jīng)網(wǎng)絡(luò)(convolutional
    發(fā)表于 08-02 10:39

    面向“邊緣”應(yīng)用的卷積神經(jīng)網(wǎng)絡(luò)如何進(jìn)行量化與壓縮詳細(xì)方法

    針對(duì)卷積神經(jīng)網(wǎng)絡(luò)( CNN)推理計(jì)算所需內(nèi)存空間和資源過大,限制了其在嵌入式等“邊緣”設(shè)備上部署的問題,提出結(jié)合網(wǎng)絡(luò)權(quán)重裁剪及面向嵌入式硬件
    發(fā)表于 12-26 17:01 ?4次下載
    面向“邊緣”應(yīng)用的<b class='flag-5'>卷積</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>如何進(jìn)行<b class='flag-5'>量化</b>與壓縮詳細(xì)方法

    基于剪枝與量化卷積神經(jīng)網(wǎng)絡(luò)壓縮算法

    隨著深度學(xué)習(xí)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)作為其重要算法被廣泛應(yīng)用到計(jì)算機(jī)視覺、自然語言處理及語音處理等各個(gè)領(lǐng)域,并取得了比傳統(tǒng)算法更為優(yōu)秀的成績(jī)。但是,卷積
    發(fā)表于 05-17 15:44 ?6次下載

    卷積神經(jīng)網(wǎng)絡(luò)原理:卷積神經(jīng)網(wǎng)絡(luò)模型和卷積神經(jīng)網(wǎng)絡(luò)算法

    一。其主要應(yīng)用領(lǐng)域在計(jì)算機(jī)視覺和自然語言處理中,最初是由Yann LeCun等人在20世紀(jì)80年代末和90年代初提出的。隨著近年來計(jì)算機(jī)硬件性能的提升和深度學(xué)習(xí)技術(shù)的發(fā)展,CNN在很多領(lǐng)域取得了重大的進(jìn)展和應(yīng)用。 一、
    的頭像 發(fā)表于 08-17 16:30 ?1391次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用 卷積神經(jīng)網(wǎng)絡(luò)通常用來處理什么

    卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用 卷積神經(jīng)網(wǎng)絡(luò)通常用來處理什么 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Ne
    的頭像 發(fā)表于 08-21 16:41 ?4824次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)模型有哪些?卷積神經(jīng)網(wǎng)絡(luò)包括哪幾層內(nèi)容?

    、視頻等信號(hào)數(shù)據(jù)的處理和分析。卷積神經(jīng)網(wǎng)絡(luò)就是一種處理具有類似網(wǎng)格結(jié)構(gòu)的數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò),其中每個(gè)單元只處理與之直接相連的神經(jīng)元的信息。本文將對(duì)卷積
    的頭像 發(fā)表于 08-21 16:41 ?1868次閱讀

    cnn卷積神經(jīng)網(wǎng)絡(luò)模型 卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型 生成卷積神經(jīng)網(wǎng)絡(luò)模型

    cnn卷積神經(jīng)網(wǎng)絡(luò)模型 卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型 生成卷積神經(jīng)網(wǎng)絡(luò)模型?
    的頭像 發(fā)表于 08-21 17:11 ?1181次閱讀