CN112949819A - 基于忆阻器的自供能设备及其脉冲神经网络优化方法 - Google Patents
基于忆阻器的自供能设备及其脉冲神经网络优化方法 Download PDFInfo
- Publication number
- CN112949819A CN112949819A CN202110110192.1A CN202110110192A CN112949819A CN 112949819 A CN112949819 A CN 112949819A CN 202110110192 A CN202110110192 A CN 202110110192A CN 112949819 A CN112949819 A CN 112949819A
- Authority
- CN
- China
- Prior art keywords
- energy
- energy level
- neural network
- memristor
- activation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 198
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000005457 optimization Methods 0.000 title claims abstract description 9
- 230000004913 activation Effects 0.000 claims abstract description 148
- 230000007613 environmental effect Effects 0.000 claims abstract description 46
- 238000013507 mapping Methods 0.000 claims abstract description 33
- 230000008859 change Effects 0.000 claims abstract description 13
- 230000007704 transition Effects 0.000 claims abstract description 13
- 230000000946 synaptic effect Effects 0.000 claims description 85
- 210000002569 neuron Anatomy 0.000 claims description 48
- 238000003491 array Methods 0.000 claims description 30
- 238000012421 spiking Methods 0.000 claims description 24
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 claims description 23
- 230000003213 activating effect Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 7
- 210000000225 synapse Anatomy 0.000 claims description 5
- 238000003062 neural network model Methods 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 claims 1
- 238000013473 artificial intelligence Methods 0.000 abstract 1
- 238000012549 training Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000003306 harvesting Methods 0.000 description 6
- 239000003990 capacitor Substances 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 238000004146 energy storage Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000031018 biological processes and functions Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000002490 cerebral effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000004410 intraocular pressure Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008284 neuronal mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000005381 potential energy Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Feedback Control In General (AREA)
Abstract
本发明涉及人工智能技术领域,公开了一种基于忆阻器的自供能设备及其脉冲神经网络优化方法。本发明在对忆阻器交叉阵列和脉冲神经网络进行网络分块映射的基础上,根据脉冲神经网络的运行特点,对脉冲神经网络的运行规模进行能量等级划分,将脉冲神经网络的运行模式调整为“闲置‑部分激活‑全激活”模式,可以利用环境能量等级预测的方法预测供能周期的能量等级变化,合理调整脉冲神经网络的运行规模,挽救供能周期边界处的未完成任务的进度,实现能量等级平滑过渡。应用本发明可以使得脉冲神经网络的运行适应环境能量的变化,脉冲神经网络在微弱的供能条件下依然能够持续正常运行,提高了自供能设备上的脉冲神经网络的吞吐率和能效。
Description
技术领域
本发明涉及计算机与电子信息技术领域,尤其涉及基于忆阻器的自供能设备及其脉冲 神经网络优化方法。
背景技术
人工神经网络(Artificial Neural Network,简称ANN),是由大量的处理单元(神经元) 互相连接而形成的复杂网络结构,是对人脑组织结构和运行机制的某种抽象、简化和模拟。 人工神经网络以数学模型模拟神经元活动,是基于模仿大脑神经网络结构和功能而建立的 一种信息处理系统。目前的人工神经网络是第二代神经网络,它们通常是全连接的,接收 连续的输入值,输出连续的输出值。尽管当前人工神经网络已经让人类在很多领域中实现 了突破,但它们在生物学上是不精确的,目前并不能模仿生物大脑神经元的运作机制。
脉冲神经网络(Spiking Neural Network,SNN)是第三代神经网络,旨在弥合神经科 学和机器学习之间的差距,使用最拟合生物神经元机制的模型来进行计算。脉冲神经网络 与目前流行的人工神经网络和机器学习方法有着根本上的不同。脉冲神经网络(SNN)使用脉冲——这是一种发生在时间点上的离散事件——而非常见的连续值。每个峰值由代表生物过程的微分方程表示出来,其中最重要的是神经元的膜电位。脉冲神经网络的运行一般只有两种工作状态:完整激活状态和闲置状态,即系统存在一个启动阈值,当提供的功率高于启动阈值时,脉冲神经网络开始工作;当功率低于启动阈值时,脉冲神经网络处于闲置状态。
忆阻器交叉阵列是一个由两层垂直交叉的金属导线和忆阻器矩阵组成的电阻网络。忆 阻器交叉阵列具有低功耗和高性能的特点,可以用于加速脉冲神经网络中的矩阵乘加运 算。在利用忆阻器交叉阵列加速脉冲神经网络时,数据以脉冲的形式存在使得模数转换的 功耗得到降低。在人工神经网络(ANN)中的计算是实值计算,实值计算中的数据由多位 二进制组成,而脉冲神经网络中数据是以脉冲序列的形式存在的,脉冲实质上是一位二进 制数,使得用于脉冲神经网络的忆阻器交叉阵列在进行模数转换时需要转换的数值的范围 很小,降低了忆阻器交叉阵列的外围电路的功耗,从而降低了系统功耗。
忆阻器交叉阵列模拟突触连接的过程为:忆阻器与一个水平的位线和一个垂直的字线 组合形成忆阻器交叉阵列结构。交叉阵列中的每个交点都是一个存储单元,网络权值按忆 阻器电导配置。忆阻器交叉阵列具有天然的非易失性和并行处理的特点,既可以存储大量 的数据,又可以进行大规模并行计算,实现了高效的存内计算,极大地减少了内存数据访 问的次数,有效地缓解了存储墙问题,并且可以用于加速脉冲神经网络中的矩阵乘加运算。 如图1所示,显示了忆阻器交叉阵列中的点积操作。当进行乘加运算时,电信号V在水平 位线处输入,通过每个交叉节点的输出电流大小计算为I=V*G,其中G表示运算节点电导, 输出电流在垂直字线末端累加。
脉冲神经网络作为第三代神经网络与人工神经网络存在很大的不同。在脉冲神经网络 中,神经元之间通过脉冲组成的序列进行信息传递,而且脉冲序列利用脉冲之间的间隔编 码信息,使得脉冲神经网络能够处理复杂的时空信息。在脉冲神经网络中,脉冲神经元的 运行模式是事件驱动的,如果脉冲神经元在某个时刻或时间段内没有脉冲进入,就会保持 待机闲置状态,这个状态下脉冲神经元的功耗几乎为0,而在人工神经网络运行时其所有 的神经元均处于激活状态,使得同等规模的人工神经网络的功耗比脉冲神经网络高。
随着物联网(Internet of things,IoT)的发展,各种物联网设备已经深入应用到各个 领域,给人们的生活产生了巨大影响。物联网设备的供能方式一般是使用电池,但是电池 供电存在一定的局限性。自供能技术弥补了电池供能的很多不足,被认为是未来物联网设 备最有潜力的供能方式。如图2所示,自供能系统有两种能量采集架构:“收集-使用”架 构和“收集-存储-使用”架构。“收集-使用”架构利用能量采集器收集设备周围的环境能量, 然后通过能量转换器将采集的环境能量转化为系统所需的电能,为传感器节点的运行供 能;而“收集-存储-使用”架构则将收集的能量先存储到储能电容,然后利用储能电容为传 感器节点提供能量。对于自供能的应用场景,可以用于环境能量采集技术的能量种类有很 多,比如常见的五种能量包括空气温度、压电能量、太阳能、热能、WIFI信号。
但是环境能量本身不稳定,如图3所示,给出了空气温度、压电能量、太阳能、热能、WIFI信号五种环境能量的能量采样轨迹图。大部分的环境能量波动频繁,而且峰值和谷值相差较大。环境能量的不稳定性导致供能功率波动,影响了系统的正常运行。在这种不稳定供能的情况下,系统将会间歇地运行——如果能量采集架构所提供的供能功率高于系统启动阈值,系统正常工作;当能量采集架构所提供的供能功率低于系统启动阈值的时候,系统将会停止工作,等待下一个供能充足的阶段。
目前,利用忆阻器交叉阵列模拟脉冲神经网络的突触连接时,忆阻器交叉阵列存在实 际工艺大小受限问题,单个忆阻器交叉阵列无法满足脉冲神经网络的网络规模。同时,在 自供能场景下,设备通过环境能量采集技术收集周围环境能量为系统供能,环境能量本身 的不稳定会导致维持系统的功率发生波动甚至断电,某些环境能量的功率曲线不仅频繁波 动,而且有很大一部分时间都处于脉冲神经网络系统的启动阈值以下,使得系统频繁地断 电/重启,大部分能量都浪费在了数据备份和恢复的过程中,不能够有效地推进程序的执 行。如何降低脉冲神经网络的启动阈值,使脉冲神经网络能够在更低的供能情况下正常运 行,将有助于提高脉冲神经网络的吞吐率和能效。因此,需要一种面向自供能场景的基于 忆阻器交叉阵列的脉冲神经网络运行优化方案。
发明内容
本发明的一个目的是解决至少上述问题,并提供至少后面将说明的优点。
本发明还有一个目的是提供一种面向自供能应用场景的基于忆阻器交叉阵列的自供 能设备及其脉冲神经网络优化方法,从而达到基于能量等级预测动态匹配脉冲神经网络激 活规模,能够提高自供能设备上的脉冲神经网络的吞吐率和能效的目的。
为实现上述目的和一些其他的目的,本发明采用如下技术方案:
本发明提供的一种基于忆阻器的自供能设备,包括:
能量采集器,用于收集设备周围的环境能量;
能量转换器,用于将能量采集器采集的环境能量转化为设备所需的电能,确定能量 强度信息;
供能控制器,用于为忆阻器交叉阵列供电,选通需要激活的忆阻器交叉阵列;
忆阻器交叉阵列集,包括多个忆阻器交叉阵列,用于模拟脉冲神经网络的突触连接;
脉冲神经网络模型,用于基于脉冲神经网络对设备数据进行智能处理;
能量等级判断器,包括根据能量强度信息判定下个供能周期中预测能量等级的能量 等级预测模型,以及根据能量强度信息从多个能量等级中判定当前供能周期中当前能量等 级的能量等级判定单元;
神经网络控制器,包括用于在脉冲神经网络与多块忆阻器交叉阵列之间建立互相匹 配的映射关系的网络分块映射单元、用于根据脉冲神经网络的运行规模进行能量等级划分 的能量等级划分单元、用于根据预测能量等级与当前能量等级的能量等级差异合理调整脉 冲神经网络的运行规模的网络规模调整单元;
其中,所述神经网络控制器根据能量等级划分结果将脉冲神经网络的运行模式调整 为“闲置-部分激活-全激活”模式,在脉冲神经网络运行时,随着能量强度信息的变化而动态调整脉冲神经网络的运行规模,控制供能控制器选通需要激活的对应的忆阻器交叉阵列,挽救两个供能周期边界处的未完成任务的进度,实现能量等级平滑过渡。
进一步地,所述网络分块映射单元在脉冲神经网络与多块忆阻器交叉阵列之间建立 互相匹配的映射关系,是将脉冲神经网络的突触连接部分按照忆阻器交叉阵列的大小进行 等量划分,一个忆阻器交叉阵列映射一个等量部分的突触连接。
进一步地,所述能量等级划分单元进行能量等级的划分方式具体为:
先对脉冲神经网络每层突触连接对应的忆阻器交叉阵列集按列数进行约数划分,使 得每层突触连接的运行被等量的划分;再对脉冲神经网络每层划分结果整合形成适应不同 层突触连接的多个能量等级;其中,如果存在某一层突触连接的行列规模都是最大的,那 么以此层突触连接对应的交叉阵列集的能量等级划分结果与全激活阈值相结合作为最终 的能量等级划分标准;
所述的“闲置-部分激活-全激活”运行模式具体包括如下状态:
闲置状态:当采集的环境能量功率低于启动阈值时,脉冲神经网络处于闲置状态,不激活任何忆阻器交叉阵列;
部分激活状态:当采集的环境能量功率大于或等于启动阈值且小于全激活阈值时, 根据划分出的能量等级,激活与环境能量功率匹配的能量等级所对应部分的忆阻器交叉阵 列;
全激活状态:当采集的环境能量功率大于或等于全激活阈值时,激活全部用于模拟 脉冲神经网络的忆阻器交叉阵列。
进一步地,所述网络规模调整单元根据预测能量等级与当前能量等级的能量等级差 异合理调整脉冲神经网络的运行规模的方式为:
在当前能量等级与预测能量等级相比为能量等级不变时,与该能量等级对应的忆阻 器交叉阵列集的激活规模不变,对边界任务无需进行调整;
在当前能量等级与预测能量等级相比的差异为能量等级从高到低变化时:
若当前周期的能量等级对应的忆阻器交叉阵列集的激活规模是下个周期激活规模的 整数倍,那么边界任务在周期终点处的突触连接的后续运行无需调整,直接按照预测能量 等级继续运行;
若当前周期的忆阻器交叉阵列集的激活规模不是下个周期激活规模的整数倍,将下 个供能周期的第一个脉冲序列时间窗口内的忆阻器交叉阵列集的激活规模调整为未完成 进度除以下个周期的激活规模的余数;
在当前能量等级与预测能量等级相比的差异为能量等级从低到高变化时,将下个供 能周期的第一个脉冲序列时间窗口内的忆阻器交叉阵列集的激活规模调整为未完成进度 除以下个周期的激活规模的余数。其中,脉冲序列时间窗口为一个脉冲序列的时间长度。
本发明还提供一种基于忆阻器的脉冲神经网络优化方法,适用于所述的基于忆阻器 的自供能设备,包括如下步骤:
在脉冲神经网络与多块忆阻器交叉阵列之间通过网络分块映射方式建立互相匹配的 映射关系;
根据脉冲神经网络的运行规模进行能量等级划分,基于映射关系确定不同能量等级 对应的忆阻器交叉阵列集的激活规模,将脉冲神经网络的运行模式调整为“闲置-部分激 活-全激活”模式;
在脉冲神经网络运行时,获取当前供能周期的能量强度信息,根据能量强度信息确 定当前能量等级并预测下一供能周期的预测能量等级;根据预测能量等级与当前能量等级 的能量等级差异合理调整脉冲神经网络的运行规模,激活对应的忆阻器交叉阵列,挽救两 个供能周期边界处的未完成任务的进度,实现能量等级平滑过渡。
进一步地,所述网络分块映射方式是将脉冲神经网络的突触连接部分按照忆阻器交 叉阵列的大小进行等量划分,一个忆阻器交叉阵列映射一个等量部分的突触连接。
进一步地,所述的“闲置-部分激活-全激活”运行模式具体包括如下状态:
闲置状态:当采集的环境能量功率低于启动阈值时,脉冲神经网络处于闲置状态,不激活任何忆阻器交叉阵列;
部分激活状态:当采集的环境能量功率大于或等于启动阈值且小于全激活阈值时, 根据划分出的能量等级,激活与环境能量功率匹配能量等级所对应部分的忆阻器交叉阵 列;
全激活状态:当采集的环境能量功率大于或等于全激活阈值时,激活全部用于模拟 脉冲神经网络的忆阻器交叉阵列。
进一步更具体地,所述能量等级的划分方式具体为:
首先,对脉冲神经网络每层突触连接对应的忆阻器交叉阵列集按列数进行约数划分, 使得每层突触连接的运行被等量的划分;
然后,对脉冲神经网络每层划分结果整合形成适应不同层突触连接的多个能量等级;
其中,如果存在某一层突触连接的行列规模都是最大的,那么以此层突触连接对应 的交叉阵列集的能量等级划分结果与全激活阈值相结合作为最终的能量等级划分标准。
进一步地,所述获取当前供能周期的当前能量等级的步骤具体为:
根据所述能量强度信息中的能量强度从多个能量等级中获取匹配的当前能量等级;
所述预测下一供能周期的预测能量等级的步骤具体为:
根据所述能量强度信息确定当前周期的环境能量特征值,包括当前周期的能量强度、 能量强度均值和能量强度标准差;
将所述当前周期的环境能量特征值输入基于神经网络的环境能量等级预测模型获取 下个周期的预测能量等级;
其中,所述基于神经网络的环境能量等级预测模型进一步包括输入层、隐藏层和输 出层,采用全连接的方式连接各层神经元,输入层接收能量特征相关数据,隐藏层进行计 算,输出层输出下个供能周期的能量等级水平作为预测能量等级,输出层神经元个数与能 量等级划分的级数相等,每一个输出层神经元代表一个能量等级。
进一步地,所述根据预测能量等级与当前能量等级的能量等级差异合理调整脉冲神 经网络的运行规模的步骤具体为:
在当前能量等级与预测能量等级相比为能量等级不变时,与该能量等级对应的忆阻 器交叉阵列集的激活规模不变,对边界任务无需进行调整;
在当前能量等级与预测能量等级相比的差异为能量等级从高到低变化时:
若当前周期的能量等级对应的忆阻器交叉阵列集的激活规模是下个周期激活规模的 整数倍,那么边界任务在周期终点处的突触连接的后续运行无需调整,直接按照预测能量 等级继续运行;
若当前周期的忆阻器交叉阵列集的激活规模不是下个周期激活规模的整数倍,将下 个供能周期的第一个脉冲序列时间窗口内的忆阻器交叉阵列集的激活规模调整为未完成 进度除以下个周期的激活规模的余数;
在当前能量等级与预测能量等级相比的差异为能量等级从低到高变化时,将下个供 能周期的第一个脉冲序列时间窗口内的忆阻器交叉阵列集的激活规模调整为未完成进度 除以下个周期的激活规模的余数。其中,脉冲序列时间窗口为一个脉冲序列的时间长度。
本发明采用以上技术方案,可以实现如下技术效果::
本申请的技术方案,在网络分块映射的基础上,根据脉冲神经网络的运行特点,对脉冲神经网络的运行规模进行能量等级划分,将脉冲神经网络的运行模式调整为“闲置-部分激活-全激活”模式,可以利用环境能量等级预测的方法预测供能周期的能量等级变化,根据环境能量等级预测结果,合理调整脉冲神经网络的运行规模,挽救供能周期边界处的未完成任务的进度,实现能量等级平滑过渡。应用本发明可以使得脉冲神经网络的运行适应环境能量的变化,即使是在十分微弱的供能条件下,脉冲神经网络依然能够持续正常运行,可以提高在自供能设备上的脉冲神经网络的吞吐率和能效。
本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发 明的研究和实践而为本领域的技术人员所理解。
附图说明
图1是忆阻器交叉阵列原理图;
图2是能量采集架构示意图;
图3是本发明提供的五种能量的能量采样轨迹图;
图4是本发明提供的基于忆阻器的自供能设备示意图;
图5是本发明一实施例提供的网络分块映射图;
图6是本发明一实施例提供的针对脉冲神经元的同时与分时激活突触连接对比图;
图7是本发明一实施例提供的环境能量等级预测模型图;
图8是本发明一实施例提供的调整边界任务运行规模示意图。
具体实施方式
下面结合附图对本发明做详细说明,以令本领域普通技术人员参阅本说明书后能够据 以实施。
本发明主要针对边缘端微型物联网(IoT)设备,设备本身的尺寸很小,不宜设置储能电容,所以选择使用“收集-使用”的能量采集架构的自供能设备,自供能设备可以是运动手环或健康手环等人体佩戴的健康监测设备,也可以是眼压监测器、或小型动物监测器,或者是用于边缘地区火灾监测或地质监测的监测设备。
如图4所示,给出了一种基于忆阻器的自供能设备,包括:
能量采集器,用于收集设备周围的环境能量;
能量转换器,用于将能量采集器采集的环境能量转化为设备所需的电能,确定能量 强度信息;
供能控制器,用于为忆阻器交叉阵列供电,选通需要激活的忆阻器交叉阵列;
忆阻器交叉阵列集,包括多个忆阻器交叉阵列,用于模拟脉冲神经网络的突触连接;
脉冲神经网络模型,用于基于脉冲神经网络对设备数据进行智能处理;
能量等级判断器,包括根据能量强度信息判定下个供能周期中预测能量等级的能量 等级预测模型,以及根据能量强度信息从多个能量等级中判定当前供能周期中当前能量等 级的能量等级判定单元;
神经网络控制器,包括用于在脉冲神经网络与多块忆阻器交叉阵列之间建立互相匹 配的映射关系的网络分块映射单元、用于根据脉冲神经网络的运行规模进行能量等级划分 的能量等级划分单元、用于根据预测能量等级与当前能量等级的能量等级差异合理调整脉 冲神经网络的运行规模的网络规模调整单元;
其中,所述神经网络控制器根据能量等级划分结果将脉冲神经网络的运行模式调整 为“闲置-部分激活-全激活”模式,在脉冲神经网络运行时,随着能量强度信息的变化而动态调整脉冲神经网络的运行规模,控制供能控制器选通需要激活的对应的忆阻器交叉阵列,挽救两个供能周期边界处的未完成任务的进度,实现能量等级平滑过渡。
进一步地,所述网络分块映射单元在脉冲神经网络与多块忆阻器交叉阵列之间建立 互相匹配的映射关系,是将脉冲神经网络的突触连接部分按照忆阻器交叉阵列的大小进行 等量划分,一个忆阻器交叉阵列映射一个等量部分的突触连接。
针对不同的应用场景构建脉冲神经网络时,需要选择与场景对应规模的脉冲神经网 络,而忆阻器交叉阵列的尺寸存在上限,当前工业界所能达到的最大尺寸为128×128,所选忆阻器交叉阵列的尺寸不能超过这个上限。优选地,忆阻器交叉阵列的尺寸为64×64。
将脉冲神经网络的突触连接部分按照忆阻器交叉阵列的大小进行等量划分,每一个 等量部分代表一个交叉阵列,那么整个突触连接就是多个忆阻器交叉阵列组成的集合,即 忆阻器交叉阵列集。例如,脉冲神经网络的网络规模为N0×N1×...×Nk,则脉冲神经网络 有k层突触连接,第i层突触连接规模为Ni-1×Ni,使用统一大小为n×n(n≤128)的忆阻器 交叉阵列块模拟脉冲神经网络,第i层突触连接所需的忆阻器交叉阵列块的个数为[Ni-1/n]*[Ni/n],每一层突触连接都是由Xi*Yi个交叉阵列组成的忆阻器交叉阵列集,Xi代表第i层突触连接的交叉阵列集的行数,Yi代表第i层突触连接的交叉阵列集的列数。
脉冲神经网络本身具有特定的运行模式,即处于激活状态的脉冲神经元对应的所有 突触连接须同时激活。所述激活状态的脉冲神经元,是指当脉冲进入神经元或者神经元发 放脉冲时,相应的脉冲神经元才会处于激活状态。脉冲神经网络运行时,脉冲神经网络的 运行规模是指激活的忆阻器交叉阵列的个数。一般情况下,脉冲神经元对于时序性有着严 格的要求,在训练的时候所有突触连接都是处于激活状态,所以为了使得脉冲神经网络能 够进行正确的推理,在激活忆阻器交叉阵列集时,将同属于一个后层神经元的突触连接同 时激活,从而使脉冲神经元以正确的时序接收脉冲。
所述能量等级,是一个功率范围,这个范围存在上限和下限,当供能周期的功率值处于此范围内时,该供能周期的供能等级就属于该能量等级。供能周期的功率值来由自供能设备的环境能量采集架构所提供。所述的自供能设备是使用环境能量采集技术供能的设备,所述环境能量采集架构是“收集-使用”的采集架构。例如在自供能设备为传感器节 点设备时,利用能量采集器收集设备周围的环境能量,然后通过能量转换器将采集的环 境能量转化为传感器节点设备所需的电能,为传感器节点的运行供能。
其中,所述能量等级划分单元进行能量等级的划分方式具体为:
先对脉冲神经网络每层突触连接对应的忆阻器交叉阵列集按列数进行约数划分,使 得每层突触连接的运行被等量的划分;再对脉冲神经网络每层划分结果整合形成适应不同 层突触连接的多个能量等级;其中,如果存在某一层突触连接的行列规模都是最大的,那 么以此层突触连接对应的交叉阵列集的能量等级划分结果与全激活阈值相结合作为最终 的能量等级划分标准;
所述的“闲置-部分激活-全激活”运行模式具体包括如下状态:
闲置状态:当采集的环境能量功率低于启动阈值时,脉冲神经网络处于闲置状态,不激活任何忆阻器交叉阵列;
部分激活状态:当采集的环境能量功率大于或等于启动阈值且小于全激活阈值时, 根据划分出的能量等级,激活与环境能量功率匹配的能量等级所对应部分的忆阻器交叉阵 列;
全激活状态:当采集的环境能量功率大于或等于全激活阈值时,激活全部用于模拟 脉冲神经网络的忆阻器交叉阵列。
能量等级判断器预测下一供能周期的预测能量等级的方式为:
根据所述能量强度信息确定当前周期的环境能量特征值,包括当前周期的能量强度、 能量强度均值和能量强度标准差;将所述当前周期的环境能量特征值输入基于神经网络的 环境能量等级预测模型获取下个周期的预测能量等级;
其中,所述基于神经网络的环境能量等级预测模型进一步包括输入层、隐藏层和输 出层,采用全连接的方式连接各层神经元,输入层接收能量特征相关数据,隐藏层进行计 算,输出层输出下个供能周期的能量等级水平作为预测能量等级,输出层神经元个数与能 量等级划分的级数相等,每一个输出层神经元代表一个能量等级。
假定采集架构提供的功率为P采集,同时本发明设置了两个阈值:启动阈值P启动和全激 活阈值P全激活。对于原始“闲置-激活”的运行模式,其P启动=P全激活,即脉冲神经网路一旦 启动就是全部激活的状态。而在“闲置-部分激活-全激活”的运行模式下,P启动<P全激活,整 个脉冲神经网络的工作状态分为如下三种情况:
闲置状态:P采集<P启动,即当采集架构收集的能量功率低于启动阈值时,脉冲神经网络处于闲置状态。与此同时,由于电容尺寸问题,本发明采用“收集-使用”的环境能量采 集架构,本供能周期收集的环境能量不会被用于下个供能周期。
部分激活状态:P启动≤P采集<P全激活,由于脉冲神经网络由多个忆阻器交叉阵列组合映 射,可以在满足脉冲神经网络的运行特点的基础上,对阵列集的激活规模进行细分,划分 出多个能量等级,不同的能量等级对应着不同的网络激活规模。
全激活状态:P采集≥P全激活,即当采集架构提供的功率大于等于全激活阈值时,用于模 拟脉冲神经网络的所有忆阻器交叉阵列全部激活。
其中,所述网络规模调整单元根据预测能量等级与当前能量等级的能量等级差异合 理调整脉冲神经网络的运行规模的方式为:
在当前能量等级与预测能量等级相比为能量等级不变时,与该能量等级对应的忆阻 器交叉阵列集的激活规模不变,对边界任务无需进行调整;
在当前能量等级与预测能量等级相比的差异为能量等级从高到低变化时:
若当前周期的能量等级对应的忆阻器交叉阵列集的激活规模是下个周期激活规模的 整数倍,那么边界任务在周期终点处的突触连接的后续运行无需调整,直接按照预测能量 等级继续运行;
若当前周期的忆阻器交叉阵列集的激活规模不是下个周期激活规模的整数倍,将下 个供能周期的第一个脉冲序列时间窗口内的忆阻器交叉阵列集的激活规模调整为未完成 进度除以下个周期的激活规模的余数;
在当前能量等级与预测能量等级相比的差异为能量等级从低到高变化时,将下个供 能周期的第一个脉冲序列时间窗口内的忆阻器交叉阵列集的激活规模调整为未完成进度 除以下个周期的激活规模的余数。其中,脉冲序列时间窗口为一个脉冲序列的时间长度。 脉冲神经网络在周期边界运行的任务停留在第i层突触连接,其突触连接由(Xi×Yi)个交叉 阵列组成,本供能周期的能量等级对应到第i层突触阵列的激活规模为(Xi×K1),且已经运 行了t个脉冲序列时间窗口内,下个供能周期的能量等级对应到第i层突触阵列的激活规模 为(Xi×K2),那么在周期边界处该突触连接已经运行的部分W已运行为:
W已运行=Xi×K1×t
剩余未运行的部分W剩余为:
W剩余=Xi×Yi-W已运行=Xi×(Yi-K1×t)
下个周期的第一个脉冲序列时间窗口内的激活规模C过滤为:
C过渡=Xi×[(Yi-K1×t)mod K2]
所以,当相邻供能周期的能量等级发生变化时,将下个供能周期的第一个脉冲序列时间窗口内的激活规模设置为C过渡,可以实现能量等级的平滑过渡。
基于图4所示的基于忆阻器的自供能设备,可以实现一种基于忆阻器交叉阵列的脉 冲神经网络优化方法,具体包括如下步骤:
在脉冲神经网络与多块忆阻器交叉阵列之间通过网络分块映射方式建立互相匹配的 映射关系;
根据脉冲神经网络的运行规模进行能量等级划分,基于映射关系确定不同能量等级 对应的忆阻器交叉阵列集的激活规模,将脉冲神经网络的运行模式调整为“闲置-部分激 活-全激活”模式;
在脉冲神经网络运行时,获取当前供能周期的能量强度信息,根据能量强度信息确 定当前能量等级并预测下一供能周期的预测能量等级;根据预测能量等级与当前能量等级 的能量等级差异合理调整脉冲神经网络的运行规模,激活对应的忆阻器交叉阵列,挽救两 个供能周期边界处的未完成任务的进度,实现能量等级平滑过渡。
进一步地,所述网络分块映射方式是将脉冲神经网络的突触连接部分按照忆阻器交 叉阵列的大小进行等量划分,一个忆阻器交叉阵列映射一个等量部分的突触连接。
进一步地,所述的“闲置-部分激活-全激活”运行模式具体包括如下状态:
闲置状态:当采集的环境能量功率低于启动阈值时,脉冲神经网络处于闲置状态,不激活任何忆阻器交叉阵列;
部分激活状态:当采集的环境能量功率大于或等于启动阈值且小于全激活阈值时, 根据划分出的能量等级,激活与环境能量功率匹配能量等级所对应部分的忆阻器交叉阵 列;
全激活状态:当采集的环境能量功率大于或等于全激活阈值时,激活全部用于模拟 脉冲神经网络的忆阻器交叉阵列。
进一步更具体地,所述能量等级的划分方式具体为:
首先,对脉冲神经网络每层突触连接对应的忆阻器交叉阵列集按列数进行约数划分, 使得每层突触连接的运行被等量的划分;
然后,对脉冲神经网络每层划分结果整合形成适应不同层突触连接的多个能量等级;
其中,如果存在某一层突触连接的行列规模都是最大的,那么以此层突触连接对应 的交叉阵列集的能量等级划分结果与全激活阈值相结合作为最终的能量等级划分标准。
进一步地,所述获取当前供能周期的当前能量等级的步骤具体为:
根据所述能量强度信息中的能量强度从多个能量等级中获取匹配的当前能量等级;
所述预测下一供能周期的预测能量等级的步骤具体为:
根据所述能量强度信息确定当前周期的环境能量特征值,包括当前周期的能量强度、 能量强度均值和能量强度标准差;
将所述当前周期的环境能量特征值输入基于神经网络的环境能量等级预测模型获取 下个周期的预测能量等级;
其中,所述基于神经网络的环境能量等级预测模型进一步包括输入层、隐藏层和输 出层,采用全连接的方式连接各层神经元,输入层接收能量特征相关数据,隐藏层进行计 算,输出层输出下个供能周期的能量等级水平作为预测能量等级,输出层神经元个数与能 量等级划分的级数相等,每一个输出层神经元代表一个能量等级。
进一步地,所述根据预测能量等级与当前能量等级的能量等级差异合理调整脉冲神 经网络的运行规模的步骤具体为:
在当前能量等级与预测能量等级相比为能量等级不变时,与该能量等级对应的忆阻 器交叉阵列集的激活规模不变,对边界任务无需进行调整;
在当前能量等级与预测能量等级相比的差异为能量等级从高到低变化时:
若当前周期的能量等级对应的忆阻器交叉阵列集的激活规模是下个周期激活规模的 整数倍,那么边界任务在周期终点处的突触连接的后续运行无需调整,直接按照预测能量 等级继续运行;
若当前周期的忆阻器交叉阵列集的激活规模不是下个周期激活规模的整数倍,将下 个供能周期的第一个脉冲序列时间窗口内的忆阻器交叉阵列集的激活规模调整为未完成 进度除以下个周期的激活规模的余数;
在当前能量等级与预测能量等级相比的差异为能量等级从低到高变化时,将下个供 能周期的第一个脉冲序列时间窗口内的忆阻器交叉阵列集的激活规模调整为未完成进度 除以下个周期的激活规模的余数。
实施例:
下面以用于手写数字识别的脉冲神经网络为例,给出提高在自供能设备上的脉冲神 经网络的吞吐率和能效的方法。MNIST(Mixed National Institute of Standards andTechnology database)是美国国家标准与技术研究院收集整理的大型手写数字数据库。MNIST数据集是 一组经过预处理的手写数字图片数据集,MNIST数据集中每个样本都是一张长28、宽28 的灰度图片,其中包含一个0-9的数字。以用于MNIST数据集的脉冲神经网络为例,确定 脉冲神经网络规模为784×1000×10,输入层神经元数为784,表示手写数字图片的像素点 数,即28×28;输出层神经元数为10表示数字识别的结果,即0,1,…,9。针对不同的 应用场景选择不同的规模的脉冲神经网络。
忆阻器交叉阵列的尺寸选用当前工业界通用的64×64尺寸。忆阻器交叉阵列的尺寸 存在上限,当前工业界所能达到的最大尺寸为128×128,所选交叉阵列的尺寸不能超过这个上限。
步骤S1、利用网络分块映射的方法使用多个交叉阵列模拟脉冲神经网络的突触连接;
具体地,对于上述的前馈型脉冲神经网络,利用网络分块映射的方法将其划分为两 个忆阻器交叉阵列集,如图5所示,第一层突触连接对应的交叉阵列集包含13×16个忆阻器交叉阵列,第二层突触连接对应的交叉阵列集包含16×1个交叉阵列。
步骤S2、根据脉冲神经网络的运行特点,对脉冲神经网络的运行规模进行能量等级 划分,不同的能量等级对应不同的交叉阵列激活个数,将脉冲神经网络的运行模式调整为 “闲置-部分激活-全激活”;
具体地,在脉冲神经网络中,处于激活状态的脉冲神经元对应的所有突触连接须同 时激活。如图6所示,在一个简单的前馈型脉冲神经网络中,输入层有A和B两个脉冲神经元,都与后层脉冲神经元C连接,同时激活突触连接w1和w2情形与分时激活突触连 接w1和w2的情形,神经元C接收到的脉冲形成的序列是不同的。一般情况下,脉冲神 经元对于时序性有着严格的要求,在训练的时候所有突触连接都是处于激活状态,所以为 了使得脉冲神经网络能够进行正确的推理,在激活忆阻器交叉阵列集时,将同属于一个后 层神经元的突触连接同时激活,从而使脉冲神经元以正确的时序接收脉冲。
具体地,根据脉冲神经网络的网络规模和脉冲神经元运行特点,对每层交叉阵列进 行能量等级划分时:首先,每层突触连接对应的忆阻器交叉阵列进行约数划分,第一层突 触连接对应的交叉阵列集可以划分为13×1、13×2、13×4、13×8和13×16,第二层突触连接对应的交叉阵列集可以划分为16×1。那么将两层突触连接的阶段性划分结果进行整合,可以将该脉冲神经网络的运行能量等级划分为7个能量等级。
如下表1所示,每个能量等级都有一个上下限,规定了能量等级的功率范围,其中p64×64代表一个尺寸大小为64×64的忆阻器交叉阵列的功率需求。
表1网络规模为784×1000×10的脉冲神经网络能量等级划分表
能量等级 | 功率上下限 | 激活的最大阵列数(个) |
能量等级0,E<sub>0</sub> | 0≤P<sub>采集</sub><16×p<sub>64×64</sub> | 0 |
能量等级1,E<sub>1</sub> | 16×p<sub>64×64</sub>≤P<sub>采集</sub><26×p<sub>64×64</sub> | 16 |
能量等级2,E<sub>2</sub> | 26×p<sub>64×64</sub>≤P<sub>采集</sub><52×p<sub>64×64</sub> | 26 |
能量等级3,E<sub>3</sub> | 52×p<sub>64×64</sub>≤P<sub>采集</sub><104×p<sub>64×64</sub> | 52 |
能量等级4,E<sub>4</sub> | 104×p<sub>64×64</sub>≤P<sub>采集</sub><208×p<sub>64×64</sub> | 104 |
能量等级5,E<sub>5</sub> | 208×p<sub>64×64</sub>≤P<sub>采集</sub><224×p<sub>64×64</sub> | 208 |
能量等级6,E<sub>6</sub> | P<sub>采集</sub>≥224×p<sub>64×64</sub> | 224 |
在能量等级划分之后,脉冲神经网络运行的模式就转变为了“闲置-部分激活-全激 活”。
采集架构提供的功率为P采集,同时设置两个阈值:启动阈值P启动和全激活阈值P全激活。在“闲置-部分激活-全激活”的运行模式下,P启动<P全激活,整个脉冲神经网络的工作状态分 为如下三种情况:
闲置状态:P采集<P启动,即当采集架构收集的能量功率低于启动阈值时,脉冲神经网络处于闲置状态。与此同时,由于电容尺寸问题,本发明采用“收集-使用”的环境能量采 集架构,本供能周期收集的环境能量不会被用于下个供能周期。
部分激活状态:P启动≤P采集<P全激活,由于脉冲神经网络由多个忆阻器交叉阵列组合映 射,可以在满足脉冲神经网络的运行特点的基础上,对阵列集的激活规模进行细分,划分 出多个能量等级,不同的能量等级对应着不同的网络激活规模。
本实施例中,部分激活的又可以细分为5种情况,每种情况对应一个能量等级。
全激活状态:P采集≥P全激活,即当采集架构提供的功率大于等于全激活阈值时,用于模 拟脉冲神经网络的所有忆阻器交叉阵列全部激活。
步骤S3、依据能量等级划分的结果处理环境能量的能量强度采集数据;
根据能量等级划分的结果处理环境能量的能量强度采集数据,计算每一条能量强度 数据匹配的能量等级水平,也就是获取当前供能周期的当前能量等级。同时计算能量强度 的均值和标准差。本实施例中,选取了五种环境能量,分别为空气温度、压电能量、太阳能、热能、WiFi信号,对每种能量计算了前五个周期的能量强度均值和前五个周期的能量强度标准差。
步骤S4、利用环境能量等级预测模型预测下个供能周期中环境能量的能量等级水平;
具体地,能量等级预测模型是预训练模型或实时训练模型,可确定环境能量等级预 测模型的网络结构和规模,训练预测模型,使其达到较高的准确率。如图7所示,环境能量等级预测模型的网络结构分为输入层、隐藏层和输出层,使用全连接的方式连接各层神经元,输入层接收能量特征相关数据,隐藏层进行计算,输出层输出下个能量供应周期的能量等级水平。其中:
输入层接收本供能周期的环境能量特征值,其中包括当前周期的能量强度、能量强 度均值和能量强度标准差等;
隐藏层的层数和神经元个数是影响模型准确率的关键,同时对于自供能设备来说, 预测模型的规模不宜过大,以免增加系统负载,所以在选择层数和神经元个数的时候需要 权衡准确率和负载,来选择最合适的网络模型进行环境能量等级预测,环境能量等级预测 模型中的神经元激活函数可以选择ReLU、Tanh、Sigmoid等函数;
输出层输出环境能量等级预测结果,该环境能量等级预测结果与能量等级划分的能 量等级情况相对应,环境能量等级预测类似于一个分类问题,设置输出层神经元个数与能 量等级划分的级数相等,每一个神经元代表一个能量等级。
采用预训练模型时,可以利用提前获知的采集的能量强度数据集,根据能量等级划 分的结果进行标记,同时对每个能量强度数据计算前5个周期的均值和标准差,然后对数 据集进行重新排序并切分,形成训练数据集和测试数据集,利用反向传播算法调整预测模 型的网络参数,并多次迭代训练,使得环境能量等级预测网络模型准确率达到较高的水平。
针对本实施例的环境能量等级预测模型,本实施例采用的预测模型的网络规模为3×30×10×10×7,1个输入层,3个隐藏层和1个输出层,输入层节点分别输入当前周期的能量强度、前五个周期的能量强度均值和前五个周期的能量强度标准差。环境能量等级预测实验选取了五种环境能量,分别为空气温度、压电、太阳能、热能、WiFi信号,对每种 环境能量标记后的能量强度轨迹数据打乱顺序,选择其中70%的数据作为训练数据集,剩 余30%的数据作为测试数据集,并对预测模型进行训练。五种环境能量的预测准确率,除 了WiFi信号数据的预测准确率略微偏低,其余四种环境能量的预测准确率均在95%以上。
步骤S5、根据环境能量等级预测结果,合理安排脉冲神经网络的运行规模,挽救边界任务,实现能量等级平滑过渡;
具体地,当下一个供能周期的能量等级与当前周期的能量等级相同时,交叉阵列集 的激活规模无需变化。当下一个供能周期的能量等级不同于当前周期的能量等级时,交叉 阵列集的激活规模也相应地变化。
(1)若能量等级从高到低变化时,由于能量等级划分策略中是按照交叉阵列集列数 的约数进行划分的:
如果当前周期的能量等级对应的激活规模是下个周期激活规模的整数倍,那么边界 任务在周期终点处的突触连接的后续运行无需调整,直接按照预测的能量等级继续运行;
如果当前周期的能量等级对应的激活规模不是下个周期激活规模的整数倍,边界任 务在周期终点处的那一层突触连接,其剩余未完成进度一般不能被下个周期的激活规模对 应的运行速度整除,那么就需要改变下个脉冲序列时间窗口内内的激活规模,使得后续执 行能够按照供能周期能量等级所对应的激活规模运行,即下个供能周期的第一个脉冲序列 时间窗口内的激活规模调整为未完成进度除以下个周期的激活规模的余数。
(2)若能量等级从低到高变化时,边界任务在周期终点处的那一层突触连接,其剩余未完成进度一般不能被下个周期的激活规模对应的运行速度整除,那么就需要改变下个脉冲序列时间窗口内内的激活规模,使得后续执行能够按照供能周期能量等级所对应的激活规模运行,即下个供能周期的第一个脉冲序列时间窗口内的激活规模调整为未完成进度除以下个周期的激活规模的余数。
例如,假设脉冲神经网络在周期边界运行的任务停留在第i层突触连接,其突触连接 由(Xi×Yi)个交叉阵列组成,本供能周期的能量等级对应到第i层突触阵列的激活规模为 (Xi×K1),且已经运行了t个脉冲序列时间窗口内,下个供能周期的能量等级对应到第i层突 触阵列的激活规模为(Xi×K2),那么在周期边界处该突触连接已经运行的部分W已运行为:
W已运行=Xi×K1×t
剩余未运行的部分W剩余为:
W剩余=Xi×Yi-W己运行=Xi×(Yi-K1×t)
下个周期的第一个脉冲序列时间窗口内的激活规模C过渡为:
C过渡=Xi×[(Yi-K1×t)mod K2]
所以,当相邻供能周期的能量等级发生变化时,将下个供能周期的第一个脉冲序列 时间窗口内的激活规模设置为C过渡,可以实现能量等级的平滑过渡。
如图8所示,边界任务在供能周期终点处停留的突触连接对应的交叉阵列集的规模 为4×10个阵列,该层阵列集根据能量等级划分策略按照约数划分得到的能量等级划分结 果为4×1、4×2、4×5和4×10。当前供能周期的能量等级为4×1,而通过环境能量等级预测 预知的下个周期的能量等级为4×5,任务停留处为4×3,该层突触连接剩余未完成的进度 为4×7,将下个周期的第一个脉冲序列时间窗口内的激活规模设置为4×2,其余后续部分 均按照所属能量等级运行。
通过上述实施例,可以发现利用多个标准大小的忆阻器(ReRAM)交叉阵列模拟脉冲神经网络(SNN),通过建立映射关系,能够解决忆阻器交叉阵列尺寸限制问题,在此 基础上,根据脉冲神经网络的网络规模和忆阻器交叉阵列的尺寸大小对脉冲神经网络的运 行进行能量等级划分,每个能量等级对应一个运行规模,有效地降低了脉冲神经网络的启 动阈值,使其能够在更低的能量供应下正常运行,然后利用能量等级预测的方法提前预知 下个供能周期的能量等级水平,合理调整过渡脉冲序列时间窗口内的运行规模,挽救边界 任务,实现能量等级平稳过渡。实验结果显示,在自供能场景下,该方法可以有效地提高 脉冲神经网络吞吐率和能效,吞吐率的提高幅度与环境能量的种类具有一定的相关性;另 一方面,该方法可以有效地挽救边界任务,非常适用于能量变化频繁且微弱的环境能量, 从本质上提升了脉冲神经网络的实用性。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运 用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地 实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限 于特定的细节和这里所示出与描述的图例。
Claims (10)
1.一种基于忆阻器的自供能设备,包括:
能量采集器,用于收集设备周围的环境能量;
能量转换器,用于将能量采集器采集的环境能量转化为设备所需的电能,确定能量强度信息;
供能控制器,用于为忆阻器交叉阵列供电,选通需要激活的忆阻器交叉阵列;
忆阻器交叉阵列集,包括多个忆阻器交叉阵列,用于模拟脉冲神经网络的突触连接;
脉冲神经网络模型,用于基于脉冲神经网络对设备数据进行智能处理;
能量等级判断器,包括根据能量强度信息判定下个供能周期中预测能量等级的能量等级预测模型,以及根据能量强度信息从多个能量等级中判定当前供能周期中当前能量等级的能量等级判定单元;
神经网络控制器,包括用于在脉冲神经网络与多块忆阻器交叉阵列之间建立互相匹配的映射关系的网络分块映射单元、用于根据脉冲神经网络的运行规模进行能量等级划分的能量等级划分单元、用于根据预测能量等级与当前能量等级的能量等级差异合理调整脉冲神经网络的运行规模的网络规模调整单元;
其中,所述神经网络控制器根据能量等级划分结果将脉冲神经网络的运行模式调整为“闲置-部分激活-全激活”模式,在脉冲神经网络运行时,随着能量强度信息的变化而动态调整脉冲神经网络的运行规模,控制供能控制器选通需要激活的对应的忆阻器交叉阵列,挽救两个供能周期边界处的未完成任务的进度,实现能量等级平滑过渡。
2.如权利要求1所述的基于忆阻器的自供能设备,其特征在于,
所述网络分块映射单元在脉冲神经网络与多块忆阻器交叉阵列之间建立互相匹配的映射关系,是将脉冲神经网络的突触连接部分按照忆阻器交叉阵列的大小进行等量划分,一个忆阻器交叉阵列映射一个等量部分的突触连接。
3.如权利要求1所述的基于忆阻器的自供能设备,其特征在于,
所述能量等级划分单元进行能量等级的划分方式具体为:
先对脉冲神经网络每层突触连接对应的忆阻器交叉阵列集按列数进行约数划分,使得每层突触连接的运行被等量的划分;再对脉冲神经网络每层划分结果整合形成适应不同层突触连接的多个能量等级;其中,如果存在某一层突触连接的行列规模都是最大的,那么以此层突触连接对应的交叉阵列集的能量等级划分结果与全激活阈值相结合作为最终的能量等级划分标准;
所述的“闲置-部分激活-全激活”运行模式具体包括如下状态:
闲置状态:当采集的环境能量功率低于启动阈值时,脉冲神经网络处于闲置状态,不激活任何忆阻器交叉阵列;
部分激活状态:当采集的环境能量功率大于或等于启动阈值且小于全激活阈值时,根据划分出的能量等级,激活与环境能量功率匹配的能量等级所对应部分的忆阻器交叉阵列;
全激活状态:当采集的环境能量功率大于或等于全激活阈值时,激活全部用于模拟脉冲神经网络的忆阻器交叉阵列。
4.如权利要求1所述的基于忆阻器的自供能设备,其特征在于,
所述网络规模调整单元根据预测能量等级与当前能量等级的能量等级差异合理调整脉冲神经网络的运行规模的方式为:
在当前能量等级与预测能量等级相比为能量等级不变时,与该能量等级对应的忆阻器交叉阵列集的激活规模不变,对边界任务无需进行调整;
在当前能量等级与预测能量等级相比的差异为能量等级从高到低变化时:
若当前周期的能量等级对应的忆阻器交叉阵列集的激活规模是下个周期激活规模的整数倍,那么边界任务在周期终点处的突触连接的后续运行无需调整,直接按照预测能量等级继续运行;
若当前周期的忆阻器交叉阵列集的激活规模不是下个周期激活规模的整数倍,将下个供能周期的第一个脉冲序列时间窗口内的忆阻器交叉阵列集的激活规模调整为未完成进度除以下个周期的激活规模的余数;
在当前能量等级与预测能量等级相比的差异为能量等级从低到高变化时,将下个供能周期的第一个脉冲序列时间窗口内的忆阻器交叉阵列集的激活规模调整为未完成进度除以下个周期的激活规模的余数。
5.一种基于忆阻器的脉冲神经网络优化方法,其特征在于,包括如下步骤:
在脉冲神经网络与多块忆阻器交叉阵列之间通过网络分块映射方式建立互相匹配的映射关系;
根据脉冲神经网络的运行规模进行能量等级划分,基于映射关系确定不同能量等级对应的忆阻器交叉阵列集的激活规模,将脉冲神经网络的运行模式调整为“闲置-部分激活-全激活”模式;
在脉冲神经网络运行时,获取当前供能周期的能量强度信息,根据能量强度信息确定当前能量等级并预测下一供能周期的预测能量等级;根据预测能量等级与当前能量等级的能量等级差异合理调整脉冲神经网络的运行规模,激活对应的忆阻器交叉阵列,挽救两个供能周期边界处的未完成任务的进度,实现能量等级平滑过渡。
6.如权利要求5所述的方法,其特征在于,所述网络分块映射方式是将脉冲神经网络的突触连接部分按照忆阻器交叉阵列的大小进行等量划分,一个忆阻器交叉阵列映射一个等量部分的突触连接。
7.如权利要求5所述的方法,其特征在于,所述的“闲置-部分激活-全激活”运行模式具体包括如下状态:
闲置状态:当采集的环境能量功率低于启动阈值时,脉冲神经网络处于闲置状态,不激活任何忆阻器交叉阵列;
部分激活状态:当采集的环境能量功率大于或等于启动阈值且小于全激活阈值时,根据划分出的能量等级,激活与环境能量功率匹配能量等级所对应部分的忆阻器交叉阵列;
全激活状态:当采集的环境能量功率大于或等于全激活阈值时,激活全部用于模拟脉冲神经网络的忆阻器交叉阵列。
8.如权利要求5或7所述的方法,其特征在于,所述能量等级的划分方式具体为:
首先,对脉冲神经网络每层突触连接对应的忆阻器交叉阵列集按列数进行约数划分,使得每层突触连接的运行被等量的划分;
然后,对脉冲神经网络每层划分结果整合形成适应不同层突触连接的多个能量等级;
其中,如果存在某一层突触连接的行列规模都是最大的,那么以此层突触连接对应的交叉阵列集的能量等级划分结果与全激活阈值相结合作为最终的能量等级划分标准。
9.如权利要求5所述的方法,其特征在于,所述获取当前供能周期的当前能量等级的步骤具体为:
根据所述能量强度信息中的能量强度从多个能量等级中获取匹配的当前能量等级;
所述预测下一供能周期的预测能量等级的步骤具体为:
根据所述能量强度信息确定当前周期的环境能量特征值,包括当前周期的能量强度、能量强度均值和能量强度标准差;
将所述当前周期的环境能量特征值输入基于神经网络的环境能量等级预测模型获取下个周期的预测能量等级;
其中,所述基于神经网络的环境能量等级预测模型进一步包括输入层、隐藏层和输出层,采用全连接的方式连接各层神经元,输入层接收能量特征相关数据,隐藏层进行计算,输出层输出下个供能周期的能量等级水平作为预测能量等级,输出层神经元个数与能量等级划分的级数相等,每一个输出层神经元代表一个能量等级。
10.如权利要求5所述的方法,其特征在于,所述根据预测能量等级与当前能量等级的能量等级差异合理调整脉冲神经网络的运行规模的步骤具体为:
在当前能量等级与预测能量等级相比为能量等级不变时,与该能量等级对应的忆阻器交叉阵列集的激活规模不变,对边界任务无需进行调整;
在当前能量等级与预测能量等级相比的差异为能量等级从高到低变化时:
若当前周期的能量等级对应的忆阻器交叉阵列集的激活规模是下个周期激活规模的整数倍,那么边界任务在周期终点处的突触连接的后续运行无需调整,直接按照预测能量等级继续运行;
若当前周期的忆阻器交叉阵列集的激活规模不是下个周期激活规模的整数倍,将下个供能周期的第一个脉冲序列时间窗口内的忆阻器交叉阵列集的激活规模调整为未完成进度除以下个周期的激活规模的余数;
在当前能量等级与预测能量等级相比的差异为能量等级从低到高变化时,将下个供能周期的第一个脉冲序列时间窗口内的忆阻器交叉阵列集的激活规模调整为未完成进度除以下个周期的激活规模的余数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110110192.1A CN112949819B (zh) | 2021-01-26 | 2021-01-26 | 基于忆阻器的自供能设备及其脉冲神经网络优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110110192.1A CN112949819B (zh) | 2021-01-26 | 2021-01-26 | 基于忆阻器的自供能设备及其脉冲神经网络优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112949819A true CN112949819A (zh) | 2021-06-11 |
CN112949819B CN112949819B (zh) | 2023-11-24 |
Family
ID=76237711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110110192.1A Active CN112949819B (zh) | 2021-01-26 | 2021-01-26 | 基于忆阻器的自供能设备及其脉冲神经网络优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112949819B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114037050A (zh) * | 2021-10-21 | 2022-02-11 | 大连理工大学 | 一种基于脉冲神经网络内在可塑性的机器人退化环境避障方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170083810A1 (en) * | 2015-09-23 | 2017-03-23 | Politecnico Di Milano | Electronic Neuromorphic System, Synaptic Circuit With Resistive Switching Memory And Method Of Performing Spike-Timing Dependent Plasticity |
CN111583940A (zh) * | 2020-04-20 | 2020-08-25 | 东南大学 | 极低功耗关键词唤醒神经网络电路 |
CN111967589A (zh) * | 2020-08-21 | 2020-11-20 | 清华大学 | 神经元模拟电路及其驱动方法、神经网络装置 |
CN112183739A (zh) * | 2020-11-02 | 2021-01-05 | 中国科学技术大学 | 基于忆阻器的低功耗脉冲卷积神经网络的硬件架构 |
-
2021
- 2021-01-26 CN CN202110110192.1A patent/CN112949819B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170083810A1 (en) * | 2015-09-23 | 2017-03-23 | Politecnico Di Milano | Electronic Neuromorphic System, Synaptic Circuit With Resistive Switching Memory And Method Of Performing Spike-Timing Dependent Plasticity |
CN111583940A (zh) * | 2020-04-20 | 2020-08-25 | 东南大学 | 极低功耗关键词唤醒神经网络电路 |
CN111967589A (zh) * | 2020-08-21 | 2020-11-20 | 清华大学 | 神经元模拟电路及其驱动方法、神经网络装置 |
CN112183739A (zh) * | 2020-11-02 | 2021-01-05 | 中国科学技术大学 | 基于忆阻器的低功耗脉冲卷积神经网络的硬件架构 |
Non-Patent Citations (1)
Title |
---|
徐桂芝等: "基于忆阻器的脉冲神经网络研究综述" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114037050A (zh) * | 2021-10-21 | 2022-02-11 | 大连理工大学 | 一种基于脉冲神经网络内在可塑性的机器人退化环境避障方法 |
CN114037050B (zh) * | 2021-10-21 | 2022-08-16 | 大连理工大学 | 一种基于脉冲神经网络内在可塑性的机器人退化环境避障方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112949819B (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112183739B (zh) | 基于忆阻器的低功耗脉冲卷积神经网络的硬件架构 | |
CN111899510B (zh) | 基于发散卷积和gat的智能交通系统流量短期预测方法及系统 | |
Catalao et al. | An artificial neural network approach for short-term wind power forecasting in Portugal | |
CN109829541A (zh) | 基于学习自动机的深度神经网络增量式训练方法及系统 | |
CN104662526B (zh) | 用于高效地更新尖峰神经元网络的装置和方法 | |
CN106022521B (zh) | 基于Hadoop架构的分布式BP神经网络的短期负荷预测方法 | |
CN109165730B (zh) | 交叉阵列神经形态硬件中状态量化网络实现方法 | |
US20150120627A1 (en) | Causal saliency time inference | |
US9600762B2 (en) | Defining dynamics of multiple neurons | |
Mehrtash et al. | Synaptic plasticity in spiking neural networks (SP/sup 2/INN): a system approach | |
US9959499B2 (en) | Methods and apparatus for implementation of group tags for neural models | |
CN112381673B (zh) | 一种基于数字孪生的园区用电信息分析方法及装置 | |
CN114595874A (zh) | 一种基于动态神经网络的超短期电力负荷预测方法 | |
CN115146842A (zh) | 基于深度学习的多元时间序列趋势预测方法和系统 | |
Bohnstingl et al. | Biologically-inspired training of spiking recurrent neural networks with neuromorphic hardware | |
CN112949819B (zh) | 基于忆阻器的自供能设备及其脉冲神经网络优化方法 | |
CN108470212B (zh) | 一种能利用事件持续时间的高效lstm设计方法 | |
Showkati et al. | Short term load forecasting using echo state networks | |
Sun et al. | Quaternary synapses network for memristor-based spiking convolutional neural networks | |
CN116523001A (zh) | 电网薄弱线路识别模型构建方法、装置和计算机设备 | |
Hossain et al. | Reservoir computing system using biomolecular memristor | |
CN109635942B (zh) | 一种仿脑兴奋态和抑制态工作状态神经网络电路结构及方法 | |
Sayarkin et al. | Spiking neural network model MATLAB implementation based on Izhikevich mathematical model for control systems | |
He et al. | Application of neural network model based on combination of fuzzy classification and input selection in short term load forecasting | |
CN111177975A (zh) | 一种基于人工智能的航空装备可用度预计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |