一种基于忆阻突触的智能寻址系统的制作方法

文档序号:20016613发布日期:2020-02-25 10:38阅读:186来源:国知局
一种基于忆阻突触的智能寻址系统的制作方法

本发明属于脉冲神经网络技术领域,更具体地,涉及一种基于忆阻突触的智能寻址系统。



背景技术:

随着人工智能的普及和发展,智能驾驶已经成为人工智能中一个热门的话题。智能寻址作为智能驾驶任务的一个子模块任务,同时也是智能驾驶任务中不可或缺的一部分。传统的智能寻址任务实现方法如根据周围环境情况进行计算暴力求解来调整智能小车的运动状态,基本上是在没有任何先验知识的情况下进行的,这十分依赖于系统的计算能力。这种方法有以下几个明显的缺陷:(1)具有一定的盲目性;(2)能耗高,需要实时地进行复杂的计算,对计算力的要求特别高;(3)普适性差,当任务目标位置发生微小的变动时,需要重新开始计算,无法借鉴之前的数据经验。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明的目的在于提供一种基于忆阻突触的智能寻址系统,其中通过对该系统的神经网络结构进行改进,利用忆阻器参与构建智能寻址网络系统,忆阻器起到输入层神经元和隐藏层神经元之间的突触功能,同时忆阻器的阻值将起到调节输入层神经元的脉冲信号的作用,调节后的脉冲信号再传递至隐藏层神经元,这样利用智能寻址的训练过程不断优化忆阻器的阻值,训练好的忆阻器阻值固定的智能寻址网络系统,就能够实现智能寻址功能。本发明中的网络系统能够使智能小车准确地到达目标位置(即,目的地址),准确地实现智能寻址的功能,相比于传统方法,计算简单,功耗更低,更加具有普适性。

为实现上述目的,按照本发明,提供了一种基于忆阻突触的智能寻址系统,其特征在于,包括输入层神经元、忆阻突触、隐藏层神经元、连接电阻和输出层神经元,其中,

所述输入层神经元通过所述忆阻突触与所述隐藏层神经元连接,所述隐藏层神经元通过所述连接电阻与所述输出层神经元连接;所述忆阻突触用于根据该忆阻突触中忆阻器的阻值将所述输入层神经元的脉冲信号经过调节后传递给所述隐藏层神经元;

该基于忆阻突触的智能寻址系统,在智能寻址的训练过程中,其中的所述忆阻突触能够根据所述输入层神经元与所述隐藏层神经元的激发时间的时间差,以及根据外部环境提供的反馈信号来更新该忆阻突触中忆阻器的阻值,从而使结束训练后忆阻器阻值固定的智能寻址系统能够实现智能寻址功能。

作为本发明的进一步优选,所述隐藏层神经元和输出层神经元都是基于积分点火模型。

作为本发明的进一步优选,所述基于忆阻突触的智能寻址系统用于对小车的行驶进行自动智能控制,具体的:

利用小车上设置的动态视觉传感器dvs,并基于预先设置的小车目标位置,共同编码得到输入信号编码,该输入信号编码经由所述输入层神经元输入,所述输入层神经元将发放一系列的脉冲信号,这些脉冲信号经过所述忆阻突触传递到所述隐藏层神经元,使所述隐藏层神经元的膜电位逐渐升高,当所述隐藏层神经元的膜电位达到预先设置的阈值后,所述隐藏层神经元将被激发,这样隐藏层神经元将发放脉冲信号;

当所述隐藏层神经元发放脉冲信号后,这些脉冲信号经过所述连接电阻传递到所述输出层神经元,使所述输出层神经元的膜电位逐渐升高,当所述输出层神经元的膜电位达到预先设置的阈值后,所述输出层神经元将被激发,这样输出层神经元将发放脉冲信号;

所述输出层神经元发放的脉冲信号经解码后用于控制小车左车轮和右车轮的行驶速度,从而实现小车的智能行驶;

利用经智能寻址的训练过程后的基于忆阻突触的智能寻址系统,能够使小车经智能行驶后到达预先设置的小车目标位置。

作为本发明的进一步优选,当所述预先设置的小车目标位置有多个时,对于任意一个预先设置的小车目标位置,该预先设置的小车目标位置将对应一组两个所述隐藏层神经元,其中一个隐藏层神经元用于最终控制小车左车轮,另一个隐藏层神经元用于最终控制小车右车轮;这一个预先设置的小车目标位置编码得到的输入信号编码将经由所述输入层神经元输入,并传递到相对应的这一组隐藏层神经元;

