一文梳理类脑计算的前世今生中科院自动化所研究员李国齐神经网络神经元算法

导读:众所周知,人类大脑活动是复杂而连续的动力学过程,其复杂程度远超当前算力资源所能模拟的上限。大脑约有1000亿个神经元,100万亿个突触,单个突触长度约10-1000微米。假设每1微米突触用1个微分方程近似,初略估算人类大脑约具有1000万亿-10亿亿参数。

作者简介:李国齐,中国科学院自动化所研究员,博士生导师,北京智源人工智能研究院青年科学家。李国齐在Nature、NatureCommunications、ProceedingsoftheIEEE、IEEETPAMI等期刊和ICLR、NeurIPS、AAAI、CVPR等会议上发表论文150余篇;出版国内类脑计算领域早期学术专著1部;论文在Google学术上被引用4500余次。2017年入选北京市自然科学基金优秀青年人才,2018年获得中国指挥与控制学会科学技术一等奖,2019年入选北京智源人工智能研究院“智源学者”,2021年获得福建省科技进步二等奖,2021年获得北京市杰出青年基金资助,2022年入选中科院“百人计划”;其参与的类脑芯片理论、架构和工具链的工作曾入选2019年中国科学十大进展和2020年世界人工智能十大进展。

01

什么是类脑计算?

类脑计算是近些年来崛起的新兴研究领域,与人工智能、机器学习等领域类似,很难对其进行准确定义,目前业内尚没有普遍认可的类脑计算概念定义。

李国齐指出,类脑计算的描述性定义为“指受人脑信息处理方式启发,以更通用的人工智能和高效智能边缘端/云端为目标构建信息系统的技术总称”。类脑计算希望融合脑科学、计算神经科学、认知科学甚至统计物理等学科的知识来解决现有传统计算技术的一些问题,进而构建更加通用、高效、智能的新颖信息系统。

狭义类脑计算是指神经形态计算,主要是研制神经形态芯片以支持源自计算神经科学的脉冲神经网络(SpikingNeuralNetworks,SNN);广义类脑计算也包括存内计算、忆阻器芯片甚至研制AI芯片以支持传统的人工神经网络(ArtificialNeuralNetworks,ANN)。因此,类脑计算的研究与发展与人工智能一样也需要从模型算法、软件、芯片和数据等各个方向协同展开。

02

类脑计算模型:突破神经科学与AI的鸿沟

当前,神经科学与人工智能之间存在着巨大鸿沟,神经科学侧重于重构大脑内部的精细结构和生理细节,人工智能则侧重于通过对神经结构进行数学抽象以实现计算的高效性。

因此,人工智能和神经科学如何交叉融合成为一个艰巨挑战。类脑计算中,脉冲神经网络兼具了生物合理性和计算高效性,或可以为人工智能提供新范式。简单地,可以认为SNN=ANN+NeuronalDynamics。如何寻找兼具生物合理性与计算高效性的脉冲神经元模型,以及如何建立脉冲神经元模型与AI任务之间的关系是类脑计算领域的核心问题。

当前,SNN普遍采用LIF神经元作为构建神经网络的基础单元。原因在于,LIF神经元是一种典型的综合模型,既具备IF模型的简单易用性,又能像H-H神经元模型那样模拟生物神经元丰富的生理学特性。

03

类脑学习算法

与ANN训练相比,SNN的高效训练面临着诸多问题与挑战,例如脉冲神经元中复杂的时空动力过程、脉冲神经元之间传递的脉冲信息不可导、脉冲退化和训练精度损失等。当前,SNN训练方法主要包括无监督学习、间接有监督学习和直接有监督学习三类。这些训练方法尝试从不同的角度解决上述问题和挑战。

1.基于STDP的无监督学习

如果两个神经元同时激活,则他们与共同的下游神经元之间形成了更加紧密的联系,这样两者为同级神经元,且相互之间具备间接关系。例如,通过STDP规则结合Winner-Take-All(WTA)构成的学习模型是一种简单有效的无监督学习方式。

具体地,在输入层将图片转换为脉冲序列(脉冲发放率正比于像素值),神经元以全连接形式前向连接,接受兴奋性输入,并采用STDP规则更新,并与抑制性神经元后向一对一连接,对其产生侧向抑制(即softWTA),并通过自适应阈值平衡脉冲发放率。

STDP模型通过局部调整规则进行学习,在神经形态芯片上容易进行分布式实现并具备在线学习能力。但是,局部突触可塑性不足以解释突触个体的改变如何协调神经系统的整体目标的实现。同时,李国齐也指出,这种无监督学习训练方法存在着难以获得高性能网络,无法在大规模深度神经网络中使用等问题。

