https://prefer-nsf.org/pdf/ISLPED-2024.pdf
https://dl.acm.org/doi/abs/10.1145/3665314.3670834
All You Need is Unary: End-to-End Unary Bit-stream Processing in Hyperdimensional Computing
單比特流處理:超維計算中的端到端比特流處理
本文重點(diǎn)總結(jié)
摘要
超維度計算(Hyperdimensional Computing, HDC)是一種受大腦啟發(fā)的計算范式,旨在通過輕量級和單次訓(xùn)練模型實現(xiàn)高能效。HDC 系統(tǒng)的核心是超向量(Hypervectors, HVs),它們在提升精度和實現(xiàn)預(yù)期性能方面發(fā)揮了關(guān)鍵作用。基于圖像的 HV 編碼需要兩種類型的 HV:位置 HV 和級別 HV。目前最先進(jìn)的方法采用偽隨機(jī)方法生成這些 HV,但由于 HV 生成過程中的隨機(jī)性不足,可能會降低系統(tǒng)性能并導(dǎo)致更高的功耗。這些傳統(tǒng)方法需要迭代計算正交的位置 HV 才能達(dá)到可接受的精度。本研究提出了一種快速、超輕量且高質(zhì)量的 HV 生成器,結(jié)合了低差異隨機(jī)序列和新興的一元比特流處理技術(shù)。我們首次使用一元計算(Unary Computing, UC)來生成級別 HV,并證明了在 HDC 系統(tǒng)中并不需要隨機(jī)性。我們利用具有遞歸特性的單一來源準(zhǔn)隨機(jī)序列生成位置 HV。所提出的 HV 生成技術(shù)在醫(yī)療 MNIST 數(shù)據(jù)集上的整體 HDC 精度提升了 6.4%,同時將 HV 生成的功耗降低了 98%。
CCS 概念
? 硬件 → 新興技術(shù);
? 計算數(shù)學(xué);
? 計算機(jī)系統(tǒng)組織 → 實時系統(tǒng);
? 計算方法論 → 交叉驗證;
關(guān)鍵詞 超維度計算,低差異序列,低功耗人工智能,隨機(jī)數(shù)生成器,一元計算。
1 引言
一元計算(Unary Computing, UC)[23, 31, 32] 作為一種引人注目的計算范式,靈感來源于人類大腦信號。該范式以其簡化的硬件架構(gòu)而聞名。與傳統(tǒng)的基于位置的二進(jìn)制編碼(其中位的位置具有重要性)不同,UC 使用分布在比特流中的累計計數(shù)來表示數(shù)據(jù),邏輯值為 1 的位置表示計數(shù),其余位置則為邏輯值 0。這種非傳統(tǒng)的數(shù)據(jù)表示方式顯著簡化了算術(shù)運(yùn)算,同時對錯誤具有很高的魯棒性。超維度計算(Hyperdimensional Computing, HDC)是另一種受大腦啟發(fā)的計算模型,它通過類似于比特流的長超向量(Hypervectors, HVs)來表示標(biāo)量(和符號)。在機(jī)器學(xué)習(xí)(Machine Learning, ML)任務(wù)(如分類)中,HDC 將輸入數(shù)據(jù)編碼為長向量,以捕獲類別信息并構(gòu)建學(xué)習(xí)模型 [17]。編碼過程涉及多個步驟,包括 HV 的生成、移位、乘法以及結(jié)果 HV 的加法。每個新數(shù)據(jù)點(diǎn)都對同一類別的 HV 做出貢獻(xiàn),且不進(jìn)行誤差優(yōu)化。該過程是單次性的,意味著每個輸入數(shù)據(jù)僅被處理一次。雖然一些最先進(jìn)的(State-of-the-Art, SOTA)方法采用了單次學(xué)習(xí) [15],但基于周期的處理同樣流行 [7, 35]。
在現(xiàn)有文獻(xiàn)中,只有少數(shù)研究探索了一元比特流處理在分類器系統(tǒng)中的應(yīng)用 [4, 10, 22, 26]。本研究利用 UC 設(shè)計 HDC 系統(tǒng),以實現(xiàn)盡可能輕量的分類網(wǎng)絡(luò)。傳統(tǒng)上,HDC 系統(tǒng)采用相關(guān)性感知的比特翻轉(zhuǎn)來進(jìn)行數(shù)據(jù)編碼。在這種方法中,相似的數(shù)值通過相關(guān)性進(jìn)行編碼,而相距較遠(yuǎn)的數(shù)值則表現(xiàn)出更大的不相關(guān)性。以往的方法在將 HV 比特從一個值轉(zhuǎn)換到另一個值時引入了隨機(jī)性。在本研究中,我們提倡使用無隨機(jī)性的 **一元 HV**。生成一元 HV 簡單且成本低廉,為傳統(tǒng)的隨機(jī) HV 提供了一個有前景的替代方案。我們進(jìn)一步提出了一種新穎的編碼方法,利用低差異(Low-Discrepancy, LD)序列 [16] 的單源準(zhǔn)隨機(jī)性來生成位置 HV。與之前為每個位置 HV 使用不同隨機(jī)序列的方法不同,我們的方法使用簡單的邏輯設(shè)計生成各種 HV,同時確保位置 HV 所需的正交性 [30]。本研究的主要貢獻(xiàn)如下:
? 提出了生成位置 HV 和級別 HV 的新穎編碼方法。
? 展示了一種利用準(zhǔn)隨機(jī)序列生成 HV 的高性價比設(shè)計。
? 通過利用一元比特流處理,重新評估了無需特征提取的直接數(shù)據(jù)處理方法在 HDC 中的應(yīng)用。
? 在 Medical MNIST 數(shù)據(jù)集上評估 HDC 的生物醫(yī)學(xué)應(yīng)用,并分析從混淆矩陣得出的各種機(jī)器學(xué)習(xí)指標(biāo)。
2 背景
HDC是一種新興的小眾計算范式,作為電子設(shè)計系統(tǒng)中用于微型機(jī)器學(xué)習(xí)應(yīng)用(尤其是分類任務(wù))的有前途的工具而備受關(guān)注。HDC系統(tǒng)模塊由多級邏輯門(如異或門、計數(shù)器和移位器)構(gòu)建而成。編碼被認(rèn)為是HDC系統(tǒng)中第一個也是最關(guān)鍵的步驟,幾乎也是輸入數(shù)據(jù)唯一經(jīng)過處理的階段。在大多數(shù)HDC模型中,數(shù)據(jù)處理通常只發(fā)生在一個單程中。編碼過程將輸入數(shù)據(jù)(例如標(biāo)量/符號)轉(zhuǎn)換為一種獨(dú)特的格式(即比特向量),為每個數(shù)據(jù)標(biāo)簽生成對應(yīng)的類別信息。高效的編碼階段在增強(qiáng)整個系統(tǒng)性能、提高準(zhǔn)確性和促進(jìn)節(jié)能設(shè)計方面發(fā)揮著關(guān)鍵作用。在最后階段,需要進(jìn)行相似性計算來識別相似的類別并對樣本進(jìn)行標(biāo)記。
在高層次的分類中,HDC系統(tǒng)可以分為兩類:①僅符號系統(tǒng)和②數(shù)值系統(tǒng)。如果分類問題只包含符號,如語言分類或文本處理,那么符號就是唯一需要處理的輸入值。例如,在這些情況下,字母或位置是關(guān)鍵的符號類輸入,被轉(zhuǎn)換為HVs。對于像圖像分類問題中的像素值這樣的輸入,HDC系統(tǒng)將數(shù)據(jù)視為數(shù)值。一般來說,在HDC模型中,數(shù)值越接近,對應(yīng)的HVs就越相似。 本研究關(guān)注的是一個醫(yī)學(xué)圖像處理系統(tǒng),在該系統(tǒng)中,像素及其位置對于HDC模型至關(guān)重要。編碼過程從將這些數(shù)據(jù)轉(zhuǎn)換為合適的HVs開始。生成的HVs是二進(jìn)制的,由邏輯1和0組成。確保生成向量之間的相關(guān)性至關(guān)重要,這使得用于生成HVs的隨機(jī)源的選擇變得至關(guān)重要。特別是對于需要正交性的HVs,隨機(jī)性的程度具有重要意義。由于符號(在這里是像素位置)缺乏數(shù)值信息,它們必須被平等對待,向量中邏輯1和0的概率相等。不同符號對應(yīng)的HVs之間不應(yīng)存在固有的相似性。每個符號都必須保持獨(dú)立,以確保分類器能夠無偏地估計它。因此,對于基于符號的問題,每個HV的概率范圍的中點(diǎn)(0 < p = 1/2 < 1)被選中.
最先進(jìn)的方法通常依賴于偽隨機(jī)序列來進(jìn)行編碼階段。然而,使用準(zhǔn)隨機(jī)序列進(jìn)行HV生成可能會徹底改變這一范式。在本研究中,我們探索使用準(zhǔn)隨機(jī)Van der Corput(VDC)序列作為HV生成的基礎(chǔ)。一般來說,可以通過簡單地反轉(zhuǎn)相對于基數(shù)點(diǎn)的數(shù)字來獲得任意基數(shù)B的VDC序列(VDC-B),這是一個[0,1]區(qū)間內(nèi)的值。例如,十進(jìn)制值107在基數(shù)5中表示為(412)5。通過2×5?1+1×5?2+4×5?3=59/125可以找到對應(yīng)的VDC-5值。考慮到對低成本生成HVs的高需求,我們探索使用2的冪次基數(shù)的VDC序列(VDC-2?)的特殊情況。這就像設(shè)計一個n×2(n)位計數(shù)器一樣簡單,其中n是HV的長度。在這種情況下,一個簡單的硬連線方案可以輕松生成任何VDC-2?序列,而無需添加任何額外的硬件組件。
HVs必須具有相同數(shù)量的邏輯1和0。另一方面,HDC模型的性能高度依賴于HVs之間的正交性;HVs越正交,HDC性能越好。傳統(tǒng)的(基線)HV生成方法使用偽隨機(jī)序列,由于這些序列的“隨機(jī)性”較差,導(dǎo)致生成的HVs質(zhì)量較低。圖1展示了使用不同HV生成源時十個HV樣本之間的互正交性。余弦相似性用于衡量正交性水平。對于偽隨機(jī)方法(圖1(a)),由于HV生成中存在的內(nèi)在隨機(jī)性,正交性較差。另一方面,使用序列的那個表現(xiàn)完美(圖1(b)),因為它的正交性圖中沒有波動。由于符號HVs(或位置HVs)需要高正交性,當(dāng)不同符號的數(shù)量超過log?(D)時,序列可能表現(xiàn)不佳。為了解決這一限制,我們提出了一種新技術(shù),通過僅使用一個序列生成器(VDC-2)、一個T觸發(fā)器(T-FF)和一個異或門來生成獨(dú)立的HVs。圖1(c)描繪了使用所提出的單一隨機(jī)源HV生成器生成的前十個HVs的互正交性性能。
3 提出的方法
3.1 設(shè)計1:單源且足夠隨機(jī)的位置HV生成器
我們的初步設(shè)計提案專注于基于符號的HV生成及其對應(yīng)的編碼。目前,最先進(jìn)的方法(SOTA)使用任何隨機(jī)源,大多數(shù)情況下是“偽”隨機(jī)[18, 19]。然而,依賴這種隨機(jī)源存在幾個風(fēng)險。首先,是隨機(jī)性問題,這需要重復(fù)。雖然使用特定隨機(jī)性的一次訓(xùn)練試驗可能為分類問題帶來滿意的驗證精度,但另一次迭代可能會產(chǎn)生更好或更差的結(jié)果。因此,需要多次迭代才能達(dá)到最佳精度。特別是對于使用較短HV的情況,要保證高精度所需的迭代次數(shù)可能會非常高。
在HV生成中使用偽隨機(jī)性的另一個問題是硬件設(shè)計的效率。這種擔(dān)憂不僅與隨機(jī)性有關(guān),還涉及硬件設(shè)計的考慮。雖然對于有限的數(shù)據(jù)集,使用預(yù)先確定的隨機(jī)向量可能是可以接受的,從而忽略計算負(fù)載,但某些問題需要動態(tài)向量生成。例如,在輸入圖像大小(例如,像素位置)變化的情況下,需要額外的位置向量。因此,理想的HDC系統(tǒng)需要一個具有強(qiáng)正交性、輕量級硬件和減少迭代次數(shù)的HV生成器,以確保高效生成HVs。為了滿足這些要求,我們使用準(zhǔn)隨機(jī)序列生成器來產(chǎn)生VDC-2序列。我們的主要目標(biāo)是在單次迭代中實現(xiàn)最佳隨機(jī)性,同時結(jié)合隨機(jī)序列的周期性和超輕量級設(shè)計。與使用偽隨機(jī)源(如線性反饋移位寄存器 - LFSR)的基線HDC不同,我們的方法不使用多個隨機(jī)序列來生成m個不同的D維向量,然后將它們用于HV生成。相反,我們只生成一個D維序列,并用它來生成m個不同的向量。
一旦生成了VDC-2序列,我們就使用圖2(a)中提出的電路結(jié)構(gòu)來生成不同的符號(位置)HVs。這個電路包括一個T觸發(fā)器和一個異或門。將二進(jìn)制序列元素配對,并與一個標(biāo)量(α)值(以二進(jìn)制表示)在范圍[0, D]內(nèi)進(jìn)行比較。VDC-2生成器中的每個元素(大小為D)都與α進(jìn)行比較,如果α > β,則結(jié)果記錄為邏輯1,否則記錄為邏輯0。生成的位然后輸入到T觸發(fā)器,并與自身進(jìn)行異或運(yùn)算。在這種配置下,生成的向量以1/2的概率(一半邏輯1和一半邏輯0)呈現(xiàn)準(zhǔn)隨機(jī)分布。通過重復(fù)這個操作來生成m個不同的符號HVs,以非常低的成本生成了具有概率P(α>β)=1/2的獨(dú)立準(zhǔn)隨機(jī)HVs。
在此,我們設(shè)立一個設(shè)計檢查點(diǎn),以報告所提出的HV生成設(shè)計的成本。與基線設(shè)計相比,所提出的每生成一個大小為L=1024的HV,其功耗降低了25%。
3.2 設(shè)計2:用于Level HVs的單比特計算
本工作的另一個關(guān)鍵貢獻(xiàn)是開發(fā)用于HDC系統(tǒng)中表示Level HVs的輕量級邏輯硬件。在文獻(xiàn)中首次,我們不是隨機(jī)地而是確定性地用單比特生成的HVs來表示Level HVs。我們認(rèn)為在Level HVs中不需要隨機(jī)性。我們提出用于生成單比特風(fēng)格Level HVs的設(shè)計包括一個左移模塊、一個向上計數(shù)器(CNT)和一個比較器(CMP)。對于L≥256,移位塊將像素強(qiáng)度值左移(log?L-8)位,以生成當(dāng)前像素強(qiáng)度值所需的Level HV。向上計數(shù)器是一個log?L位的約翰遜計數(shù)器,由簡單的D型觸發(fā)器構(gòu)成。所提出的Level HV生成器的結(jié)構(gòu)如圖2(b)所示。其余的編碼過程,包括綁定和捆綁階段,與基線HDC[20](圖2(c))相同。
使用單比特風(fēng)格Level HVs的一個重要方面在于其固有的能效,因為只有一個從0到1(或從1到0)的轉(zhuǎn)換[24],如圖3所示。由于只有一個比特級轉(zhuǎn)換(≈0活動因子),相關(guān)的開關(guān)功耗可以忽略不計。這比基線HV生成方法有了顯著的改進(jìn)。基線方法由于利用隨機(jī)翻轉(zhuǎn)過程[6]而導(dǎo)致高開關(guān)活動,從而增加了系統(tǒng)的整體開關(guān)(動態(tài))功耗。
4 實驗結(jié)果
4.1 硬件效率
為了評估所提出設(shè)計的硬件效率,我們使用Verilog HDL實現(xiàn)了圖2中的設(shè)計,并利用Synopsys Design Compiler v2018.06以及45nm FreePDK門級庫進(jìn)行了綜合。表1比較了基線和所提出的單源位置HV生成器的硬件成本。由于基線位置HV生成器使用LFSR作為隨機(jī)源,生成所需的獨(dú)立且正交的HVs會顯著增加面積、功耗和能耗,這些都與圖像內(nèi)不同像素位置的數(shù)量成正比。換句話說,對于任何作為模型輸入的圖像,我們需要r×c個不同的LFSR,其中r和c分別是圖像的行數(shù)和列數(shù)。另一方面,采用所提出的位置HV生成器無需許多不同的HV生成器。使用單個VDC-2序列作為隨機(jī)源,結(jié)合T觸發(fā)器和異或門,就足以生成獨(dú)立且正交的位置HVs。與基線方法相比,使用所提出的位置HV生成器將功耗降低了98%,同時提高了15%的能效。
同樣,我們實現(xiàn)了基于單比特的Level HV生成器。與基線方法不同,基線方法需要在每次迭代中翻轉(zhuǎn)Level HVs中隨機(jī)位置的比特,而所提出的方法則完全擺脫了隨機(jī)性。對于基線方法,我們通過在每次迭代中翻轉(zhuǎn)個比特來生成Level HVs,從全零HV開始(L是像素強(qiáng)度范圍或最大值)。表2報告了相應(yīng)的硬件成本。可以看出,基線HDC采用隨機(jī)比特翻轉(zhuǎn)方法消耗的面積和功耗顯著更高。更重要的是,我們的單比特Level HV生成器在面積延遲乘積方面優(yōu)于基線設(shè)計。
4.2 醫(yī)療MNIST性能
我們在醫(yī)療MNIST(medMNIST)[33]的多個數(shù)據(jù)集上評估了所提出HV生成器的性能,包括DermaMNIST、BloodMNIST、RetinaMNIST和BreastMNIST。此次分析的主要目標(biāo)是觀察我們提議中的硬件簡化對分類任務(wù)準(zhǔn)確性的影響,尤其是那些涉及具有挑戰(zhàn)性的生物醫(yī)學(xué)數(shù)據(jù)集的分類任務(wù)。
medMNIST包含多種醫(yī)學(xué)數(shù)據(jù)集。我們根據(jù)類別數(shù)量的不同選擇了特定的子數(shù)據(jù)集。具體來說,DermaMNIST包含七個類別,BloodMNIST有八個類別,RetinaMNIST有五個類別,BreastMNIST有兩個類別。圖4評估了我們的提議(采用基于VDC-2的單源隨機(jī)位置HVs和單比特Level HVs)和基線設(shè)計(位置和Level HVs均使用偽隨機(jī)源)在所有數(shù)據(jù)集上的性能。鑒于這些數(shù)據(jù)集的復(fù)雜性高于傳統(tǒng)的手寫數(shù)字分類任務(wù)[8],我們采用了基于epoch的訓(xùn)練選項。
在每個epoch期間,我們處理整個訓(xùn)練數(shù)據(jù)集,并評估驗證集的準(zhǔn)確性。我們監(jiān)測訓(xùn)練精度,并進(jìn)行偏差-方差檢查,以確保泛化能力并避免過擬合。從驗證集中表現(xiàn)最佳的模型將根據(jù)熱圖混淆矩陣指標(biāo)進(jìn)行測試,包括靈敏度、精確度、特異性、F1度量、平衡準(zhǔn)確率和Fowlkes–Mallows指數(shù)(FMI)。所有這些指標(biāo)的公式在表3中給出(TP:真陽性,TN:真陰性,F(xiàn)P:假陽性,F(xiàn)N:假陰性)。
我們的實驗在α≈0.1和α≈0.2時取得了最佳結(jié)果。我們根據(jù)α=0.1報告了結(jié)果。
接下來,我們使用混淆矩陣對每個數(shù)據(jù)集進(jìn)行了更全面的模型評估。圖4中的熱圖展示了每個指標(biāo)從0到1的改進(jìn)情況。總體而言,對于每個指標(biāo),我們的設(shè)計在考慮單個類別標(biāo)簽的性能時始終優(yōu)于基線設(shè)計(圖4(b)、(d)、(f)和(h))。例如,對于DermaMNIST,使用我們的方法時,靈敏度(一個表示正確預(yù)測的陽性值的指標(biāo))永遠(yuǎn)不會降至0.1,而基線設(shè)計在某些類別中卻達(dá)到了這一水平。兩種架構(gòu)中得分最高的指標(biāo)是特異性(表示正確預(yù)測的陰性病例的比例)。對于精確度(真正陽性的準(zhǔn)確性,反映置信度),我們的設(shè)計在幾乎所有數(shù)據(jù)集的每個類別標(biāo)簽中都優(yōu)于基線設(shè)計。此外,所提出的架構(gòu)在F1度量(同時考慮精確度和召回率)方面表現(xiàn)出色。對于兩種硬件架構(gòu)而言,平衡準(zhǔn)確率是第二好的指標(biāo),它為性能分析提供了更深入的視角,尤其是在考慮不平衡的混淆矩陣時(即類別標(biāo)簽分布不均勻)。最后,F(xiàn)owlkes–Mallows指數(shù)(FMI)是一種相似度計算指標(biāo),我們的HDC架構(gòu)始終能夠獲得更好的分?jǐn)?shù),這表明預(yù)測類別與實際類別之間的相似度更高。因此,采用VDC-2序列和單比特處理的新型硬件設(shè)計不僅實現(xiàn)了輕量級設(shè)計,還提升了端到端處理能力,并在各種性能指標(biāo)下,即使對于具有挑戰(zhàn)性的醫(yī)療數(shù)據(jù)集,也能提供更好的機(jī)器學(xué)習(xí)性能。
5 結(jié)論
Hypervector(HV)生成在Hyperdimensional Computing(HDC)中對于準(zhǔn)確性和硬件效率來說是一個關(guān)鍵步驟。HDC的基于記錄的編碼需要將正交的HVs納入位置數(shù)據(jù)類型,并使用相關(guān)鄰近HVs用于Level HVs。最先進(jìn)的方法(SOTA)采用偽隨機(jī)性來生成正交的位置HVs。偽隨機(jī)性的固有特性導(dǎo)致了HDC系統(tǒng)整體模型性能和吞吐量的下降。在本工作中,我們在HDC文獻(xiàn)中首次應(yīng)用了:? Van der Corput(VDC)準(zhǔn)隨機(jī)序列用于生成位置HVs,以及? 基于單比特的Level HV。與SOTA方法使用不同的隨機(jī)源來生成位置HVs不同,我們的提議使用一個成本效益高的單序列生成器。通過采用基于單比特的Level HV生成,我們避免了使用隨機(jī)比特翻轉(zhuǎn)方案。這使得硬件實現(xiàn)更加便捷和高效。
我們的評估結(jié)果表明,在分類精度、功耗和能效方面分別有6.4%、98%和15%的顯著提升。
原文鏈接: https://prefer-nsf.org/pdf/ISLPED-2024.pdf
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.