而对于全部预先设置的小车目标位置,利用小车上设置的动态视觉传感器dvs编码得到的输入信号编码将经由所述输入层神经元输入,并传递到所有的所述隐藏层神经元;

并且,任意两个预先设置的小车目标位置相对应的两组所述隐藏层神经元之间还存在抑制作用,确保任意时刻下至多仅有一组所述隐藏层神经元被激发。

作为本发明的进一步优选,所述连接电阻的阻值分布在所述忆阻突触中忆阻器阻值的低阻阻值×(1±20%)的范围内。

作为本发明的进一步优选,对于所述忆阻突触中的忆阻器,任意一个忆阻器自上而下均包括顶电极层、功能材料层和底电极层,其中,所述功能材料层为氧化物功能材料层。

作为本发明的进一步优选,所述氧化物功能材料层所采用的氧化物为钽的氧化物、钛的氧化物、钨的氧化物、铪的氧化物、锆的氧化物、铝的氧化物、钒的氧化物、铜的氧化物或镍的氧化物。

作为本发明的进一步优选,当所述预先设置的小车目标位置有多个时,所述智能寻址的训练过程是采用各个目标位置交替训练的方式进行。

通过本发明所构思的以上技术方案,与现有技术相比,由于利用忆阻突触构建特定网络结构设计的智能寻址系统,训练好的智能寻址网络系统,能够实现智能寻址功能。该智能寻址网络系统中,忆阻器用于实现输入层神经元和隐藏层神经元之间的突触功能,忆阻器的阻值将起到调节输入层神经元的脉冲信号的作用,调节后的脉冲信号再传递至隐藏层神经元;这样利用智能寻址的训练过程不断优化忆阻器的阻值,训练好的忆阻器阻值固定的智能寻址网络系统,就能够实现智能寻址功能,尤其的,该智能寻址网络系统输出神经元的激发情况经过输出解码后控制智能小车左、右车轮的行驶速度,从而能够使小车在该智能寻址系统的控制下到达预先设置的小车目标位置。

本发明中的基于忆阻突触的智能寻址网络系统,在实际应用时可以先训练、后应用,在训练的过程中,根据输入层神经元和隐藏层神经元激发时间的时间差和反馈信号来更新忆阻器的阻值大小;在应用阶段(当然也包括测试网络功能的过程)中,忆阻突触的权重固定,保持训练之后的权重大小不变,忆阻突触的权重值不会进行更新。基于本发明,当任务目标位置发生微小的变动时,可以不需要进行重新训练。

并且,本发明优选采用交替训练的方式进行智能寻址的训练过程。以目标位置有2个为例,隐藏层的每一对神经元学习到对应的一个目标点位置,采用交替训练的方法,避免全部训练后学习的突触权重过大、使得同一对隐藏层神经元对两个目标点位置进行响应,从而避免无效的学习方式。

此外,本发明所采用的脉冲神经网络以有无脉冲进行编码和解码,这与传统的采用激活函数实现的人工神经网络相比,能耗要低,并且,基于硬件基础实现的网络要比软件仿真网络功耗要低。

附图说明

图1为本发明的网络结构示意图。

图2为本发明实现智能寻址功能的仿真场景示意图。

图3为本发明功能实现的流程示意图。

图4为本发明实现智能寻址功能的脉冲神经网络框架示意图;从图中可知,包括动态视觉传感器dvs、预先设置的小车目标位置(如targeta、targetb等)在内的输入信号编码后作为输入层神经元输入,输出层神经元经过输出解码后来控制智能小车左车轮(leftmotor)、右车轮(rightmotor)的行驶速度。

图5为本发明测试过程中,固定所有的忆阻突触权重,智能小车偏离车道中心的距离随仿真步长的变化关系;图5中的(a)对应目标点a,图5中的(b)对应目标点b。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

本发明提出的基于忆阻突触的智能寻址网络,结合了强化学习和现有技术已知的stdp(spiketimingdependentplasticity)的优点,使用奖励调制的脉冲时序可塑性(r-stdp)学习法则,训练具有良好的准确率,与传统方法相比,计算量小,功耗低,不易受到环境条件影响。

