Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

能耗降低93.3%,复旦、港大团队开发受大脑启发的动态神经网络,实现超强2D、3D视觉

图片

编辑 | 萝卜皮

大脑运算是动态的、具有联想能力的、高效的。它通过将输入与过去的经验联系起来,将记忆和处理融合在一起,从而进行重新配置。

相比之下,人工智能模型是静态的,无法将输入与过去的经验联系起来,并且在具有物理分离的记忆和处理的数字计算机上运行。

复旦大学、香港大学、中国科学院等机构组成的联合团队提出了一种软硬件协同设计方案,即使用忆阻器的基于语义记忆的动态神经网络

该网络将传入的数据与存储为语义向量的过去经验相关联。网络和语义存储器分别在基于抗噪三元忆阻器的内存计算 (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

理论
相关数据
复旦大学机构

复旦大学(Fudan University),简称“复旦”,位于中国上海,由中华人民共和国教育部直属,中央直管副部级建制,国家双一流(A类)、985工程、211工程建设高校,入选珠峰计划、111计划、2011计划、卓越医生教育培养计划、卓越法律人才教育培养计划、国家建设高水平大学公派研究生项目,九校联盟(C9)、中国大学校长联谊会、东亚研究型大学协会、环太平洋大学协会的重要成员,是一所世界知名、国内顶尖的全国重点大学。

相关技术
冯·诺依曼人物

约翰·冯·诺伊曼(德语:John von Neumann,1903年12月28日-1957年2月8日),原名诺依曼·亚诺什·拉约什(匈牙利语:Neumann János Lajos),出生于匈牙利的美国籍犹太人数学家,现代电子计算机与博弈论的重要创始人,在泛函分析、遍历理论、几何学、拓扑学和数值分析等众多数学领域及计算机学、量子力学和经济学中都有重大贡献。

增强现实技术

增强现实,是指透过摄影机影像的位置及角度精算并加上图像分析技术,让屏幕上的虚拟世界能够与现实世界场景进行结合与互动的技术。这种技术于1990年提出。随着随身电子产品运算能力的提升,增强现实的用途也越来越广。

网格搜索技术

网格搜索是一项模型超参数优化技术,常用于优化三个或者更少数量的超参数,本质是一种穷举法。对于每个超参数,使用者选择一个较小的有限集去探索。然后,这些超参数笛卡尔乘积得到若干组超参数。网格搜索使用每组超参数训练模型,挑选验证集误差最小的超参数作为最好的超参数。

信息检索技术

信息检索(IR)是基于用于查询检索信息的任务。流行的信息检索模型包括布尔模型、向量空间模型、概率模型和语言模型。信息检索最典型和最常见的应用是搜索引擎。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

重构技术

代码重构(英语:Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

机器人技术技术

机器人学(Robotics)研究的是「机器人的设计、制造、运作和应用,以及控制它们的计算机系统、传感反馈和信息处理」 [25] 。 机器人可以分成两大类:固定机器人和移动机器人。固定机器人通常被用于工业生产(比如用于装配线)。常见的移动机器人应用有货运机器人、空中机器人和自动载具。机器人需要不同部件和系统的协作才能实现最优的作业。其中在硬件上包含传感器、反应器和控制器;另外还有能够实现感知能力的软件,比如定位、地图测绘和目标识别。之前章节中提及的技术都可以在机器人上得到应用和集成,这也是人工智能领域最早的终极目标之一。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~