Advancing Hyperdimensional Computing Based on Trainable Encoding and Adaptive Training for Efficient and Accurate Learning

基于可訓(xùn)練編碼和自適應(yīng)訓(xùn)練的高效準(zhǔn)確學(xué)習(xí)的超維度計算

https://dl.acm.org/doi/abs/10.1145/3665891

https://github.com/CELL-DGIST/HDZoo-official/tree/main/trainableHD

打開網(wǎng)易新聞 查看精彩圖片
打開網(wǎng)易新聞 查看精彩圖片
打開網(wǎng)易新聞 查看精彩圖片

摘要

高維計算(HDC)是一種受人類記憶機制啟發(fā)的計算范式,通過高維向量表示(稱為超向量)來表征數(shù)據(jù)。近年來,HDC 的研究探索了其作為學(xué)習(xí)模型的潛力,利用其簡單的算術(shù)運算和高效率特性。然而,傳統(tǒng)的 HDC 框架受到兩個主要靜態(tài)元素的限制:隨機生成的編碼器和固定的學(xué)習(xí)率。這些靜態(tài)組件顯著限制了模型的適應(yīng)性和準(zhǔn)確性。靜態(tài)的、隨機生成的編碼器雖然確保了高維表示,但無法適應(yīng)數(shù)據(jù)關(guān)系的變化,從而限制了模型準(zhǔn)確捕捉和學(xué)習(xí)復(fù)雜模式的能力。同樣,學(xué)習(xí)率的固定性質(zhì)未能考慮訓(xùn)練過程隨時間變化的需求,阻礙了高效的收斂和最佳性能。本文介紹了一種名為 TrainableHD 的新型 HDC 框架,該框架能夠根據(jù)學(xué)習(xí)數(shù)據(jù)的反饋動態(tài)訓(xùn)練隨機生成的編碼器,從而解決了傳統(tǒng) HDC 編碼器的靜態(tài)問題。TrainableHD 還通過引入自適應(yīng)優(yōu)化算法來增強訓(xùn)練性能,以學(xué)習(xí)超向量。我們進一步通過有效的量化優(yōu)化了 TrainableHD,以提高效率,使得推理階段可以在低精度加速器上執(zhí)行。我們的評估表明,TrainableHD 在不增加推理期間計算成本的情況下,顯著提升了 HDC 的準(zhǔn)確性,最高提升 27.99%(平均提升 7.02%),達(dá)到了與最先進的深度學(xué)習(xí)模型相當(dāng)?shù)男阅芩健4送?,TrainableHD 在執(zhí)行速度和能效方面進行了優(yōu)化。與在 NVIDIA Jetson Xavier 等低功耗 GPU 平臺上的深度學(xué)習(xí)相比,TrainableHD 的速度提高了 56.4 倍,能效提高了 73 倍。這種效率優(yōu)勢通過使用編碼器間隔訓(xùn)練(EIT)和自適應(yīng)優(yōu)化算法得到了進一步增強,在不犧牲模型準(zhǔn)確性的情況下改進了訓(xùn)練過程。

CCS 概念:? 計算理論 → 隨機投影與度量嵌入;? 計算方法論 → 機器學(xué)習(xí)算法

額外關(guān)鍵詞和短語:高維計算、類腦計算、量化感知訓(xùn)練、自適應(yīng)優(yōu)化

ACM 引用格式:

Jiseung Kim, Hyunsei Lee, Mohsen Imani, 和 Yeseong Kim. 2024. 基于可訓(xùn)練編碼和自適應(yīng)訓(xùn)練的高維計算進展,實現(xiàn)高效且準(zhǔn)確的學(xué)習(xí)。ACM Transactions on Design Automation of Electronic Systems 29, 5, 文章 89(2024 年 9 月),25 頁。https://doi.org/10.1145/3665891

1 引言

在當(dāng)今的計算領(lǐng)域,我們正目睹生成和處理的數(shù)據(jù)量以前所未有的速度激增。這種來自多樣化來源和應(yīng)用的指數(shù)級增長,既帶來了重大挑戰(zhàn),也為計算科學(xué)領(lǐng)域開辟了新的方向。盡管傳統(tǒng)數(shù)據(jù)處理方法具有穩(wěn)健性,但它們越來越難以應(yīng)對這股洶涌而來的數(shù)據(jù)浪潮。

為應(yīng)對這些挑戰(zhàn),最先進的解決方案通常轉(zhuǎn)向機器學(xué)習(xí),其中神經(jīng)網(wǎng)絡(luò)(NNs)成為一種突出的方法。神經(jīng)網(wǎng)絡(luò)因其能夠從大規(guī)模數(shù)據(jù)集中學(xué)習(xí)并做出明智決策的能力而備受贊譽。然而,其對強大計算能力的依賴往往需要使用先進的系統(tǒng)或服務(wù)器。這一要求使得神經(jīng)網(wǎng)絡(luò)在許多小型、資源受限的設(shè)備中變得不切實際,而這些設(shè)備往往是數(shù)據(jù)生成的前沿陣地。神經(jīng)網(wǎng)絡(luò)的計算需求與計算能力之間的不匹配,促使研究人員轉(zhuǎn)向替代的學(xué)習(xí)方法。

高維計算(HDC),受人類大腦復(fù)雜過程的啟發(fā),代表了一種革命性的計算范式,徹底改變了傳統(tǒng)的數(shù)據(jù)表示和處理方法。通過利用稱為超向量的高維向量,HDC 實現(xiàn)了并行計算和抗噪學(xué)習(xí),這使其有別于依賴特定元素位置的傳統(tǒng)系統(tǒng)(如 32/64 位字[10])。

HDC 的核心在于其獨特的數(shù)據(jù)表示和處理方法。通過將原始輸入數(shù)據(jù)編碼為超向量,并將其與 HDC 操作相結(jié)合,該系統(tǒng)模擬了記憶和信息關(guān)聯(lián)等認(rèn)知功能。隨后,在模型訓(xùn)練階段,HDC 的最終目標(biāo)是生成代表不同數(shù)據(jù)類別的新超向量,推理則通過測量輸入的超向量編碼與每個類別超向量之間的高維空間距離來完成[21]。

十多年來,眾多研究致力于提升基于 HDC 方法的學(xué)習(xí)效率。盡管如此,傳統(tǒng)的基于 HDC 的學(xué)習(xí)系統(tǒng)在準(zhǔn)確性方面仍然低于當(dāng)代最先進的學(xué)習(xí)機制(如深度學(xué)習(xí))。這種差異主要源于 HDC 框架中編碼和模型訓(xùn)練階段普遍存在的靜態(tài)特性。每個階段都面臨其獨特的挑戰(zhàn),限制了 HDC 系統(tǒng)的適應(yīng)性和整體效能。

首先,負(fù)責(zé)將原始數(shù)據(jù)轉(zhuǎn)換為高維表示的編碼階段,是實現(xiàn)高質(zhì)量學(xué)習(xí)的基礎(chǔ),因為它為所有后續(xù)學(xué)習(xí)過程奠定了基礎(chǔ)。傳統(tǒng)方法采用一個由隨機生成的基超向量組成的高維矩陣[2, 36]。然而,這種方法也存在一個重大局限性:一旦生成,這些編碼器在大多數(shù)先前的 HDC 研究中保持靜態(tài)[2, 7, 10, 13, 16, 18, 20, 21, 23, 26, 34, 36, 46]。編碼過程的靜態(tài)特性阻止系統(tǒng)動態(tài)適應(yīng)不斷變化的數(shù)據(jù)特征關(guān)系,迫使使用過大的維度(例如 D = 10,000)以保持準(zhǔn)確性。這種方法不可避免地導(dǎo)致學(xué)習(xí)效率低下和可擴展性問題。

