CN114676831A - 基于时间编码的低功耗脉冲神经网络片上学习系统 - Google Patents

基于时间编码的低功耗脉冲神经网络片上学习系统 Download PDF

Info

Publication number
CN114676831A
CN114676831A CN202210317373.6A CN202210317373A CN114676831A CN 114676831 A CN114676831 A CN 114676831A CN 202210317373 A CN202210317373 A CN 202210317373A CN 114676831 A CN114676831 A CN 114676831A
Authority
CN
China
Prior art keywords
input
alpha
input data
beta
vectors
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.)
Pending
Application number
CN202210317373.6A
Other languages
English (en)
Inventor
李丽
孙浩瀚
傅玉祥
孙从怡
韩嘉宁
周攀
李伟
何书专
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN202210317373.6A priority Critical patent/CN114676831A/zh
Publication of CN114676831A publication Critical patent/CN114676831A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

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)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种基于时间编码的低功耗脉冲神经网络片上学习系统,包括排序模块和计算模块,排序模块用于接收已进行时间编码的若干组输入数据,并将所述输入数据升序或降序排列;计算模块用于接收所述输入数据和预存储的与输入数据匹配的权重数据;基于预定规则将所述输入数据量化为预设常数,获得量化输入数据;基于权重数据判断神经元是否会激发,若激发,则采用所述量化输入数据和权重数据计算输出脉冲时间,并采用线性化规则更新权重数据。通过将输入数据量化降低硬件运算难度,采用优化的权重更新规则以便于硬件设计,减少运算量,具有功耗低、面积小速度快的优点;提升了脉冲经网络运算速度,且能够在硬件上实现片上学习。

Description

