HDVQ-VAE: Binary Codebook for Hyperdimensional Latent Representations
HDVQ-VAE:用于超维潜在表示的二进制代码簿
https://prefer-nsf.org/pdf/HDVQ-VAE_2024.pdf
摘要
超维计算(HDC)作为一种新兴的计算范式,凭借其轻量级且强大的计算能力以及固有的学习特性,展现出巨大潜力。通过利用二进制超维向量,HDC能够高效且稳健地处理数据,在速度和韧性方面均超越传统机器学习(ML)方法。本文针对HDC系统中的关键挑战展开研究,特别是数据向超维域的转换以及HDC与传统机器学习框架的融合问题。我们提出了一种新颖的解决方案,即超维向量量化变分自编码器(HDVQ-VAE),该方案将二进制编码与机器学习系统中的码本表示无缝结合。我们的方法通过用二进制(−1, +1)码本替代传统码本,显著降低了内存开销,同时增强了训练过程。借助这种架构,我们展示了改进的编码-解码过程,并在可接受的峰值信噪比(PSNR)范围内生成了高质量图像。我们的工作通过考虑将高效的机器学习系统部署到嵌入式系统,推动了HDC的发展。
索引术语——超维计算(HDC),向量量化变分自编码器(VQ-VAE)。
I. 引言
超维计算(HDC)因其能够提供轻量级且高效的计算能力以及某些学习特性,最近受到了研究人员的广泛关注[1]。与传统机器学习(ML)相比,HDC凭借其独特的数据表示方式,提供了速度和鲁棒性。HDC利用超维符号二进制向量(称为超向量)执行各种机器学习任务[2]。这些超向量具有全息信息存储的固有属性[3]。通过使用二进制(−1, +1)超维向量,HDC实现了全息信息存储[4],能够在单个二进制向量中包含多个输入数据,与传统二进制数制系统相比,资源消耗更低。超向量的维度(D)通常在1K到10K之间,向量需要近乎正交以实现无偏的符号表示。这种独特的正交性属性便于进行捆绑、绑定和排列操作以实现编码目的,使单个向量能够表示多个输入[5]。捆绑超向量会产生一个与所有加数最相似的超向量。绑定操作会产生一个与绑定的超向量集合最不相似的超向量,类似于逐坐标乘法。排列(一种循环移位)生成不相关的超向量,同时保持正交性[6]。
尽管HDC是实现轻量级机器学习应用的有前景的途径,但必须认真考虑数据如何转换为其符号表示。本文专注于使用无监督学习来简化编码过程。与通常使用连续的实值向量(例如Word2Vec中的向量[7])的传统机器学习方法不同,HDC方法采用离散的符号表示。这使得能够使用超维二进制向量进行稳健且内存高效的全息信息存储,减少了与浮点表示相关的开销。本文使用传统机器学习来帮助选择用于表示抽象数据的符号。据我们所知,在文献中首次将向量量化变分自编码器(VQ-VAE)架构与HDC方法结合,以实现高效的潜在空间表示,而不失一般性。VQ-VAE码本的离散特性与HDC的标准编码技术一致,其中使用离散符号列表或码本。此外,VQ-VAE的编码器、解码器和量化过程与我们以无监督方式学习将抽象数据映射到一组符号的目标一致。一旦获得码本,分类任务就成为整体学习架构的第二个组成部分。传统系统通常依赖于涉及复杂操作(如乘累加激活)的传统浮点内存表示。然而,在基于HDC的分类器中,采用单次学习策略,与传统机器学习系统不同。本研究将使用HDVQ-VAE训练的二进制码本与HDC范式的单次学习策略相结合。潜在空间元素通过绑定和捆绑进一步处理,以创建分类器系统。结果表明,所提出的框架提供了一种易于部署的架构,减少了内存使用,同时保持了与传统方法相当的准确度水平。本文的贡献包括:1)通过码本替换将HDC机制整合到VQ-VAE架构中;2)启用下游HDC应用,利用HDC潜在空间;3)从float32码本转换为二进制码本,将潜在空间减少了32倍;4)由于码本替换,整体模型大小减小。
II. 背景
A. 超维计算
超维计算(HDC)作为一种新兴的计算范式,因其在开发超轻量级学习系统方面的潜力而受到关注。与传统机器学习方法相比,HDC能够直接处理数据,无需额外的特征工程,支持单次学习,消除了对误差优化和反向传播的需求,并且由于其单比特处理能力,能够实现轻量级模型。通过将数据编码为超向量并应用一系列逻辑运算,HDC可以直接得出训练样本的类别,这与传统神经网络系统中的学习步骤(前向传播-反向传播)不同,后者需要多个优化步骤。
HDC在表示符号(如字母、图像像素位置和一维信号时间戳)方面表现出色,通过利用正交二进制向量实现。每个向量包含D维,由随机出现的+1和−1值组成(在硬件环境中分别解释为逻辑1和逻辑0)。对于符号表示,由于它不是数值,因此向量评估遵循0和1之间的无偏概率点。假设每个符号向量表示的总体概率中点为0.5,则生成的向量之间不存在偏差。概率表示在总向量大小中具有逻辑值1的可能性,因此每个符号具有相等的概率。
另一方面,标量值(包括一维信号幅度和图像像素强度)也可以有效地在HDC系统中进行编码。空间内的最小和最大标量值分别映射到−1−1−1−1……−1(最小超向量)和+1+1+1+1……+1(最大超向量)。范围内的任何值都通过根据值的大小随机翻转位从−1到+1(或反之)来表示[8]。
一旦完成向量生成,数据将经过后续的编码步骤,如绑定、移位、排列和捆绑,这些步骤根据具体应用而定制。应用主要使用两种类型的编码:1)基于n-gram的编码和2)基于记录的编码。在语言处理等基于符号的应用中,n-gram操作涉及处理n个符号(字母)及其对应的超向量。任何n组符号都通过移位和排列其对应的超向量进行组合[9]。例如,在文本处理中进行n=3的3-gram操作时,会取句子中的三个字母超向量子集,对每个3组向量进行移位和排列,并通过绑定操作将它们相乘。+1和−1二进制值的乘法在硬件中通过XOR运算实现,最终结果是另一个超向量。从每个n-gram子集中得到的超向量(n-gram向量)随后通过累积聚合(在硬件中通过人口计数操作实现)生成一个单一向量,从而从多个n-gram输入中产生一个向量。这种累积是一种捆绑操作,有助于实现HDC的整体学习特性。最后一步是将累积值重新二值化为二进制形式。这个过程针对每个数据集类别进行定制,生成一个统一的一维向量,代表相应的类别。每个新样本通过执行相同的编码步骤对该结果类别超向量做出贡献[10]。推理过程遵循上述相同的编码步骤;分类涉及测试样本向量与类别超向量之间的相似性评估。更高的相似性分数(通过余弦相似度、汉明距离、点积等指标测量)表明类别与测试超向量之间的匹配度更高,从而得出分类结果。
B. 向量量化变分自编码器
变分自编码器(VAE)被广泛应用于许多场景,例如生成式图像扩散模型,用于产生压缩的潜在空间,以便在该空间中进行计算操作时成本更低。向量量化变分自编码器(VQ-VAE)架构与传统VAE的不同之处在于,它学习离散的压缩表示,而不是连续的表示。它用量化过程替换了重参数化技巧,通过距离测量将特征映射到有限符号列表或码本中最近的符号[11]。本文正是受到HDC编码目标与VQ-VAE编码过程的共同点的启发,即两者都致力于将数据映射到离散的符号表示。图1(a)展示了传统的VQ-VAE架构。
传统的VQ-VAE使用三种主要的损失度量来指导其训练:1)均方误差(MSE);2)码本损失;3)承诺损失。MSE是在重建数据和原始数据之间计算的。码本损失和承诺损失几乎完全相同,它们之间唯一的区别在于在反向传播过程中,哪一个向量集合被分离,以迫使另一个被考虑。以下是传统VQ-VAE中的损失函数:
III. HDVQ-VAE框架
所提出的架构基于一个众所周知的传统机器学习模块:向量量化变分自编码器(VQ-VAE),并对其进行了更新,引入二进制数据表示以整合正交向量,从而形成了HDVQ-VAE。这种改进提供了一种轻量级、易于部署且更高效的分类器,利用了超维计算(HDC)范式的编码动态。我们的架构包括下采样模块、上采样模块和量化模块。下采样模块由两个顺序模块组成,每个模块包含两个卷积层,输入数据在经过加法操作并被送入双曲正切(tanh)激活函数之前会通过这两个卷积层。这两个顺序模块中的第一个模块在两个卷积层之间有一个前置激活的双曲正切函数。图1(a)展示了传统的架构,而图1(b)展示了我们提出的HDVQ-VAE架构。
我们将下采样模块中的卷积层替换为转置卷积层,从而创建了我们的上采样模块。量化模块包含码本,并负责将潜在向量映射到这个码本。在我们的提议中,我们将传统的码本替换为二进制(−1, +1)表示,用于我们的架构。这使得我们可以使用超向量或超向量的部分作为我们的码本。我们使用伪随机序列初始化这些码本向量。在HDC中,正交性对于符号表示至关重要,而随机源提供了这种正交性。一旦码本初始化完成,它在整个架构中保持固定,不会像传统VQ-VAE那样进行进一步的更新。这使我们能够消除码本损失和承诺损失。我们保留了直通过估计器,以将梯度从量化模块的一侧传播到另一侧[11]。码本可以由超向量或超向量的部分组成。如果码本由超向量的部分组成,那么潜在空间必须包含多个向量,这些向量在展平后形成一个超向量。
我们通过在修改后的VQ-VAE模型中消除码本损失和承诺损失,显著简化了训练过程。静态码本在训练过程中不需要更新,因此码本损失变得多余。同样,码本的二进制特性也减少了承诺损失的益处。除了传统的损失函数外,我们还选择根据一些众所周知的指标创建损失函数(L),以帮助指导网络:峰值信噪比(PSNR)[12]、结构相似性(SSIM)、学习感知图像块相似性(LPIPS)[12]和困惑度(PPLX)[13]:
在我们的实验中,训练过程利用重建图像及其原始图像之间的损失来指导模型生成有意义的潜在表示。训练过程如算法1所示。
除了利用HDC进行二进制潜在空间表示外,分类器组件也被保留在HDC域中,以进一步利用潜在空间。图1(b)进一步展示了为HDC域中的码本专门设计的HDC分类器。该过程涉及将展平的向量与每个对应类别的位置超向量相乘(绑定)并累积。位置向量与我们潜在块的空间维度24×24相一致。初始化位置向量涉及为每个空间位置分配一个独特的二进制向量。通过以0.5的概率将位随机分配为0或1,确保这些向量的独特性。与量化潜在块类似,我们将位置向量展平为一个单一超向量,然后与展平的量化潜在块绑定。在评估(推理阶段)传入的查询样本时,它们同样在超向量域中进行编码,并与每个先前生成的类别超向量进行比较。最高分数决定了分类结果。因此,本文在后续部分将测试两个主要提议:1)二进制潜在空间;2)使用HDC分类器进行码本分类。
IV. 实验与结果
在本节中,我们开展了两组实验,分别考虑了我们的两个主要贡献:1)超维(HD)潜在空间在图像重建中的性能;2)潜在空间在分类问题中的性能。使用图1(b)所示的架构,我们首先考察二进制超维潜在空间的性能。实验中使用的图像是基于STL10数据集[14]构建的,基于超维计算(HDC)的方法在图像构建性能方面达到了可接受的性能范围。
我们的实验使用了STL10数据集[14]。我们选择STL10数据集是因为其图像尺寸为96×96×3(宽×高×通道数),相较于MNIST和CIFAR数据集更大。较大的图像尺寸使我们能够在重建高质量图像方面进行测试,其中码本向量可能需要在更具挑战性的问题中表示更多细节。
额外的损失函数专注于细节,有助于指导模型选择码本向量,以最好地将细节信息从编码器传递到解码器。如图2所示,HDVQ-VAE能够令人接受地重建图像。一旦训练完成,我们可以使用图1(b)中的编码器和二进制码本生成二进制潜在向量。我们使用这些潜在向量来测试传统方法(即卷积神经网络CNN)的分类能力。CNN分类器由三个二维卷积层、一个展平层和两个全连接层组成。卷积层的输入输出通道数分别为128、64、32和8,每个卷积层后都跟有一个双曲正切(tanh)激活函数。展平后,输出通过两个全连接层,特征数从72减少到32,使用ReLU激活函数,然后再减少到10个特征。我们使用“在平台上减少”(reduce on plateau)的学习率调度器来训练模型,初始学习率为0.003,缩放因子为0.5,交叉熵损失的阈值为0.01。如图3(a)和(b)所示,CNN分类器在评估准确率上几乎翻倍,而在训练准确率上则增长了三倍以上。图3(c)和(d)分别报告了传统方法和HDC方法的测试阶段混淆矩阵。
对于我们的HDC分类测试,我们将HDVQ-VAE的二进制潜在向量重塑,将其展平为一个更超维度的向量,形成我们的超向量。展平操作将我们的潜在表示从B×128×24×24转换为B×73728,其中B是我们的批量维度,128是二进制向量的大小。我们的新超向量与在训练开始时初始化的静态位置超向量绑定。绑定后,我们在标记之前对每个类别的向量进行一次累积。在训练开始时,我们测量绑定超向量(潜在×位置)与类别向量之间的相似度。我们根据错误预测调整类别向量。在每个训练周期结束时,我们再次标记类别向量。尽管训练HDC分类器不使用反向传播,但它在损失和准确率得分上优于传统分类器模型。由于量化过程的复杂学习,VAE的VQ版本比CNN更符合HDC。HDC不仅计算成本更低,而且轻量级,使其成为嵌入式系统的合适候选。
对于我们的HDVQ-VAE,码本的二值化带来了内存节省和模型尺寸的整体减少。从float32转换为二进制表示,码本大小缩小了32倍,传递给解码器的信息比传统VQ-VAE小32倍。尽管信息流减少了32倍,但在下游潜在分类中,无论是传统分类器还是HDC分类器,在使用HDVQ-VAE的潜在表示时,其性能都优于传统VQ-VAE。
V. 结论
本研究提出了一种新方法,通过引入超维向量表示来增强向量量化变分自编码器,旨在为生成式人工智能(AI)和潜在空间分类提供一种更高效、更轻量化的解决方案。通过利用二进制超向量空间进行潜在表示,向量空间内的码本可用于图像重建或分类。这项研究标志着超维计算(HDC)在机器学习(ML)中的开端,表明其在未来工作中作为传统ML框架的有益补充的潜力。
原文链接:https://prefer-nsf.org/pdf/HDVQ-VAE_2024.pdf
热门跟贴