一种基于进化算法的神经网络训练方法及路径规划方法与流程

文档序号:27551499发布日期:2021-11-24 22:39阅读:304来源:国知局
一种基于进化算法的神经网络训练方法及路径规划方法与流程

1.本发明涉及移动机器人技术中的运动规划领域,具体涉及一种基于进化算法的神经网络训练方法及路径规划方法。


背景技术:

2.自主式移动机器人的目标就是在不需要对环境做任何规定和改变,也不需要人工干预的前提下,有目的地移动且完成相应的任务。移动机器人的实际应用环境往往都是非常复杂、非结构化和随着时间变化的,也存在着通信、反应的滞后,信息不完整等问题。
3.进化机器人学为智能机器人技术提供了一种很好的解决思想和方法,通过使移动机器人能够根据环境的特点和目标自主地产生各种行为能力模块,同时调整模块之间的约束关系,从而达到对复杂环境的自主适应性。人工神经网络因其大规模并行分布式结构而具有突出的计算能力,递归神经网络利用网络内部状态反馈来秒描述系统的非线性动力学行为,具有很强的动态逼近能力,理论上可以用来描述任何非线性动态系统。但是递归神经网络利用网络在训练中梯度下降算法存在的缺陷,容易陷入局部最优解,而无法快速收敛得到全局最优解。


技术实现要素:

4.针对现有技术存在的上述问题,本发明的要解决的技术问题是:在路径规划中如何获得全局最优解,从而获得全局最优路线。
5.为解决上述技术问题,本发明采用如下技术方案:一种基于进化算法的神经网络训练方法,包括如下步骤:
6.s100:构建n个结构相同的递归神经网络,递归神经网络的结构具体如下:神经网络采用a层结构,输入层共有b个神经元,输出层具有两个输出,该神经网络共有c个连接权值。
7.设有n个移动机器人,在每个移动机器人上安装如下采集结构具体如下:在移动机器人的头部安装d个目标传感器,移动机器人身体两侧分别安装相同数量的声波传感器,共计e个声波传感器,d个目标传感器和e个声波传感器分别与输入层的b个神经元一一对应,d+e=b,将d个目标传感器采集的数据和e个声波传感器的数据对应的输入b个神经元。
8.s200:采用进化算法对s100中的递归神经网络进行优化,具体如下:
9.s210:对n个递归神经网络进行初始化,并对第t个递归神经网络的c个连接权值采用实数编码后得到第k个个体,所述第k个个体作为进化算法的第一代染色体,即父代染色体,t=k=1,2

n。
10.设定d个目标传感器和e个声波传感器的数据采集步长,设定最大进化次数gmax,设定适应度阈值s,设定种群数量n。
11.s220:为n个移动机器人确定出发点和目标点,将每个移动机器人中d个目标传感器采集的数据和e个声波传感器的数据输入s210中的递归神经网络输入层对应的b个神经
元中,递归神经网络输出每个采集点移动机器人的线速度和角速度。
12.s230:采用变量少和约束小的适应性函数作为评价函数计算n个移动机器人的适应度。
13.s240:选出适应度最大的移动机器人所对应的递归神经网络,将该递归神经网络对应的父代染色体复制作为子代染色体z1。
14.选出适应度小于适应度阈值s的移动机器人所对应的递归神经网络,这些递归神经网络对应的父代染色体丢弃。
15.选出适应度大于或等于适应度阈值s的移动机器人所对应的递归神经网络,将这些递归神经网络对应的父代染色体一部分直接复制作为子代染色体z2,另一部分父代染色体分为part1和part2两个部分分别进行交叉和变异的进化操作后得到子代染色体z3。
16.s250判断当前进化次数是否大于最大进化次数gmax,如果大于则执行下一步,否则将子代染色体z1,子代染色体z2和子代染色体z3作为新的父代染色体返回步骤s220。
17.s300:选择每次进化中的最大适应度值对应的父代染色体,得到gmax个父代染色体,在gmax个父代染色体中选择适应度值最大一个父代染色体作为全局最优个体。
18.s400:所述s300中得到的全局最优个体对应的神经网络即为全局最优神经网络。
19.作为优选,所述s100中将e个声波传感器的数据输入对应的神经元之前先做如下归一化处理:
[0020][0021]
其中,x
i
表示声波传感器采集的数据,maxv为声波传感器采集的数据的最大值,minv为声波传感器采集的数据的最小值。
[0022]
作为优选,所述s210中对第t个递归神经网络的c个连接权值采用实数编码得到第k个个体的具体过程如下:个体编码长度等于递归神经网络中连接权值的数量c,每个个体中的一个基因代表一个连接权值,每个基因用[

2 2]范围内的实数表示。
[0023]
作为优选,所述s230采用变量少和约束小的适应性函数作为评价函数计算n个递归神经网络的适应度的过程如下:
[0024][0025]
f
m1
(p)=d

