编辑 | 萝卜皮
大脑运算是动态的、具有联想能力的、高效的。它通过将输入与过去的经验联系起来,将记忆和处理融合在一起,从而进行重新配置。
相比之下,人工智能模型是静态的,无法将输入与过去的经验联系起来,并且在具有物理分离的记忆和处理的数字计算机上运行。
复旦大学、香港大学、中国科学院等机构组成的联合团队提出了一种软硬件协同设计方案,即使用忆阻器的基于语义记忆的动态神经网络。
该网络将传入的数据与存储为语义向量的过去经验相关联。网络和语义存储器分别在基于抗噪三元忆阻器的内存计算 (CIM) 和内容可寻址存储器 (CAM) 电路上物理实现。
研究人员使用 40 纳米忆阻器宏在 ResNet 和 PointNet++ 上验证了该设计,用于对 MNIST 和 ModelNet 数据集中的图像和三维点进行分类,这不仅实现了与软件相当的准确度,而且还将计算预算减少了 48.1% 和 15.9%。此外,它还降低了 77.6% 和 93.3% 的能耗。
该研究以「Semantic memory–based dynamic neural network using memristive ternary CIM and CAM for 2D and 3D vision」为题,于 2024 年 8 月 14 日发布在《Science Advances》。
大脑低能耗高效运算给 AI 设计的启示
人类大脑在低能量下执行复杂任务的效率依赖于动态重构、与过去经验的联想记忆以及记忆与信息处理的搭配的协同作用。
大脑处理信息的方式是动态且自适应的。大脑的神经网络不会维持静态的计算模型,而是会针对各种刺激和任务表现出复杂且动态的激活和连接模式。大脑的动态连接主要取决于结构可塑性。
此外,大脑还表现出另一层动态行为;当个体遇到不同复杂程度的物体或任务时,大脑的不同区域会被激活。
大脑的神经活动模式可以在不同的大脑区域有所不同,并随时间而变化,使大脑能够整合感官信息、做出决策并适应不熟悉的情况。大脑的动态特性使其能够高效地处理任务,同时消耗最少的能量。
相比之下,大多数神经网络都是静态的,具有固定的拓扑结构,缺乏这种适应性,导致资源分配效率低下,在处理不断变化的信息或任务时受到限制。
大脑能够将不熟悉的信息与过去的经验联系起来,例如在语义和高级视觉处理领域。生物实验证明,大脑能够通过激活的神经元内的记忆编码和检索过程来加速对熟悉物体的识别,并充当语义缓存,从而快速检索过去的经历。
然而,传统计算机依赖于基于地址的信息存储和搜索,而不是根据相似性来关联观察结果。
此外,大脑不仅使用化学突触来存储信息,而且还可以在存储信息的地方处理信息,具有低功耗和高并行性的特点。
这与当前冯诺依曼数字计算机架构带来的高能耗和延迟挑战形成了鲜明对比,其中计算单元和存储单元之间的分离需要频繁的数据传输。
图示:具有忆阻器的受大脑启发的动态神经网络。(来源:论文)
一种借鉴大脑计算范式的协同设计方法
在最新的研究中,复旦大学、香港大学等机构的研究团队提出了一种硬件-软件协同设计,即使用忆阻器的基于语义记忆的动态神经网络(DNN),以反映脑计算范式的三个特点。
从软件角度来看,基于语义记忆的 DNN 旨在为人工神经网络配备大脑的动态可重构性。该网络将陌生的信息与过去的经验联系起来,并根据需求分配计算,在许多应用中比静态网络更高效、更有效。
此外,网络的适应性使其能够通过实时调整不同的计算预算来平衡准确性和效率,适用于计算预算可能发生变化或变化的情况,例如在资源受限的设备或分布式计算环境中。
硬件方面,研究人员使用忆阻器(一种在物理上类似于大脑突触的新兴设备),分别使用内存计算 (CIM) 和内容可寻址存储器 (CAM) 电路来物理实现抗噪 DNN 和联想语义记忆的三元权重。
基于忆阻器的 CIM 电路使用简单的物理定律进行矩阵向量乘法。由于矩阵权重物理上存储在忆阻器阵列中,而乘法就在权重存储的位置执行,因此它们将计算和存储元素融合在一起,这不仅克服了冯·诺依曼瓶颈,而且还实现了高并行性。
基于忆阻器的 CAM 电路是一种受大脑启发的联想存储器,可作为 DNN 中的语义缓存存储器。与依赖地址进行信息检索的传统电子存储器不同,大脑和 CAM 具有并行基于内容的搜索功能。具体来说,CAM 测量输入向量和内存中存储的向量之间的距离,从而无需像 CIM 那样进行数据移动。
图示:硬件-软件协同设计:使用 CIM 和 CAM 的基于语义记忆的动态神经网络。(来源:论文)
用于二维视觉的动态 ResNet
研究人员应用他们的协同设计,使用 ResNet 模型对 MNIST 数据集进行分类。研究人员基于忆阻器的混合模拟数字系统进行前向推理的实验示例。
首先对模型和语义记忆进行原位训练,然后进行量化并物理映射到基于忆阻器的 CIM 和 CAM。
在推理过程中,手写图像(例如数字 8)被映射到电压,CIM 物理计算每个残差块的特征图。这些特征图在 GAP 之后生成每个残差块的关联搜索向量,通过测量余弦相似度与 CAM 中同一块的语义中心进行比较。
当正向传递到达第四个块时,计算出的第八个类别的相似度超过了阈值,表明有足够的置信度将输入的手写数字归类为八。因此,正向传递在此处停止,并跳过所有剩余的残差块。
图示:用于 MNIST 数据集分类的硬件和软件共同设计的动态 ResNet。(来源:论文)
用于模拟噪声抑制的三元量化
噪声抑制对于使用忆阻器的模拟计算至关重要。
该团队的协同设计中有两种主要噪声,即写入噪声和读取噪声。写入噪声源于忆阻器不可避免的编程随机性,而读取噪声则源于由于编程不稳定性和其他电子噪声的综合影响而导致的电导时间波动。
图示:忆阻器的固有物理噪声以及使用三元量化网络的缓解方法。(来源:论文)
为了减轻写入和读取噪声对基于忆阻器的 CIM 和 CAM 的影响,研究人员采用权重和语义中心的三元量化,其性能优于受写入和读取噪声影响的映射全精度模型。该团队模拟了写入噪声对有无三元权重量化的动态 ResNet 分类准确率的影响。
三元量化网络对增加的写入噪声表现出了相当大的弹性,而全精度映射网络的性能则随着编程噪声的增加而迅速下降。
此外,研究人员结合固定的 15% 写入噪声模拟读取噪声影响。三元量化网络与直接将全精度权重映射到忆阻器相比,准确度提高了 10%。
用于 3D 视觉的动态 PointNet++
尽管是 2D 图像,但 3D 传感技术的出现凸显了 3D 点云在捕获和解释 3D 物体的空间属性方面的重要性。3D 点云的分类对于自动驾驶、机器人技术和增强现实至关重要。
该团队使用 PointNet++ 模型模拟他们的协同设计,以对 ModelNet 数据集进行分类。PointNet++ 包含多个集合抽象(SA)层。这些层以分层方式工作,每层选择代表点,转换与代表点相邻的所有点的特征,并聚合相邻点特征以更新代表点的特征。
通过这种方式,PointNet++ 可以捕获点云中不同深度的局部和全局特征,该模型广泛用于 3D 点分类和分割。
图示:使用 PointNet++ 进行基于 CIM 和 CAM 的 ModelNet 分类的 DNN。(来源:论文)
使用 TPE 解决预算和准确性之间的权衡优化问题
每一层的阈值都起着至关重要的作用,决定输入样本是否可以提前退出以减少计算预算,或者继续前向传递以获得更好的准确性,从而在准确性和效率之间取得平衡。
这里的目标是找到一个帕累托最优解,在 DNN 的计算预算和准确率之间取得平衡。
首先,研究人员使用网格搜索来探索计算预算和准确率之间的相关性。然后,他们设计了一个兼顾计算预算和准确率的目标函数,并利用 TPE 的方法优化各层的阈值,目标函数的最优解即为一个兼顾计算预算和准确率的 DNN。
计算预算显著减少,通过基于语义记忆的 DNN 对 MNIST 数据集进行分类时减少了 48.1%,对 ModelNet 数据集进行了分类时减少了 15.9%。
此外,能源效率显著提高,与最先进的 GPU 相比,各个数据集分类的能耗分别降低了 77.6% 和 93.3%。
这些发现为未来模拟大脑对计算资源的自适应分配、对过去经验的联想回忆以及记忆和处理的搭配的研究开辟了道路。
相关报道:https://www.science.org/doi/10.1126/sciadv.ado1058