基于时间编码的低功耗脉冲神经网络片上学习系统
技术领域
本发明属于人工智能算法硬件加速领域,尤其涉及一种基于时间编码的低功耗脉冲神经网络片上学习系统。
背景技术
近些年来很多用于手写数字图片的识别的神经网络在硬件上实现。其中卷积神经网络为代表的网络被大规模地使用。然而卷积池化等操作需要大量的运算,这样一来需要消耗大量的硬件资源,也不利于低功耗的设计。针对以上的问题,近些年来脉冲神经网络(Spiking Neural Networks,SNNs)应运而生。
脉冲神经网络的出现是受到生物大脑结构的启发,生物学上的大脑可以以无监督的形式高效、低功率地处理信息。因此出现了模拟人类大脑的脉冲神经网络,该网络也被广泛认为是第三代神经网络。SNN在具有离散脉冲的神经元之间传播信息,相应的神经形态硬件可以在低功率下实现,这对电池受限的设备非常重要。
训练SNNs的方法主要有三种:从人工神经网络(ANNs)进行的转换、有监督学习方法和无监督学习方法。尽管由转换的SNNs和使用反向传播等监督学习方法转换的SNNs已经取得了一定的效果,但他们复杂的算法,让用硬件实现在线学习这些方法非常困难。
如何实现片上学习,降低系统功耗和减少硬件开销,是目前需要解决的问题。
发明内容
本发明的目的在于:
克服普遍神经网络硬件实现的不足之处,提供一种基于时间编码的低功耗脉冲神经网络片上学习系统,能够有效地降低功耗,减少硬件开销,并且还可以实现片上学习。
具体由以下技术方案实现:
一种基于时间编码的低功耗脉冲神经网络片上学习系统,包括:
排序模块,用于接收已进行时间编码的若干组输入数据,并将所述输入数据升序或降序排列;
计算模块,用于接收所述输入数据和预存储的与输入数据匹配的权重数据;基于预定规则将所述输入数据量化为预设常数,获得量化输入数据;基于权重数据判断神经元是否会激发,若激发,则采用所述量化输入数据和权重数据计算输出脉冲时间,并采用线性化规则更新权重数据。
发明的优点如下:在硬件上实现了使用时间编码的脉冲神经网络,并且具备在线学习的功能;经过设计和改进,该硬件系统具有计算复杂度低、面积小、功耗低等特性。
附图说明
图1为本发明的总体硬件架构示意图。
图2为本发明的改进九输入排序树结构示意图。
图3为本发明的运算单元架构示意图。
图4为本发明的CU结构示意图。
图5为本发明的权重更新架构示意图。
图6是本发明的排序过程示意图。
具体实施方式
基于上述问题,提出一种基于时间编码的低功耗脉冲神经网络片上学习系统,主要包括排序模块和计算模块。
其中,排序模块用于接收已进行时间编码的若干组输入数据,并将所述输入数据升序或降序排列;
计算模块用于接收所述输入数据和预存储的与输入数据匹配的权重数据;基于预定规则将所述输入数据量化为预设常数,获得量化输入数据;基于权重数据判断神经元是否会激发,若激发,则采用所述量化输入数据和权重数据计算输出脉冲时间,并采用线性化规则更新权重数据。
通过预设的规则将输入数据量化为预设常数,改变了原有方法需要通过计算指数函数值,因此能够大大提高计算效率,便于硬件实现。同时,权重更新采用线性化规则进行更新,改变了现有方法中,采用指数计算权重增量,导致计算效率较低的问题,同时提高了计算的准确率,而且输入量化可以自主选择量化细度,便于硬件实现,根据需求可以选择量化到底到多细。
换句话说,与现有技术不同的是,增加了数据量化的处理过程,解决了现有方法对硬件要求高,实现困难,计算效率低的问题。
如图1所示,在进一步的实施例中,本发明的基于时间编码的低功耗脉冲神经网络片上学习系统所使用的SNN有Nin个输入轴突和Nout兴奋性神经元。主要包括如下模块:
排序模块,用于对使用时间编码的数据进行从大到小或者从小到大的排序。
计算模块,主要用于根据量化输入的数据计算脉冲发生的时间,并找到最先发生的脉冲。
权重更新模块,根据最先发生的脉冲更新相对应的权重。
阈值和分类更新模块,根据最先发生的脉冲更新相对应的阈值,并给对应的输出神经元分类;存储单元,存储输入数据,排序结果,权重,阈值和输出分类。
工作流程为:整个系统由于可以进行片上学习,工作模式分为学习模式和推理模式。
在学习模式下,输入的数据经过排序模块进行排序,数据按从大到小输入运算单元,运算单元通过运算得到最先发生脉冲的神经元,然后将这个神经元索引输入权重更新模块、阈值和分类更新模块更新相对应的权重、阈值,并将该输出神经元贴上标签。
推理模式下,排序和计算过程不变,但是不再进行权重,阈值和标签的更新,此时阈值和分类更新模块只输出最先发生脉冲的神经元对应的标签。该标签就是图片分类的结果。
输入的像素首先被传递到输入的脉冲缓冲区。当所有输入像素值都存储在输入脉冲缓冲区中时,输入排序模块将与输入像素值按降序排序。排序后的像素和相应的像素索引存储在排序后的像素缓冲区中。一旦排序的脉冲缓冲区中内存的第一行排满,计算模块开始工作。计算模块计算每个神经元在每个输入脉冲时间,判断是否有神经元输出。整个系统分为学习模式和推理模式。
在学习模式下,利用寻找最小模块的最小输出指数来更新突触权值和膜阈值。根据简化的STDP学习规则,对连接到输出最小的神经元的突触权值进行更新,并通过膜电位阈值增加量Δv提高神经元的权值更新指标和膜阈值(膜电位阈值)。学习模式中的另一项任务是为每个神经元分配一个类。每次只给输出最小的神经元分配一个类,因为只有输出最小的神经元才能决定网络的输出。这次的最小输出用于与类值内存中之前保存的最小输出值进行比较。
如果这次的最小输出小于之前的值,我们将更新神经元的类,并将最小输出值保存在类值内存中,否则不更新。在推理模式中,没有更新任何值。重量更新模块不工作。膜阈值和类更新模块仍然可以工作,但膜阈值没有更新。该模块仅根据找到最小脉冲时间的神经元来给出网络的输出。
根据本申请的一个方面,所述预定规则的获取过程为:
获取待处理的像素值,将其归一化至[0,1]区间,获得归一化像素值,对于任一归一化像素值,求取其与1的差值,计算该差值的偶次幂,并进一步获得自然指数e的该偶次幂数值;
针对所有归一化像素值,计算自然指数e的偶次幂的上下限,并划分为若干区间,每一区间的端点值为2的倍数;
通过上述计算过程的逆运算获取各端点值对应的归一化像素值,并将其作为自变量区间端点,形成若干自变量区间;以端点值或两相邻端点值的算术平均数作为量化目标值,形成与所述自变量区间一一对应的若干量化常数值,以所述自变量区间和量化常数值构建所述预定规则。
在运行时,查找归一化像素值对应的自变量区间,并读取该自变量区间对应的量化常数值,即获得量化输入数据。
如图2所示,在一个实施例中,预定规则可以具体为:
输入数据≤0.125时,量化常数值Zq=2;
0.125≤输入数据≤0.3125时,量化常数值Zq=1.5;
输入数据≥0.3125时,量化常数值Zq=1。
Zq是量化后输入的数据,数据经过量化之后,在不影响计算精度的前提下,大大减小了运算的难度,减少了面积资源的消耗。
基于这一研究发现,计算复杂度和准确率没有特定的关系,本申请提出的方案,不仅降低了复杂度,而且提高了精度。
根据本申请的一个方面,所述排序模块的排序处理过程如下:
根据所述输入数据组数的质因数集合xt×yk×zj,构建α输入排序树和β输入排序树;
其中,α<β,β-α≤常数C,α、β∈{xa,yb,zc},其中1≤a≤t,1≤b≤k,1≤c≤j;α、β、a、b、c均为正整数;
将Nin组输入数据划分Nin/α个向量,每个向量由α个数据组成,保存至存储单元;
依序将Nin/α个向量发送到α输入排序树,
将Nin组输入数据划分Nin/β个向量,每个向量由β个数据组成,保存至存储单元;
依序将Nin/β个向量发送到β输入排序树,
重复上述过程排序过程,最终得到Nin个输入像素的排序。
在某个实施例中,有12组数据,则可以先两两拆分,分成6组数据,每组排序好后,再依序拆分为4组数据,再次排序好。反复上述过程,即可将12组数据全部排序好。
通过这一设计,便于硬件实现,节省硬件资源,同时提高计算效率。通过因数分解,获得输入数目相近的排序树。而使用输入数目接近的排序树,可以重复使用,便于减少面积资源。并且这种方法比起冒泡排序速度更快,比起并行排序,速度基本相同但资源大大减小。
如图3所述,根据本申请的一个方面,所述计算模块包括Kcal个计算单元和寻找最小模块,
每次计算Kcal个神经元,每次输入脉冲输入,Kcal个计算单元并行计算,
计算结束后,观测是否有输出脉冲发生,若有,则停止计算,
反之,继续下一个输入脉冲,直到有输出产生,或者所有输入脉冲都输入完毕;
如一轮中有多个输出脉冲,寻找最小模块比较并获得最小的输入脉冲。
具体地,该系统中计算模块分为计算和寻找最小值两个部分。由于输出有nout个神经元,理论上应该并行计算这nout个神经元,但在硬件实现上消耗太大,因此使用ncal个计算单元,一次只计算ncal个神经元,每次输入脉冲输入,ncal个计算单元并行计算,nout/ncal轮结束后,观测是否有输出脉冲发生,如果有就停止计算,如果没有则继续下一个输入脉冲,直到有输出产生,或者所有的输入脉冲都输入完毕。如果一轮中有多个输出脉冲,那么寻找最小模块就会比较这些脉冲哪个更小,也就是哪个更先发生。
计算模块由控制块和ncal个控制单元CU组成。控制单元CU可以每次计算一个输出神经元,因此每次可以在一个输入脉冲时计算ncal个兴奋性神经元。计算模块访问已排序的缓冲区和两个像素,前文中被量化的像素,发送到控制单元CUs。相应的突触权值、膜阈值和运算的中间结果也被发送到控制单元CUs。由于输出有nout个神经元,理论上应该并行计算这nout个神经元,但在硬件实现上消耗太大,因此使用ncal个计算模块,一次只计算ncal个神经元,如果神经元出现脉冲,控制单元CU就会发出一个停止信号,当这一轮的计算结束后,计算过程就会停止。如果没有则继续下一个输入脉冲,直到有输出产生,或者所有的输入脉冲都输入完毕。如果一轮中有多个输出脉冲,那么寻找最小模块就会比较这些脉冲哪个更小,也就是哪个更先发生。由于输入量化方案,在控制单元CU中不需要两个乘法器,而是只需要移位器和加法器,结构如图4所示。
根据本申请的一个方面,线性化规则更新权重数据的过程包括:
读取预存储的突触的权重上限wmax、下限wmin、各突触的原权重wold,以及权重更新系数η,
计算突触前神经元和后神经元的时间差,并判断该时间差是否大于零,
若大于,则突触的权重增量Δw=η(wmax-wold);
反之,突触的权重增量Δw=-η(wold-wmin)。
采用改进的权重更新规则,大大减小了运算的难度,减小了面积,降低了功耗,还提高了精度。而现有算法中权重更新规则需要用到指数运算,这大大提高了硬件设计的难度。权重更新模块针对时间编码的指数权重更新进行了硬件上的简化,并且新的权重更新规则还有上下界线,可以避免权重更新爆炸。
如图5所示,由于简化的权重更新规则,当选择适当的学习速率时,权重更新单元中只需要加法器、减法器和移位器。首先从权重记忆中提取相应的突触权值,并根据权重更新指数进行增强或减弱;然后将新的突触权值存储回权值记忆中。单个突触权重更新的这个过程消耗4个时钟周期。
根据本申请的一个方面,还包括阈值和分类更新模块,
在学习模式下,计算并存储最小输出值对应神经元的膜阈值增加量ΔV,并将该膜阈值增加量ΔV与预定值比较,若大于预定值,则为该神经元分配一个新的类,并更新该神经元的预定值。采用这种方式,提高该神经元的模电压门限值,从而避免该神经元一直被强化。
基于时间编码的低功耗脉冲神经网络片上学习系统中的阈值和分类更新模块用于更新阈值和分类。在学习模式下,输出最小的神经元的膜阈值增加了Δv。将这次的最小输出值与该神经元之前的最小输出值进行比较,以决定是否为该神经元分配一个新的类,并更新该神经元的最小输出值。在推理模式下,该模块通过指定的类给出网络的输出。
在进一步的实施例中,基于权重数据判断神经元是否会激发的过程具体为
当前各个权重数据的累加和,如果大于点火阈值,则会激发。
在进一步的实施例中,采用所述量化输入数据和权重数据计算输出脉冲时间的过程具体为:
输出脉冲时间tout=ln((权重数据与量化输入数据之积的累加和)/(各权重数据的累加和与点火阈值之差))。
如图6所示,在进一步的实施例中,排序过程还可以采用如下方式:
所述排序模块的排序处理过程如下:
根据所述输入数据组数的质因数集合xt×yk×zj,构建α输入排序树和β输入排序树;
其中,α和β之间的差值小于预定值,α和β为输入数据组数的因数或因数的乘积;
将Nin组输入数据划分为Nin/α个向量,每个向量具有α个数据,保存至存储单元,依序将Nin/α个向量发送到α输入排序树,获得Nin/α个排序好的向量;
当Nin/α为α的倍数时,将Nin/α个排序好的向量拆分成Nin2个向量,并依次发送到α输入排序树;获得Nin2个排序好的向量;
当Nin/α不为α的倍数时,填充若干组输入数据范围之外的向量,使之满足Nin/α为α的倍数,然后将其拆分为Nin2个向量,并依次发送到α输入排序树;获得Nin2个排序好的向量;
判断Nin2是否为β的倍数,将Nin2个排序好的向量发送到β输入排序树;
当Nin2不为β的倍数时,填充若干组输入数据范围之外的向量,使之满足Nin2为β的倍数,并依次发送到β输入排序树。
例如,针对一个24*24的输入数据,由于576=26*32,首先使用一个8输入排序树将Nin个输入像素值划分为Nin/8个向量,每个向量由8个数据组成,并将它们保存回存储单元。然后将72个已经排序好的向量拆分成9组,每组8个向量,每8个向量再次发送到8输入排序树,得到Nin/64=9个由64个数据组成的向量。再将每9个向量发送到9个输入排序树,以此类推最终得到Nin个输入像素的排序。
上述实施例,576、72均是8和9的倍数,当其不符合上述条件时,可以采用填充无效输入数据的方式实现。
根据本申请的一个方面,所述排序模块的排序处理过程还可以采用如下方式:
获取输入数据组数,并将其进行因数分解,获得至少两个差值小于预定值且正整数幂的乘积等于输入数据组数的因数α和β;依序构建α输入排序树和β输入排序树;
将Nin组输入数据划分为每组包含α或β个数据的向量,并送到α输入排序树或β输入排序树,使得每组数据被排序好;
再将排序好的若干组向量,再次划分为α或β组,每组包含α或β个向量,并送到α输入排序树或β输入排序树;
重复上述过程,直至Nin组输入数据被排序好。
因此,在设计输入数据的时候,可以将输入数据组数Nin设计成αλ×βτ=Nin的形式,
在第一次排序时,获得α(λ-1)×βτ个向量;
在第二次及后续的排序时,可以直接将已经排序好的向量输入排序树,例如将α(λ-2)×βτ组,每组α个向量输入排序树,
依次类推,最后将每组β个向量输入β输入排序树。
λ和τ为排序的次数。通过对输入数据组数的设计,可以实现硬件上的节约,减少面积,提高复用次数和计算速度。如果设计成三个质因数,也可以采用上述的方式进行计算。
以上详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换,这些等同变换均属于本发明的保护范围。