挑戰(zhàn)延續(xù)到模型訓(xùn)練階段,其主要問題在于學(xué)習(xí)率調(diào)整的靜態(tài)特性。引入自適應(yīng)學(xué)習(xí)率調(diào)度器是解決這一局限性的重要進展。與在整個訓(xùn)練過程中保持恒定的靜態(tài)學(xué)習(xí)率不同,我們可以使用自適應(yīng)學(xué)習(xí)率調(diào)度器根據(jù)訓(xùn)練進度動態(tài)調(diào)整學(xué)習(xí)率。盡管已有嘗試在 HDC 中引入此類自適應(yīng)機制,但這些努力通常依賴于預(yù)定義的調(diào)度策略,例如用戶定義的線性調(diào)整[12],缺乏真正自適應(yīng)系統(tǒng)的靈活性和響應(yīng)能力。與現(xiàn)代學(xué)習(xí)算法(如深度學(xué)習(xí))相比,這種差距阻礙了 HDC 模型的收斂性和性能。這種動態(tài)調(diào)整能力對于現(xiàn)代化 HDC 系統(tǒng)以實現(xiàn)類似于深度學(xué)習(xí)的高質(zhì)量學(xué)習(xí)至關(guān)重要。

為了解決由于編碼和模型訓(xùn)練階段中存在的靜態(tài)學(xué)習(xí)特性所帶來的挑戰(zhàn),我們提出了 TrainableHD 框架。我們的方法通過兩個貢獻實現(xiàn)了動態(tài)和自適應(yīng)學(xué)習(xí),從而現(xiàn)代化了 HDC 范式:動態(tài)編碼器的實現(xiàn)和自適應(yīng)優(yōu)化算法的集成,同時結(jié)合高效的量化方法。

TrainableHD 框架的第一個主要特點是其動態(tài)編碼器。與使用靜態(tài)、隨機生成編碼器的傳統(tǒng) HDC 方法不同,TrainableHD 的編碼器被設(shè)計為動態(tài)適應(yīng)。它允許在訓(xùn)練過程中對基超向量進行持續(xù)更新。這種動態(tài)適應(yīng)通過更細(xì)致地理解數(shù)據(jù)特征關(guān)系,顯著提高了模型的準(zhǔn)確性和效率,相關(guān)研究表明了這一點[16, 18]。重要的是,TrainableHD 在推理期間無需引入額外操作即可實現(xiàn)這些改進,同時保持高性能和高效率。

為進一步擴展 TrainableHD 的能力,我們利用深度學(xué)習(xí)中使用的最先進的自適應(yīng)優(yōu)化算法(如 Adam 和 Adagrad)來微調(diào)學(xué)習(xí)率和超向量更新的幅度。這一創(chuàng)新確保了訓(xùn)練階段的優(yōu)化,促進了更快的收斂和更高的整體效率[23]。通過集成這些自適應(yīng)優(yōu)化算法,TrainableHD 不僅在適應(yīng)性和性能方面超越了傳統(tǒng) HDC 方法,還使 HDC 實踐與現(xiàn)代學(xué)習(xí)算法(如深度學(xué)習(xí))的復(fù)雜性保持一致。

本文的貢獻總結(jié)如下:

(1) TrainableHD 的引入:我們提出了 TrainableHD,這是一種新穎的 HDC 框架,能夠?qū)W習(xí)一種新型的 HDC 編碼器,并在訓(xùn)練過程中動態(tài)更新它。

(2) 自適應(yīng)優(yōu)化器的集成:我們通過引入自適應(yīng)優(yōu)化算法擴展了 TrainableHD,這些算法動態(tài)調(diào)整學(xué)習(xí)率和更新的超向量,以優(yōu)化訓(xùn)練效率和準(zhǔn)確性。

(3) 編碼器訓(xùn)練的優(yōu)化:我們提出了一種優(yōu)化技術(shù),以減少編碼器訓(xùn)練的開銷,確保僅在必要時更新編碼器,從而提升性能。

(4) 通過量化實現(xiàn)高效推理:TrainableHD 支持量化感知訓(xùn)練(QAT),用于 HDC 學(xué)習(xí),以便在多種平臺上實現(xiàn)高效推理,包括支持 SIMD 的 CPU、Tensor Core(GPU)和 FPGA,同時保持相當(dāng)?shù)臏?zhǔn)確性。

我們的評估表明,結(jié)合自適應(yīng)優(yōu)化算法的 TrainableHD 不僅將現(xiàn)有 HDC 學(xué)習(xí)方法的準(zhǔn)確性提高了多達(dá) 27.99%(平均提高 7.02%),而且在推理期間無需額外的計算成本。此外,結(jié)合量化后,TrainableHD 在速度和能效方面表現(xiàn)出顯著提升,在 NVIDIA Jetson Xavier 等平臺上的運行速度比深度學(xué)習(xí)快 56.4 倍,能效高出 73 倍。

2 預(yù)備知識與相關(guān)工作

2.1 高維計算(HDC)

HDC 是一種通過高維向量(稱為超向量)表示數(shù)據(jù)的范式[15]。本節(jié)介紹了 HDC 的基礎(chǔ)概念及其學(xué)習(xí)機制,這些內(nèi)容對于理解我們提出的方法 TrainableHD 至關(guān)重要。

2.1.1 整體表示

HDC 使用超向量的方式類似于人類大腦利用神經(jīng)元和突觸處理刺激的方式。這些超向量是高維的,通常包含數(shù)千個維度,并且將信息均勻分布在所有組件中。與傳統(tǒng)計算方法不同,在傳統(tǒng)方法中,元素的重要性通常與其特定的比特位索引相關(guān)聯(lián)(例如 32/64 位字),而 HDC 提供了一種更整體的數(shù)據(jù)表示方式。為了確定兩個以超向量表示的實體之間的相似性,通常使用點積或余弦相似度[^1]。

這些向量的高維度(例如 D > 1,000)使得它們具有準(zhǔn)正交性,這意味著兩個隨機生成的超向量很可能接近正交,這是 HDC 對噪聲和錯誤容忍的關(guān)鍵特性。例如,如果兩個隨機生成的雙極性超向量點積為零,即 $\langle X, Y \rangle \approx 0$,那么它們在維度 $D$ 足夠高時($D > 1,000$)會接近正交[^2]。這是因為兩個隨機超向量 $X$ 和 $Y$ 可能會有 $D/2$ 的比特重疊,標(biāo)準(zhǔn)差為 $\sqrt{D/4}$。超向量的獨立同分布(i.i.d.)組件及其高維度允許在其與其他超向量失去正交性之前承受顯著的噪聲和錯誤。此外,超向量的整體性質(zhì)使其具有容錯能力。

2.1.2 HDC 算術(shù)

在 HDC 中,超向量通過特定的算術(shù)運算實現(xiàn)各種認(rèn)知功能。例如,“捆綁”操作(用符號 $\oplus$ 表示)通過按位加法組合超向量,生成一個反映其組成部分的復(fù)合超向量,從而有效地模擬了對不同信息的記憶。同時,“綁定”操作(用符號 $\otimes$ 表示)是一種按位矩陣乘法運算,用于生成一個新的超向量,該超向量封裝了其因子的關(guān)聯(lián)關(guān)系,可用于關(guān)聯(lián)兩個不同的概念并創(chuàng)建另一個接近正交的超向量,表示一個不同于其原始概念的新概念。

通過這些操作,可以實現(xiàn)多種基于 HDC 的學(xué)習(xí)任務(wù),其中超空間中的數(shù)據(jù)點由超向量表示。例如,通過對相關(guān)超向量進行一系列綁定或捆綁操作,可以學(xué)習(xí)類別超向量,表示其分類類別中的代表性高維值模式。在推理階段,查詢超向量與編碼后的訓(xùn)練類別超向量之間的相似性被用來確定分類結(jié)果。