2.基于ANN转SNN的间接有监督学习

ANN-convertedSNN方法是指训练一个ANN模型,而后将学习完成后的ANN权重迁移到具有相同结构的SNN中。其基本思想是,利用SNN平均脉冲发放率来近似表示ANN中的ReLU激活值。

因此,ANN-convertedSNN方法存在着模型精度与模型仿真步长T之间的tradeoff问题。该方法利用有监督信号在原始ANN模型中进行梯度反向传播训练,然后将其转换成SNN模型,因此是一种间接有监督学习。

3.SNN直接有监督学习的发展

为避免上述两种训练方法的局限性,解决SNN无法有效训练的难题,李国齐及其团队较早的提出STBP(Spatio-TemporalBackpropagation)等SNN直接训练方法。

STBP虽然解决了SNN网络中进行反向传播训练的梯度替代问题,但其仍然只能训练不超过10层的小规模网络。其中主要问题在于,一旦网络加深,先比较于ANN,脉冲神经元的二进制激活方式及其复杂的时空动态更容易带来网络的梯度消失或爆炸问题。

通过进一步分析SNN中的时空动态特性可知,建立神经元膜电势和阈值之间的平衡,以获得一个合适的网络脉冲发放率对网络的性能至关重要。过低的发放率可能会导致有效信息不足,而过高的发放率则会降低SNN网络对输入的区分度。

因此,李国齐团队进一步提出了结合脉冲神经元阈值的BN算法,即Threshold-dependentBN方法(TDBN),缓解了制约SNN的规模瓶颈问题,首次将SNN的网络规模提升至50层,在ImageNet等大规模数据集上取得具有竞争性的性能,并证明了该方法可缓解深度SNN的梯度消失与爆炸问题。

尽管TDBN提升了SNN的规模,但相对于传统ANN中动辄数百层的深度网络,性能仍然捉襟见肘,不足以在大规模数据集上与ANN进行竞争。为了进一步提升SNN的网络表达能力,扩大网络规模从而提升任务性能,借鉴经典的ResNet结构是似乎一种可行的方法。

但是,直接复制ResNet结构到SNN中(VanillaRes-SNN)存在着脉冲退化问题,即网络越深,精度越低。因此,李国齐团队提出了一种将LIF神经元放置在残差块中,并在不同层神经元的膜电势之间建立shortcut的新颖Ms-Rse-SNN结构。并利用dynamicalisometry理论证明了所提出的结构不存在脉冲退化问题。在相对广泛的范围内解决了大规模SNN直接训练问题(482层CIFAR-10,104层ImageNet),后者取得Top-176%分类准确率的SOTA结果。

此外,根据SNN处理数据的不同,采用data-dependent的处理方式,可以为直接训练SNN在一些任务中带来额外的性能增益。例如,在神经形态视觉任务中,事件流数据往往具有稀疏、不均匀特性。

04

类脑计算软件

类脑计算软件框架与工具通常包括神经形态芯片工具链、神经系统仿真模拟和SNN学习框架等三个方面的内容,具体可参考清华大学张悠慧教授在IEEETransactionsonHighPerformanceComputing的综述论文观点。

神经形态芯片工具链目前尚处于早期阶段,存在软件与硬件紧密耦合,通用性、自动化程度不高,使用便捷性差等许多问题。神经系统软件仿真框架能够详细模拟生物神经网络,但要求用户具有一定的计算神经科学基础。

05

类脑计算芯片

从功能角度看,类脑芯片主要分为四类:

主要支持人工神经网络(TPU、寒武纪、华为昇腾等)的深度学习加速器;

主要支持脉冲神经网络(TrueNorth、Loihi、达尔文等芯片)的神经形态芯片;

支持人工/脉冲神经网络的异构融合芯片(Tianjinc芯片);

以及支持神经元编程的脑仿真模拟芯片(SpiNNaker、ROLLS、Loihi等芯片)和具备低时延、高动态的神经形态相机为代表的感知芯片。

类脑芯片的体系架构包括主流深度学习加速器采用的存算分离架构,主流众核去中心化架构芯片的近存计算架构,以及存内计算芯片、忆阻器芯片等所采用的存算一体架构。从芯片设计的角度来看,采用路由器连接的多核架构的芯片的可扩展性更好,多个功能核独立工作,核间周期性地同步和共享数据。因此可支持的网络规模更大,应用范围更广的SNN。

