高能效类脑智能:算法与体系架构
上QQ阅读APP看书,第一时间看更新

前言

1987年,我在伊利诺伊大学攻读博士学位时,有一个难得的机会去听加州理工学院的John Hopfield教授给厄巴纳-香槟分校鲁姆斯物理实验室的学生讲述他在神经网络上的开创性研究。他绘声绘色地讲述了如何设计和制作一个循环神经网络芯片来快速解决基准旅行商问题(TSP)。TSP是指:当TSP中的城市数量增加到一个非常大的数目时,没有物理计算机能够在渐近有界的多项式时间内解决这个问题,从这个意义上说,TSP是一个可证明的NP完全问题。

神经网络领域的一个重要里程碑是,发现了可以解决复杂组合问题的硬件算法,因为现有的感知器型前馈神经网络技术只能对有限的简单模式进行分类。尽管如此,神经计算的创始人——康奈尔大学的Frank Rosenblatt教授在20世纪50年代末建造了一台感知计算机,当时诸如IBM 650这样的第一波数字计算机刚刚商业化。后续的神经硬件设计进展受阻,主要是由于当时的技术(包括真空管、继电器和无源元件如电阻、电容和电感等)不具备集成实现大型突触网络的能力。1985年,美国贝尔实验室利用MOS技术制造出第一个固态电子晶体芯片,在概念上验证了John Hopfield教授解决TSP的神经网络架构,从而为在硅片上解决非布尔型计算和类脑计算开辟了道路。

John Hopfield教授的开创性工作表明,如果组合算法中的目标函数可以用二次型表示,循环神经网络中的突触连接可以相应地通过将大量神经元的连接进行编程来降低目标函数的值(即局部最小值)。Hopfield的神经网络由横向连接的神经元组成,这些神经元可以被随机初始化。随后,该网络可以迭代地减少网络固有的Lyapunov能量函数值,使其达到局部最小状态。值得注意的是,Lyapunov函数在循环神经网络的动态作用下呈单调下降,神经元不具有自反馈[1]

Hopfield教授使用四个独立二次函数的组合来表示TSP的目标函数。目标函数的第一部分确保若旅行商恰好一次穿越城市则能量函数最小;第二部分确保旅行商访问行程中的所有城市;第三部分确保不同时访问两个城市;第四部分确定连接TSP中所有城市的最短路径。因为神经元之间通过连接的突触有大量的同步交互作用,这些突触被精确地调整以满足上述二次函数的约束,所以简单的循环神经网络可以迅速生成质量非常好的解。然而神经网络由于其简单的连接结构,与经过良好测试的软件处理(例如模拟退火、动态规划和分支定界算法)不同,它通常无法找到最佳解决方案。

在听了Hopfield教授的精彩演讲之后,我对他这种创新的感触颇深。一方面,我很高兴地从他的演讲中了解到,通过使用具有非常小的硬件开销的简单神经形态CMOS电路,可以快速地解决计算上困难的算法问题。另一方面,我认为Hopfield教授为了证明神经网络解决组合优化问题的能力而选择的TSP应用程序并不合适,因为精心设计的软件算法,可以获得神经网络几乎无法得到的最佳解决方案。我开始考虑开发可自愈的超大规模集成电路(VLSI)芯片,利用受神经网络启发的自修复算法的力量来自动重组有缺陷的VLSI芯片。低开销和通过神经元之间的并行交互同时解决问题的能力是两点显著的特性,可以用来巧妙地通过内置的神经网络电路来自动修复VLSI芯片。

不久之后,我作为助理教授来到密歇根大学,与我的一个博士生[2]一起工作,起初,我们设计了一款具有异步状态更新的CMOS模拟神经网络电路,因晶元内部工艺变化等因素导致这个芯片鲁棒性不够好。为了提高自修复电路工作的可靠性,我和一名理科硕士[3]设计了一个同步状态更新的数字神经网络电路。这些神经网络电路通过在二分图中寻找节点覆盖、边覆盖或节点对匹配来确定修复问题,从而能够用于修复VLSI芯片。在我们的图的形式体系中,二分图中的一组顶点表示故障电路元件,另一组顶点表示备用电路元件。为了将故障VLSI芯片改造成无故障的可操作芯片,在通过嵌入式内置自检电路识别出故障元件之后,再通过可编程开关元件自动调用备用电路元件。