2.2 HDC 中現(xiàn)有的編碼方法

編碼對 HDC 學(xué)習(xí)模型的準(zhǔn)確性和復(fù)雜性有著重要影響[23]。它涉及將原始數(shù)據(jù)點映射到超空間,確保相似向量之間的接近性以及無關(guān)向量之間的準(zhǔn)正交性。我們簡要考察三種最先進的編碼方法:ID 級編碼[11]、隨機投影編碼[10] 和非線性編碼[13]。

打開網(wǎng)易新聞 查看精彩圖片

隨機投影編碼 通過在編碼過程中利用浮點運算解決了基于二進制的 ID 級編碼準(zhǔn)確性較低的問題。它生成 F 個隨機雙極性基超向量,維度為 D ,其中 $F$ 是數(shù)據(jù)樣本中的特征數(shù)量。數(shù)據(jù)樣本的每個特征與隨機生成的基超向量矩陣綁定(即 ),通過對每個特征的超向量進行綁定生成編碼后的超向量。

非線性編碼 是最先進的編碼方法之一,它從高斯分布中采樣基超向量的元素,類似于隨機投影生成浮點型超向量,但還應(yīng)用了非線性函數(shù)(如余弦函數(shù)和/或符號函數(shù))來二值化超向量,并增強其元素分布的非線性特性。

為了訓(xùn)練 HDC 學(xué)習(xí)模型,將數(shù)據(jù)樣本轉(zhuǎn)換為超向量是一個關(guān)鍵階段,這對模型的準(zhǔn)確性和復(fù)雜性都有顯著影響?,F(xiàn)有的 HDC 學(xué)習(xí)方法[2, 7, 10, 13, 16, 18, 20, 21, 23, 26, 34, 36, 46] 仍然使用靜態(tài)編碼器,可能會忽略從訓(xùn)練樣本中提取的寶貴信息。為緩解這一問題,文獻[47] 提出了一種替代方法 ManiHD,該方法在靜態(tài) HDC 編碼器之前引入流形投影。然而,ManiHD 并未區(qū)分類別特定特征,仍然依賴靜態(tài)編碼器,這可能導(dǎo)致次優(yōu)的準(zhǔn)確性水平。我們對多個數(shù)據(jù)集的分析表明,ManiHD 的流形投影過程比其他方法的編碼時間長約 2.95 倍。

為應(yīng)對這一挑戰(zhàn),本文擴展了我們之前的研究[17],實現(xiàn)了動態(tài) HDC 編碼器訓(xùn)練,并結(jié)合自適應(yīng)學(xué)習(xí)優(yōu)化器以實現(xiàn)高準(zhǔn)確性和效率。我們專注于如何通過從訓(xùn)練樣本中提取和利用知識來顯式地學(xué)習(xí)編碼器本身,同時在推理過程中不引入額外開銷。特別是,我們采用非線性編碼作為基線方法,因為其在準(zhǔn)確性方面已被證明優(yōu)于其他技術(shù)。然而,與文獻[13] 中概述的原始非線性編碼方法不同,我們的策略積極尋求為每個原始特征找到最合適的、具有代表性的高維模式。

3 TrainableHD 概述

圖 1 提供了 TrainableHD 學(xué)習(xí)框架的說明性概述。我們的訓(xùn)練方法學(xué)習(xí)以下兩種超向量表示:(1) 編碼器的基超向量,最初通過從高斯分布中隨機生成的分量初始化;(2) 類別超向量,它們從零值分量開始,表示每個類別的高維模式。

打開網(wǎng)易新聞 查看精彩圖片

在訓(xùn)練階段,TrainableHD 首先使用當(dāng)前的基超向量將訓(xùn)練樣本編碼為特征超向量。訓(xùn)練過程通過評估這些特征超向量與每個類別超向量之間的相似性來推進。HDC 模塊根據(jù)具有最高相似性的類別超向量對訓(xùn)練數(shù)據(jù)進行分類。通過相似性值和真實標(biāo)簽計算的每類誤差指導(dǎo)類別超向量的更新,從而提高未來迭代中的預(yù)測準(zhǔn)確性。

TrainableHD 的創(chuàng)新之處在于其編碼器訓(xùn)練技術(shù),該技術(shù)能夠高效地將每類標(biāo)量誤差轉(zhuǎn)化為每個特征的超向量誤差,從而更新基超向量。這一過程詳見第 5 節(jié)。TrainableHD 還在 HDC 環(huán)境中引入了自適應(yīng)優(yōu)化算法(第 5.1 節(jié)),這些算法傳統(tǒng)上用于深度學(xué)習(xí),以優(yōu)化訓(xùn)練性能。鑒于更新基超向量增加了復(fù)雜性,這些算法顯著提高了準(zhǔn)確性和效率。

我們還在 TrainableHD 中引入了兩種優(yōu)化策略,以提升加速平臺的效率。第一種是編碼器間隔訓(xùn)練(Encoder Interval Training, EIT),詳見第 6.1 節(jié),這是一種基于需求決定編碼器訓(xùn)練頻率的優(yōu)化技術(shù)。這種自適應(yīng)方法確保訓(xùn)練在多個周期內(nèi)通過小批量數(shù)據(jù)高效進行,有效收斂模型的準(zhǔn)確性。此外,我們設(shè)計了一種使用低精度超向量元素(如 8 位整數(shù))訓(xùn)練模型的方法,采用第 6.2 節(jié)中詳述的量化感知訓(xùn)練(QAT)。這種方法能夠在不犧牲模型推理準(zhǔn)確性的情況下創(chuàng)建高效的量化模型。

在推理階段,完全由量化加速的訓(xùn)練編碼器從推理數(shù)據(jù)生成查詢超向量,與現(xiàn)有的 HDC 學(xué)習(xí)解決方案相比不會增加額外的計算成本。然后,HDC 模型在查詢超向量和類別超向量之間執(zhí)行相似性計算,以確定樣本的類別(圖 1(b))。值得注意的是,ManiHD [47](圖 1(c))通過流形投影緩解靜態(tài) HDC 編碼器的問題,但會帶來額外的計算成本;而 TrainableHD 即使在推理階段也不會在編碼過程中增加任何計算開銷。

4 使用動態(tài)編碼器訓(xùn)練的 HDC 學(xué)習(xí)

4.1 編碼原理

類似于擁有數(shù)百萬神經(jīng)元和突觸的人類大腦在受到輸入刺激時被激活,HDC 利用高維空間來表示任何實體。這些高維向量(即超向量)封裝了整體表示[15],將信息均勻分布到所有分量中,從而確保全面且集成的數(shù)據(jù)表示。

如第 2.2 節(jié)所述,在 HDC 中,基超向量的生成構(gòu)成了編碼過程的基礎(chǔ),通常通過從雙極值 {?1, 1} [10] 中隨機采樣或從高斯分布 [13] 中采樣以實現(xiàn)更高的準(zhǔn)確性。

然而,傳統(tǒng) HDC 方法的一個局限性在于,它們在創(chuàng)建基超向量后不會對其進行更改,這可能導(dǎo)致在表示相關(guān)特征時出現(xiàn)潛在的不準(zhǔn)確性。在此,我們討論了在動態(tài)編碼方法中利用的一般編碼過程的關(guān)鍵特性。

打開網(wǎng)易新聞 查看精彩圖片
打開網(wǎng)易新聞 查看精彩圖片
打開網(wǎng)易新聞 查看精彩圖片
打開網(wǎng)易新聞 查看精彩圖片

