Peng Yao等作者魔王、张倩参与

完全使用忆阻器实现CNN,清华大学微电子所新研究登上Nature

不久之前,清华大学微电子所等机构在 Nature 上发表文章,展示了他们完全基于硬件的卷积神经网络(CNN)实现。他们构建的基于忆阻器的五层 CNN 在 MNIST 手写数字识别任务中实现了 96.19% 的准确率,为大幅提升 CNN 效率提供了可行的解决方案。

基于忆阻器的神经形态计算系统为神经网络训练提供了一种快速节能的方法。但是,最重要的图像识别模型之一——卷积神经网络还没有利用忆阻器交叉阵列的完全硬件实现。此外,由于硬件实现收益小、变化大,设备特性不完善,其结果很难媲美软件实现。

不久之前,来自清华大学和马萨诸塞大学的研究者在《自然》杂志上发表文章,提出用高收益、高性能的均匀忆阻器交叉阵列实现 CNN,该实现共集成了 8 个包含 2048 个单元的忆阻器阵列,以提升并行计算效率。此外,研究者还提出了一种高效的混合训练方法,以适应设备缺陷,改进整个系统的性能。研究者构建了基于忆阻器的五层 CNN 来执行 MNIST 图像识别任务,识别准确率超过 96%

除了使用不同卷积核对共享输入执行并行卷积外,忆阻器阵列还复制了多个相同卷积核,以并行处理不同的输入。相较于当前最优的图形处理器(GPU),基于忆阻器的 CNN 神经形态系统的能效要高出一个数量级,且实验证明该系统可扩展至大型网络,如残差神经网络。该结果或可促进针对深度神经网络边缘计算提供基于忆阻器的非冯诺伊曼(non-von Neumann)硬件解决方案。

基于忆阻器的 CNN 实现有什么优势?

CNN 是最重要的深度神经网络之一,在图像处理相关任务中发挥关键作用,如图像识别、图像分割目标检测

CNN 的典型计算步骤需要大量滑动卷积操作。从这个方面来看,CNN 需要支持并行乘积累加运算(MAC)的计算单元。而这需要重新设计传统的计算系统,以便以更高的性能、更低的能耗来运行 CNN,这些计算系统包括通用应用平台(如 GPU)、应用特定的加速器等。

但是,计算效率的进一步提升最终受限于系统的冯诺伊曼架构,该架构中的内存和处理单元是物理分离的,从而导致大量能耗,以及不同单元之间数据 shuffle 的高延迟。

与之相反,基于忆阻器的神经形态计算可以提供非冯诺伊曼计算范式,即存储数据,从而消除数据迁移的开销。忆阻器阵列直接使用欧姆定律进行加法运算,使用基尔霍夫定律(Kirchhoff』s law)进行乘法运算,因而能够实现并行内存内(in-memory)MAC 运算,从而模拟内存内计算(in-memory computing),并实现速度和能效的大幅提升。

为什么此前没有一个 CNN 是完全基于忆阻器的硬件实现?

基于忆阻器的神经形态计算研究覆盖大量主题,从设备优化到系统实现不一而足。一些研究展示了与内存内计算实际应用相关的实验。最近的研究报告了双层和三层忆阻器感知器在 MNIST 手写数字数据集上的图像识别结果。但是,没有一个 CNN 是在完全基于忆阻器的硬件系统中实现的。

造成这种困境的主要原因是缺乏针对基于忆阻器的 CNN(mCNN)实现的高效解决方案:首先,mCNN 通常收益低,忆阻器交叉阵列不均匀;其次,由于设备缺陷(如变化、电导率偏移和设备状态锁定),mCNN 很难达到可媲美软件实现结果的性能(例如图像识别准确率);第三,CNN 中的核心卷积操作非常耗时,因为它需要沿着不同的输入块滑动,这通常是一个序列过程,会导致忆阻器卷积器和忆阻器阵列之间出现速度不匹配的情况,后者旨在完成全连接向量矩阵乘法(vector–matrix multiplication,VMM)。

首个完全基于忆阻器的 CNN 硬件实现,手写识别准确率超 96%

该研究成功实现了一个完整的五层 mCNN,用于执行 MNIST 手写数字图像识别任务。优化后的材料堆栈(material stack)能够在 2048 个单晶体管单忆阻器(one-transistor–one-memristor,1T1R)阵列中实现可靠且均匀的模拟开关行为。使用该研究提出的混合训练机制后,实验在整个测试集上的识别准确率达到了 96.19%。

此外,该研究在三个并行忆阻器卷积器中复制了卷积核,从而将 mCNN 的延迟降低约 2/3。该研究得到的高度集成神经形态系统弥补了基于忆阻器的卷积运算和全连接 VMM 之间的吞吐量差距,从而为大幅提升 CNN 效率提供了可行的解决方案。

基于忆阻器的实用神经形态计算系统通常需要集成多个忆阻器交叉阵列。一般来说,将权重分配到不同阵列有利于并行计算,尤其是对于网络规模扩大的情形。但是,之前基于忆阻器的 demo 依赖于单一阵列,其主要原因是生成高度可重复的阵列面临巨大挑战。忆阻器设备的易变性和不完美特性被认为是神经形态计算应用的主要瓶颈。

该研究提出了一种基于忆阻器的灵活计算架构,适用于神经网络,如图 1a 所示。

忆阻器单元使用 TiN/TaO_x/HfO_x/TiN 的材料堆叠,通过调节电场和热,在增强(SET)和抑制(RESET)这两种情况下均展现出连续电导率调节能力。材料和制造流程(详见 Methods for details)与传统的 CMOS 流程兼容,从而使忆阻器阵列可以方便地内置在晶圆的后段制程中,以减少流程变动,实现高复现性。得到的交叉阵列在同等的编程条件下具备均匀的模拟开关行为。因此,多忆阻器阵列硬件系统基于自定义印刷电路板(PCB)和 FPGA 评估板(ZC706, Xilinx)构建。