采用单纯数字信号的小规模单核芯片可以采用存内计算进行矩阵向量乘,具备同步、异步设计流程,往往具备较高的能效和较低的静态功耗,且更便于技术迁移,但神经元与突触的规模受限。数模混合小规模单核芯片采用数字异步脉冲路由,利用存内数字计算方法进行矩阵向量乘法,采用模拟膜电位进行激活与更新,因此能效最高,但也存在神经元与突触数量少和设计不方便等问题。

06

类脑计算数据

众所周知,深度学习发展四要素为算法、算力、开发工具以及大规模的数据。在深度学习领域,成百上千个开源数据集覆盖分类、检测、跟踪、自然语言等,极大地促进了深度学习的繁荣。

相比之下,类脑数据集十分匮乏,现有的数据集主要包括四类:

第一类是通过转换算法将ANN数据集转变为事件信号数据集,典型数据集包括基于ImageNet转换而来的ES-ImageNet,基于UCF101转化的事件信号数据集ES-UCF101,基于BDD100K转化的事件信号数据集BDD100K-DVS等;

第二类是利用神经形态相机DVS将图像或视频数据库转化为事件数据集,比如N-MNIST、CIFA10-DVS等数据集;

07

类脑系统发展趋势

最后,李国齐结合自己的思考总结了类脑计算的未来发展趋势,并对类脑系统框架进行了总结。

在模型算法方面,不仅可以通过增加模型参数、网络深度或宽度使得SNN模型变大变强,更重要的提供向内增加神经元复杂程度的能力支撑,缩减神经科学与人工智能之间存在的鸿沟。因此,构造包含更丰富动力学的神经元模型、神经网络及对应的算法是未来的重要方向。

李国齐认为,类脑系统的总体框架包括类脑的模型、算法、软件以及芯片,并结合丰富类脑数据构造的计算系统,在人工智能领域可以朝着高效云端/边缘端类脑计算系统的构造方向发展,在脑科学领域可利用现有的超算服务器集群进行神经动力学的仿真和模拟,构建更为复杂的脑仿真和神经模拟系统。