最重要的是,与TSP一样,二维数组修复可以证明是一个NP完全问题,因为修复算法寻找最优的多余的行、列数,它们可以被分配以绕过故障组件(比如记忆细胞、字线和位线驱动),以及位于存储器阵列内部的读出放大器队列。因此,由计数器和其他块组成的简单数字电路无法解决这种棘手的自修复问题。值得注意的是,由于无法部署VLSI芯片的输入和输出引脚来查询深度内嵌的嵌入式阵列中的故障模式,因此无法使用外部数字计算机来确定如何修复嵌入式阵列。

在1989年和1992年,我获得了美国国家科学基金会的两项资助,将神经形态自愈设计风格扩展到更广泛的嵌入式VLSI模块,如内存阵列[4]、处理器阵列[5]、可编程逻辑阵列[6]等。但是,这种通过内置的自检和自修复提高VLSI芯片产量的方法比VLSI芯片应用的时代早了一点,因为在20世纪90年代初期,最先进的微处理器仅包含数十万个晶体管。因此,在开发了基于神经网络的自愈VLSI芯片设计方法以用于各种类型的嵌入式电路模块之后,我停止了对CMOS神经网络的研究。我对神经网络应用于其他类型的工程问题并不是特别感兴趣,因为我想继续专注于解决VLSI研究中出现的问题。

另外,在20世纪80年代末,CMOS技术的预言者越来越担心,即将到来的红砖墙效应预示着CMOS缩小时代的结束。因此,为了促进几种可能推动VLSI技术前沿的新兴技术,美国国防部高级研究计划局(DARPA)在1990年左右启动了“超电子:超密集、超快速计算元件研究计划”。与此同时,日本的国际贸易工业部(MITI)推出了量子功能器件(QFD)项目。这两个研究项目早期的成功与大量的创新non-CMOS技术推动了美国国家纳米技术项目(NNI)的创建,这是一个美国政府研究和开发(R&D)计划,包括20个部门和独立机构,将带来纳米技术的革命,从而影响整个行业和社会。

在1995年到2010年期间,我的课题组最初专注于基于量子物理的器件和量子隧穿器件的电路建模,然后我们广泛研究了基于一维(双障碍共振隧穿器件)、二维(自组装纳米线)和三维(量子点阵列)受限量子设备的细胞神经网络(CNN)图像和视频处理电路。随后,我们使用电阻突触装置(通常称为忆阻器)和CMOS神经元开发了基于学习的神经网络电路。通过在二维处理元件(PE)集成的计算节点中混合量子隧穿和记忆器件,我们还开发了模拟电压可编程纳米计算体系结构。我们对纳米神经形态电路的研究发表在我们的新书Neuromorphic Circuits for Nanoscale Devices中,由英国River出版社在2019年出版。

在用各种新兴纳米电子和自旋电子器件开发了十多年的神经形态电路之后,我决定开始研究基于学习的数字VLSI神经形态芯片,在亚阈值和超阈值两种操作模式中使用纳米CMOS技术。我的学生和这本书的合著者Nan Zheng博士,完成了有关数字神经网络的体系结构和算法的博士学位论文。我们从机器学习和生物学习的角度出发,设计和制造了基于TSMC 65nm CMOS技术的高效节能VLSI芯片。

我们从机器学习的角度捕获了演员-评论家类型的强化学习(RL)[7]和一个采用离线策略更新的时间差(TD)学习示例,称为VLSI芯片上的Q学习[8]。此外,我们还捕捉到生物无监督学习应用中常用的基于脉冲相关的突触可塑性。我们还制定了硬件友好的基于脉冲时间依赖可塑性(STDP)学习规则[9],在修改后的MNIST数据库基准上,单隐藏层和双隐藏层神经网络的分类正确率分别为97.2%和97.8%。硬件友好的学习规则支持高效节能的硬件设计[10]以及对与芯片制造[11]相关的过程-电压-温度(PVT)变化的鲁棒实现。通过仿真RL软件程序的核心——自适应动态规划(ADP),证明了用于演员-评论家网络的硬件加速器VLSI芯片可解决一些控制理论基准问题。此外,与在通用处理器上运行的传统软件强化学习相比,在175MHz下运行的VLSI芯片加速器在计算时间上缩短了两个数量级,同时只消耗了25mW[12]