正如系统图所示,该系统主要包含八个基于忆阻器的处理元件(PE)。每个 PE 具备集成了 2048 个单元的忆阻器阵列。每个忆阻器与晶体管的漏级端相连,即 1T1R 配置。核心 PCB 子系统具备八个忆阻器阵列芯片,如图 1b 所示。每个忆阻器阵列(图 1b 右侧小图)具备 128 × 16 个 1T1R 单元。在水平方向上共有 128 条并行字线和 128 条源线,在垂直方向上共有 16 条位线。

该阵列展示了极具可重复性的多级电导率状态,如图 1c 测试结果所示。图 1c 展示了 1024 个忆阻器在 32 个不同电导率状态中的分布,其中所有曲线均独立且没有重叠。将使用 50 ns 脉宽训练的相同 SET 和 RESET 脉冲部署到闭环编程操作中,以达到特定的电导率状态。
图 1:基于忆阻器的硬件系统具备可靠的多级电导率状态。
图 2:具备忆阻器卷积器的五层 mCNN。
图 3:利用混合训练方法得到 mCNN。

a:实验所用混合训练方法的流程图。b:实验中使用混合训练方法训练 mCNN 的图示。首先,系统将不同卷积层的核权重以及 192 × 10 FC 权重迁移至忆阻器 PE。然后,系统保持核权重不变,仅通过实时训练更新 FC 权重。c–e:与 C1 层(c,大小为 8 × 9)、C3 层(d,大小为 96 × 9)和 FC 层(e,大小为 120 × 16)中的核权重目标值相比,权重迁移误差(weight-transfer error)的分布情况。彩条表示权重迁移误差的绝对值。f:经过 550 次混合训练迭代循环后的误差率轨迹。绿色曲线表示 55,000 张训练图像上的趋势,蓝色曲线表示 10,000 张测试图像上的趋势。
图 4:使用混合训练方法得到的并行忆阻器卷积器,可以提升卷积效率。

a:使用混合训练方法的硬件系统操作流程图,其为并行忆阻器卷积器调节不完美的设备特性。三批输入图像(左侧手写数字)输入到三个 PE 卷积器组中。所有处理后的中间数据输入到共享 FC PE 中,以完成实时调整。在神经网络图中,蓝色表示卷积层 C1 和子采样层 S2,绿色表示卷积层 C3 和子采样层 S4。在 PE 图中,蓝色区域表示 C1 层的卷积核,绿色区域表示 C3 层的卷积核。b–d:从 C1 和 C3 层的异地训练核权重映射到三个不同组 G1 (b)、G2 (c) 和 G3 (d) 的权重迁移误差分布。色彩图的大小是 104 × 9。彩条表示在 0.2-V 读数脉冲处迁移后的当前值中存在的误差。e:实验 FC 权重分布 (120 × 16) 在混合训练前(上)后(下)的演化。f:与 e 对应的电导率-权重变化的分布情况。g:混合训练后在测试集上得到的误差率比对每个卷积器组执行权重迁移后直接得到的误差率低得多。

参考链接:https://www.nature.com/articles/s41586-020-1942-4
入门清华CNN清华大学Nature
21
相关数据
图像分割技术

图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像索赋予相同的编号。

权重技术

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

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

边缘计算技术

边缘运算(英语:Edge computing),又译为边缘计算,是一种分散式运算的架构,将应用程序、数据资料与服务的运算,由网络中心节点,移往网络逻辑上的边缘节点来处理。边缘运算将原本完全由中心节点处理大型服务加以分解,切割成更小与更容易管理的部分,分散到边缘节点去处理。边缘节点更接近于用户终端装置,可以加快资料的处理与传送速度,减少延迟。在这种架构下,资料的分析与知识的产生,更接近于数据资料的来源,因此更适合处理大数据。

神经网络技术

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

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

准确率技术

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

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合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)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

数据迁移技术

数据迁移(又称分级存储管理,hierarchical storage management,hsm)是一种将离线存储与在线存储融合的技术。它将高速、高容量的非在线存储设备作为磁盘设备的下一级设备,然后将磁盘中常用的 数据按指定的策略自动迁移到磁带库(简称带库)等二级大容量存储设备上。当需要使用这些数据时,分级存储系统会自动将这些数据从下一级存储设备调回到上一 级磁盘上。对于用户来说,上述数据迁移操作完全是透明的,只是在访问磁盘的速度上略有怠慢,而在逻辑磁盘的容量上明显感觉大大提高了。

图像处理技术

图像处理是指对图像进行分析、加工和处理,使其满足视觉、心理或其他要求的技术。 图像处理是信号处理在图像领域上的一个应用。 目前大多数的图像均是以数字形式存储,因而图像处理很多情况下指数字图像处理。

神经形态计算技术

神经形态工程也称为神经形态计算,是Carver Mead在1980年代后期开发的一个概念,描述了使用包含电子模拟电路来模拟神经系统中存在的神经生物学结构的超大规模集成(VLSI)系统。 近来,神经形态(Neuromorphic)一词已被用于描述模拟、数字、混合模式模拟/数字VLSI以及实现神经系统模型(用于感知,运动控制或多感官集成)的软件系统。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

感知器技术

感知器是Frank Rosenblatt在1957年就职于Cornell航空实验室时所发明的一种人工神经网络。它可以被视为一种最简单形式的前馈神经网络,是一种二元线性分类器。 Frank Rosenblatt给出了相应的感知机学习算法,常用的有感知机学习、最小二乘法和梯度下降法。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

推荐文章
第一作者与通讯作者是谁呀