如图1所示,输入层神经元通过忆阻突触与隐藏层神经元连接,隐藏层神经元通过电阻r1与输出层神经元连接。忆阻器作为一种新型的电子器件,其特殊的阻变特性能够用于脉冲神经网络。忆阻器的电阻随流经的电荷发生变化,通过施加电脉冲可以调控忆阻器的电阻值,这一点类似于生物上的神经突触在生物电信号作用下的权重改变。因此,忆阻器可以用作神经网络中的突触器件,并且在速度、功耗和集成度方面具有很大的优势。

输入信号在进行输入编码后经由输入层神经元输入,输入层神经元发放一系列脉冲信号,这些脉冲信号经过忆阻器突触传递到隐藏层神经元,使隐藏层神经元的膜电位逐渐升高,当隐藏层神经元的膜电位达到阈值后,隐藏层神经元会被激发,隐藏层神经元会发放脉冲信号。

当隐藏层神经元发放脉冲信号后,这些脉冲信号经过连接电阻r1传递到输出层神经元,使输出层神经元的膜电位逐渐升高,当输出层神经元的膜电位达到阈值后,输出层神经元会被激发,输出层神经元会发放脉冲信号。

输出层神经元的激发情况经过输出解码后来控制智能小车左、右车轮的行驶速度。

在神经网络训练的过程中,忆阻突触(一个忆阻突触即一个忆阻器)将输入层神经元的脉冲信号传递到隐藏层神经元的同时,网络会根据前后级神经元激发时间的时间差(即,前一级输入层神经元与后一级隐藏层神经元的激发时间的时间差)以及反馈信号来更新忆阻器的阻值。

连接电阻r1的阻值可以分布在忆阻突触中忆阻器阻值的低阻阻值×(1±20%)的范围内,当然,也可以直接等于忆阻突触中忆阻器阻值的低阻阻值。

图2对应该实施例实现智能寻址功能的仿真场景示意图,智能小车在行驶至岔路口时,需要选择正确的路径行驶使得智能车能够准确地到达目的地,同时,在行驶的过程中,智能小车应该始终保持在道路的中心处行驶,不能偏离道路中心过多。具体地,在图2所示的场景中,智能小车有两条路径可以行驶,一条是经由左边的道路行驶到达目标点a的位置,另一条则是经由右边的道路行驶到达目标点b的位置,实际的路径选择结果取决于智能小车将要到达的目标地点的位置。

图3为本发明功能实现的流程示意图,由现有技术已知的动态视觉传感器(dynamicvisionsensor,简称dvs)和目标位置编码作为脉冲神经网络的输入部分(其中目标位置编码能够根据目标点的位置,如左侧a位置或者右侧b位置,来定义输入层神经元中tl神经元和tr神经元的输入频率;当目标点位置位于a时,对应tl输入;当目标点位置位于b时,对应tr输入),再经由图4所示的脉冲神经网络传递信号,输入脉冲经过忆阻突触(图4中未示出)传递到隐藏层,依次激发脉冲神经网络中的隐藏层神经元以及输出层神经元,并记录单位时长内输出层神经元的激发次数,进一步地,根据输出层神经元的激发次数来分别调整智能小车左、右车轮的行驶速度,同时判断智能小车是否已经到达目标地点。若此时智能小车已经到达目标地点,则表明任务已经完成,结束当前任务,否则,继续将dvs接收到的输入信号以及目标地点位置信息经过输入编码后作为输入信号来调整智能小车的运动状态。

图4为本发明中的脉冲神经网络框架图,输入层神经元有34个,包括32个dvs输入神经元和2个目标地址位置输入神经元,隐藏层神经元有4个,输出层神经元有2个,分别控制智能小车左、右车轮的行驶速度。输入层神经元和隐藏层神经元通过忆阻突触全连接,隐藏层神经元和输出层神经元通过连接电阻部分连接,同时隐藏层神经元之间存在侧向抑制。

当智能小车在行驶的过程中,神经网络会以试错的方式进行学习,首先,动态视觉传感器会把智能小车探测到的前方的道路情况实时地记录下来,对应的道路情况经过处理后作为脉冲神经网络中的输入部分,如图4所示的脉冲神经网络框架,输入信号会经由忆阻突触逐层传递,隐藏层神经元会被激发,然后,输出层神经元被激发,根据输出层神经元的激发情况来调整智能小车左、右车轮的行驶速度,同时,结合环境所提供的反馈信号对神经网络中的忆阻突触权重进行训练更新,使整个脉冲神经网络实现学习的功能。在该实施例中,环境提供的反馈信号是指智能小车在行驶的过程中偏离道路中心处的距离。

