CN113935457A - 一种基于正态分布的脉冲神经网络输入信号编码方法 - Google Patents
一种基于正态分布的脉冲神经网络输入信号编码方法 Download PDFInfo
- Publication number
- CN113935457A CN113935457A CN202111062009.1A CN202111062009A CN113935457A CN 113935457 A CN113935457 A CN 113935457A CN 202111062009 A CN202111062009 A CN 202111062009A CN 113935457 A CN113935457 A CN 113935457A
- Authority
- CN
- China
- Prior art keywords
- input signal
- pulse
- neural network
- time
- normal distribution
- 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
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/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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Feedback Control In General (AREA)
Abstract
本发明公开的一种基于正态分布的脉冲神经网络输入信号编码方法,涉及一种脉冲神经网络输入信号编码方法,特别涉及一种基于正态分布的脉冲信号多通道编码机制的时间分配方法,属于人工智能领域。本发明针对脉冲神经网络输入信号进行多通道编码时的精度损失问题,在对脉冲神经网络的输入信号进行脉冲编码时,在空间展开方法的基础上,采用正态分布对展开的空间进行时间分配,使输入信号可以被编码成具有连续时间的脉冲,该脉冲可被完整地解码出输入信号携带的原始信息,实现无损编码,并能够实现对脉冲时间范围的有效压缩。本方法可用于人工智能、神经形态工程、机器人等领域,实现高精度控制。
Description
技术领域
本发明涉及一种脉冲神经网络输入信号编码方法,特别涉及一种基于正态分布的脉冲神经网络输入信号编码方法,属于人工智能领域。
背景技术
脉冲神经网络模拟大脑的计算原理,相比于传统计算方法,拥有低功耗、低延迟处理等优势,与类脑传感器结合,可用于对机器人的低功耗、低延迟控制。
由于脉冲神经网络以脉冲信号作为输入,一般传感器信号在提供给脉冲神经网络时,需要进行转换。直接把信号的数值作为脉冲产生的时间,会使脉冲神经网络先处理数值较小的信号,后处理数值较大的信号,损害信号编码的公平性。因此脉冲神经网络输入信号的时间范围需要尽可能地缩小,即时间范围压缩,减小上述差异带来的影响。
现有的解决方案是采用多通道编码方法,即空间展开的方法,把输入信号的时间编码范围压缩为同一时刻,把每个输入信号用多个通道表示,根据输入信号的数值大小决定哪个通道产生脉冲,从而把连续的时间信号映射成离散的空间信号。此方法保证所有输入信号可以同时到达脉冲神经网络的输入层,但是空间展开方法是以损失精度为代价的,使其无法区分输入信号间的细微差异,难以在机器人等需要精确控制的领域发挥作用。
发明内容
本发明的目的是解决脉冲神经网络输入信号进行多通道编码时的精度损失问题,并实现对脉冲时间范围的有效压缩,使其经过强化学习,可用于人工智能、神经形态工程、机器人等领域,实现高精度控制。
本发明的目的是通过以下技术方案实现的:
本发明在对脉冲神经网络的输入信号进行脉冲编码时,在空间展开方法的基础上,采用正态分布对展开的空间进行时间分配,使输入信号可以被编码成具有连续时间的脉冲,该脉冲可被完整地解码出输入信号携带的原始信息,实现无损编码。
本发明具体实施步骤如下:
步骤一:基于机器人虚拟仿真环境,采用深度强化学习方法,搭建强化学习环境,把其中的人工神经网络部分替换为脉冲神经网络;
步骤二:以机器人虚拟仿真环境提供的环境状态信息,作为脉冲编码的输入,用符号I表示输入信号的数量。输入信号采用下述方法进行编码,进而作为脉冲神经网络的输入信号。
步骤三:采用空间展开方法,为每个输入信号分配多个通道,用符号K表示通道的数量,每个通道会产生1个脉冲,作为神经网络的输入信号。共有I×K个通道;
步骤四:采用正态分布对展开的I×K个通道的脉冲时间进行分配。
每个通道生成脉冲的时间表示为si,k,其中i为原始输入信号的编号,k为表示属于当前输入信号的某一通道,输入信号的数值用xi表示。每个通道的脉冲时间的计算过程可以表示为:
其中,Norm为正态分布的概率密度函数,μ为正态分布的期望,σ为标准差,C和T为调节生成脉冲时间大小的参数。其中,Norm函数可以表示为:
公式(3)把原始输入信号编码为分布在I×K个通道上的连续脉冲时间。
通过调节公式(3)中的标准差σ,可以调整正态分布的幅度,改变其概率密度的最大值,从而调整编码后脉冲时间的范围。
通道的数量由K决定,通过调节参数K,可以权衡编码质量与编码过程占用的额外资源。各个通道对正态分布进行均匀采样。K越大,通道数量越多,相邻采样点的时间差异越小,能够减少多个通道间的平均时间偏差,实现更好的时间范围压缩效果。
步骤五:把编码后的I×K个通道产生的脉冲信号,作为脉冲神经网络的输入信号。
步骤六:采用时间编码方法,对脉冲神经网络进行训练,脉冲神经网络的输出作为当前环境状态下,机器人采取各个动作后预期获得的未来奖励,选择未来奖励最高的动作对机器人进行控制。
有益效果
1、本发明采用正态分布对多通道编码的脉冲信号进行时间分配,解决脉冲神经网络输入信号空间编码时的精度损失问题,并实现对脉冲时间范围的有效压缩,使脉冲神经网络经过强化学习训练,可用提高对机器人的控制精度。
附图说明
图1为本发明的编码步骤的流程图;
图2为编码方法改进前后的训练曲线对比图。
具体实施方式
下面将结合附图和实施例对本发明加以详细说明。同时也叙述了本发明技术方案解决的技术问题及有益效果,需要指出的是,所描述的实施例仅旨在便于对本发明的理解,而对其不起任何限定作用。
以OpenAI Gym强化学习工具包中的CartPole-v0机器人仿真环境作为实验环境。在CartPole-v0任务里有一个小车,车上竖着一根杆子,每次任务开始后小车和杆子的位置是随机的。小车需要左右移动来保持杆子竖直,为保证任务不失败需满足以下两个条件:一是杆子倾斜的角度不能大于15°,二是小车移动的位置需保持在一定范围,范围设置为4.8个单位长度;
1)采用DDQN深度强化学习方法,搭建强化学习环境;
2)把DDQN深度强化学习方法中的人工神经网络替换为脉冲神经网络,脉冲神经网络采用3层结构,分别是输入层、隐层、输出层。其中,输入层为80个脉冲信号输入通道,用于接收采用本发明提出的编码方法生成的脉冲,隐层为128个神经元,输出层为2个神经元,分别对应小车的两个动作:左移、右移。网络采用全连接方式。
3)以机器人虚拟仿真环境提供的环境状态信息,作为脉冲编码的输入。共有4个信号,分别为小车在轨道上的位置、小车速度、杆子与竖直方向的夹角、角度的变化速率;
4)输入信号采用本发明提出的方法进行编码,进而作为脉冲神经网络的输入信号,编码方式如图1所示。
具体来说,采用空间展开方法,为每个输入信号分配20个通道,每个通道会产生1个脉冲,作为神经网络的输入。全部输入信号共有80个通道;
采用正态分布对展开的20个通道的脉冲时间进行分配,每个通道生成脉冲的时间表示为si,k,其中i为原始输入信号的编号,k为当前通道的编号,输入信号的数值用xi表示。每个通道的脉冲时间的计算过程可以表示为:
其中,Norm为正态分布的概率密度函数,μ为正态分布的期望,σ为标准差,C和T为调节生成脉冲时间大小的参数。其中,Norm函数可以表示为:
令是对输入信号的线性归一化。在CartPole-v0环境中,ai=9.5,bi=10.9,是在整个实验中,环境提供的输入信号可能达到的最小值和最大值。令σ=1, C=6,并把公式(5)带入公式(4),输入信号可以编码为:
公式(6)把原始输入信号编码为分布在80个通道上的连续脉冲时间。
在对脉冲神经网络的输入信号进行时间范围压缩后,可以通过逆运算,从编码后的信号恢复出原输入信息,实现无损编码。根据公式(3),原始输入信号可以表示为:
对参数进行实例化,可以得到:
对于每一个k,可以恢复出xi的两个可能取值,其中一个为正确的。当K≥2时,通过两次恢复结果的对比,可以获得xi的唯一解。公式(8)可以完整地把输入信号xi从编码后的信号si,k中恢复出来,编码过程中没有损失输入信号承载的信息。
5)把编码后的80个通道产生的脉冲信号,作为脉冲神经网络的输入信号。
6)设置对照组一,采用改进前的空间展开方法,同样为每个信号设置20个通道,但是只有1个通道会在有限的时间内产生脉冲,其余通道的脉冲时间设置为106。由于106一定大于实验中脉冲神经网络运行的时间,不会影响计算过程,所以用106表示其余通道没有产生脉冲。计算方式如公式(9)所示。
7)设置对照组二,设置4个通道,分别对应4个输入信号,采用直接映射的方法,把输入信号的数值作为脉冲产生的时间。
8)采用时间编码训练方法,对脉冲神经网络进行训练,使其能够准确预测当前环境状态对应的未来奖励。其中,采用的脉冲神经元膜电位动力学模型如公式(10)所示,即引入自增项的无漏电流的积分与兴奋神经元。
其中,τsyn为时间常数,β为一个可调节自增项大小的参数。训练过程中,设置τsyn为1,β为0.001。
9)脉冲神经网络输出层神经元产生脉冲的时间,作为当前环境状态下,机器人采取各个动作后对未来奖励的预期,时间越小奖励值越大。选择奖励值大的神经元所对应的动作,对机器人进行控制,使其左移或右移。
设置强化学习训练过程的样本经验池的容量为1000,一次训练抓取样本数量为32。在任务进行过程中,环境在每一帧反馈的奖励值为1,持续累加。当任务失败时,累计奖励值设为-1。目标网络的更新频率为每100步。以累计奖励值为输入,采用均方误差作为回归损失函数,优化算法采用的是Adam方法。学习率设为0.001251。
10)训练后在相同的环境下进行测试。实验结果如图2所示。结果显示在CartPole-v0任务中,采用本发明提出的输入信号编码方法,相对于原空间展开方法,以及使用从输入信号直接赋值的方法,明显提升了机器人获得的平均累计奖励,即小车保持杆子直立的时间。
实验结果说明本发明提出的方法能实现在强化学习框架下对脉冲神经网络的有效训练,原始输入信号经过编码,转化为在较短时间范围内没有损失的脉冲信号,使得脉冲神经网络能够有效感知环境状态信息。脉冲神经网络的输出作为机器人各个动作实施后长期奖励的预测,可作为机器人动作选择的依据,实现对机器人的有效控制。结合神经形态处理器和传感器,本发明提出的方法,可用于对机器人的低功耗、低延迟、高精度控制。
以上所述的具体描述,对发明的目的、技术方案和有益效果进行进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种基于正态分布的脉冲神经网络输入信号编码方法,其特征在于:包括如下步骤:
步骤一:基于机器人虚拟仿真环境,采用深度强化学习方法,搭建强化学习环境,把其中的人工神经网络部分替换为脉冲神经网络;
步骤二:以机器人虚拟仿真环境提供的环境状态信息,作为脉冲编码的输入,用符号I表示输入信号的数量;
步骤三:采用空间展开方法,为每个输入信号分配多个通道,用符号K表示通道的数量,每个通道会产生1个脉冲,作为神经网络的输入信号;
步骤四:采用正态分布对展开的I×K个通道的脉冲时间进行分配;
步骤五:把编码后的I×K个通道产生的脉冲信号,作为脉冲神经网络的输入信号;
步骤六:采用时间编码方法,对脉冲神经网络进行训练,脉冲神经网络的输出作为当前环境状态下,机器人采取各个动作后预期获得的未来奖励,选择未来奖励最高的动作对机器人进行控制。
2.如权利要求1所述的一种基于正态分布的脉冲神经网络输入信号编码方法,其特征在于:步骤四的实现方法为:
每个通道生成脉冲的时间表示为si,k,其中i为原始输入信号的编号,k为表示属于当前输入信号的某一通道,输入信号的数值用xi表示;每个通道的脉冲时间的计算过程可以表示为:
其中,Norm为正态分布的概率密度函数,μ为正态分布的期望,σ为标准差,C和T为调节生成脉冲时间大小的参数;其中,Norm函数可以表示为:
公式(3)把原始输入信号编码为分布在I×K个通道上的连续脉冲时间;
通过调节公式(3)中的标准差σ,可以调整正态分布的幅度,改变其概率密度的最大值,从而调整编码后脉冲时间的范围;
通道的数量由K决定,通过调节参数K,可以权衡编码质量与编码过程占用的额外资源;各个通道对正态分布进行均匀采样;K越大,通道数量越多,相邻采样点的时间差异越小,能够减少多个通道间的平均时间偏差,实现更好的时间范围压缩效果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111062009.1A CN113935457A (zh) | 2021-09-10 | 2021-09-10 | 一种基于正态分布的脉冲神经网络输入信号编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111062009.1A CN113935457A (zh) | 2021-09-10 | 2021-09-10 | 一种基于正态分布的脉冲神经网络输入信号编码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113935457A true CN113935457A (zh) | 2022-01-14 |
Family
ID=79275404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111062009.1A Pending CN113935457A (zh) | 2021-09-10 | 2021-09-10 | 一种基于正态分布的脉冲神经网络输入信号编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113935457A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114819122A (zh) * | 2022-03-28 | 2022-07-29 | 中国科学院自动化研究所 | 基于脉冲神经网络的数据处理方法及装置 |
-
2021
- 2021-09-10 CN CN202111062009.1A patent/CN113935457A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114819122A (zh) * | 2022-03-28 | 2022-07-29 | 中国科学院自动化研究所 | 基于脉冲神经网络的数据处理方法及装置 |
CN114819122B (zh) * | 2022-03-28 | 2022-12-06 | 中国科学院自动化研究所 | 基于脉冲神经网络的数据处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108920812B (zh) | 一种机械加工表面粗糙度预测方法 | |
CN109543838B (zh) | 一种基于变分自编码器的图像增量学习方法 | |
Wang et al. | Deep spiking neural networks with binary weights for object recognition | |
CN113792857B (zh) | 一种基于膜电位自增机制的脉冲神经网络训练方法 | |
CN109165730B (zh) | 交叉阵列神经形态硬件中状态量化网络实现方法 | |
CN113031555B (zh) | 一种畜禽舍环境有害气体智能净化系统 | |
CN111260124A (zh) | 一种基于注意力机制深度学习的混沌时间序列预测方法 | |
CN111507046B (zh) | 一种电动闸阀剩余使用寿命预测方法及系统 | |
CN110769453B (zh) | 非稳定网络环境下的多模态监测数据动态压缩控制方法 | |
CN114037075B (zh) | 一种基于人工智能算法的柴油机电子调速自适应方法 | |
CN112712170B (zh) | 基于输入加权脉冲神经网络的神经形态视觉目标分类系统 | |
CN113935457A (zh) | 一种基于正态分布的脉冲神经网络输入信号编码方法 | |
CN109635938A (zh) | 一种自主学习脉冲神经网络权值量化方法 | |
CN114037050A (zh) | 一种基于脉冲神经网络内在可塑性的机器人退化环境避障方法 | |
CN113448245A (zh) | 一种基于深度学习的污水处理过程溶解氧控制方法及系统 | |
CN113962371A (zh) | 一种基于类脑计算平台的图像识别方法及系统 | |
CN115660165A (zh) | 一种基于双层pso的模块化神经网络出水氨氮浓度多步预测方法 | |
Rao et al. | Learning mappings in brain machine interfaces with echo state networks | |
CN117621051A (zh) | 基于人体多模态信息的主动式人机协作方法 | |
CN114387028B (zh) | 一种面向网络购物平台的商品需求量的智能分析方法 | |
Shymyrbay et al. | Training-aware low precision quantization in spiking neural networks | |
Talafha et al. | Biologically inspired sleep algorithm for variational auto-encoders | |
CN112527860B (zh) | 一种提高台风轨迹预测的方法 | |
CN114372563A (zh) | 基于混合脉冲强化学习网络结构的机器人控制方法及系统 | |
CN114239405A (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 |