在 HDC 中,存在多種學(xué)習(xí)類別超向量 K 的方法[11, 35];在我們的工作中,我們采用了文獻[21] 中提出的最先進的 HDC 學(xué)習(xí)過程。它根據(jù)與每個當(dāng)前類別超向量相關(guān)的每類標(biāo)量誤差 e 的大小來優(yōu)化 K。在本文中,我們利用同樣的標(biāo)量誤差 e 信息,通過識別導(dǎo)致誤差的根本原因來更新基超向量。這種方法與之前的 HDC 編碼技術(shù)形成對比,后者并未對編碼器的基超向量進行訓(xùn)練,即依賴靜態(tài)且隨機生成的編碼器。通過在訓(xùn)練期間動態(tài)更新類別超向量和基超向量,TrainableHD 解決了靜態(tài)編碼的關(guān)鍵局限性——即忽視輸入數(shù)據(jù)特征之間的關(guān)系以及因此對高維度的需求。

圖 2 描述了 TrainableHD 更新基超向量的過程。在 TrainableHD 中,基超向量 B 的訓(xùn)練最初是將標(biāo)量特征編碼為超向量,其策略旨在將每類誤差的大小轉(zhuǎn)化為每個特征誤差的大小。TrainableHD 通過兩步方法實現(xiàn)這一目標(biāo):(1) 將單個訓(xùn)練樣本的誤差編碼為超向量,稱為樣本誤差超向量 (E),以及 (2) 從 E 中推導(dǎo)出每個特征的誤差超向量。

打開網(wǎng)易新聞 查看精彩圖片
打開網(wǎng)易新聞 查看精彩圖片
打開網(wǎng)易新聞 查看精彩圖片

5 基于學(xué)習(xí)率優(yōu)化的動態(tài) HDC 訓(xùn)練 5.1 學(xué)習(xí)率優(yōu)化在 HDC 中的集成

在 HDC 領(lǐng)域,傳統(tǒng)算法通常忽略了優(yōu)化學(xué)習(xí)率的復(fù)雜性,正如先前研究[12] 所指出的那樣。這些算法僅更新類別超向量,表現(xiàn)出相對較快的收斂性,尤其是在與深度學(xué)習(xí)中更復(fù)雜的流程相比時。然而,TrainableHD 代表了對這些傳統(tǒng) HDC 方法的轉(zhuǎn)變。通過引入不僅針對類別超向量還針對基超向量的動態(tài)更新,TrainableHD 涉及了一個更為廣闊的訓(xùn)練領(lǐng)域?;蛄坑捎谄涓鼜V泛的范圍——可能涵蓋比類別數(shù)量更多的特征——表明采用一種更細(xì)致、類似深度學(xué)習(xí)的方法,以更精細(xì)的尺度更新超向量可能是有利的。TrainableHD 的這一精細(xì)化策略旨在培養(yǎng)高質(zhì)量模型,同時保持快速的收斂速度。

將最先進的學(xué)習(xí)率優(yōu)化算法集成到 HDC 框架中需要對算法集成進行系統(tǒng)性修改。TrainableHD 框架確定了超向量更新過程的兩個主要步驟:類別超向量 (Θ) 和基超向量 (Δ),兩者均由學(xué)習(xí)率 (λ) 調(diào)節(jié)。在 TrainableHD 的訓(xùn)練框架中(詳見算法 1),定義了兩個超向量更新的步驟:類別超向量的更新 (Θ, 第 7 行) 和基超向量的更新 (Δ, 第 14 行),均使用 λ。對于這些更新過程,我們可以采用深度學(xué)習(xí)領(lǐng)域中著名的優(yōu)化技術(shù),例如 Adagrad [4] 和 Adam [22],并將其整合到我們的 HDC 訓(xùn)練算法中。

打開網(wǎng)易新聞 查看精彩圖片
打開網(wǎng)易新聞 查看精彩圖片
打開網(wǎng)易新聞 查看精彩圖片

5.2 不同優(yōu)化算法對 HDC 的影響

優(yōu)化器算法的選擇和集成在提升訓(xùn)練效率和模型整體性能方面起著至關(guān)重要的作用。TrainableHD 框架整合了多種優(yōu)化算法;每種優(yōu)化器都為 HDC 訓(xùn)練過程帶來了獨特的特性和潛在的缺點。在本節(jié)中,我們將全面討論它們的預(yù)期行為及其與 HDC 學(xué)習(xí)的兼容性。

隨機梯度下降(SGD)[40] SGD 因其簡單性而在傳統(tǒng)的 HDC 研究中被廣泛使用,采用固定學(xué)習(xí)率,提供了穩(wěn)定但可能僵化的學(xué)習(xí)過程。盡管 SGD 在許多 HDC 應(yīng)用中表現(xiàn)出快速收斂和相當(dāng)高的準(zhǔn)確性,但在數(shù)據(jù)分布隨時間變化的情況下,其固定學(xué)習(xí)率可能是一個重大缺陷,限制了模型有效適應(yīng)新信息的能力。

Adagrad [4] Adagrad 通過為每個參數(shù)調(diào)整學(xué)習(xí)率解決了 SGD 的局限性,允許基于特征出現(xiàn)頻率進行更復(fù)雜的更新。特別是在具有整體表示的數(shù)據(jù)環(huán)境中,由于其根據(jù)特征頻率調(diào)整學(xué)習(xí)率的獨特機制,它表現(xiàn)尤為出色。這一特性在 HDC 中特別有益,因為編碼通常會生成高維向量,并具有顯著的整體表示。Adagrad 中的累加器將學(xué)習(xí)率按所有平方更新之和的平方根成反比縮放,確保低頻但信息豐富的特征獲得更大的更新。這種方法可以通過快速適應(yīng)數(shù)據(jù)中最具信息量的特征,在早期階段顯著增強學(xué)習(xí)效果。

AdaDelta [43] AdaDelta 設(shè)計用于克服 Adagrad 學(xué)習(xí)率逐漸減小的問題,它專注于使用一個更近期的更新累積窗口來調(diào)整學(xué)習(xí)率。雖然這種方法緩解了 Adagrad 的一些局限性,但在需要快速學(xué)習(xí)能力而非長期迭代調(diào)整的 HDC 場景中,可能會導(dǎo)致性能下降。

RMSProp [42] 與 AdaDelta 類似,它通過使用移動平均值來確定學(xué)習(xí)率,從而修改了 Adagrad 的方法,確保學(xué)習(xí)率不會過快下降。這種優(yōu)化器更適合非平穩(wěn)問題,并且在 HDC 中可以通過保持有效的學(xué)習(xí)速度提供比 AdaDelta 更好的改進。

動量(Momentum)[37] 和 Nesterov 加速梯度(NAG)[33] 這兩種方法通過引入速度分量到優(yōu)化過程中,使模型能夠更平滑地導(dǎo)航優(yōu)化空間,并可能更有效地逃離局部最小值。這些方法通過將過去的更新納入當(dāng)前更新,可以加速 HDC 模型的收斂,但由于 HDC 的高維空間特性,它們在訓(xùn)練過程中可能會引入振蕩。這些振蕩以及隨之而來的計算開銷會對學(xué)習(xí)性能產(chǎn)生負(fù)面影響,尤其是在與其他最先進的學(xué)習(xí)算法(如深度學(xué)習(xí))相比時,HDC 通常追求快速學(xué)習(xí)。此外,這些優(yōu)化算法對超參數(shù)(如動量系數(shù)和學(xué)習(xí)率)較為敏感。這種敏感性可能會使訓(xùn)練最優(yōu)模型的過程復(fù)雜化,通常需要多次迭代才能找到最有效的參數(shù)設(shè)置。

Adam [22] Adam 結(jié)合了自適應(yīng)學(xué)習(xí)率和動量的優(yōu)勢,根據(jù)更新的一階矩和二階矩調(diào)整學(xué)習(xí)率,使其在廣泛的 HDC 任務(wù)中表現(xiàn)穩(wěn)健。然而,它的初始訓(xùn)練周期可能會較慢,這在 HDC 領(lǐng)域中是一個潛在的缺點。此外,其復(fù)雜性和對超參數(shù)調(diào)優(yōu)的謹(jǐn)慎需求可能被視為潛在的缺點,特別是在計算資源有限的情況下。