用一个具体示例来更具体地说明的话,智能小车上的动态视觉传感器将采集车身前方的路况,将信息压缩成单张图片,经处理后变为8x4大小像素的图片,每个像素点的灰度值位于0-255之间,这取决于该像素点处对应有图2所示的实线部分的道路边界的多少。同时,这8x4的像素点对应图4中脉冲神经网络框架中输入层的32个dvs输入神经元,像素点的灰度值将直接决定输入神经元的激发频率(即,将像素点的灰度值映射为输入层神经元的激发频率,对应的激发频率等于该像素点的灰度值除以一个预先设定的系数)。

另外,输入层还有两个对应目标位置信息的输入神经元,其在神经网络中的功能是决定激发隐藏层中的h1、h2神经元或者是h3、h4神经元。在该实施例中,当图2中的目标地点是a时,图4中的输入层的tl神经元将会发放输入脉冲,其输入频率是300hz,tr神经元不会发放输入脉冲,对应的输入脉冲经过忆阻突触传递到隐藏层神经元。在该情况下,h1、h2神经元相对于h3、h4神经元将会先被激发,当隐藏层的h1、h2神经元被激发后,由于隐藏层中有侧向抑制信号,h1、h2在将信号传输到输出层神经元的同时,会分别发放侧向抑制信号给隐藏层的h3、h4神经元,从而抑制了h3、h4层神经元的激发。

当图2中的目标地点是b时,图4中的输入层的tr神经元将会发放输入脉冲,其输入频率是300hz,tl神经元不会发放输入脉冲,在该情况下,h3、h4神经元相对于h1、h2神经元将会先被激发,当隐藏层的h3、h4神经元被激发后,由于隐藏层中有侧向抑制信号,h3、h4在将信号传输到输出层神经元的同时,会分别发放侧向抑制信号给隐藏层的h1、h2神经元,从而抑制了h1、h2层神经元的激发。

当图4中的隐藏层神经元(h1、h2或h3、h4)被激发后,该信号将会通过隐藏层和输出层之间的连接电阻r1传递到输出层,输出层的神经元将会被激发,根据每单位时长内输出层神经元激发的次数来调整智能小车的左、右轮速度。

训练的过程中,输入信号经由输入神经元和隐藏层神经元之间的忆阻突触传递到隐藏层神经元后,在激发隐藏层神经元的同时,还会对输入层神经元和隐藏层神经元之间的忆阻器的电导值进行更新:

gij(t+δt)=gij(t)+δgij(t)

gij(t+δt)表示经过更新后忆阻器的电导值,其中,i表示对应的输入层神经元的序号,j表示对应的隐藏层神经元的序号;gij(t)表示更新之前忆阻器的电导值;δgij(t)表示当前步长下忆阻器的电导应该改变的数值。

δgij=stdpij(t)×r

stdpij(t)表示由stdp功能确定的忆阻器电导的修改量,stdpij(t)函数可参考现有技术serrano-gotarredona,t.,t.masquelier,andb.linares-barranco."spike-timing-dependent-plasticitywithmemristors."(2014).,该变化量的大小与输入层神经元和隐藏层神经元发放脉冲的时间差相关。当输入层神经元先激发,隐藏层神经元后激发,则该变化量是正值,并且输入层神经元激发和隐藏层神经元激发的时间差越小,则该变化量就越大;相反,若隐藏层神经元先激发,输入层神经元后激发,则该变化量是负值,并且输入层神经元激发和隐藏层神经元激发的时间差越小,该变化量的绝对值就越大。基于上述原则,stdpij(t)函数的取值可预先设定。

r对应根据环境情况提供的反馈信号,进一步地,它表示智能小车在运动的过程中偏离道路中心处的距离,并且r变量具有正、负两个符号,这取决于智能小车此刻是偏向了道路的内侧还是外侧。

在训练过程中,该实施例使用的是交替训练的方法,对于图2所示的场景示意图,智能小车初始位置位于岔路口附近。训练时,先将目标点的位置设定为目标点a处,刚开始训练时,由于输入层神经元到输出层神经元之间忆阻器电导值是随机分布的,智能小车并不具备车道保持的功能。当智能小车偏离车道中心距离超过预定值时,智能小车的位置将被重置到初始位置,同时将目标点的位置设定为目标点b处,当智能小车再次驶离既定车道时,智能车的位置将再次被重置到初始位置,并且将目标点的位置设定为目标点a处,继续进行训练。在训练过程中,若智能小车顺利达到了目标点a,则将智能小车重置至初始位置,同时将目标点设定为目标点b(即使a目标训练达到训练目的后,也是对a、b目标进行交替训练直到两个目标点都训练成功)。依照上述训练规则,直至训练步长数达到预定的总步长数或者智能小车对于到达目标点a和目标点b的任务都能够顺利完成。

