CN111882042B - 用于液体状态机的神经网络架构自动搜索方法、系统及介质 - Google Patents
用于液体状态机的神经网络架构自动搜索方法、系统及介质 Download PDFInfo
- Publication number
- CN111882042B CN111882042B CN202010767017.5A CN202010767017A CN111882042B CN 111882042 B CN111882042 B CN 111882042B CN 202010767017 A CN202010767017 A CN 202010767017A CN 111882042 B CN111882042 B CN 111882042B
- Authority
- CN
- China
- Prior art keywords
- lsm
- architecture
- framework
- liquid
- parent
- 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
- 239000007788 liquid Substances 0.000 title claims abstract description 138
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000010801 machine learning Methods 0.000 claims abstract description 17
- 238000012549 training Methods 0.000 claims abstract description 13
- 238000012360 testing method Methods 0.000 claims abstract description 10
- 238000004088 simulation Methods 0.000 claims abstract description 8
- 210000002569 neuron Anatomy 0.000 claims description 84
- 238000002922 simulated annealing Methods 0.000 claims description 44
- 230000009191 jumping Effects 0.000 claims description 29
- 239000012530 fluid Substances 0.000 claims description 27
- 230000002964 excitative effect Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 13
- 230000002401 inhibitory effect Effects 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 7
- 230000002452 interceptive effect Effects 0.000 claims description 4
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 10
- 230000001537 neural effect Effects 0.000 description 7
- 238000005457 optimization Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 206010001497 Agitation Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 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
- 230000003287 optical effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000012421 spiking Methods 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
-
- 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
Abstract
本发明公开了一种用于液体状态机的神经网络架构自动搜索方法、系统及介质,本发明包括将输入的代理数据集转换为脉冲模式,随机生成初始的父LSM架构;通过SNN模拟器根据脉冲模式的代理数据集、父LSM架构进行SNN模拟,提取液体对数据集识别后的状态并将其送入机器学习分类器进行训练和测试,通过机器学习分类器获取液体的分类精度;判断NAS探索次数是否已经达到预设阈值,如果尚未达到预设阈值,则针对当前的父LSM架构进行NAS探索获取子LSM架构作为新的父LSM架构重新迭代;否则结束并退出。本发明能够自动探索面向数据集的LSM的架构和参数设计空间,能够生成高精度、低复杂度的面向数据集的最优LSM模型。
Description
技术领域
本发明涉及液体状态机(LSM)技术,具体涉及一种用于液体状态机的神经网络架构自动搜索方法、系统及介质。
背景技术
脉冲神经网络(SNN)是公认的第三代人工神经网络,旨在通过模仿大脑的计算和学习方法来实现人工智能。与一般的深度神经网络相比,SNN具有更高的计算能力,并且在生物学上似乎更为合理,因为它们可以模拟生物神经元之间的时间信息传递。
液体状态机(LSM)作为SNN的一种变体,由于其固有的时空信息处理能力,简单的结构以及较低的训练复杂度而获得了广泛的关注。LSM主要由具有编码神经元的输入层,称为液体的循环脉冲神经网络和一组从液体中提取液体状态的读出神经元组成,典型的基于LSM的学习模型主要由三个部分组成:编码层,液体层和读出层。与传统的机器学习神经网络不同,仅从液体到读出神经元的连接权重需要训练。尽管LSM具有简单的结构,但它已在各种应用中显示出了很高的计算能力,例如语音识别,图像分类和单词识别等领域。
传统的LSM模型通常基于固定的架构或预定义的参数,而这些参数可能会忽略针对LSM架构和参数的潜在优化。现有的LSM模型架构将单个大液体划分为一层内的多个独立的小液体,这些液体可以并行处理输入信息。但是其对一个大液体使用均等的划分,并且每个小液体中诸如不同神经元数量之类的参数并未得到充分探索。此外,主流的LSM倾向于优化单个大液体的参数以获得更高的分类精度,而没有考虑LSM架构的优化。因此,针对LSM更好的架构和参数仍然需要探索。
自动神经架构搜索(Neural Architecture Search, NAS)在卷积神经网络(CNN)、循环神经网络(RNN)甚至图卷积网络(GCN)领域取得了相对手工专家设计的神经网络的不错的性能。自动神经架构搜索(NAS)主要是指以低廉的计算预算来自动化发现性能较好的神经网络架构的过程。最近的工作证明了通过探索LSM架构和参数来提高LSM模型准确性的巨大潜力。但是,这些工作往往基于手动定义的网络架构或预定义的参数,这可能会忽略针对LSM的架构和参数的潜在优化。因此,如何将自动神经架构搜索来探索液体状态机(LSM)的网络架构和潜在的参数以提高LSM的性能,仍然是一项亟待解决的关键技术问题。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种用于液体状态机的神经网络架构自动搜索方法、系统及介质,本发明能够自动探索面向数据集的LSM的架构和参数设计空间,能够生成高精度、低复杂度的面向数据集的最优LSM模型。
为了解决上述技术问题,本发明采用的技术方案为:
一种用于液体状态机的神经网络架构自动搜索方法,该方法包括:
1)输入用于评估LSM模型的精度的代理数据集,并将输入的代理数据集转换为脉冲模式,随机生成初始的父LSM架构;
2)通过SNN模拟器根据脉冲模式的代理数据集、父LSM架构进行SNN模拟,从SNN模拟器的输出中提取液体对数据集识别后的状态并将其送入机器学习分类器进行训练和测试,通过机器学习分类器获取液体的分类精度;
3)判断NAS探索次数是否已经达到预设阈值,如果尚未达到预设阈值,则针对当前的父LSM架构进行NAS探索获取子LSM架构作为新的父LSM架构,跳转执行步骤2);否则结束并退出。
可选地,步骤1)中初始的父LSM架构为M层N个液体的液体状态机结构,且每一个液体中包含多个存在有向连接的神经元,所述神经元包括兴奋神经元和至少一个抑制神经元,且该初始的父LSM架构中神经元总数为Ntotal,每种液体的神经元初始化数量为Ntotal/N,且每个液体的连接概率和兴奋性神经元比率初始化与单个LSM相同。
可选地,步骤2)中的机器学习分类器为感知器,该感知器的输入为液体对数据集识别后的状态,输出为神经元数量等于需要区分的类的数量。
可选地,步骤3)中进行NAS探索的详细步骤包括:
3.1)针对当前的父LSM架构寻找最佳的LSM架构;
3.2)针对得到的最佳的LSM架构优化每个液体神经元数量;
3.3)针对优化每个液体神经元数量后的最佳的LSM架构,对每个液体内的液体的最优内部参数进行探索优化,从而得到子LSM架构。
可选地,步骤3.1)的详细步骤包括:
3.1.1)初始化模拟退火算法的温度T;
3.1.2)在保持父LSM架构中每个液体的神经元数量以及内部参数始终保持不变的前提下,随机干扰当前的父LSM架构生成子LSM架构;
3.1.3)检测父LSM架构、子LSM架构之间的性能指标,若子LSM架构的性能指标优于父LSM架构则将子LSM架构作为新的父LSM架构,否则保持父LSM架构不变;
3.1.4)判断迭代次数是否等于预设阈值,如等于预设阈值,则跳转下一步;否则跳转执行步骤3.1.2)继续进行迭代;
3.1.5)更新模拟退火算法的温度T的值为更小的值,若更新后模拟退火算法的温度T小于预设阈值,则判定模拟退火算法退火完毕,将当前的父LSM架构确定为最佳的LSM架构,跳转执行步骤3.2);否则跳转执行步骤3.1.2)继续进行迭代。
可选地,步骤3.2)的详细步骤包括:
3.2.1)将得到的最佳的LSM架构作为初始的LSM架构,初始化模拟退火算法的温度T;
3.2.2)在保持最佳的LSM架构的分层结构不变的前提下,随机干扰当前的LSM架构中各层的每个液体的最佳神经元数量生成子LSM架构;
3.2.3)检测父LSM架构、子LSM架构之间的性能指标,若子LSM架构的性能指标优于父LSM架构则将子LSM架构作为新的父LSM架构,否则保持父LSM架构不变;
3.2.4)判断迭代次数是否等于预设阈值,如等于预设阈值,则跳转下一步;否则跳转执行步骤3.2.2)继续进行迭代;
3.2.5)更新模拟退火算法的温度T的值为更小的值,若更新后模拟退火算法的温度T小于预设阈值,则判定模拟退火算法退火完毕,将当前的父LSM架构确定为最佳的LSM架构,跳转执行步骤3.3);否则跳转执行步骤3.2.2)继续进行迭代。
可选地,步骤3.3)的详细步骤包括:
3.3.1)将得到的最佳的LSM架构、每个液体的最佳神经元数量作为初始的LSM架构,初始化模拟退火算法的温度T;
3.3.2)在保持最佳的LSM架构的分层结构不变、每个液体的最佳神经元数量不变的前提下,随机干扰当前的LSM架构中的内部参数生成子LSM架构;
3.3.3)检测父LSM架构、子LSM架构之间的性能指标,若子LSM架构的性能指标优于父LSM架构则将子LSM架构作为新的父LSM架构,否则保持父LSM架构不变;
3.3.4)判断迭代次数是否等于预设阈值,如等于预设阈值,则跳转下一步;否则跳转执行步骤3.3.2)继续进行迭代;
3.3.5)更新模拟退火算法的温度T的值为更小的值,若更新后模拟退火算法的温度T小于预设阈值,则判定模拟退火算法退火完毕,将当前的父LSM架构确定为最终得到的子LSM架构,返回继续向下执行;否则跳转执行步骤3.3.2)继续进行迭代。
此外,本发明还提供一种用于液体状态机的神经网络架构自动搜索系统,包括计算机设备,该计算机设备被编程或配置以执行所述用于液体状态机的神经网络架构自动搜索方法的步骤。
此外,本发明还提供一种用于液体状态机的神经网络架构自动搜索系统,包括计算机设备,该计算机设备的存储器中被编程或配置以执行所述用于液体状态机的神经网络架构自动搜索方法的计算机程序。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中被编程或配置以执行所述用于液体状态机的神经网络架构自动搜索方法的计算机程序。
和现有技术相比,本发明具有下述优点:本发明包括将输入的代理数据集转换为脉冲模式,随机生成初始的父LSM架构;通过SNN模拟器根据脉冲模式的代理数据集、父LSM架构进行SNN模拟,提取液体对数据集识别后的状态并将其送入机器学习分类器进行训练和测试,通过机器学习分类器获取液体的分类精度;判断NAS探索次数是否已经达到预设阈值,如果尚未达到预设阈值,则针对当前的父LSM架构进行NAS探索获取子LSM架构作为新的父LSM架构重新迭代;否则结束并退出。本发明能够自动探索面向数据集的LSM的架构和参数设计空间,能够生成高精度、低复杂度的面向数据集的最优LSM模型。
附图说明
图1为本发明实施例中的LSM架构示意图。
图2为本发明实施例的基本原理示意图。
图3为本发明实施例中初始的LSM架构实例示意图。
图4为本发明实施例进行NAS探索的基本例程示意图。
具体实施方式
如图1所示,本发明实施例中的LSM架构为典型的基于LSM的学习模型(LSM模型)的结构,主要由三个部分组成:编码层,液体层和读出层。首先通过编码层按照诸如速率编码,时间编码和相位编码的特定编码方案将输入数据转换为脉冲序列。然后,仅包含兴奋性神经元的编码神经元被随机且稀疏地连接到液体中的神经元。随机链接的脉冲神经元液体用于投影低维输入信息到高维线性可分液体状态。液体中的兴奋性神经元和抑制性神经元都使用泄漏的集成点火模型。液体包含从兴奋性神经元到兴奋性神经元(E→E),从兴奋性到抑制性神经元(E→I),从兴奋性到抑制性神经元(I→E)以及从抑制性到抑制性的连接(I→I)。表示液体中神经元之间连接概率(PE→E,PE→I,PI→E,PI→I)分别为0.4,0.4,0.5,0。输入与液体的连接概率(PIn→E,PIn→I)分别设置为0.1、0。兴奋性神经元与抑制性神经元的比例为0.8。液体中的兴奋性比率和连接概率对LSM的分类能力具有重要影响,本实施例主要针对液体优化五个参数。传输脉冲的突触可以通过指数衰减的电流源模型建模。通过使用输入脉冲序列模拟液体,我们可以获得与所提供的输入示例相对应的液体状态。在这项工作中,我们在呈现输入的脉冲序列后,使用液态中每个兴奋性神经元的标准化脉冲数作为液体状态。读出层负责记录液体中采样神经元的脉冲数量,并将脉冲数量处理为特征向量。
如图2所示,本实施例用于液体状态机的神经网络架构自动搜索方法包括:
1)输入用于评估LSM模型的精度的代理数据集,并将输入的代理数据集转换为脉冲模式,随机生成初始的父LSM架构;
2)通过SNN模拟器根据脉冲模式的代理数据集、父LSM架构进行SNN模拟,从SNN模拟器的输出中提取液体对数据集识别后的状态并将其送入机器学习分类器进行训练和测试,通过机器学习分类器获取液体的分类精度;
3)判断NAS探索次数是否已经达到预设阈值,如果尚未达到预设阈值,则针对当前的父LSM架构进行NAS探索获取子LSM架构作为新的父LSM架构,跳转执行步骤2);否则结束并退出。
本实施例中,步骤1)中初始的父LSM架构为M层N个液体的液体状态机结构(图3所示为三层四个液体的液体状态机结构的实例),且每一个液体中包含多个存在有向连接的神经元,神经元包括兴奋神经元和至少一个抑制神经元,且该初始的父LSM架构中神经元总数为Ntotal,每种液体的神经元初始化数量为Ntotal/N,且每个液体的连接概率和兴奋性神经元比率初始化与单个LSM相同。
本实施例中,步骤1)中用于评估LSM模型的精度的代理数据集选择了两个不同属性的数据集,包括NMNIST数据集 和FSDD数据集,以用于评估LSM模型的精度。NMNIST数据集是MNIST数据集的动态视觉传感器版本,包含60,000个训练和10,000个测试的灰度手写数字图像,它们属于事件表示的十个“ 0-9”类别。FSDD(Free Spoken Digit Dataset)数据集是一种免费的开放语音数据集,包括以8kHz记录wav文件中语音数字“ 0-9”的记录,它主要包含来自4个扬声器的音频录音(每个发音者对每个数字发音50次)的英语发音。在NAS搜索过程中,本实施例中使用NMNIST数据集的前10, 000个示例作为训练的代理数据集。对于FSDD数据集,将使用1,600个示例的完整训练数据集进行训练,精度在两个数据集上的均采用完整测试数据集。本实施例中将2,000条记录分为1,600个训练数据集和400个测试数据集。将代理数据集转换为脉冲版本时:FSDD数据集被转换为泊松脉冲序列,其脉冲速率与输入通道的强度成正比。对于FSDD数据集,首先使用Lyons等人的Python模块提取梅尔标度频率倒谱系数(MFCC,Mel-scale Frequency Cepstral Coefficients)。然后,通过具有泊松分布的速率编码方案对提取的MFCC特征进行编码。 NMNIST数据集中的每个样本都是时空脉冲模式,不需要其他转换。随后将初始化随机生成的父LSM架构(parent.arch)以及连接概率馈送到SNN模拟器中。
本实施例中,步骤2)中通过SNN模拟器根据脉冲模式的代理数据集、父LSM架构进行SNN模拟时,SNN模拟器具体采用开源的SNN模拟器Brian(简称Brian模拟器)。经过Brian模拟器模拟后,从Brian模拟器的输出中提取液态并将其送入机器学习分类器进行训练和测试。本实施例中,步骤2)中的机器学习分类器为简单的感知器,该感知器的输入为液体对数据集识别后的状态,输出为神经元数量等于需要区分的类的数量。此外,该机器学习分类器采用随机梯度下降用于感知器的训练。在机器学习分类器测试准确性之后,包括现有的父架构(parent.arch),连接概率等,将提供给NAS探索模块。
参见图2,本实施例中NAS探索模块进行NAS探索并返回子模型架构(child.arch)以及连接概率等给Brian模拟器;此过程重复很多次,直到NAS探索模块完成用户定义的搜索次数结束为止。
如图3所示,步骤3)中进行NAS探索的详细步骤包括:
3.1)针对当前的父LSM架构寻找最佳的LSM架构;
3.2)针对得到的最佳的LSM架构优化每个液体神经元数量;
3.3)针对优化每个液体神经元数量后的最佳的LSM架构,对每个液体内的液体的最优内部参数进行探索优化,从而得到最终的子LSM架构。
本实施例中,步骤1)随机生成初始的父LSM架构中,LSM模型神经元总数为Ntotal ,则每种液体的N数量为Ntotal / N。每个液体的连接概率和兴奋性神经元比率与单个LSM相同。在NAS中,架构搜索空间包含构建神经网络的可能结构。现有的LSM架构主要将一个大液体分为多个小液体,并将其组成每层单个小液体多层级联或者一层多个小液体并行两种形式。在本实施例中,我们通过将上述并行和串行架构结合来定义LSM的架构搜索空间,以潜在地探索更多的LSM架构。本实施例中我们的架构搜索空间由并行和级联的多个小液体组成,每层中可包含多个小液体。一层中的多种液体分别并行工作,并且彼此不连通。前层(包括输入层)中的液体有机会连接到后层中的所有液体,但反过来则没有。从i层到j层(PEi→Ej,PEi→Ij,PIi→Ej,PIi→Ij)的连接概率分别为0.1、0、0.1、0。
以如图3所示4个液体的LSM模型为例。4个液体的LSM模型的LSM架构可以具有至少一层(4个并行液体)和最多4层(4个液体串联)。当随机确定层数(不超过4个)后,在确保所有层中的液体总数为4的情况下,将液体随机添加到每层中,本实施例中探索了从1到10个液体的最佳LSM模型。
本实施例中, 步骤3.1)的详细步骤包括:
3.1.1)初始化模拟退火(Simulated Annealing, SA)算法的温度T;
3.1.2)在保持父LSM架构中每个液体的神经元数量以及内部参数始终保持不变的前提下,随机干扰当前的父LSM架构生成子LSM架构;
3.1.3)检测父LSM架构、子LSM架构之间的性能指标,若子LSM架构的性能指标优于父LSM架构则将子LSM架构作为新的父LSM架构,否则保持父LSM架构不变;
3.1.4)判断迭代次数是否等于预设阈值,如等于预设阈值,则跳转下一步;否则跳转执行步骤3.1.2)继续进行迭代;
3.1.5)更新模拟退火算法的温度T的值为更小的值,若更新后模拟退火算法的温度T小于预设阈值,则判定模拟退火算法退火完毕,将当前的父LSM架构确定为最佳的LSM架构,跳转执行步骤3.2);否则跳转执行步骤3.1.2)继续进行迭代。
本实施例步骤3.1)中使用模拟退火(Simulated Annealing, SA)算法不断随机干扰父架构生成子架构来找到最优LSM架构,即不断循环使用图2中的NAS框架来寻找最优LSM架构。其中,步骤3.1.2)随机干扰当前的父LSM架构生成子LSM架构具体是指:随机选中当前的父LSM架构的某一层中的某个液体(例如第3层中的液体4),然后将选择的该液体随机添加到当前的父LSM架构的另一层(例如第2层)中。
本实施例中,步骤3.2)的详细步骤包括:
3.2.1)将得到的最佳的LSM架构作为初始的LSM架构,初始化模拟退火算法的温度T;
3.2.2)在保持最佳的LSM架构的分层结构不变的前提下,随机干扰当前的LSM架构中各层的每个液体的最佳神经元数量生成子LSM架构;
3.2.3)检测父LSM架构、子LSM架构之间的性能指标,若子LSM架构的性能指标优于父LSM架构则将子LSM架构作为新的父LSM架构,否则保持父LSM架构不变;
3.2.4)判断迭代次数是否等于预设阈值,如等于预设阈值,则跳转下一步;否则跳转执行步骤3.2.2)继续进行迭代;
3.2.5)更新模拟退火算法的温度T的值为更小的值,若更新后模拟退火算法的温度T小于预设阈值,则判定模拟退火算法退火完毕,将当前的父LSM架构确定为最佳的LSM架构,跳转执行步骤3.3);否则跳转执行步骤3.2.2)继续进行迭代。
本实施例中步骤3.2)用于当前的父LSM架构中每个液体神经元数量探索。该步骤中,我们固定第一步中的最佳多液体LSM架构作为初始化架构。之后仍然使用模拟退火算法,但主要优化当前的父LSM架构中每个液体的最佳神经元数量。步骤3.2.2)在保持最佳的LSM架构的分层结构不变的前提下,随机干扰当前的LSM架构中各层的每个液体的最佳神经元数量生成子LSM架构时,随机干扰的方式如下:随机选择某个液体(如液体2)和干扰范围M(0 <M <Ntotal/ N),将该液体中的神经元数量随机删除m(0 <m≤M)个;最后随机选择另一个液体(如液体1)以添加相同数量的神经元数量,从而保持神经元的总数保持不变。步骤3.2)循环多次之后找到优化每个液体神经元数量后的多液体LSM模型。
本实施例中,步骤3.3)的详细步骤包括:
3.3.1)将得到的最佳的LSM架构、每个液体的最佳神经元数量作为初始的LSM架构,初始化模拟退火算法的温度T;
3.3.2)在保持最佳的LSM架构的分层结构不变、每个液体的最佳神经元数量不变的前提下,随机干扰当前的LSM架构中的内部参数生成子LSM架构;
3.3.3)检测父LSM架构、子LSM架构之间的性能指标,若子LSM架构的性能指标优于父LSM架构则将子LSM架构作为新的父LSM架构,否则保持父LSM架构不变;
3.3.4)判断迭代次数是否等于预设阈值,如等于预设阈值,则跳转下一步;否则跳转执行步骤3.3.2)继续进行迭代;
3.3.5)更新模拟退火算法的温度T的值为更小的值,若更新后模拟退火算法的温度T小于预设阈值,则判定模拟退火算法退火完毕,将当前的父LSM架构确定为最终得到的子LSM架构,返回继续向下执行;否则跳转执行步骤3.3.2)继续进行迭代。
本实施例中步骤3.3)用于LSM参数探索,本实施例中步骤3.3)仍然使用了模拟退火算法来优化LSM架构中的内部参数。与步骤3.2)类似,该步骤需要在保持最佳的LSM架构的分层结构不变、每个液体的最佳神经元数量不变的前提下,随机干扰当前的LSM架构中的内部参数生成子LSM架构。随机干扰的方式如下:在现有内部参数的基础上,随机选择一个内部参数加上预设的变化量δ得到新的内部参数。例如本实施例中的内部参数包括兴奋性神经元比率和四个连接概率(PE →E,PE→I,PI→E,PI→I)一共五个内部参数,可随机选择五个内部参数之一加上变化量δ,变化量δ可根据需要进行取值,例如δ为0.1或-0.1。图3中,加粗黑色圆圈表示兴奋性神经元比率增加,虚线表示连接概率PE→E减小。每个液体的五个参数范围为0到0.9。当参数变为负数时,其值为0。当其变为1时,我们将其设置为0.9。
本实施例步骤3)采用了三步搜索策略,其中包括动态的液体结构搜索,神经元数量变化和参数搜索每种液体。同时,模拟退火(Simulated Annealing , SA)算法被用来发现每一步中的最优LSM模型。在动态多液体架构搜索的步骤3.1)中,我们将固定的并行多液体LSM架构替换为动态的LSM架构,并在多层中探索具有并行和串行分层拓扑的不同的多液体组合机制。在步骤3.2)中,神经元数量变化探索每种液体具有不同数量的神经元的能力。对于步骤3.3),将在每个液体中各种连通概率和兴奋性神经元与抑制性神经元比率的参数搜索应用于步骤2中的最佳LSM模型,以进行进一步优化。而且,为了降低复杂度,冗余神经元按比例减少以最小化最佳多液体模型的神经元数量。
为了对本实施例用于液体状态机的神经网络架构自动搜索方法进行验证,本实施例中将Brian模拟器产生的峰值历史记录处理为液态向量。液态向量用于训练分类器。正态分布用于权重初始化,并在搜索过程中固定。LSM中的总神经元数模型固定为1000。将最佳的多液体模型在NMNIST数据集和FSDD数据集上为三个并联的小水库, 进过神经元数量和参数优化后,在只有1000个脉冲神经元的最佳分类精度是92.5%和84%。与单一液体相比精度可提升2.0%和3.1%,与五个相同并联液体相比,精度可提升1.8%和2.7%。此外,最佳多液体LSM模型的总神经元数量可以进一步减少20%,(对应每个液体的数量相应的减少),而精度损失为0.5%。由此可知,本实施例用于液体状态机的神经网络架构自动搜索方法是有效可行的,能够自动探索面向数据集的LSM的架构和参数设计空间,能够生成高精度、低复杂度的面向数据集的最优LSM模型。
综上所述,液体状态机(Liquid State Machine , LSM),也被称为脉冲神经网络(Spiking Neural Network, SNN)的循环版本,由于其强大的计算能力,生物学上的合理性,简单的结构和较低的训练复杂性而吸引了许多研究者的兴趣。通过探索网络架构和参数中的设计空间,最近的工作证明了以低复杂度提高LSM模型的准确性的巨大潜力。但是,这些工作往往基于手动定义的网络架构或预定义的参数,这可能会忽略针对LSM的架构和参数的潜在优化。本实施例提出了一个基于神经架构搜索(Neural Architecture Search,NAS)的方法,以自动化探索面向数据集的LSM的架构和参数设计空间。为了处理呈指数增长的设计空间,本实施例方法对LSM采用三步搜索,包括多层动态的多液体LSM架构搜索,多液体LSM中每个液体神经元数量的变化以及诸如连通概率,以及每个液体中的兴奋性神经元比率的参数搜索。此外,本实施例方法使用模拟退火算法来实现三步的启发式搜索。本实施例方法还分析了神经元总数与准确性之间的权衡来降低硬件实现的复杂性。本实施例方法使用两个数据集,包括NMNIST的图像数据集和FSDD的语音数据集,来测试我们提出的框架的有效性。仿真结果表明,我们提出的框架可以生成高精度,低复杂度的面向数据集的最优LSM模型。
此外,本实施例还提供一种用于液体状态机的神经网络架构自动搜索系统,包括计算机设备,该计算机设备被编程或配置以执行前述用于液体状态机的神经网络架构自动搜索方法的步骤。
此外,本实施例还提供一种用于液体状态机的神经网络架构自动搜索系统,包括计算机设备,该计算机设备的存储器中被编程或配置以执行前述用于液体状态机的神经网络架构自动搜索方法的计算机程序。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中被编程或配置以执行前述用于液体状态机的神经网络架构自动搜索方法的计算机程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种用于液体状态机的神经网络架构自动搜索方法,其特征在于,该方法包括:
1)输入用于评估LSM模型的精度的代理数据集,并将输入的代理数据集转换为脉冲模式,随机生成初始的父LSM架构;所述代理数据集为时空脉冲模式的灰度手写数字图像或开放语音数据集,其中开放语音数据集通过转换为泊松脉冲序列而转换为脉冲模式;
2)通过SNN模拟器根据脉冲模式的代理数据集、父LSM架构进行SNN模拟,从SNN模拟器的输出中提取液体对数据集识别后的状态并将其送入机器学习分类器进行训练和测试,通过机器学习分类器获取液体的分类精度;
3)判断NAS探索次数是否已经达到预设阈值,如果尚未达到预设阈值,则针对当前的父LSM架构进行NAS探索获取子LSM架构作为新的父LSM架构,跳转执行步骤2);否则结束并退出;
步骤3)中进行NAS探索的详细步骤包括:
3.1)针对当前的父LSM架构寻找最佳的LSM架构;
3.2)针对得到的最佳的LSM架构优化每个液体神经元数量;
3.3)针对优化每个液体神经元数量后的最佳的LSM架构,对每个液体内的液体的最优内部参数进行探索优化,从而得到子LSM架构;
步骤3.1)的详细步骤包括:
3.1.1)初始化模拟退火算法的温度T;
3.1.2)在保持父LSM架构中每个液体的神经元数量以及内部参数始终保持不变的前提下,随机干扰当前的父LSM架构生成子LSM架构;
3.1.3)检测父LSM架构、子LSM架构之间的性能指标,若子LSM架构的性能指标优于父LSM架构则将子LSM架构作为新的父LSM架构,否则保持父LSM架构不变;
3.1.4)判断迭代次数是否等于预设阈值,如等于预设阈值,则跳转下一步;否则跳转执行步骤3.1.2)继续进行迭代;
3.1.5)更新模拟退火算法的温度T的值为更小的值,若更新后模拟退火算法的温度T小于预设阈值,则判定模拟退火算法退火完毕,将当前的父LSM架构确定为最佳的LSM架构,跳转执行步骤3.2);否则跳转执行步骤3.1.2)继续进行迭代;
步骤3.2)的详细步骤包括:
3.2.1)将得到的最佳的LSM架构作为初始的LSM架构,初始化模拟退火算法的温度T;
3.2.2)在保持最佳的LSM架构的分层结构不变的前提下,随机干扰当前的LSM架构中各层的每个液体的最佳神经元数量生成子LSM架构;
3.2.3)检测父LSM架构、子LSM架构之间的性能指标,若子LSM架构的性能指标优于父LSM架构则将子LSM架构作为新的父LSM架构,否则保持父LSM架构不变;
3.2.4)判断迭代次数是否等于预设阈值,如等于预设阈值,则跳转下一步;否则跳转执行步骤3.2.2)继续进行迭代;
3.2.5)更新模拟退火算法的温度T的值为更小的值,若更新后模拟退火算法的温度T小于预设阈值,则判定模拟退火算法退火完毕,将当前的父LSM架构确定为最佳的LSM架构,跳转执行步骤3.3);否则跳转执行步骤3.2.2)继续进行迭代;
步骤3.3)的详细步骤包括:
3.3.1)将得到的最佳的LSM架构、每个液体的最佳神经元数量作为初始的LSM架构,初始化模拟退火算法的温度T;
3.3.2)在保持最佳的LSM架构的分层结构不变、每个液体的最佳神经元数量不变的前提下,随机干扰当前的LSM架构中的内部参数生成子LSM架构;
3.3.3)检测父LSM架构、子LSM架构之间的性能指标,若子LSM架构的性能指标优于父LSM架构则将子LSM架构作为新的父LSM架构,否则保持父LSM架构不变;
3.3.4)判断迭代次数是否等于预设阈值,如等于预设阈值,则跳转下一步;否则跳转执行步骤3.3.2)继续进行迭代;
3.3.5)更新模拟退火算法的温度T的值为更小的值,若更新后模拟退火算法的温度T小于预设阈值,则判定模拟退火算法退火完毕,将当前的父LSM架构确定为最终得到的子LSM架构,返回继续向下执行;否则跳转执行步骤3.3.2)继续进行迭代。
2.根据权利要求1所述的用于液体状态机的神经网络架构自动搜索方法,其特征在于,步骤1)中初始的父LSM架构为M层N个液体的液体状态机结构,且每一个液体中包含多个存在有向连接的神经元,所述神经元包括兴奋神经元和至少一个抑制神经元,且该初始的父LSM架构中神经元总数为Ntotal,每种液体的神经元初始化数量为Ntotal/N,且每个液体的连接概率和兴奋性神经元比率初始化与单个LSM相同。
3.根据权利要求1所述的用于液体状态机的神经网络架构自动搜索方法,其特征在于,步骤2)中的机器学习分类器为感知器,该感知器的输入为液体对数据集识别后的状态,输出为神经元数量等于需要区分的类的数量。
4.一种用于液体状态机的神经网络架构自动搜索系统,包括计算机设备,其特征在于,该计算机设备被编程或配置以执行权利要求1~3中任意一项所述用于液体状态机的神经网络架构自动搜索方法的步骤。
5.一种用于液体状态机的神经网络架构自动搜索系统,包括计算机设备,其特征在于,该计算机设备的存储器中被编程或配置以执行权利要求1~3中任意一项所述用于液体状态机的神经网络架构自动搜索方法的计算机程序。
6.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中被编程或配置以执行权利要求1~3中任意一项所述用于液体状态机的神经网络架构自动搜索方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010767017.5A CN111882042B (zh) | 2020-08-03 | 2020-08-03 | 用于液体状态机的神经网络架构自动搜索方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010767017.5A CN111882042B (zh) | 2020-08-03 | 2020-08-03 | 用于液体状态机的神经网络架构自动搜索方法、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111882042A CN111882042A (zh) | 2020-11-03 |
CN111882042B true CN111882042B (zh) | 2024-04-05 |
Family
ID=73205463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010767017.5A Active CN111882042B (zh) | 2020-08-03 | 2020-08-03 | 用于液体状态机的神经网络架构自动搜索方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111882042B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112329327B (zh) * | 2020-11-26 | 2022-06-07 | 中国人民解放军国防科技大学 | 一种硬件感知的液体状态机网络生成方法及系统 |
CN112598119B (zh) * | 2021-01-05 | 2022-07-12 | 中国人民解放军国防科技大学 | 一种面向液体状态机的神经形态处理器片上存储压缩方法 |
CN114861892B (zh) * | 2022-07-06 | 2022-10-21 | 深圳时识科技有限公司 | 芯片在环代理训练方法及设备、芯片及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108875846A (zh) * | 2018-05-08 | 2018-11-23 | 河海大学常州校区 | 一种基于改进的脉冲神经网络的手写数字识别方法 |
CN110276442A (zh) * | 2019-05-24 | 2019-09-24 | 西安电子科技大学 | 一种神经网络架构的搜索方法及装置 |
CN111144555A (zh) * | 2019-12-31 | 2020-05-12 | 中国人民解放军国防科技大学 | 基于改进进化算法的循环神经网络架构搜索方法、系统及介质 |
CN111406267A (zh) * | 2017-11-30 | 2020-07-10 | 谷歌有限责任公司 | 使用性能预测神经网络的神经架构搜索 |
-
2020
- 2020-08-03 CN CN202010767017.5A patent/CN111882042B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111406267A (zh) * | 2017-11-30 | 2020-07-10 | 谷歌有限责任公司 | 使用性能预测神经网络的神经架构搜索 |
CN108875846A (zh) * | 2018-05-08 | 2018-11-23 | 河海大学常州校区 | 一种基于改进的脉冲神经网络的手写数字识别方法 |
CN110276442A (zh) * | 2019-05-24 | 2019-09-24 | 西安电子科技大学 | 一种神经网络架构的搜索方法及装置 |
CN111144555A (zh) * | 2019-12-31 | 2020-05-12 | 中国人民解放军国防科技大学 | 基于改进进化算法的循环神经网络架构搜索方法、系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111882042A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188358B (zh) | 自然语言处理模型的训练方法及装置 | |
CN112163426B (zh) | 一种基于注意力机制与图长短时记忆神经网络结合的关系抽取方法 | |
CN111882042B (zh) | 用于液体状态机的神经网络架构自动搜索方法、系统及介质 | |
CN110210032B (zh) | 文本处理方法及装置 | |
Oruh et al. | Long short-term memory recurrent neural network for automatic speech recognition | |
Deng et al. | Deep learning for signal and information processing | |
CN111414481B (zh) | 基于拼音和bert嵌入的中文语义匹配方法 | |
CN110490320B (zh) | 基于预测机制和遗传算法融合的深度神经网络结构优化方法 | |
CN112417894B (zh) | 一种基于多任务学习的对话意图识别方法及识别系统 | |
CN111460157B (zh) | 用于多领域文本分类的循环卷积多任务学习方法 | |
CN111400494B (zh) | 一种基于GCN-Attention的情感分析方法 | |
Tang et al. | Modelling student behavior using granular large scale action data from a MOOC | |
CN111477220B (zh) | 一种面向家居口语环境的神经网络语音识别方法及系统 | |
Huang et al. | Recurrent poisson process unit for speech recognition | |
CN112784532B (zh) | 用于短文本情感分类的多头注意力记忆系统 | |
CN112232087A (zh) | 一种基于Transformer的多粒度注意力模型的特定方面情感分析方法 | |
CN111653275A (zh) | 基于lstm-ctc尾部卷积的语音识别模型的构建方法及装置、语音识别方法 | |
Gopalakrishnan et al. | Sentiment analysis using simplified long short-term memory recurrent neural networks | |
CN112559797A (zh) | 一种基于深度学习的音频多标签分类方法 | |
CN116643989A (zh) | 一种采用图结构进行深层语义理解的缺陷预测方法 | |
CN115687609A (zh) | 一种基于Prompt多模板融合的零样本关系抽取方法 | |
CN112560440A (zh) | 一种基于深度学习的面向方面级情感分析的句法依赖方法 | |
CN116644760A (zh) | 一种基于Bert模型和双通道模型的对话文本情感分析方法 | |
CN116450839A (zh) | 知识增强预训练语言模型知识注入和训练方法及系统 | |
CN115391523A (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 |