盡管每種優(yōu)化器都為 HDC 訓(xùn)練過程帶來了獨特的優(yōu)勢,但它們的有效性可能取決于 HDC 任務(wù)的具體特性,包括學(xué)習(xí)階段和計算約束。后續(xù)章節(jié),尤其是第 7.2 節(jié),將進一步討論這些優(yōu)化技術(shù)對 TrainableHD 性能的深遠(yuǎn)影響,以探討學(xué)習(xí)率優(yōu)化在 HDC 領(lǐng)域中的集成潛力。

6 加速優(yōu)化策略

6.1 編碼器間隔訓(xùn)練(EIT)

在 TrainableHD 的訓(xùn)練方法中,每次迭代都使用更新后的基超向量對特征超向量進行連續(xù)編碼,這會顯著增加基于 HDC 的學(xué)習(xí)的復(fù)雜性。為緩解這一問題,我們實施了一種稱為 EIT(編碼器間隔訓(xùn)練) 的優(yōu)化技術(shù)。該技術(shù)旨在通過減少編碼操作的頻率來簡化 TrainableHD 的訓(xùn)練過程。

如圖 3 所示,EIT 的工作原理是將特征超向量的值存儲在內(nèi)存中以供后續(xù)使用。在初始迭代中,TrainableHD 執(zhí)行標(biāo)準(zhǔn)的特征超向量編碼過程。隨后,在接下來的 (n - 1) 次迭代中(其中 n 是定義 EIT 周期的超參數(shù)),訓(xùn)練過程會利用這些先前存儲的特征超向量,跳過每一步重新編碼的需求。

打開網(wǎng)易新聞 查看精彩圖片

需要注意的是,盡管特征超向量的重復(fù)使用減少了編碼頻率,但基超向量在這些迭代中仍然持續(xù)更新。這種對基超向量的持續(xù)優(yōu)化確保即使重復(fù)使用特征超向量,整體編碼質(zhì)量仍然保持較高水平。HDC 固有的噪聲容忍能力最大限度地減少了學(xué)習(xí)質(zhì)量的潛在損失,僅在觀察到顯著變化時才高效更新特征超向量。

這種重復(fù)使用和更新特征超向量的循環(huán)過程貫穿整個訓(xùn)練過程,并且每隔第 $n$ 次迭代執(zhí)行一次重新編碼操作。EIT 的這種結(jié)構(gòu)化方法不僅優(yōu)化了 TrainableHD 中的編碼過程,還促進了整體更高效、更有效的訓(xùn)練方案。EIT 周期會一直重復(fù),直到訓(xùn)練完成,從而在計算效率和學(xué)習(xí)質(zhì)量之間實現(xiàn)平衡。

6.2 使用量化加速

在 TrainableHD 中,我們采用了一種量化策略來應(yīng)對與浮點運算相關(guān)的計算挑戰(zhàn)。當(dāng)代 HDC 算法,尤其是基于非線性編碼的算法[21],通常通過使用二進制超向量編碼來實現(xiàn)高精度。然而,其內(nèi)部機制(包括用于分類計算的關(guān)鍵步驟,如編碼和相似性搜索)仍然依賴浮點運算。這種依賴成為尋求高效加速時的一個主要問題,而 TrainableHD 通過應(yīng)用量化解決了這一問題。

量化在深度學(xué)習(xí)中被廣泛用于高效的推理,并已適應(yīng)于 TrainableHD 以滿足 HDC 的特定需求。在 TrainableHD 中,量化被用來簡化計算,同時利用 HDC 固有的魯棒性確保對精度的影響最小。TrainableHD 中量化的多功能性還體現(xiàn)在其所支持的各種方法上。這些方法包括從靜態(tài)均勻或?qū)?shù)量化到訓(xùn)練后動態(tài)范圍調(diào)整的量化,以及混合精度量化方法。

具體而言,TrainableHD 采用了一種先進的量化感知訓(xùn)練(QAT)方法[5, 24, 32, 45],該方法能夠在訓(xùn)練過程中巧妙地將超向量從浮點格式轉(zhuǎn)換為量化表示。也就是說,在訓(xùn)練過程中,它在 GPGPU(或 CPU)平臺上模擬軟件中的精確量化過程,以訓(xùn)練量化模型,從而確保向量化狀態(tài)的過渡能夠最大限度地減少精度損失。在訓(xùn)練階段完成后,量化模型即可部署到支持量化操作的加速平臺(例如 CUDA Tensor Cores 或 FPGA)上。這種部署僅使用量化表示進行推理,既保證了高精度又提升了效率。

盡管本文主要關(guān)注 INT8 量化(因其在現(xiàn)代硬件加速器如 NVIDIA Tensor Cores 中的普遍性),但 TrainableHD 的量化框架足夠靈活,可以輕松擴展到其他精度級別。這種適應(yīng)性至關(guān)重要,使 TrainableHD 能夠有效部署在各種硬件平臺上,從而在支持量化的多樣化硬件環(huán)境中增強其實用性和效率。

6.2.1 訓(xùn)練量化超向量

如圖 4(a) 所示,QAT 在 TrainableHD 中的應(yīng)用使得現(xiàn)代量化方法能夠融入傳統(tǒng)的 HDC 訓(xùn)練方法中。在訓(xùn)練過程中,TrainableHD 對輸入特征和當(dāng)前的基超向量進行一種稱為“偽量化”的量化模擬過程。此過程將其元素計算為 8 位整數(shù)(INT8)(即通過對超向量元素進行鉗位和舍入以生成 8 位整數(shù)版本的輸入),同時仍以浮點(FLOAT32)格式存儲它們。這種方法的目的是在迭代訓(xùn)練更新期間建模量化對超向量的影響,而無需承擔(dān)實際 INT8 量化通常帶來的巨大計算成本。類別超向量同樣通過偽量化處理。

打開網(wǎng)易新聞 查看精彩圖片

在訓(xùn)練階段完成后,我們將訓(xùn)練好的基超向量和類別超向量轉(zhuǎn)換為 INT8 表示。這一步使得整個推理過程都可以在 INT8 域中完成,從而有效降低計算開銷,如圖 4(b) 所示。

使用浮點量化訓(xùn)練的挑戰(zhàn)在于如何準(zhǔn)確設(shè)置量化參數(shù)。為了解決這一問題,TrainableHD 采用了一種仿射變換方法,通過縮放因子 s 和零映射值 z 來量化每個輸入 x:

打開網(wǎng)易新聞 查看精彩圖片
打開網(wǎng)易新聞 查看精彩圖片

6.2.2 QAT 性能優(yōu)化

我們的 QAT 方法旨在提高推理效率,盡管偽量化過程確實引入了額外的訓(xùn)練開銷。鑒于 HDC 被討論為資源受限環(huán)境中在線學(xué)習(xí)解決方案的候選者[8–10, 28–31, 44, 47],這些額外成本在某些部署場景中可能會變得繁重。為了抵消主要由偽量化引起的額外開銷,我們開發(fā)了一種有針對性的優(yōu)化技術(shù),稱為 漂移感知更新(DAU)*。DAU 的設(shè)計旨在戰(zhàn)略性地確定實施偽量化的最佳時機,從而優(yōu)化訓(xùn)練過程。

讓我們回顧一下算法 1,它概述了 TrainableHD 的訓(xùn)練方法。我們根據(jù)超向量類型的誤差(通過所選學(xué)習(xí)優(yōu)化器計算得出)調(diào)整基超向量和類別超向量,即 ,如第 4.2 節(jié)所述。鑒于 HDC 對噪聲的固有容忍性,基超向量和類別超向量中的微小差異不太可能對整體訓(xùn)練結(jié)果產(chǎn)生實質(zhì)性影響,這使我們可以選擇偶爾跳過偽量化步驟。