d
ꢀꢀꢀ
(3)
[0026][0027]
其中,d表示机器人到达目标点时得到的奖励,d表示机器人最终位置与目标点的距离,c为常数,rn表示机器人到达目标点所运行的步数,c/rn表示根据运行步数得到的奖励,如上示公式(2)所示,如果机器人没到达目标点,适应性函数的值为f
m1
(p),其值由公式(3)所得,如果其达到目标点,适应性函数的值为f
m2
(p),其值由公式(4)所得。
[0028]
作为优选,在所述s230计算得到n个移动机器人的适应度后,再对n个适应度采用模拟退火思想进行拉伸,具体方法如下:
[0029]
[0030]
其中,t=t0(0.99
g
‑1),f
i
为第i个个体的适应度,n=n为种群大小。
[0031]
作为优选,采用高斯变异和柯西变异相结合的方式对神经网络中两个神经元之间的连接权进行变异操作,设某个权值矩阵对应的基因型向量x=(x1,x2,...,x
n
),经过变异后得到的新的向量组为x'=(x1',x'2,...,x'
n
),决策变量和目标变量对应的变量变异操作公式如下:
[0032]
σ

i
=σ
i
*exp(c1n(0,1)+c2c(0,1))
ꢀꢀꢀ
(8)
[0033]
x

i
=x
i


i
*c(0,1)
ꢀꢀꢀ
(9)
[0034]
其中,σ
i
为单个变量随机变异的步长(决策变量),σ

i
为中间变量,n(0,1)为标准正态分布的随机变量,c(0,1)为t=1的一个柯西随机变量;c1和c2为选择因子。
[0035]
作为优选,所述s240对part1中的父代染色体进行交叉的进化操作具体过程如下:在part1中的父代染色体中随机选择两个父代染色体,随机生成交叉位置,并根据交叉概率p
c
进行交叉操作,交叉概率p
c
表达式如下:
[0036][0037]
其中,f'为要交叉的父代染色体对应的两个适应度值中较大的适应度值,f
max
为当前进化次数及之前所有进化次数中最大的适应度值,f
avg
为当前进化次数及之前所有进化次数中种群的平均适应度值,ω为种群多样性指标,p
c1
、p
c2
、k
c
、k
m
为常数。
[0038]
作为优选,所述s240对part2中的父代染色体进行变异的进化操作具体过程如下:在part2中的父代染色体中随机选择两个个父代染色体,随机生成变异位置,并根据变异概率p
m
进行变异操作,变异概率p
m
表达式如下:
[0039][0040]
其中,f”为要变异的父代染色体对应的两个适应度值中较大的适应度值,p
m1
、p
m2
、k
m
为常数。
[0041]
融合进化算法和递归神经网络的路径规划方法,使用前述训练方法训练的得到全局最优神经网络,将移动机器人运动中实时采集的传感器数据输入全局最优神经网络,移动机器人根据全局最优神经网络的输出所走出的路线即是规划的最优路线。
[0042]
相对于现有技术,本发明至少具有如下优点:
[0043]
本发明通过对进化算法进行改进后,将其应用于对递归神经网络的训练和优化,克服了梯度下降算法的局限性,打破了网络结构和神经元类型对学习算法的限制,不仅发挥了神经网络泛化的映射能力,而且还能够使得神经网络具有很快的收敛速度和较强的学习能力。本发明具有较高的准确性、安全性和运动的效率性,根据不同场景的路径规划也具备优秀的适应能力,能够很好支持移动机器人在各种环境下完成路径规划运动。
附图说明
[0044]
图1是融合进化算法和递归神经网络的路径规划算法的流程图。
[0045]
图2是移动机器人传感器布置图。
[0046]
图3是递归神经网络模块的结构图。
具体实施方式
[0047]
下面对本发明作进一步详细说明。
[0048]
实施例:参见说明书附图1