THE END
1.如何有效学习算法?算法学习学习算法需要系统性的方法和实践,以下是一些有效的学习步骤和资源建议 基础知识学习: 数学基础:掌握离散数学、概率论、统计学等基础知识 编程基础:熟练掌握至少一种编程语言,如Python、C++、Java等 数据结构与算法基础: 数据结构:学习数组、链表、栈、队列、树、图等数据结构 https://blog.csdn.net/qq_49548132/article/details/140109291
2.9种常见的Python算法,学python有前景吗如果一个解决方案被证明不是一个解时,回溯算法会通过在上一步进行一些更改来丢弃该解决方案,即“回溯”并尝试其他解决方案。以上只是Python中可能存在的算法的一部分。实际上,Python可以用来实现任何类型的算法。学python有前景吗 Python编程语言的潜力还是很大的,Python相对好入门一些,也已经成为数据科学、机器学习、https://baijiahao.baidu.com/s?id=1778564523255716508&wfr=spider&for=pc
3.腾讯Offer已拿,这99道算法高频面试题别漏了,80%都败在算法上我自从2015年担任算法组leader,作为面试官面试了不少同学。前前后后面试了超过200名同学,其中有不少入职的同学后来发展都不错,也坚定了自己对于选人标准的自信心。 今年2020年找工作尤其艰难,我把这些年作为面试官一些重要的面试题整理出来,一共80道,希望能够帮助到大家。 https://maimai.cn/article/detail?fid=1699482551&efid=WqEcULyCOsAoPWgBSGGaFg
4.2019届毕业设计(论文)阶段性汇报近年来,计算机视觉和多尺度快速数值方法成为了研究者关注比较多的领域。毕业设计Gamblet方法在图像与数据分割中的应用包含两个方向,其中一个是使用多尺度快速算法求解在图像分割中的特征根问题,另一个是通过Optimal Recovery的方法得到合适的non-parametric kernel并使用这个kernel在高斯回归中,如此来进行图像分割或者数据分https://zhiyuan.sjtu.edu.cn/html/zhiyuan/announcement_view.php?id=3366
5.太全了!自学机器学习算法学习路线图,有配套视频+实战项目,完全自学机器学习需要学习以下几个主要方面的内容: 一、数学基础线性代数: 【1】理解向量、矩阵的基本运算,如加法、减法、乘法等。 【2】掌握矩阵的特征值与特征向量的概念及计算方法,这在主成分分析等算法中非常关键。 【3】熟悉线性方程组的求解,对于理解线性回归等算法的原理有重要作用。 https://www.bilibili.com/opus/968422981073108994
6.学习,是治愈焦虑的良药只有不断学习、奔跑、更新自己的知识体系,外界发生的变化才不足以影响我们。 相反,如果我们在焦虑的时期选择躺平、摆烂,却不去学习,还抱怨不休,那么我们就会陷入双重困境,无法自拔。 二、建立一套有意识的学习算法 1.人的学习风格天然存在差异 我曾采访过很多人,包括小朋友,发现每个人的学习方法都不一样。在课堂上https://36kr.com/p/2375197738412036
7.万文长字总结“类别增量学习”的前世今生开源工具包三、Continual Learning 有哪些场景? 场景一:Task-IL 任务增量学习,是最简单的Continual Learning的场景。在这种场景下,无论是训练阶段还是测试阶段,模型都被告知了当前的任务ID。 这种特性导致了一些task specific component的方法出现,如packNet[3]提前为每个任务确定卷积的filter的掩码图。再如HAT会动态的根据任务为https://www.thepaper.cn/newsDetail_forward_17451573
8.人工智能快速发展趋势下,中国该如何应对?1、AI芯片针对机器学习算法设计开发,广泛应用于云、边、端各类场景 AI芯片(AI Chip)是一种专门用于处理人工智能相关的计算任务的芯片。它的架构是专门为人工智能算法和应用进行优化的,能够高效地处理大量结构化和非结构化数据。AI芯片能够高效地支持视觉、语音、自然语言处理等智能处理任务。目前,AI芯片主要分为GPU、https://developer.aliyun.com/article/1179745
9.宽度学习(一):宽度学习体系:有效和高效的无需深度架构的增量学习深度学习: 1,时间长:由于涉及到大量的超参数和复杂的结构,大多数神经网络的训练过程非常耗时。 2,重新训练:如果要更改神经网络的结构,或者增加样本,深度学习系统将遇到一个完整的重新训练过程。 宽度学习: 1,消除了训练过程长的缺点,并且提供了很好的泛化能力。 https://cloud.tencent.com/developer/article/2088810
10.关于人工智能的学习经验总结上面讲的是从实用的角度出发,就是我开始一个项目,从项目中学习新知识,但是能出发的前提是有了一个基本的知识框架和基础了。 这个基本的知识应该如何学习呢?或者说跟着课程学习的时候应该如何学习呢? 这里记录一个在课程中学习到的一个高效的学习方法, 称之为MAS方法。 https://www.51cto.com/article/703854.html
11.AI深度强化学习落地方法七步曲2——状态空间篇回报函数篇鉴于强化学习算法对优秀reward函数设计的依赖,学术界提出了很多方法改善这一状况。比如逆向强化学习,利用expert demonstration(专家示范)学习到reward函数,再用这个reward函数训练RL策略。此外,还有一大堆模仿学习的方法,干脆抛开reward直接拟合专家策略。以上方法的前提是要有专家数据,不具备普适性,这里就不多说了。 https://www.shangyexinzhi.com/article/4228946.html
12.力扣(LeetCode)全球极客挚爱的技术成长平台海量技术面试题库,拥有算法、数据结构、系统设计等 1000+题目,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/
13.精神病学研究中如何进行中小型数据的深度学习鉴于机器学习(尤其是深度学习)的现代算法和方法在其他学科中的出色预测性能,它们为解决这些问题提供了新希望。深度学习算法的优势在于它们可以实现非常复杂的算法,并且原则上可以高效地执行任意预测结果的映射。但是,这种实现是有代价的,需要大量的训练(和测试)样本来推断(有时超过数百万个)模型参数。这似乎与迄今为止在https://www.360doc.cn/mip/955038026.html
14.极客大学·算法训练营从训练营中最大的收获不仅是算法知识,更重要的是一些学习方法和经验 算法训练营即将开班,VIP 学习资料限时免费领取! 基础篇:如何高效学习数据结构与算法 前Facebook 工程师的“三位一体”高效学习法视频课、三张数据结构与算法知识图谱 训练篇:数据结构与算法进阶题库 讲师亲自整理的推荐题目及解法、算法训练营https://time.geekbang.org/college/algorithm/1000332?utm_source=time_web
15.BAT机器学习面试1000题系列(二)109.准备机器学习面试应该了解哪些理论知识? 知乎解答 110.标准化与归一化的区别? 简单来说,标准化是依照特征矩阵的列处理数据,其通过求z-score的方法,将样本的特征值转换到同一量纲下。归一化是依照特征矩阵的行处理数据,其目的在于样本向量在点乘运算或其他核函数计算相似性时,拥有统一的标准,也就是说都转化为“https://www.jianshu.com/p/4a7f7127eef1