Claims (8)

1.一种基于时间编码的低功耗脉冲神经网络片上学习系统,其特征在于,包括:
排序模块,用于接收已进行时间编码的若干组输入数据,并将所述输入数据升序或降序排列;
计算模块,用于接收所述输入数据和预存储的与输入数据匹配的权重数据;基于预定规则将所述输入数据量化为预设常数,获得量化输入数据;基于权重数据判断神经元是否会激发,若激发,则采用所述量化输入数据和权重数据计算输出脉冲时间,并采用线性化规则更新权重数据。
2.如权利要求1所述的基于时间编码的低功耗脉冲神经网络片上学习系统,其特征在于,所述预定规则的获取过程为:
获取待处理的像素值,将其归一化至[0,1]区间,获得归一化像素值,对于任一归一化像素值,求取其与1的差值,计算该差值的偶次幂,并进一步获得自然指数e的该偶次幂数值;
针对所有归一化像素值,计算自然指数e的偶次幂的上下限,并划分为若干区间,每一区间的端点值为2的倍数;
通过上述计算过程的逆运算获取各端点值对应的归一化像素值,并将其作为自变量区间端点,形成若干自变量区间;以端点值或两相邻端点值的算术平均数作为量化目标值,形成与所述自变量区间一一对应的若干量化常数值,以所述自变量区间和量化常数值构建所述预定规则;
在运行时,查找归一化像素值对应的自变量区间,并读取该自变量区间对应的量化常数值,即获得量化输入数据。
3.如权利要求2所述的基于时间编码的低功耗脉冲神经网络片上学习系统,其特征在于, 所述排序模块的排序处理过程如下:
根据所述输入数据组数的质因数集合xt×yk×zj,构建α输入排序树和β输入排序树;
其中,α<β,β-α≤常数C,α、β∈{xa,yb,zc},其中1≤a≤t,1≤b≤k,1≤c≤j;α、β、a、b、c、t、j、k均为正整数;
将Nin组输入数据划分Nin/α个向量,每个向量由α个数据组成,保存至存储单元;
依序将Nin/α个向量发送到α输入排序树,
将Nin组输入数据划分Nin/β个向量,每个向量由β个数据组成,保存至存储单元;依序将Nin/β个向量发送到β输入排序树,
重复上述过程排序过程,最终得到Nin个输入像素的排序。
4.如权利要求3所述的基于时间编码的低功耗脉冲神经网络片上学习系统,其特征在于,所述计算模块包括Kcal个计算单元和寻找最小模块,
每次计算Kcal个神经元,每次输入脉冲输入,Kcal个计算单元并行计算,
计算结束后,观测是否有输出脉冲发生,若有,则停止计算,
反之,继续下一个输入脉冲,直到有输出产生,或者所有输入脉冲都输入完毕;
如一轮中有多个输出脉冲,寻找最小模块比较并获得最小的输入脉冲。
5.如权利要求1所述的基于时间编码的低功耗脉冲神经网络片上学习系统,其特征在于,线性化规则更新权重数据的过程包括:
读取预存储的突触的权重上限wmax、下限wmin、各突触的原权重wold,以及权重更新系数η,
计算突触前神经元和后神经元的时间差,并判断该时间差是否大于零,
若大于,则突触的权重增量∆w=η(wmax-wold);
反之,突触的权重增量∆w=-η(wold-wmin)。
6.如权利要求1至5任一项所述的基于时间编码的低功耗脉冲神经网络片上学习系统,其特征在于,还包括阈值和分类更新模块,
在学习模式下,计算并存储最小输出值对应神经元的膜阈值增加量∆V,并将该膜阈值增加量∆V与预定值比较,若大于预定值,则为该神经元分配一个新的类,并更新该神经元的预定值。
7.如权利要求2所述的基于时间编码的低功耗脉冲神经网络片上学习系统,其特征在于,所述排序模块的排序处理过程如下:
根据所述输入数据组数的质因数集合xt×yk×zj,构建α输入排序树和β输入排序树;
其中,α和β之间的差值小于预定值,α和β为输入数据组数的因数或因数的乘积;
将Nin组输入数据划分为Nin/α个向量,每个向量具有α个数据,保存至存储单元,
依序将Nin/α个向量发送到α输入排序树,获得Nin/α个排序好的向量;
当Nin/α为α的倍数时,将Nin/α个排序好的向量拆分成Nin2个向量,并依次发送到α输入排序树;获得Nin2个排序好的向量;
当Nin/α不为α的倍数时,填充若干组输入数据范围之外的向量,使之满足Nin/α为α的倍数,然后将其拆分为Nin2个向量,并依次发送到α输入排序树;获得Nin2个排序好的向量;
判断Nin2是否为β的倍数,将Nin2个排序好的向量发送到β输入排序树;
当Nin2不为β的倍数时,填充若干组输入数据范围之外的向量,使之满足Nin2为β的倍数,并依次发送到β输入排序树。
8.如权利要求2所述的基于时间编码的低功耗脉冲神经网络片上学习系统,其特征在于,所述排序模块的排序处理过程如下:
获取输入数据组数,并将其进行因数分解,获得至少两个差值小于预定值且正整数幂的乘积等于输入数据组数的因数α和β;依序构建α输入排序树和β输入排序树;
将Nin组输入数据划分为每组包含α或β个数据的向量,并送到α输入排序树或β输入排序树,使得每组数据被排序好;
再将排序好的若干组向量,再次划分为α或β组,每组包含α或β个向量,并送到α输入排序树或β输入排序树;
重复上述过程,直至Nin组输入数据被排序好。
CN202210317373.6A 2022-03-29 2022-03-29 基于时间编码的低功耗脉冲神经网络片上学习系统 Pending CN114676831A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210317373.6A CN114676831A (zh) 2022-03-29 2022-03-29 基于时间编码的低功耗脉冲神经网络片上学习系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210317373.6A CN114676831A (zh) 2022-03-29 2022-03-29 基于时间编码的低功耗脉冲神经网络片上学习系统