3,一种基于进化算法的神经网络训练方法,主要包括如下步骤:
[0049]
s100:构建n个结构相同的递归神经网络,递归神经网络的结构具体如下:神经网络采用a层结构,输入层共有b个神经元,输出层具有两个输出,该神经网络共有c个连接权值。
[0050]
设有n个移动机器人,在每个移动机器人上安装如下采集结构具体如下:在移动机器人的头部安装d个目标传感器,移动机器人身体两侧分别安装相同数量的声波传感器,共计e个声波传感器,d个目标传感器和e个声波传感器分别与输入层的b个神经元一一对应,d+e=b,将d个目标传感器采集的数据和e个声波传感器的数据对应的输入b个神经元;具体实施时,a=3,b=9,c=40,d=1,e=8,n=80。
[0051]
具体的:神经网络采用三层结构,输入层的9个神经元分别对应1个目标传感器和8个声波传感器;隐含层采用3神经元,对应节点之间以及自身都有反馈连接;输出层有2个神经元分别对应移动机器人的左右两个运动驱动电机;隐含层和输出层的神经元采用双极s形函数作为激活函数,对应权值通过进化算法获取。
[0052]
所述s100中将e个声波传感器的数据输入对应的神经元之前先做如下归一化处理:
[0053][0054]
其中,x
i
表示声波传感器采集的数据,maxv为声波传感器采集的数据的最大值,minv为声波传感器采集的数据的最小值。具体的,x
i
其实是通过声波传感器得到的与障碍的距离信息,maxv为声波传感器输出的最大测量距离,minv为声波传感器输出的最小测量距离;d个目标传感器将感知到的当前位置与目标点之间角度的弧度值直接输入到对应的输入层神经元。
[0055]
s200:采用进化算法对s100中的递归神经网络进行优化,具体如下:
[0056]
s210:对n个递归神经网络进行初始化,即根据经验值对递归神经网络的连接权值赋值,并对第t个递归神经网络的c个连接权值采用实数编码后得到第k个个体,所述第k个个体作为进化算法的第一代染色体,即父代染色体,t=k=1,2

n。一个递归神经网络对应一个染色体。
[0057]
设定d个目标传感器和e个声波传感器的数据采集步长,设定最大进化次数gmax,设定适应度阈值s,设定种群数量n。
[0058]
所述s210中对第t个递归神经网络的c个连接权值采用实数编码得到第k个个体的具体过程如下:个体编码长度等于递归神经网络中连接权值的数量c,每个个体中的一个基因代表一个连接权值,每个基因用[

2 2]范围内的实数表示。具体实施时,将与同一隐含层节点相连的连接权所对应的字符串放在一起可以加强网络中隐含层节点在神经网络中的
特征抽取作用联系。
[0059]
s220:为n个移动机器人确定出发点和目标点,具体实施时,在二维坐标系中,为n个移动机器人确定出发点和目标点,将每个移动机器人中d个目标传感器采集的数据和e个声波传感器的数据输入s210中的递归神经网络输入层对应的b个神经元中,递归神经网络输出每个采集点移动机器人的线速度和角速度。
[0060]
s230:利用针对特定行为的适应性函数来确定机器人的运动情况,缩小机器人进化过程中的搜索空间,采用变量少和约束小的适应性函数作为评价函数计算n个移动机器人的适应度,具体过程如下:
[0061][0062]
f
m1
(p)=d

d
ꢀꢀꢀ
(3)
[0063][0064]
其中,d表示机器人到达目标点时得到的奖励,d表示机器人最终位置与目标点的距离,c为常数,rn表示机器人到达目标点所运行的步数,c/rn表示根据运行步数得到的奖励,如上示公式(2)所示,如果机器人没到达目标点,适应性函数的值为f
m1
(p),其值由公式(3)所得,如果其达到目标点,适应性函数的值为f
m2
(p),其值由公式(4)所得。每代机器人种群中的所有个体都从出发点开始运行,如果机器人到达目标点或者与障碍物发生碰撞或者超过最大运行步数则停止运动。
[0065]
在所述s230计算得到n个移动机器人的适应度后,再对n个适应度采用模拟退火思想进行拉伸,具体如下:
[0066]
每代种群中的个体适应度采用模拟退火思想进行拉伸,使得在进化初期适应度相近的个体产生的后代概率接近,在进化后期使适应度相近的个体适应度差异放大从而使得优秀个体的优势更加明显。拉伸方法如下所示:
[0067][0068]
其中,t=t0(0.99
g
‑1),f
i
为第i个个体的适应度,n=n为种群大小。
[0069]
s240:选出适应度最大的移动机器人所对应的递归神经网络,将该递归神经网络对应的父代染色体复制作为子代染色体z1。
[0070]
选出适应度小于适应度阈值s的移动机器人所对应的递归神经网络,这些递归神经网络对应的父代染色体丢弃。
[0071]
选出适应度大于或等于适应度阈值s的移动机器人所对应的递归神经网络,将这些递归神经网络对应的父代染色体一部分直接复制作为子代染色体z2,另一部分父代染色体分为part1和part2两个部分分别进行交叉和变异的进化操作后得到子代染色体z3;子代染色体z1,子代染色体z2和子代染色体z3的数量等于父代染色体的数量。
[0072]
采用表征种群多样性程度的指标和个体在每一代中的适应度值来自适应调整交叉概率和变异概率,既能保证在进化初期加快算法的收敛速度,避免早熟现象,又能保证种群中的优秀个体进行适当的交叉和变异。
[0073]
为了保证进化算法的变异操作有一定的幅度且能够均匀分布在整个网络结构上,采用高斯变异和柯西变异相结合的方式对神经网络中两个神经元之间的连接权进行变异操作,设某个权值矩阵对应的基因型向量x=(x1,x2,...,x
n
),经过变异后得到的新的向量组为x'=(x1',x'2,...,x'
n
),决策变量和目标变量对应的变量变异操作公式如下:
[0074]
σ

