在芯片中实现异步卷积的方法、类脑芯片及电子设备转让专利
申请号 : CN202111185514.5
文献号 : CN113627603B
文献日 : 2021-12-24
发明人 : 乔宁 , 邢雁南 , 西克·萨迪克·尤艾尔阿明 , 白鑫 , 周凯
申请人 : 成都时识科技有限公司 , 上海时识科技有限公司
摘要 :
权利要求 :
1.一种在芯片中实现异步卷积的方法,其特征在于,该芯片中包括若干被配置为执行异步卷积的神经元电路,第一神经元电路属于所述若干被配置为执行异步卷积的神经元电路中的一个;针对所述第一神经元电路的异步卷积操作,包括如下步骤:步骤S501:检测到所述第一神经元电路满足激活条件时,执行所述第一神经元电路的脉冲或脉冲事件发放操作;以及,
池化操作:该池化操作将判断是否丢弃所述第一神经元电路发放的所述脉冲或脉冲事件;
步骤S503:确定与所述第一神经元电路对应的且位于第一卷积核中的第一权重值,以及确定与所述第一神经元电路和所述第一权重值对应的且位于第一目标特征图中的第一目标神经元电路,经所述第一权重值加权,将所述第一神经元电路发放的所述脉冲或脉冲事件投射至所述第一目标神经元电路;并且,至少一个卷积核被关联至针对所述第一神经元电路的异步卷积操作;分别经过所述至少一个卷积核中的每一个权重值的加权,将所述第一神经元电路发放的所述脉冲或脉冲事件投射至与该权重值和所述第一神经元电路对应的目标神经元电路;
步骤S505:基于所述第一目标神经元电路更新后的神经元电路状态,判断所述第一目标神经元电路是否满足激活条件;
步骤S507:若所述第一目标神经元电路满足激活条件,执行针对所述第一目标神经元电路的脉冲或脉冲事件发放操作,并执行针对所述第一目标神经元电路的异步卷积操作。
2.根据权利要求1所述的在芯片中实现异步卷积的方法,其特征在于:经所述第一权重值加权,将所述第一神经元电路发放的所述脉冲或脉冲事件投射至所述第一目标神经元电路,具体为:
读取所述第一权重值,然后在所述第一目标神经元的当前神经元电路状态中加上或减去所述第一权重值。
3.根据权利要求1‑2任意一项所述的在芯片中实现异步卷积的方法,其特征在于:所述若干被配置为执行异步卷积的神经元电路中的任意一个神经元电路被激活而发放脉冲或脉冲事件时,分别经过预定的卷积核集合中的每一个权重值加权,将该神经元所发放的脉冲或脉冲事件分别投射至该神经元和权重值所对应的目标神经元集合中的每一个对应的目标神经元。
4.根据权利要求1‑2任意一项所述的在芯片中实现异步卷积的方法,其特征在于:所述激活条件具体为神经元电路的膜电压达到阈值。
5.一种类脑芯片,其特征在于:该类脑芯片中包括若干被配置为执行异步卷积的神经元电路,且该类脑芯片被配置为执行如权利要求1‑4任意一项所述的在芯片中实现异步卷积的方法。
6.一种电子产品,其包括第一接口模块和第二接口模块和处理模块,以及响应模块,其特征在于:该电子产品还包括如权利要求5所述的类脑芯片;该类脑芯片通过所述第一接口模块与所述处理模块相耦接,所述处理模块通过所述第二接口模块与所述响应模块相耦接;所述的类脑芯片对输入的环境信号进行识别,并将识别结果通过所述第一接口模块传输至所述处理模块,所述处理模块根据所述识别结果生成控制指令,并通过所述第二接口模块传输所述控制指令至所述响应模块。
说明书 :
在芯片中实现异步卷积的方法、类脑芯片及电子设备
技术领域
背景技术
活函数得到激活结果,这种神经元并不具有记忆功能。然而,在第三代的脉冲神经网络
(Spiking Neural Network,SNN)中,神经元具有记忆功能,它的膜电压会记忆以往输入信
号(实际为脉冲序列)对该神经元的刺激作用,甚至该膜电压还可以随时间衰减,以及可能
还被设计具有不应期。这种芯片常被称为类脑芯片、神经拟态芯片,基于这种芯片而执行特
定的推理运算,被称为类脑计算、神经拟态计算(Neuromorphic Computing)。
用,类脑芯片中部署的脉冲神经网络中的神经元更加地仿生,仅当神经元的膜电压超过阈
值后,才会发放脉冲(spike,也称尖峰)。如此以来,不同于传统人工智能中任何一次神经元
状态更新过程中,即便输入为零,但所有的神经元都需要完成矩阵运算、非线性运算等十分
耗能的运算,而脉冲神经网络中的神经元可以做到仅仅在被激活后才会发放脉冲,刺激下
一级神经元。因此,更加仿生的脉冲神经网络具有极低的功耗优势。
冲序列。神经元基于该些输入脉冲序列,更新其膜电压状态,如果膜电压达到预定的阈值
后,将会激发该神经元发放脉冲,然后膜电压恢复静息电位。不同于以往通过存储数值的方
式,在脉冲神经网络中通常是基于神经元发放脉冲的时间、频率或其多个神经元发放的脉
冲组合等方式,实现信息的传递。
关键词等)发生后,芯片推理出该类事件发生,并通知后级系统响应(比如抓拍、录像、系统
唤醒等),这一切均可以在端上完成,无须网络传输和云端基于高性能服务器的实时检测,
兼得隐私性、实时性和节能性。
中,可以分为同步电路和异步电路两种不同的实现路径。同步电路通常包含时钟信号,电路
运行依赖时钟驱动,而异步电路则不包含时钟,仅仅当事件发生时,才会激活相应的电路完
成工作,因而异步电路通常更具有低功耗优势,但相比于成熟的同步电路设计,异步电路设
计面临更大挑战。
发放脉冲,若考虑因卷积操作而相关联的神经元是否、何时发放脉冲,芯片设计将变得异常
复杂,且不能满足实时处理信号的需求。因此如何组织、管理其包括的大量的神经元电路及
其信息处理方法,实现异步卷积,是类脑计算及类脑芯片领域一个十分重要且基础的技术
问题。但目前为止,发明人未曾见有完整、详细的异步卷积实现方案披露。
发明内容
个;针对所述第一神经元电路20的异步卷积操作,包括如下步骤:步骤S501:检测到所述第
一神经元电路20满足激活条件时,执行所述第一神经元电路20的脉冲或脉冲事件发放操
作;步骤S503:确定与所述第一神经元电路20对应的且位于第一卷积核200中的第一权重值
2010,以及确定与所述第一神经元电路20和所述第一权重值2010对应的且位于第一目标特
征图205中的第一目标神经元电路2011,经所述第一权重值2010加权,将所述第一神经元电
路20发放的所述脉冲或脉冲事件投射至所述第一目标神经元电路2011。
件。
作,并执行针对所述第一目标神经元电路2011的异步卷积操作。
20发放的所述脉冲或脉冲事件投射至与该权重值和所述第一神经元电路20对应的目标神
经元电路。
2010,然后在所述第一目标神经元2011的当前神经元电路状态中加上或减去所述第一权重
值2010。
加权,将该神经元所发放的脉冲或脉冲事件分别投射至该神经元和权重值所对应的目标神
经元集合中的每一个对应的目标神经元。
块相耦接,所述处理模块通过所述第二接口模块与所述响应模块相耦接;所述的类脑芯片
对输入的环境信号进行识别,并将识别结果通过所述第一接口模块传输至所述处理模块,
所述处理模块根据所述识别结果生成控制指令,并通过所述第二接口模块传输所述控制指
令至所述响应模块。
执行推理功能的效果;
技术方案同样属于本发明文件所公开的众多技术方案的一部分,该部分披露的这些新的技
术特征、技术手段与后续具体实施方式部分公开的技术特征、技术手段是以相互合理组合
的方式,披露更多的技术方案,是具体实施方式部分的有益补充。与此相同,说明书附图中
的部分细节内容可能在说明书中未被明确描述,但是如果本领域技术人员基于本发明其它
相关文字或附图的描述、本领域的普通技术知识、其它现有技术(如会议、期刊论文等),可
以推知其技术含义,那么该部分未明确被文字记载的技术方案、技术特征、技术手段,同样
属于本发明所披露的技术内容,且如上描述的一样可以被用于组合,以获得相应的新的技
术方案。本发明任意位置所披露的所有技术特征所组合出的技术方案,用于支撑对技术方
案的概括、专利文件的修改、技术方案的披露。
附图说明
具体实施方式
被计算机(如具有高性能图形处理器GPU设备、现场可编程门阵列FPGA、专用集成电路ASIC
等)处理器读取,在训练数据(各种各样的数据集)、训练算法的训练下,获得用于可部署至
模拟神经形态设备(如类脑芯片)中的神经网络配置参数。配置有该参数的拟神态器件将获
得推理能力,根据传感器(如感知光线明暗变化的动态视觉相机DVS、专用的声音信号采集
设备等)的输入信号,拟神态器件对其进行推理,并输出(比如导线、无线通信模块等)推理
结果至其它外部处理模块(如单片机等),实现联动效果。对于下文未详细披露的其它的技
术方案和细节,一般均属于本领域的常规技术手段/公知常识,由于篇幅限制,本发明不对
其详细介绍。
对顺序,也不暗示冠以这种序号的术语与冠以其它定语的相同术语必然是不同的指代。本
发明所述的各种模块、神经元、突触可以通过软件、硬件(如电路)或软件和硬件相结合的方
式来实施,具体的实施方式不做限定。本发明中任意位置处描述存在或包括某步骤、部件
时,并不暗示这种存在是排他性地唯一存在,本领域技术人员完全可以根据本发明所披露
的技术方案而辅以其它技术手段而获得其它技术方案,这种方案未脱离本发明的构思而在
本发明保护范围之内。
性,基于脉冲神经网络的芯片会具有更低的功耗。由于是受生物神经元的启发,因此涉及生
物神经元的一些概念,如突触、膜电压、突触后电流、突触后电位等概念,根据本领域约定俗
成的表达方式,在脉冲神经网络中涉及到神经元相关的概念时,也使用相同的术语。除非有
特别明确的指示,本发明中提到的诸如类似上述生物层面的概念,均是指脉冲神经网络中
的对应的概念而非实际的生物细胞层面的概念。
路集合所发放的脉冲或脉冲事件。
或脉冲事件的神经元集合。源特征图和目标特征图,是根据其在神经网络的结构顺序而被
定义。
的结果投射至目标特征图中的特定神经元电路。
神经网络可以完成对输入信号的推理。
通用计算平台中,其对应m×n个存储单元,每个存储单元分别存储一个对应的元素值。作为
举例,卷积核100为一个3×3的权重矩阵,其对应一个3×3的存储空间。卷积核可以不止一
个,这里仅仅以卷积核100作为示例。如果不使用本领域所公知的padding补零技术,并且步
长设置为1,那么ANN目标特征图1002应为一个6×6的矩阵。
于尺寸(或称维度)相同,因此二者包含的元素可以一一对应,一一对应的元素相乘后,获得
的结果存入ANN目标特征图1002的第一存储单元1012。然后以预定的步长(示例为1)移动第
一感受野101,完成下一次卷积操作,并将结果存入ANN目标特征图1002中对应的存储单元。
对于ANN源特征图1001中的第二感受野102,将在对应存储空间中的对应数据与权重矩阵
100中对应的权重数据相乘,获得的结果被存储至第二存储单元1021。作为另外一种情况,
当步长不等于1时,第一感受野101和第二感受野102中将会出现间隔,也即空洞,这种情况
下的感受野并非连续的一片区域。
被组织为实施该脉冲神经网络。该脉冲神经网络中可以包含层层传递的卷积操作,即当前
异步卷积的目标特征图,也可以作为下一次异步卷积操作的源特征图;此外,异步卷积操作
之后还可以存在“基于事件的最大池化”(或其它池化)操作。
经元电路中的一个。针对所述第一神经元电路(20)的异步卷积操作,包括如下步骤:
元电路21以及第三神经元电路22(后文简称为第一神经元、第二神经元、第三神经元),以及
其它神经元,这些神经元被组织在一起,视为与源特征图10相关联的神经元们。作为举例,
在某个时间段内,源特征图10中的第一神经元20,第二神经元21以及第三神经元22,因为检
测到其满足了激活条件,举例而言,更新其神经元(电路)状态后,检测到膜电压超过阈值,
因此发放脉冲。而具体的发放脉冲操作,可以是发送一个脉冲或脉冲事件。
20与不同的神经元分别组合成了第三感受野201和第四感受野209。
述时间段内,第三感受野201中仅仅只有第一神经元20发放了脉冲。
任一感受野中是否还存在其它神经元是否也发放了脉冲。但为了清晰说明对应关系,本发
明继续沿用该术语。
么就不必执行后续的异步卷积步骤,降低了芯片整体功耗。本发明对是否经历池化,以及具
体池化方式不做限定。
目标特征图205中的第一目标神经元电路2011,经所述第一权重值2010加权,将所述第一神
经元电路20发放的所述脉冲或脉冲事件投射至所述第一目标神经元电路2011。
第一权重值2010,然后在第一目标神经元2011的当前神经元电路状态中加上或减去所述第
一权重值2010。所述第一目标神经元2011的当前神经元状态,可以是第一目标神经元2011
的当前膜电压。该优选实施例的好处是,仅仅通过一次加法或减法这种基本预算,即可实现
加权投射,而不必执行乘法等复杂运算,降低了芯片功耗。
相同的感受野也会被关联至不同的特定输出。比如,在第二卷积核300中对应的第三权重值
3010的加权下,同样是第一神经元20发放脉冲,同样是第三感受野201,但是其该加权输出
被投射至第三目标神经元3011,而非第一目标神经元2011。本申请对如何确定与第一神经
元20对应的所有权重值以及对应的目标神经元的方式不做限定。
205中的第二目标神经元2091。执行与上述类似或相同的加权投射步骤,即完成了另一次加
权投射。执行完基于第一卷积核200中预设的全部权重值的加权投射操作,即完成了第一神
经元20针对第一卷积核200的全部投射步骤。
3011;基于第四权重值3090的加权,将第一神经元20的所述脉冲投射至第四目标神经元
3091。执行完基于第二卷积核300中预设的全部权重值的加权投射操作,即完成了第一神经
元20针对第二卷积核300的全部投射步骤。执行完针对全部卷积核的投射步骤,即完成了针
对第一神经元20发放该次脉冲的全部异步卷积操作步骤。
断其各自是否满足激活条件。在满足激活条件时,比如膜电压达到阈值,其各自也会发放脉
冲。
状态与加权投射来的值相加或相减后,所得到的神经元状态。这里加权投射来的值,可以等
于或就是第一权重值2010。
针对所述第一目标神经元电路2011的异步卷积操作。
不必再执行异步卷积操作,否则就针对所述第一目标神经元2011执行对应的异步卷积操
作。
即一旦某个神经元发放了脉冲,那么就执行针对该神经元的异步卷积操作,而不必考虑其
它神经元是否也发放了脉冲,也就不必还须考虑是否参与卷积操作,这种方式简化了类脑
芯片中的异步卷积逻辑,简化芯片设计逻辑,提升异步电路设计效率。
定的卷积核集合(本质是具有权重值的突触连接)中的每一个权重值加权,分别投射至该神
经元和权重值对应的目标神经元集合中的目标神经元。通过本申请所披露的技术方案,将
复杂的异步卷积操作,转化成了简单的神经元投射操作,即一对多的投射操作。这将十分有
利于简化类脑芯片的设计逻辑,提升芯片设计效率。而目标神经元同样可以基于相同的逻
辑,完成下一层(如有必要)的异步卷积操作。
~
块与所述处理模块相耦接,所述处理模块通过所述第二接口模块与所述响应模块相耦接;
所述的类脑芯片对输入的环境信号(比如声音、光线、心跳等信号)进行识别,并将识别结果
通过所述第一接口模块传输至所述处理模块,所述处理模块根据所述识别结果生成控制指
令,并通过所述第二接口模块传输所述控制指令至所述响应模块。所述的响应模块可以是
执行抓拍、录像、系统唤醒等功能。
限定的本发明的一些实施例的说明,并且预期涵盖落入本发明范围内的任何和所有修改、
变化、组合或等同物。因此,尽管已经详细描述了本发明及其优点,但是在不脱离由所附权
利要求限定的本发明的情况下,可以进行各种改变、替换和变更。此外,本申请的范围不旨
在限于说明书中描述的过程、机器、制造、物质组成、装置、方法和步骤的特定实施例。
发的过程、机器、制造、物质组成、装置、方法或步骤。因此,所附权利要求目的在于在其范围
内包括这样的过程、机器、制造、物质组成、装置、方法或步骤。
进步性,只要利用了本发明权利要求所覆盖的技术特征,依据“全面覆盖原则”,该技术方案
同样应落入本发明的保护范围之内。
些替换手段,或者改变技术流程的顺序、物质组织顺序,然后采用了基本相同的手段,解决
基本相同的技术问题,达到了基本相同的技术效果,因此即便权利要求中明确限定了上述
手段或/和顺序,然而该些修饰、改变、替换,均应依据“等同原则”而落入权利要求的保护范
围。
通过细节规避的设计方案,同样落入该权利要求的保护范围。
经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来
执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定
的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明所要求保
护的范围。