打開網(wǎng)易新聞 查看精彩圖片

7 實驗結(jié)果

7.1 實驗設(shè)置

我們使用運行在 NVIDIA GeForce RTX 3090 上的 PyTorch 實現(xiàn)了 TrainableHD 框架的訓(xùn)練過程。推理過程則在支持浮點和整數(shù)向量運算的各種加速平臺上實現(xiàn),包括 CPU(Intel Xeon Silver 4110)、低功耗 GPU(Nvidia Jetson Xavier)和 FPGA(Xilinx Zynq-7000)。為了評估性能,我們?yōu)槊總€平臺使用了特定的工具:Intel RAPL 用于測量 CPU 上的執(zhí)行時間和功耗,Nvidia Nsight 用于 GPU 評估,而 Xilinx Vitis 工具包用于評估 FPGA。這些工具提供了全面的指標(biāo),以分析 TrainableHD 框架在不同硬件環(huán)境中的效率和有效性。我們的訓(xùn)練框架已開源,并可在以下鏈接獲?。篽ttps://github.com/CELL-DGIST/HDZoo/trainableHD。該存儲庫提供了探索和實現(xiàn)我們方法所需的資源,以及將其與其他基于 HDC 的代表性學(xué)習(xí)策略進行基準(zhǔn)測試的功能。

7.1.1 推理任務(wù)的實現(xiàn)方法

對于基于 CPU 的推理加速,我們利用了 Facebook 的 FBGEMM 庫,這是一種以支持優(yōu)化的 INT8 操作而聞名的先進解決方案。該庫利用 x86 SIMD 指令和多線程能力。我們進一步增強了 FBGEMM 庫,增加了對符號函數(shù)的支持。

鑒于基超向量和類別超向量在部署后保持不變,一旦完成訓(xùn)練,我們預(yù)先安排了超矩陣元素的存儲順序。這種預(yù)先安排確保了在通用矩陣乘法(GEMM)操作期間的完全順序內(nèi)存訪問模式,從而優(yōu)化了性能。

在 GPU 加速的情況下,我們的重點是利用 NVIDIA Jetson Xavier 中的 Tensor Core。我們擴展了 XCelHD [16](HDC 的 CUDA 實現(xiàn)),以支持 TrainableHD 框架的量化執(zhí)行。這一擴展涉及將 HDC 操作映射到 CUDA 的 cuBLAS API。此外,我們開發(fā)了一個原地元素更新函數(shù),用于處理中間結(jié)果,從而在支持符號函數(shù)的同時避免非合并內(nèi)存訪問的問題。

對于 FPGA 實現(xiàn),我們提出的量化方法設(shè)計得既高度精確又高效,避免了以往工作中常見的資源密集型 DSP 單元的使用[10]。利用 Xilinx Vitis 框架,我們在一個主要依賴查找表(Look-Up Tables)進行計算的脈動陣列結(jié)構(gòu)上實現(xiàn)了 GEMM 和歸約操作。通過將不變的基超向量和類別超向量預(yù)先加載到脈動陣列的緩沖區(qū)中,進一步優(yōu)化了這一方法,從而實現(xiàn)它們在多個輸入中的重復(fù)使用而無需額外的主機通信。這種主動加載策略顯著提高了基于 FPGA 的推理過程的效率。

7.1.2 基線與數(shù)據(jù)集

為了進行對比分析,TrainableHD 與三種不同的模型進行了基準(zhǔn)測試:(1) 一種最先進的 HDC 學(xué)習(xí)方法(Baseline),它使用靜態(tài)非線性編碼器重新訓(xùn)練類別超向量[13];(2) ManiHD(ManiHD),該方法將流形投影集成到 HDC 中,以克服靜態(tài) HDC 編碼器的問題[47];以及 (3) 使用 Ray Tune 優(yōu)化以實現(xiàn)最大準(zhǔn)確率的深度學(xué)習(xí)模型(DNN)。這些深度學(xué)習(xí)模型配置了不同的超參數(shù),包括最大為 64 的批量大小、五層架構(gòu)深度和最多 512 個神經(jīng)元,并在 50 個周期內(nèi)進行訓(xùn)練。

為了進行公平評估,TrainableHD、Baseline 和 ManiHD 分別重新訓(xùn)練了 50 個周期。我們通過常見的超參數(shù)搜索經(jīng)驗性地選擇了范圍在 內(nèi)的學(xué)習(xí)率 。用于此評估的數(shù)據(jù)集詳見表 2,涵蓋了廣泛的實際應(yīng)用場景。這些場景包括物聯(lián)網(wǎng)和邊緣系統(tǒng)[1, 3, 38, 39],例如基于心電圖的情緒檢測和人體活動識別,以及通常用于基準(zhǔn)測試 HDC 學(xué)習(xí)的基于圖像的分類任務(wù)[6, 19, 25, 27],如人臉檢測和字符識別。

打開網(wǎng)易新聞 查看精彩圖片

7.2 分類準(zhǔn)確性

圖 5 展示了各種學(xué)習(xí)方法之間的準(zhǔn)確性對比。對于 Baseline 和 TrainableHD,我們使用兩種不同的超向量維度(3K 和 10K)進行了測量。結(jié)果表明,TrainableHD 始終比采用非線性編碼器的最先進的 Baseline 方法實現(xiàn)了更高的準(zhǔn)確性。例如,在 HACT 數(shù)據(jù)集的情況下,Baseline 在維度 D = 3,000 和 D = 10,000 下分別記錄了 57.28% 和 59.35% 的分類準(zhǔn)確率。相比之下,TrainableHD 在 D = 3,000$ 時達(dá)到了 85.27% 的顯著更高準(zhǔn)確率,在 D = 10,000 時達(dá)到了 86.16% 的準(zhǔn)確率。我們觀察到,量化感知訓(xùn)練(QAT)僅引入了相對較低的準(zhǔn)確率損失,例如在 MNIST 數(shù)據(jù)集上為 0.69%,平均為 2.68%。

打開網(wǎng)易新聞 查看精彩圖片

在相同超向量維度下比較準(zhǔn)確率時,TrainableHD 平均比 Baseline 在 D = 3,000 和 D = 10,000 時分別高出 7.02% 和 4.86%。這些結(jié)果與經(jīng)過微調(diào)以實現(xiàn)最佳準(zhǔn)確率的最先進的深度學(xué)習(xí)模型相當(dāng)。與 D = 3,000 時的 ManiHD 相比,TrainableHD 在除一個數(shù)據(jù)集外的所有數(shù)據(jù)集中均超越了 ManiHD,平均準(zhǔn)確率提高了 9.68%。然而需要注意的是,ManiHD 使用了流形投影,這在推理過程中引入了顯著的開銷。

為了更深入地探討為什么 TrainableHD 超越了其他 HDC 學(xué)習(xí)方法,我們分析了訓(xùn)練和測試準(zhǔn)確率在各個周期中的變化。HDC 學(xué)習(xí)的一個顯著特點是其能夠在相對較少的周期內(nèi)學(xué)習(xí)到高質(zhì)量的模型。如圖 6 所示,Baseline 和 TrainableHD 都在初始周期中達(dá)到了較高的訓(xùn)練準(zhǔn)確率。盡管 Baseline 的訓(xùn)練準(zhǔn)確率(即針對訓(xùn)練數(shù)據(jù)集)與 TrainableHD 相當(dāng),但 TrainableHD 在訓(xùn)練周期中表現(xiàn)出更高的測試準(zhǔn)確率。這是由于基于 Baseline 的 HDC 學(xué)習(xí)傾向于對訓(xùn)練數(shù)據(jù)集過擬合。而 TrainableHD 在訓(xùn)練的早期階段避免了這種過擬合,從而實現(xiàn)了更高的測試準(zhǔn)確率——這是衡量魯棒在線學(xué)習(xí)實際預(yù)測性能的更準(zhǔn)確指標(biāo)。

7.3 效率評估

訓(xùn)練效率 TrainableHD 的訓(xùn)練效率與傳統(tǒng)深度神經(jīng)網(wǎng)絡(luò)(DNN)進行了對比評估。在圖 7 中,我們展示了兩個版本的 TrainableHD 的結(jié)果:一個未使用量化感知訓(xùn)練(QAT),另一個使用了 QAT,并與標(biāo)準(zhǔn) DNN 模型進行對比。值得注意的是,未量化的 TrainableHD 平均訓(xùn)練性能提高了 24.48 倍。通過引入量化(能夠生成 INT8 量化模型),進一步提升了推理部署期間的效率。盡管偽量化模擬引入了額外的計算需求,但使用 QAT 的 TrainableHD 仍然比 DNN 快 12.13 倍。

打開網(wǎng)易新聞 查看精彩圖片

推理效率 圖 8 提供了 TrainableHD 在 GPU 上相對于 DNN 推理的速度提升和能效改進的對比分析。在本次評估中,TrainableHD 使用了 D = 3,000 的維度,其學(xué)習(xí)質(zhì)量仍優(yōu)于使用 D = 10,000 的 Baseline 方法。與 DNN 相比,TrainableHD 展現(xiàn)了顯著更高的學(xué)習(xí)效率。例如,在相同的 GPU 平臺上,即使不使用量化,TrainableHD 的速度也比 DNN 快 56.4 倍,且能效高出 73 倍。當(dāng)啟用量化時,TrainableHD 的性能額外提升了 3.1 倍,且沒有精度損失。

打開網(wǎng)易新聞 查看精彩圖片

值得注意的是,TrainableHD 的輕量級框架使其在 CPU 上也能實現(xiàn)高效率,這對邊緣或云計算場景中的設(shè)備加速器不可用的情況非常有利。通過量化,TrainableHD 在 GPU 上的性能比 DNN 快 20.7 倍。此外,當(dāng)在 FPGA 單元上實現(xiàn)時,TrainableHD 相較于 DNN 可提供高達(dá) 180.8 倍的速度提升和 167.8 倍的能效改進。

使用 FP32(和 INT8)量化的 TrainableHD 在性能上分別比 ManiHD 提升了 3.3 倍(和 16.1 倍)。這一改進尤其顯著,因為 ManiHD 為了實現(xiàn)更高精度需要承擔(dān)顯著的開銷,主要是由于流形投影帶來的預(yù)處理 CPU 開銷。

7.4 維度縮減

圖 9 展示了 TrainableHD 和 Baseline 在不同超向量維度下的推理準(zhǔn)確率對比。HDC 的一個關(guān)鍵方面是可以通過降低維度來提高效率,但這通常以犧牲準(zhǔn)確性為代價。HDC 的一個關(guān)鍵因素是保持足夠大的維度大小,以準(zhǔn)確表示模型與編碼超向量之間的距離。

打開網(wǎng)易新聞 查看精彩圖片

盡管較低維度通常會導(dǎo)致準(zhǔn)確率下降,且由于類似于深度學(xué)習(xí)的內(nèi)在隨機性元素,維度變化對準(zhǔn)確率的影響較小,但 TrainableHD 在降低維度的同時仍表現(xiàn)出顯著的魯棒性,并確保了高準(zhǔn)確率。例如,在 MNIST 數(shù)據(jù)集中,Baseline 在 D = 10,000 時達(dá)到了 97.34% 的測試準(zhǔn)確率,而 TrainableHD 在顯著降低到 D = 1,000 的維度下仍實現(xiàn)了接近的 96.90% 準(zhǔn)確率。平均而言,TrainableHD 在 D = 500 時相比 D = 10,000 的準(zhǔn)確率損失僅為 0.99%。這一發(fā)現(xiàn)非常顯著,表明 TrainableHD 能夠在降低維度的情況下有效運行且不會顯著損失準(zhǔn)確率。此外,TrainableHD 在 D = 500 時的準(zhǔn)確率甚至超過了 Baseline 在 D = 10,000 時的準(zhǔn)確率。這一對比突顯了 TrainableHD 在大幅降低超向量維度的情況下仍能保持高準(zhǔn)確率的能力。

7.5 優(yōu)化算法評估

在評估各種優(yōu)化算法對 TrainableHD 的有效性時,我們實現(xiàn)了一系列算法,包括 Adagrad [4]、Adam [22]、RMSProp [42]、Momentum [37]、NAG [33] 和 SGD [40]。圖 10 展示了這些優(yōu)化器在不同訓(xùn)練周期中實現(xiàn)的訓(xùn)練和推理準(zhǔn)確率。我們的觀察表明,Adam 算法為 TrainableHD 提供了最佳的整體性能。值得注意的是,與我們在[17] 中的早期版本相比,應(yīng)用 Adam 算法使平均準(zhǔn)確率提高了 1.06%。在訓(xùn)練過程中,傳統(tǒng)上用于 HDC 領(lǐng)域的 SGD 優(yōu)化器表現(xiàn)出與其他復(fù)雜優(yōu)化器(如 Adam 和 Adagrad)相當(dāng)?shù)臏?zhǔn)確率和快速收斂能力。然而,在推理性能方面,Adam 算法在表 3 中的大多數(shù)數(shù)據(jù)集上均取得了高度準(zhǔn)確的結(jié)果,從而優(yōu)于傳統(tǒng)的 SGD 方法。

打開網(wǎng)易新聞 查看精彩圖片

有趣的是,AdaDelta 算法在訓(xùn)練和推理階段均導(dǎo)致 TrainableHD 性能顯著下降。這突顯了 HDC 對優(yōu)化器的獨特需求,與深度神經(jīng)網(wǎng)絡(luò)(DNN)的需求形成對比。AdaDelta 最初設(shè)計用于緩解 Adagrad [41] 中學(xué)習(xí)率逐漸減小的問題,主要通過專注于更近期的訓(xùn)練數(shù)據(jù)進行更新。相反,HDC 的特點是其快速學(xué)習(xí)能力(如第 7.2 節(jié)所述),可能不需要長期的迭代訓(xùn)練。因此,我們預(yù)計像 Adagrad 這樣利用早期訓(xùn)練階段洞察的算法在 HDC 環(huán)境中會比 AdaDelta 更有效。

與我們在第 5.2 節(jié)中的討論一致,Adagrad 表現(xiàn)出具有競爭力的推理準(zhǔn)確率,尤其是在重新訓(xùn)練次數(shù)有限的情況下。例如,如表 3 所示,在學(xué)習(xí)的初始階段(例如第五個周期),Adagrad 在 12 個數(shù)據(jù)集中的 4 個上優(yōu)于其他優(yōu)化算法。這一觀察結(jié)果還指出了為特定數(shù)據(jù)集選擇合適優(yōu)化器的重要性,像 RMSProp 和 NAG 這樣的替代算法在某些條件下表現(xiàn)出潛在的更高準(zhǔn)確率。這些發(fā)現(xiàn)強調(diào)了通過針對每個數(shù)據(jù)集的獨特特性進行戰(zhàn)略性優(yōu)化器選擇,充分利用 HDC 快速學(xué)習(xí)能力的優(yōu)勢。然而,經(jīng)過多輪次廣泛重新訓(xùn)練后,Adam 優(yōu)化器始終表現(xiàn)出高性能,展示了其在提升 HDC 模型學(xué)習(xí)效果方面的長期有效性。

打開網(wǎng)易新聞 查看精彩圖片

