CN112598119B - 一种面向液体状态机的神经形态处理器片上存储压缩方法 - Google Patents
一种面向液体状态机的神经形态处理器片上存储压缩方法 Download PDFInfo
- Publication number
- CN112598119B CN112598119B CN202110008963.6A CN202110008963A CN112598119B CN 112598119 B CN112598119 B CN 112598119B CN 202110008963 A CN202110008963 A CN 202110008963A CN 112598119 B CN112598119 B CN 112598119B
- Authority
- CN
- China
- Prior art keywords
- weights
- weight
- liquid state
- group
- state machine
- 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.)
- Active
Links
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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种面向液体状态机的神经形态处理器片上存储压缩方法,首先将神经元的所有入度权值分成相等的组,之后所有非零权值传输到处理器存储器中相应的组里存储,然后使用高位地址生成标签,将一个权值与同组中其它权值区分开,和所有连接信息一并存储,片上存储器被组织为只读组相联缓存,在计算过程中,根据请求权值的索引,生成组号,访问目标组取出组中所有标签并与请求权值的标签进行比较,本发明通过利用液体状态机的稀疏性来压缩存储,可以降低处理器的功耗,也可以使单个处理器在不增加额外存储的情况具有更多的逻辑神经元以处理更复杂的任务,在不同权值数据宽度下,与无压缩的实现相比,CSSAC最多可使处理器存储减少14%‑55%,功耗减少5%‑46%。
Description
技术领域
本发明涉及面向液体状态机的神经形态处理器片上存储压缩方法技术领域,具体为一种面向液体状态机的神经形态处理器中神经元之间的连接的权值的片上存储压缩方法。
背景技术
脉冲神经网络和类脑处理器因其能模拟大脑神经元的行为和高能效的特点而受到广泛关注和迅速发展。作为脉冲神经网络的一种,液体状态机在图像识别和语音识别领域显示出了巨大的潜力。因为使用液体状态机来识别各种新型传感器的输出,例如动态视觉传感器(DVS)和动态音频传感器(DAS),所产生的脉冲序列是很契合的。新兴传感器能够捕捉传感器视野范围内的动态变化并以脉冲序列的形式进行输出,而液体状态机可以直接处理这种脉冲序列。此外,与其它脉冲神经网络相比,液体状态机的训练更简单。液体状态机包含输入层,液体层和读出层,而它的训练只涉及它的读出层,并且读出层一般是单层全连接层的结构。此外,不同的读出层可以共享同一个通用的负责数据预处理的水库层,以完成不同的任务。
在像TrueNorth和Loihi这样的类脑处理器中,所有的突触和权值都保留在处理器上存储,以支持不同种类的具有稠密或稀疏连接的脉冲神经网络的部署。然而,如果在类脑处理器上部署的网络是稀疏的液体状态机,则为权值和突触预留的存储是冗余的。它限制了固定面积的单处理器所能支持的液体状态机逻辑神经元的数量,从而影响了液体状态机的处理能力和最佳精度。另外,在像TrueNorth这样的神经态处理器中,用于存储的功耗是计算和通信的几倍。因此,压缩权值和突触的存储可以减少处理器功耗或在一个处理器上增加逻辑神经元的数量而无需增加存储空间。这对于单核类脑处理器处理更复杂的任务和研制下一代多核类脑处理器以模拟更大规模的生物神经网络是至关重要的。因此,亟待一种改进的技术来解决现有技术中所存在的这一问题。
发明内容
本发明的目的在于提供一种面向液体状态机的神经形态处理器片上存储压缩方法,它能够开发和利用液体状态机的稀疏性和鲁棒性,其特点是不会引入太多的元数据开销从而确保压缩效果,也不会降低液体状态机的精度或类脑处理器的性能,本发明还实现了一个使用CSSAC压缩方法组织其存储结构的神经元硬件电路,它既实现了面向液体状态机的类脑处理器片上存储压缩,又可以完成液体状态机计算,实验结果表明,在MNIST、NMNIST、DVS128手势数据集上,在不同权值量化位宽下,CSSAC最多可使处理器存储减少14%-55%,处理器功耗减少5%-46%,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种面向液体状态机的神经形态处理器片上存储压缩方法,包括以下步骤:
步骤一:生成并初始化一个液体状态机网络,训练它的读出层的权值,直到网络的准确率收敛,之后保持读出层的权值不变,随机将一定比例的非零权值替换为液体层中的非零值,把这种操作定义为随机扰动;
步骤二:对液体状态机的液体层网络进行前述的随机扰动实验,即按照一定的比例将网络中神经元的非零权值随机替换为另一个非零值,这个比例称为随机扰动率,然后使用扰动后的网络进行推理测试,得到网络的推理精度,通过尝试不同的随机扰动率,就可以获得无精度损失下的最大随机扰动率,这将作为之后确定压缩空间的依据;
步骤三:在随机扰动实验之后,在软件上进行模拟存储实验,首先确定一个分组数,将一个神经元的原始的所有入度权值等分为若干组,同时片上存储器中的分组数也保持一致,之后根据权值的高位地址生成将权值与组内其他权值唯一区别开来的数据标签,然后确定一个片上存储器的组内项数,此时就已经确定了片上存储器的大小以及组织形式,接着将原始权值中的非零权值和其生成的数据标签传输到片上存储器上,放入对应的组中,其中一部分权值可能因为受到存储的限制而被丢弃,统计这些被丢弃的权值的数量占据所有非零权值的数量的比重,并称之为丢弃率,特别需要注意的是,由于在方法中,这些被丢弃的权值在需要使用时将会被组内的其他权值代替,所以可以将这个丢弃率与前述随机扰动实验中得到的随机扰动率视作近似相等,由大到小,依次尝试不同的片上存储器的组内项数,组内项数越少代表压缩率越大,并统计该配置下的丢弃率,通过尝试可以找到不超过无精度损失最大随机扰动率下的最大压缩率,由此,就能够确定真实的硬件存储器上的分组数以及组内项数的实际大小了;
步骤四:将所有非零权值传输到片上存储器中对应的组中进行存储,并根据其原始地址生成对应的数据标签与权值一并存放,注意,这里生成的数据标签可以在传输时动态由硬件生成,也可在软件上生成并传输到片上,除此之外,所有权值的突触连接信息会保存在处理器上的邻接向量寄存器中,以便在后续使用过程中对不同的权值类型加以区分,完成初始化;
步骤五:在完成初始化后,片上存储器被组织为只读组相联缓存;
步骤六:在计算过程中,对权值的请求会同时访问权值存储器和邻接向量寄存器,通过请求的权值索引与组数之间的模数运算,生成相应的组号,读出目标组中的所有标签,并与请求权值的标签进行比较;
步骤七:如果请求权值的标签命中了组中的一个标签,则读出相应的权值以供使用,如果不是,且邻接向量中请求权值对应的位为“1”,表示该连接存在但是在初始化时被丢弃了,则读取同一组中的第一项替换请求权值,如果邻接向量中请求权值对应的位为0则说明该突触连接不存在,直接跳过该次计算。
优选的,所述步骤一中权值包括零和非零项。
优选的,所述步骤二中每组中压缩空间由无精度损失条件下的最大随机扰动率决定。
优选的,所述步骤二中每个神经元都是dw+tw长,其中dw和tw分别是权值及其标签的位宽。
优选的,所述步骤三中没有地方存储的非零权值及其标签将被丢弃,但是其突触信息仍然会保存在处理器的邻接向量里,丢弃的权值可以在需要时被存储在处理器上的权值所替代。
与现有技术相比,本发明的有益效果是:
通过利用液体状态机的稀疏性,采用存储压缩,可以降低处理器的功耗,也可以使单个处理器在不增加额外存储的情况具有更多的逻辑神经元以处理更复杂的任务。本发明利用液体状态机的稀疏性和鲁棒性,实现了一种有损存储压缩方法——压缩稀疏组相联缓存(CSSAC)方法,其中还实现了一种用于面向液体状态机类脑处理器的神经元硬件电路,它支持CSSAC存储压缩方法并且能完成液体状态机计算,CSSAC压缩方法不会引入太多的元数据开销以确保压缩效果,也不会降低液体状态机的精度或处理器的性能,结果表明,在实验中,在MNIST、NMNIST、DVS128手势数据集上,在不同权值数据宽度下,CSSAC最多可使处理器存储减少14%-55%,功耗减少5%-46%。
附图说明
图1为CSSAC压缩存储方法存储过程示意图。
图2为随机扰动率与精度损失线性示意图。
图3为CSSAC压缩方法示意图。
图4为在CSSAC存储方法下,请求访问权值的流程示意图。
图5为神经元硬件电路示意图。
图6为神经元的初始化以及CSSAC存储过程示意图。
图7为使用CSSAC存储方法的神经元工作过程示意图。
图8为液体状态机的典型结构。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种面向液体状态机的神经形态处理器片上存储压缩方法,包括以下步骤:
步骤一:生成并初始化一个液体状态机网络,训练它的读出层的权值,直到网络的准确率收敛,之后保持读出层的权值不变,随机将一定比例的非零权值替换为液体层中的非零值,把这种操作定义为随机扰动;
步骤二:对液体状态机的液体层网络进行前述的随机扰动实验,即按照一定的比例将网络中神经元的非零权值随机替换为另一个非零值,这个比例称为随机扰动率,然后使用扰动后的网络进行推理测试,得到网络的推理精度,通过尝试不同的随机扰动率,就可以获得无精度损失下的最大随机扰动率,这将作为之后确定压缩空间的依据;
步骤三:在随机扰动实验之后,在软件上进行模拟存储实验,首先确定一个分组数,将一个神经元的原始的所有入度权值等分为若干组,同时片上存储器中的分组数也保持一致,之后根据权值的高位地址生成将权值与组内其他权值唯一区别开来的数据标签,然后确定一个片上存储器的组内项数,此时就已经确定了片上存储器的大小以及组织形式,接着将原始权值中的非零权值和其生成的数据标签传输到片上存储器上,放入对应的组中,其中一部分权值可能因为受到存储的限制而被丢弃,统计这些被丢弃的权值的数量占据所有非零权值的数量的比重,并称之为丢弃率,特别需要注意的是,由于在方法中,这些被丢弃的权值在需要使用时将会被组内的其他权值代替,所以可以将这个丢弃率与前述随机扰动实验中得到的随机扰动率视作近似相等,由大到小,依次尝试不同的片上存储器的组内项数,组内项数越少代表压缩率越大,并统计该配置下的丢弃率,通过尝试可以找到不超过无精度损失最大随机扰动率下的最大压缩率,由此,就能够确定真实的硬件存储器上的分组数以及组内项数的实际大小了;
步骤四:将所有非零权值传输到片上存储器中对应的组中进行存储,并根据其原始地址生成对应的数据标签与权值一并存放,注意,这里生成的数据标签可以在传输时动态由硬件生成,也可在软件上生成并传输到片上,除此之外,所有权值的突触连接信息会保存在处理器上的邻接向量寄存器中,以便在后续使用过程中对不同的权值类型加以区分,完成初始化;
步骤五:在完成初始化后,片上存储器被组织为只读组相联缓存;
步骤六:在计算过程中,对权值的请求会同时访问权值存储器和邻接向量寄存器,通过请求的权值索引与组数之间的模数运算,生成相应的组号,读出目标组中的所有标签,并与请求权值的标签进行比较;
步骤七:如果请求权值的标签命中了组中的一个标签,则读出相应的权值以供使用,如果不是,且邻接向量中请求权值对应的位为“1”,表示该连接存在但是在初始化时被丢弃了,则读取同一组中的第一项替换请求权值,如果邻接向量中请求权值对应的位为0则说明该突触连接不存在,直接跳过该次计算。
本专利实现的方法利用了液体状态机的稀疏性和鲁棒性,液体状态机在空间和时间上都是稀疏的。液体状态机的空间稀疏性是实现存储压缩的关键,在水库层初始化过程中,前述四种突触连接根据不同的连接概率随机生成,通过大量的实验,找到了使液体状态机网络在不同数据集下达到最高准确率的最优连接概率,在最优连接概率下,平均总连接概率约为34.7%,也就是说,65.3%的权值为零,除此之外,液体状态机具有一定的鲁棒性,如果在水库层中随机将一定比例的非零权值替换为非零值,替换后的液体状态机精度不会降低,通过实验进一步量化了液体状态机的鲁棒性,首先,生成并初始化一个液体状态机网络,然后训练它的读出层的权值,直到网络的精度收敛,然后保持读出层的权值不变,随机将一定比例的非零权值替换为水库层中的非零值,这种操作定义为随机干扰,观察扰动后随机扰动率与精度损失的关系,如图2所示,当MNIST、NMNIST、DVS128手势数据集的随机扰动比小于或等于5%时,液体状态机的推理精度不会损失。
首先将神经元的所有权值(包括零和非零项)分成相等的组,然后使用它们地址的高位作为它们标签,通过标签,可以将一个权值与同一组中的其它权值区分开来,所有非零权值及其标签将被转移到处理器存储器中相应的组里进行存储,但是其中一些将没有地方存储,因为在片上存储器中以相同的数量减少了每组中条目数,每个组中减少的条目数由无精度损失条件下的压缩率决定,因此,这些无处存放的权值将被丢弃。注意,有些存储单元可能是空置的,在上述初始化之后,片上存储器被组织为只读组相联缓存(cache),每个存储条目都是(dw+tw)长,其中dw和tw分别是权值及其标签的位宽;tw计算为:其中N是压缩前每个组中的条目数。此外,所有突触的信息都存储在一个片上邻接向量寄存器中,这个寄存器的比特位宽和神经元拥有的突触数量相等,因此寄存器中的每个比特位表示一个位置的突触是否存在,以区分压缩时丢弃的权值和零权值,因此,如果需要丢弃的权值,可以通过突触信息知道它们的存在,并将它们替换为存储在相同组中的权值。
在计算过程中,对权值的请求会导致同时访问权值存储器和邻接向量寄存器,通过请求的权值索引与组数之间的模数运算,生成相应的组号,读出目标组中的所有标签,并与请求权值的标签进行比较,如果请求权值的标签命中了组中的一个标签,则读出相应的权值以供使用,如果不是,且邻接向量中请求权值对应的位为“1”,则读取同一组中的第一项替换请求权值,如果邻接向量中请求权值对应的位为“0”,则直接跳过该次计算。
如图3所示,给出了一个CSSAC的例子。假设一个神经元有16个突触和权值,由于稀疏性,只有9个突触实际存在,即它们的权值不为零,首先,将每个权值的地址与分组数量进行模运算得到组号,然后根据组号将权值平均分为4组,每个组有四个条目,所以标签的位宽是2,通过随机扰动实验和存储模拟实验确定了无精度损失后的压缩率后,每个组的条目在片上存储器中被减少到2以实现压缩,在将所有非零权值及其标签转移到片上存储器的过程中,由于存储空间的限制,权值8和权值13会被丢弃,同时,邻接向量寄存器会存储所有突触信息而不进行压缩。
请求访问一个权值的过程按图4中的顺序执行,CSSAC的存储组织为图4所示的片上存储,例如,如果请求权值3,将跳过计算,因为权值3的突触在邻接向量中是“0”。如果请求权值8,它的标签将不会在权值存储器中找到,因为在存储过程中已经被丢弃,而在邻接向量中,权值8的突触为“1”,因此,此时会读取同一组中的第一个条目(权值0)来替换它的使用。
CSSAC方法能够开发利用液体状态机的稀疏性和鲁棒性。其特点是不会引入太多的元数据开销从而确保压缩效果,也不会降低液体状态机的精度或类脑处理器的性能。
本发明还实现了一个使用CSSAC压缩方法组织其存储结构的神经元硬件电路,它既实现了面向液体状态机的类脑处理器片上存储压缩,又可以完成液体状态机计算。
在每一个时间步中,外部输入脉冲序列及其索引都由移位寄存器一个周期一个周期地发送到硬件神经元,每个神经元在每个时钟周期中接收脉冲和索引,根据所接收到的索引访问权值,进行膜电压累积计算,当处理完一个时间步的所有外部输入脉冲时,每个神经元将其膜电压与预先存储的阈值进行比较,如果电压大于阈值,这个神经元就会产生一个输出脉冲,以便在下一个时间步用作内部神经元发送的脉冲输入,然后就可以开始计算下一个时间步,当一个样本图像的所有时间步都被执行完毕后,就能利用所获得的液体状态作为分类器的输入以便得到分类结果。
硬件神经元的功能是接收输入脉冲,进行神经元膜电压的积累,产生输出脉冲,如图5所示,神经元的结构由以下部分组成,一个权值静态随机存取存储器(SRAM)和一个标签静态随机存取存储器用于存储所有逻辑神经元的权值和标签,存储组织方法是CSSAC,存储器中还包含多个并行比较器和一个多路选择器,一个邻接向量寄存器,用于存储未经压缩的突触信息,存储阈值和所有逻辑神经元的膜电压的寄存器组,用于完成膜电压累积计算的突触操作模块,一个用来比较膜电压和阈值的比较器,并决定是否产生输出脉冲,指示当前正在计算的逻辑神经元索引的索引计数器。神经元的工作原理如下,如图6所示。权值初始化时,将初始化的权值输入硬件神经元,并使用CSSAC方法存储在权值静态随机存取存储器(SRAM)中,为了简化,假设每个神经元有4个突触和2组,每个组有一个条目。权值在神经元之间传递,并存储在它们所属的神经元中,由于存储限制,一些权值将被丢弃,但它们的突触将被存储在邻接向量寄存器中,如周期3中的权值2。
如图7所示,在膜电压累积计算过程中,每个神经元从移位寄存器接收输入脉冲和索引,使用索引,每个神经元检查邻接向量中突触的存在,如果输入脉冲为“0”或发现突触不存在,则在这个时钟周期中的计算被跳过,如在周期1、2和3中的神经元1执行的操作,如果输入脉冲为“1”,并且对应的突触存在,则根据输入索引生成组索引和标签。然后访问目标组的所有标签,与生成的标签进行比较,如果生成的标签与组中任何一个标签都不匹配,则直接取组中第一个权值,像执行过程第3周期中神经元0执行的操作一样,用于膜电压的累加计算。
神经元的计算模型为漏流-集成-放电(Leaky-Intergration-Fire,LIF)神经元模型,在处理完所有的输入脉冲后,神经元将进入产生输出脉冲的阶段。神经元将计算出的膜电压与预先存储的阈值进行比较。如果膜电压大于阈值,就会产生一个输出脉冲,并且膜电压被重置为0,如执行过程的第4和第5周期中神经元0执行的操作。否则,神经元不会产生输出脉冲,当前计算的逻辑神经元的膜电压直接写回相应的寄存器。同时提取下一个待处理的逻辑神经元的膜电压进行计算。直到所有逻辑神经元的电压更新计算完成,然后才会开始下一个时间步的计算。
CSSAC压缩方法不会引入太多的元数据开销以确保压缩效果,也不会降低液体状态机的精度或处理器的性能。结果表明,在实验中,在MNIST、NMNIST、DVS128手势数据集上,在不同权值数据宽度下,CSSAC最多可使处理器存储减少14%-55%,功耗减少5%-46%。
以下为本发明涉及概念原理:
1.类脑计算
人类的大脑能够在消耗很少能量的情况下完成显著的感知任务。脑启发计算的目标是构建具有相同功能的机器,这需要高精度的算法和高效的硬件来执行。卡弗·米德在1990年提出的“类脑计算”是近年来为实现这一目标而出现的,并可以作为冯·诺依曼系统的补充架构。与传统的冯·诺依曼架构相比,类脑计算机具有执行更快、更省电、占用空间更小的特点和潜力。这些特性为开发采用类脑架构的硬件提供了令人信服的理由。
2.水库计算
水库计算被视为是神经网络的一种拓展框架,通过引入循环的方法允许信号双向传递。它由以下三个部分组成。输入层(由一个或多个神经元组成,属于前馈神经网络的一种),水库层(由多个神经元组成,属于递归神经网络的一种),输出层。其特点是其水库层权值是随机生成的且生成后就保持不变,而需要训练的只有输出层,这也使它比传统的神经网络训练起来更加简单。
3.脉冲神经网络
脉冲神经网络是最新的一种计算模型之一。它旨在模仿生物神经系统的行为。因为依据目前的了解,生物神经元传递信息并执行计算是通过脉冲形式,而在传统的深度神经网络中模拟神经元相互通信是依靠连续的模拟信号真实值。许多应用程序已经使用脉冲神经网络实现,包括预测,图像处理,机器人控制系统和脑机接口。与传统的深度神经网络相比,脉冲神经网络由于其对生物大脑神经元行为进行建模的特性和计算的高能效,近年来获得了长足的发展。
4.液体状态机
作为水库计算的脉冲版本,液体状态机在图像分类、语音识别、语言翻译等多个应用领域显示出了优越性和巨大的潜力。液体状态机是一种特殊类型的脉冲神经网络,是水库计算的脉冲版,最早由Maass于2002年提出。近年来,由于其较低的训练成本,而越来越受到研究者的欢迎。液体状态机的网络结构包括三个部分:输入层、水库层和读出层。在水库层中的神经元是通过脉冲互相通信的,与深度神经网络中的通过模拟信号通信的神经元不同。通过随机生成的权值和随机产生的突触连接,输入被水库层转换成高维的表示,该表示被称为液体状态或内部状态。这些状态根据过去输入的衰减记忆动态演化。以内部状态为输入,可以对读出层进行训练,以做出最终的分类决策。此外,多个读出层可以为不同的应用进行训练,且共享相同的水库层。因此,液体状态机由于具有短时记忆,比较擅长时间序列分类。
如图8所示,液体状态机的典型结构由三部分组成:输入层、水库层和读出层。输入层神经元I1-Im接收来自外部的信息,它们被根据特定的编码方案处理为脉冲序列输入。输入层神经元分为兴奋和抑制两种类型。在拓扑结构中,兴奋性神经元随机且稀疏地连接到水库层神经元上,其产生的脉冲序列也会通过这些连接直接传递给水库神经元。水库神经元也分为兴奋和抑制两种类型。根据不同的起始和终止神经元,水库层中的连接可以分为四类,兴奋-兴奋连接,兴奋-抑制连接,抑制-兴奋连接,抑制-抑制连接。水库层计算负责将输入脉冲转化为高维线性可分的液体状态向量。读出层神经元R1-Rn与水库层中兴奋神经元相连并对其产生的液体状态进行采样以作为读出层的输入。
5.压缩稀疏存储方法
压缩稀疏存储格式是通过利用神经网络的稀疏性来实现存储压缩的存储犯法。它的主要思想是只存储非零的条目,以及唯一标识每个条目的索引。现有的稀疏存储格式包括压缩稀疏行等。在压缩稀疏行中,非零项与其索引一起以连续地址存储在存储器中。压缩稀疏行中的每一项都是(dw+iw)长,其中dw和iw分别是非零元素及其索引的位宽。索引的位宽由压缩前的条目数决定。因此,在网络稀疏度足够高的情况下,使用压缩稀疏行方法可以带来较大的收益。但是,当网络稀疏度不够高时,压缩稀疏行带来的元数据开销会使效果变差甚至适得其反。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (5)
1.一种面向液体状态机的神经形态处理器片上存储压缩方法,其特征在于:包括以下步骤:
步骤一:生成并初始化一个液体状态机网络,训练它的读出层的权值,直到网络的准确率收敛,之后保持读出层的权值不变,随机将一定比例的非零权值替换为液体层中的非零值,把这种操作定义为随机扰动;
步骤二:对液体状态机的液体层网络进行前述的随机扰动实验,即按照一定的比例将网络中神经元的非零权值随机替换为另一个非零值,这个比例称为随机扰动率,然后使用扰动后的网络进行推理测试,得到网络的推理精度,通过尝试不同的随机扰动率,就可以获得无精度损失下的最大随机扰动率,这将作为之后确定压缩空间的依据;
步骤三:在随机扰动实验之后,在软件上进行模拟存储实验,首先确定一个分组数,将一个神经元的原始的所有入度权值等分为若干组,同时片上存储器中的分组数也保持一致,之后根据权值的高位地址生成将权值与组内其他权值唯一区别开来的数据标签,然后确定一个片上存储器的组内项数,此时就已经确定了片上存储器的大小以及组织形式,接着将原始权值中的非零权值和其生成的数据标签传输到片上存储器上,放入对应的组中,其中一部分权值可能因为受到存储的限制而被丢弃,统计这些被丢弃的权值的数量占据所有非零权值的数量的比重,并称之为丢弃率,由于在方法中,这些被丢弃的权值在需要使用时将会被组内的其他权值代替,所以可以将这个丢弃率与前述随机扰动实验中得到的随机扰动率视作近似相等,由大到小,依次尝试不同的片上存储器的组内项数,组内项数越少代表压缩率越大,并统计该配置下的丢弃率,通过尝试可以找到不超过无精度损失最大随机扰动率下的最大压缩率,由此,就能够确定真实的硬件存储器上的分组数以及组内项数的实际大小了;
步骤四:将所有非零权值传输到片上存储器中对应的组中进行存储,并根据其原始地址生成对应的数据标签与权值一并存放,这里生成的数据标签可以在传输时动态由硬件生成,也可在软件上生成并传输到片上,所有权值的突触连接信息会保存在处理器上的邻接向量寄存器中,以便在后续使用过程中对不同的权值类型加以区分,完成初始化;
步骤五:在完成初始化后,片上存储器被组织为只读组相联缓存;
步骤六:在计算过程中,对权值的请求会同时访问权值存储器和邻接向量寄存器,通过请求的权值索引与组数之间的模数运算,生成相应的组号,读出目标组中的所有标签,并与请求权值的标签进行比较;
步骤七:如果请求权值的标签命中了组中的一个标签,则读出相应的权值以供使用,如果不是,且邻接向量中请求权值对应的位为“1”,表示该连接存在但是在初始化时被丢弃了,则读取同一组中的第一项替换请求权值,如果邻接向量中请求权值对应的位为0则说明该突触连接不存在,直接跳过该次计算。
2.根据权利要求1所述的一种面向液体状态机的神经形态处理器片上存储压缩方法,其特征在于:所述步骤一中权值包括零和非零项。
3.根据权利要求1所述的一种面向液体状态机的神经形态处理器片上存储压缩方法,其特征在于:所述步骤二中每组中压缩空间由无精度损失条件下的最大随机扰动率决定。
4.根据权利要求1所述的一种面向液体状态机的神经形态处理器片上存储压缩方法,其特征在于:所述步骤二中每个神经元都是dw+tw长,其中dw和tw分别是权值及其标签的位宽。
5.根据权利要求1所述的一种面向液体状态机的神经形态处理器片上存储压缩方法,其特征在于:所述步骤三中没有地方存储的非零权值及其标签将被丢弃,但是其突触信息仍然会保存在处理器的邻接向量里,丢弃的权值可以在需要时被存储在处理器上的权值所替代。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110008963.6A CN112598119B (zh) | 2021-01-05 | 2021-01-05 | 一种面向液体状态机的神经形态处理器片上存储压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110008963.6A CN112598119B (zh) | 2021-01-05 | 2021-01-05 | 一种面向液体状态机的神经形态处理器片上存储压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112598119A CN112598119A (zh) | 2021-04-02 |
CN112598119B true CN112598119B (zh) | 2022-07-12 |
Family
ID=75207351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110008963.6A Active CN112598119B (zh) | 2021-01-05 | 2021-01-05 | 一种面向液体状态机的神经形态处理器片上存储压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112598119B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114202068B (zh) * | 2022-02-17 | 2022-06-28 | 浙江大学 | 面向类脑计算芯片的自学习实现系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111882042A (zh) * | 2020-08-03 | 2020-11-03 | 中国人民解放军国防科技大学 | 用于液体状态机的神经网络架构自动搜索方法、系统及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7992208B2 (en) * | 2005-09-19 | 2011-08-02 | University Of Maryland | Detection of nonconforming network traffic flow aggregates for mitigating distributed denial of service attacks |
CN111783973B (zh) * | 2020-08-03 | 2023-12-08 | 中国人民解放军国防科技大学 | 一种面向液体状态机计算的神经形态处理器及设备 |
-
2021
- 2021-01-05 CN CN202110008963.6A patent/CN112598119B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111882042A (zh) * | 2020-08-03 | 2020-11-03 | 中国人民解放军国防科技大学 | 用于液体状态机的神经网络架构自动搜索方法、系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112598119A (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111353076B (zh) | 训练跨模态检索模型的方法、跨模态检索的方法和相关装置 | |
CN111417963B (zh) | 改进的尖峰神经网络 | |
Maclaurin et al. | Gradient-based hyperparameter optimization through reversible learning | |
CN107169563B (zh) | 应用于二值权重卷积网络的处理系统及方法 | |
Ko et al. | Controlled dropout: A different approach to using dropout on deep neural network | |
CN111783973B (zh) | 一种面向液体状态机计算的神经形态处理器及设备 | |
Karimi-Bidhendi et al. | Scalable classification of univariate and multivariate time series | |
CN111027619A (zh) | 一种基于忆阻器阵列的K-means分类器及其分类方法 | |
CN113537449A (zh) | 基于脉冲神经网络的数据处理方法、计算核电路和芯片 | |
Ravi | Efficient on-device models using neural projections | |
CN112598119B (zh) | 一种面向液体状态机的神经形态处理器片上存储压缩方法 | |
Ardakani et al. | Learning to skip ineffectual recurrent computations in LSTMs | |
US20210264237A1 (en) | Processor for reconstructing artificial neural network, electrical device including the same, and operating method of processor | |
CN115049852B (zh) | 一种轴承故障诊断方法、装置、存储介质及电子设备 | |
CN109978143B (zh) | 一种基于simd架构的堆栈式自编码器及编码方法 | |
CN116821340A (zh) | 基于深度学习的多标签文本分类方法 | |
Xue et al. | Fast and unsupervised neural architecture evolution for visual representation learning | |
Pham et al. | One size fits many: Column bundle for multi-x learning | |
Yang et al. | Compressedcache: enabling storage compression on neuromorphic processor for liquid state machine | |
Nallathambi et al. | Probabilistic spike propagation for FPGA implementation of spiking neural networks | |
US20230351165A1 (en) | Method for operating neural network | |
Silaparasetty et al. | Neural Network Collection | |
CN113239077B (zh) | 一种基于神经网络的搜索方法、系统和计算机可读存储介质 | |
Mayannavar et al. | A Novel ANN Structure for Image Recognition | |
Qiu et al. | Accelerating cogent confabulation: An exploration in the architecture design space |
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 |