图5为经过训练之后测脉冲神经网络性能的结果图。在智能小车经过上述的训练过程之后,将所有的忆阻突触权重(即忆阻器的电导值)都固定下来,对脉冲神经网络的学习性能进行评估。在测试的过程中,所有的忆阻突触权重都是最后一步训练过程时所保留的权重,至此,忆阻突触只提供信息传递的功能,信号从前一级神经元经由忆阻突触传递到后一级神经元,忆阻突触的权重不会进行更新。

对应于图2中的场景示意图,整个仿真过程中,智能小车的车宽与车道的宽度一致,都是0.5m。当智能小车偏离车道中心距离超过0.2m时,可以认为智能小车在朝着目标靠近的过程中脱离了轨道,则测试任务失败(关于小车偏离车道中心的距离,例如可以是每单位时间采集小车偏离车道中心的距离,单位时间的具体大小可以根据实际情况预先设定)。图5中的(a)表示当测试目标点的位置在a处时,智能小车在不断靠近目标点a的位置过程中,智能小车偏离车道中心处的距离随仿真步长变化的关系。由图5中的(a)可以看出,在智能小车不断朝着目标点a靠近的过程中,智能小车偏离车道中心的距离始终是小于0.2m的,甚至是小于0.05m的,也就是小于10%的车身宽度。在步长数为600附近时,纵坐标几乎不再发生改变,这是由于此时系统判断智能小车已经到达了目标点a的位置,在之后的过程中,其位置不再发生改变,智能小车处于静止状态(即,当系统检测到小车到达目标点a处时,会将小车的左右车轮车速都置为0,使小车静止),标志到达目标点a的任务完成。在智能小车到达目标点a处时,智能小车偏离中心处的距离约为0.006m。

图5中的(b)则表示当测试目标点的位置在b处时,智能小车在不断靠近目标点b位置的过程中,智能小车偏离车道中心处的距离随仿真步长变化的关系。由图5中的(b)可以看出,在智能小车不断朝着目标点b靠近的过程中,智能小车偏离车道中心的距离也是一直小于0.2m的。在步长数为250附近时,纵坐标几乎不再发生改变,这是由于此时系统判断智能小车几乎已经到达了目标点b的位置,在之后的过程中,其位置不再发生改变,智能小车处于静止状态,标志到达目标点b的任务完成。在此时,智能小车偏离中心处的距离约为0.02m,这正好是4%的车身宽度。

图5中的(a)和图5中的(b)对比可以发现,当目标点位置位于a处时要比目标点位置位于b处时效果要好一些,这是由于当目标点在b处时,智能小车选择左侧道路的曲率半径要比目标点在a处时大,所以智能小车在向目标点b靠近时容易有偏离车道中心的趋势。结合两次测试的结果可以看出,基于忆阻突触的神经网络在整个测试过程中顺利地完成了智能寻址的任务。

本发明通过使用交替训练的方法,即目标a和目标b交替训练,能够避免全部训练某个目标后,例如,在全部训练目标a后,dvs输入到隐藏层神经元的忆阻突触的影响要大于tr输入神经元与隐藏层神经元之间忆阻突触的影响。并且,基于本发明,当任务目标位置发生微小的变动时,可以不需要进行重新训练。以图2所示的场景示意图为例,只要目标地点还在原来的车道上,即使目标位置发生变化,也不需要进行重新训练。

本发明中,隐藏层神经元和输出层神经元可基于积分点火模型,积分点火模型可参考现有技术,如serrano-gotarredona,t.,t.masquelier,andb.linares-barranco."spike-timing-dependent-plasticitywithmemristors."(2014)。

本发明所采用的忆阻突触的忆阻器件可以采用现有技术中任意一种忆阻器件,例如为自上而下包括顶电极层、功能材料层和底电极层的忆阻器件,其中的功能材料层为氧化物功能材料层,可包括钽的氧化物(taox)、钛的氧化物(tiox)、钨的氧化物(wox)、铪的氧化物(hfox)、锆的氧化物(zrox)、铝的氧化物(alox)、钒的氧化物(vox)、铜的氧化物(cuox)或镍的氧化物(niox)。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1