接下來,我們考察了不同優(yōu)化算法對訓(xùn)練執(zhí)行時間的影響。如表 4 所示,我們將各種優(yōu)化算法在 50 次重新訓(xùn)練周期中的訓(xùn)練時間與 SGD 提供的基線進行了比較,SGD 是計算成本最低的優(yōu)化器。值得注意的是,應(yīng)用 NAG 算法被觀察到平均延長了約五倍的訓(xùn)練時間。這一觀察結(jié)果表明,我們需要考慮一些高級優(yōu)化器引入的計算開銷,以在訓(xùn)練效率和學(xué)習(xí)準(zhǔn)確性之間取得平衡。例如,對于只能進行較少重新訓(xùn)練周期的 HDC 模型,像 Adagrad 和 RMSProp 這樣的優(yōu)化算法將是首選,因為它們在不顯著影響執(zhí)行時間的情況下提供了學(xué)習(xí)質(zhì)量的平衡改進。這一評估建議根據(jù)訓(xùn)練程序的具體要求和現(xiàn)有的計算約束戰(zhàn)略性地選擇優(yōu)化算法,以確保模型準(zhǔn)確率和訓(xùn)練效率之間的最佳權(quán)衡。

打開網(wǎng)易新聞 查看精彩圖片

7.6 加速策略的影響

7.6.1 編碼器間隔訓(xùn)練(EIT)

如第 6.1 節(jié)所述,EIT 策略涉及定期進行編碼器訓(xùn)練,而不是在每個周期都進行。我們通過測量使用和不使用 EIT 的推理時間來評估這種方法。圖 11 展示了每種情況下使用代表性數(shù)據(jù)集的訓(xùn)練時間分解。研究發(fā)現(xiàn),EIT 顯著減少了基超向量更新(標(biāo)記為“Base Update”)和重復(fù)編碼過程(標(biāo)記為“Encoding”)所需的時間。具體而言,我們的評估表明,EIT 分別將基更新和編碼的時間減少了 89.20% 和 69.89%。這證明了通過 EIT 技術(shù)實現(xiàn)的顯著效率提升。

打開網(wǎng)易新聞 查看精彩圖片

EIT 策略旨在通過在非關(guān)鍵情況下選擇性跳過基超向量的重新編碼來提高訓(xùn)練過程的效率。盡管這種方法可以顯著減少訓(xùn)練時間,但由于它分層更新基超向量表示的確切值,可能會對準(zhǔn)確性產(chǎn)生一定影響。在表 5 中,我們評估了在不同數(shù)據(jù)集上應(yīng)用 EIT 對 TrainableHD 準(zhǔn)確性的影響,并設(shè)置周期數(shù) n = 5 以與非 EIT 場景進行直接比較。為了保持一致性,我們在每種數(shù)據(jù)集和優(yōu)化器組合中應(yīng)用了相同的、在非 EIT 情況下能夠獲得最佳推理準(zhǔn)確率的學(xué)習(xí)率。

打開網(wǎng)易新聞 查看精彩圖片

我們的研究結(jié)果表明,在大多數(shù)評估案例中,EIT 技術(shù)在準(zhǔn)確性和效率之間基本保持了令人滿意的平衡。然而,對于某些特定數(shù)據(jù)集,當(dāng)與 Momentum 優(yōu)化器結(jié)合時,觀察到了不可忽略的準(zhǔn)確率下降。這歸因于 Momentum 優(yōu)化器對學(xué)習(xí)率的敏感性(如我們在第 5.2 節(jié)中討論的那樣),在 EIT 條件下這種敏感性變得尤為關(guān)鍵。例如,使用每種數(shù)據(jù)集的標(biāo)準(zhǔn)學(xué)習(xí)率設(shè)置時,Momentum 優(yōu)化器的性能有所下降,這表明其有效性依賴于最優(yōu)參數(shù)配置。

通過進一步研究學(xué)習(xí)率的作用,我們發(fā)現(xiàn)對大多數(shù)優(yōu)化器而言的最佳默認(rèn)設(shè)置并不一定適用于 Momentum 優(yōu)化器。我們觀察到,調(diào)整 Momentum 優(yōu)化器的學(xué)習(xí)率顯著提高了準(zhǔn)確性。例如,在將學(xué)習(xí)率從后,TEX 數(shù)據(jù)集的準(zhǔn)確率損失從 17.50% 減少到了 5.00%。這表明,通過參數(shù)優(yōu)化可以大幅減輕 EIT 的負(fù)面影響。

另一方面,我們的分析還表明,結(jié)合各種優(yōu)化算法使用 EIT 通常只會導(dǎo)致極小的準(zhǔn)確率損失,例如,SGD 平均損失為 0.50%,Adagrad 為 0.43%,Adam 為 0.73%。這表明,通過仔細(xì)調(diào)整配置參數(shù),優(yōu)化算法可以更有效地利用 EIT 帶來的好處,從而在不顯著犧牲模型準(zhǔn)確性的情況下獲得 EIT 的效率提升。

7.6.2 QAT 的漂移感知更新(DAU)

如第 6.2 節(jié)所述,DAU 是我們在框架中實現(xiàn)的另一種優(yōu)化技術(shù)。它僅在超向量更新發(fā)生顯著變化時選擇性地應(yīng)用模擬量化,從而減少不必要的計算工作量。為了評估 DAU 的有效性,我們比較了啟用和禁用 DAU 的場景,后者涉及在每次更新時持續(xù)進行 QAT 和偽量化。

如圖 12 所示,該圖分析了 10 個代表性數(shù)據(jù)集,結(jié)果表明 DAU 平均減少了 84.50% 的 QAT 開銷。這種減少對于在訓(xùn)練期間保持高效率至關(guān)重要。此外,值得注意的是,使用 DAU 對準(zhǔn)確性的影響非常小,這一優(yōu)勢歸因于 HDC 中使用的整體表示特性。

打開網(wǎng)易新聞 查看精彩圖片

8 結(jié)論

本文介紹了 TrainableHD,這是一種創(chuàng)新框架,通過引入編碼器的動態(tài)訓(xùn)練能力和集成自適應(yīng)優(yōu)化算法,為高維計算(HDC)注入了新的活力。通過突破傳統(tǒng) HDC 中通常使用的靜態(tài)隨機生成編碼器的限制,TrainableHD 能夠基于學(xué)習(xí)數(shù)據(jù)的反饋進行適應(yīng)和演化,這標(biāo)志著與傳統(tǒng) HDC 方法的重大轉(zhuǎn)變。這種動態(tài)的編碼器訓(xùn)練方法是提升 HDC 模型準(zhǔn)確性和效率的關(guān)鍵因素。在訓(xùn)練過程中引入自適應(yīng)優(yōu)化算法進一步完善了 TrainableHD,優(yōu)化了超向量的訓(xùn)練并提升了框架的整體效率。這一改進確保 TrainableHD 不僅保留了 HDC 的固有優(yōu)勢(如簡單的算術(shù)運算和高計算效率),還進一步提升了這些優(yōu)勢。TrainableHD 的另一項進步是實現(xiàn)了高效的量化,使得推理階段可以在低精度加速器上執(zhí)行。這一特性顯著增強了框架在實際場景中的適用性,尤其是在像 NVIDIA Jetson Xavier 這樣的低功耗平臺上,TrainableHD 在速度和能效方面均優(yōu)于最先進的深度學(xué)習(xí)模型。我們的全面評估表明,與傳統(tǒng)的 HDC 方法相比,TrainableHD 的準(zhǔn)確率提高了多達(dá) 27.99%(平均提高 7.02%),且不會增加額外的計算成本。此外,TrainableHD 應(yīng)用編碼器間隔訓(xùn)練(EIT)和自適應(yīng)優(yōu)化算法進一步提升了性能,在訓(xùn)練效率和模型準(zhǔn)確性之間實現(xiàn)了良好的平衡。

原文鏈接: https://dl.acm.org/doi/abs/10.1145/3665891