图1中的芯片布局图包含了大量使用CMOS技术的数字神经网络芯片的样本,这是我的研究小组在过去35年中设计的。图1的左栏是1991年设计的一个自愈芯片,通过在一个二分图上运行节点覆盖算法来自动修复有缺陷的VLSI内存阵列,二分图代表有缺陷的组件集和可用的备用电路元件。2013年设计的STDP芯片,用于控制虚拟昆虫从初始起点到预定目的地的运动,避免了在一组任意形状的阻塞空间中导航时的碰撞。前一段描述的深度学习芯片是2016年设计的。

图1的右栏为2016年设计的RL芯片。其中还包括两个超低功耗(ULP)CMOS芯片,利用亚阈值技术,用于可穿戴的医疗保健应用。在其中一个应用中,利用神经网络的Kohonen的自组织映射(SOM)对心电图(ECG)波形进行分类,设计了一种带有无线收发器的人体传感网络,利用可植入的多极传感器对模拟神经元信号进行感知,并通过内置的唤醒收发器向医生提供数字化数据,帮助医生对精神分裂症、慢性抑郁症、阿尔茨海默病等脑相关疾病中神经元和突触层面上对药物的疗效进行监测。

最初,当我们决定以CMOS类脑计算的神经形态芯片的形式出版一本强调我们工作的专著时,我们想要汇总在前言中引用的论文的各种结果,从而构成这本书的内容。但是,在准备手稿的过程中,我们修改了最初较狭隘的目标,因为在常规课程中采用本书来向大学生和研究生讲授具有学习能力的最新一代神经网络将是有局限性的。

图1

后来我们决定写一本全面的关于具有各种学习能力的神经网络高能效硬件设计的书,讨论正在进行的神经硬件的扩展研究。这显然是一项艰巨的任务,需要仔细研究数百个参考文献的存档来源,描述能够学习执行各种任务的硬件神经网络的协同设计和协同优化方法。我们试图提供一个全面的视角,从高级算法到低级硬件实现细节,涵盖神经网络的许多基础和要素(如深度学习),以及神经网络的硬件实现。简而言之,本书目前的版本有以下几个显著特点:

·包括神经形态算法硬件加速器的多层次全面评述。

·涵盖架构与算法的协同设计,并采用新兴器件来极大地提升计算效率。

·关注算法与硬件的协同设计,这是在神经形态计算中应用新兴器件(如传统忆阻器和扩散型忆阻器)的关键。

最后,由于完成这本书有严格的时间限制,所以本书目前的版本没有像教科书那样以教学的方式描述教学材料,在每一章的结尾也没有习题。在收集了来自学生、教师、实践工程师和其他读者的宝贵反馈后,这些目标有望在下一版中实现。如果你能提供正面和负面的指导性反馈,我将非常感激,这将使我能够准备本书的第2版。我的联系方式如下:

Pinaki Mazumder

地址:4765 BBB Building Division of Computer Science and Engineering Department of Electrical Engineering and Computer Science University of Michigan,Ann Arbor,MI 48109-2122

电话:734-763-2107

邮箱:mazum@eecs.umich.edu,pinakimazum@gmail.com

网址:http://www.eecs.umich.edu/~mazum

参考文献

[1] 在Mazumder和Yih的著作中[1],我们证明了Hopfield网络所获得的解的质量可以通过选择性地提供自反馈使神经元远离局部最小值而得到显著改善。这种方法类似于梯度下降搜索中的爬坡,通常会陷入局部最小点。由于神经元的自反馈会影响Hopfield神经网络的稳定性,所以在网络收敛到局部最小状态之前,我们没有对神经元施加任何自反馈。然后,通过爬坡机制提高网络的能量,将网络从局部最小值中拉出。我们在上述文章中表明,通过使用这项创新技术,芯片修复提高约25%,改善了VLSI存储器的良率。