Publications (1)

Publication Number Publication Date
CN114676831A true CN114676831A (zh) 2022-06-28

Family

ID=82076315

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210317373.6A Pending CN114676831A (zh) 2022-03-29 2022-03-29 基于时间编码的低功耗脉冲神经网络片上学习系统

Country Status (1)

Country Link
CN (1) CN114676831A (zh)

Similar Documents

Publication Publication Date Title
Zhang et al. Spike-train level backpropagation for training deep recurrent spiking neural networks
Belagiannis et al. Adversarial network compression
Shrestha et al. Stable spike-timing dependent plasticity rule for multilayer unsupervised and supervised learning
Sussner Morphological perceptron learning
WO2020095321A2 (en) Dynamic structure neural machine for solving prediction problems with uses in machine learning
CN111898689A (zh) 一种基于神经网络架构搜索的图像分类方法
CN112116001A (zh) 图像识别方法、装置及计算机可读存储介质
Zeebaree et al. Csaernet: An efficient deep learning architecture for image classification
KR20210039921A (ko) 신경망 모델을 최적화하도록 구성된 심층 신경망 시스템의 동작 방법
CN114186672A (zh) 一种用于脉冲神经网络的高效高精度训练算法
Sun et al. An energy efficient STDP-based SNN architecture with on-chip learning
Mitschke et al. Gradient based evolution to optimize the structure of convolutional neural networks
Cardinaux et al. Iteratively training look-up tables for network quantization
CN113239949A (zh) 一种基于1d分组卷积神经网络的数据重构方法
CN114266351A (zh) 基于无监督学习时间编码的脉冲神经网络训练方法及系统
CN112288078B (zh) 一种基于脉冲神经网络的自学习、小样本学习和迁移学习的方法与系统
Xu et al. LRP-based policy pruning and distillation of reinforcement learning agents for embedded systems
CN114766024A (zh) 用于修剪神经网络的方法和设备
Chen et al. Low latency spiking convnets with restricted output training and false spike inhibition
CN114676831A (zh) 基于时间编码的低功耗脉冲神经网络片上学习系统
Wen et al. Novel pruning of dendritic neuron models for improved system implementation and performance
CN115063597A (zh) 一种基于类脑学习的图像识别方法
WO2023181318A1 (ja) 情報処理装置及び情報処理方法
Wang et al. A Multi-objective Evolutionary Approach for Efficient Kernel Size and Shape for CNN
Littow Customization of structured neural network weight pruning method

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