i
=σ
i
*exp(c1n(0,1)+c2c(0,1))
ꢀꢀꢀ
(8)
[0075]
x

i
=x
i


i
*c(0,1)
ꢀꢀꢀ
(9)
[0076]
其中,σ
i
为单个变量随机变异的步长(决策变量),σ

i
为中间变量,n(0,1)为标准正态分布的随机变量,c(0,1)为t=1的一个柯西随机变量;c1和c2为选择因子,在对决策变异量进行变异的过程中,在原点附近高斯分布起作用,在两翼部分柯西分布其作用。
[0077]
所述s240对part1中的父代染色体进行交叉的进化操作具体过程如下:在part1中的父代染色体中随机选择两个父代染色体,随机生成交叉位置,并根据交叉概率p
c
进行交叉操作,交叉概率p
c
表达式如下:
[0078][0079]
其中,f'为要交叉的父代染色体对应的两个适应度值中较大的适应度值,f
max
为当前进化次数及之前所有进化次数中最大的适应度值,f
avg
为当前进化次数及之前所有进化次数中种群的平均适应度值,ω为种群多样性指标,p
c1
、p
c2
、k
c
、k
m
为常数。
[0080]
所述s240对part2中的父代染色体进行变异的进化操作具体过程如下:在part2中的父代染色体中随机选择两个个父代染色体,随机生成变异位置,并根据变异概率p
m
进行变异操作,变异概率p
m
表达式如下:
[0081][0082]
其中,f”为要变异的父代染色体对应的两个适应度值中较大的适应度值,p
m1
、p
m2
、k
m
为常数。
[0083]
s250判断当前进化次数是否大于最大进化次数gmax,如果大于则执行下一步,否则将子代染色体z1,子代染色体z2和子代染色体z3作为新的父代染色体返回步骤s220;
[0084]
s300:选择每次进化中的最大适应度值对应的父代染色体,得到gmax个父代染色体,在gmax个父代染色体中选择适应度值最大一个父代染色体作为全局最优个体。
[0085]
s400:所述s300中得到的全局最优个体对应的神经网络即为全局最优神经网络。
[0086]
实施例2:一种融合进化算法和递归神经网络的路径规划方法,使用实施例1所述基于进化算法的神经网络训练方法得到全局最优神经网络,将移动机器人输入全局最优神经网络,移动机器人根据全局最优神经网络的输出所走出的路线即是规划的最优路线。
[0087]
实验分析:
[0088]
针对本发明方法,为凸显该发明的创新点,将该技术分别与传统递归神经网络和标准前馈型神经网络作比较进行对比仿真实验得到下表数据。在仿真实验中,设定机器人
的传感器设置为1个目标传感器(视觉传感器)和8个声波传感器(传感器设置如说明书附图2),设定递归神经网络结构为输入层9个神经元,隐含层3个神经元,输出层2个神经元(神经网络结构如说明书附图3);机器人工作环境为二维空间,用50x50的坐标系表示,出发点为坐标(5,5),目标点坐标为(49,49),对环境中的障碍物进行随机设置,机器人进化过程中在第75代的时候出现最佳个体,我们利用最佳个体进行路径规划仿真实验。(注:本专利设计的方法在下表中简称“进化递归神经网络方法”,对应的标准前馈型神经网络方法为“进化前馈神经网络方法”;传统递归神经网络模型参数参考选择为:神经元自反馈连接权w=0.7,神经元邻域连接权η=6,训练次数为75次;由于神经网络方法与传统a
*
算法、dijkstra算法、rrt算法等路径规划算法的原理不同,所以没有进行相关对比实验。)
[0089]
表1
[0090][0091]
表2
[0092][0093]
由上述两表我们可以得知:虽然三种方法都能够通过训练到达目标点,但是还是存在一定差距。在表1中,进化递归神经网络方法与传统递归神经网络方法进行对比发现,其路径步数更少,原因在于传统递归神经网络本质上是利用梯度下降算法,存在训练方法形式复杂,收敛速度慢的特点,而进化递归神经网络方法优化了这方面的缺陷;在表2中,进化递归神经网络方法与进化前馈神经网络方法进行对比发现,其路径步数更少,原因在于前馈神经网络控制器没有存储过去信息的能力,在避障过程中产生了运动震荡行为,而进化递归神经网络方法不存在这方面的缺陷。
[0094]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1