一种记忆可修剪型仿生机器人的速度跟踪算法研究

任红格+刘伟民+李福进
摘 要: 针对强化学习算法训练网络规模较大、运行时间较长、过度拟合等问题,提出一种记忆可修剪型强化学习仿生模型(H?RLM)作为两轮机器人的学习机制。该算法将神经网络输出与期望输出的最小均方差作为代价函数,采用Hessian矩阵和Markov相结合的决策进行寻优,选择最大评价值对应的最优行为。这样既可以保证初期网络学习训练内容的完整性,又降低了系统对初始条件的约束性,提高了控制算法的泛化能力。利用H?RLM和强化算法对两轮机器人进行速度跟踪实验,结果表明,H?RLM算法能够提高网络学习效率、消除延迟影响、减小输出误差,获得了良好的动态性能。
关键词: 强化学习; 可修剪仿生模型; Hessian矩阵; 两轮机器人
中图分类号: TN911?34;TP391.4 文献标识码: A 文章编号: 1004?373X(2017)15?0141?05
Abstract: Since the reinforcement learning algorithm has the problems of large scale, long running time and over fitting for network training, a pruning reinforcement learning model (H?RLM) taken as the learning mechanism of the two?wheeled robot is proposed. The output of neural network and least mean square error of expected output are deem as the cost function of the algorithm. The Hessian matrix and Markov decision model are combined to select the optimal behavior corresponding to the maximum evaluation value, which can ensure the integrity of the training content of the network learning in initial period, and reduce the system contraints for initial conditions, and improve the generalization ability of the control algorithm. The speed tracking experiments were carried on by means of H?RLM algorithm and reinforcement learning algorithm. The experimental results show that the H?RLM algorithm can improve the network learning efficiency, eliminate the delay effect, reduce the output error, and obtain better dynamic performance.
Keywords: reinforcement learning; pruning bionic model; Hessian matrix; two?wheeled robot
0 引 言
仿生的思想就是使机器具有像人一样的学习能力,在没有人为参与的情况下,机器人能够自主完成任务来适应未知环境,其自主学习能力的强弱是十分关键的。强化学习是一种基于“感知?行动”的学习过程,待训练系统感知外界环境状态,选取某一策略作用于环境,环境接受该动作后状态发生变化,同时给出一个激励信号(奖励/惩罚)给强化学习系统,其系统根据强化信号和环境的当前状态再选择下一个动作,选择的原则是使受到奖励的概率增大[1?3]。强化学习其优秀的自适应调节性能在自动化技术、智能控制、分析预测等领域得到了广泛的应用,但其网络规模过大、网络结构复杂和高度结构化造成的过拟合、泛化能力低等现象越来越引起研究人员的注意。
国内外研究人员希望在保持良好性能的同时使网络的规模最小化,通过选择有序的方式削弱或者消除某些突触权值来修剪多层感知器,既可以提高系统的降噪能力,又减少网络训练时间,增强系统网络的泛化能力[4?5]。修剪算法?最优脑外科过程算法(OBS)对神经元网络连接权值进行修剪[6]。文献[7]利用修剪技术与参数调整使动态模糊神经网络具有强大的泛化能力,快速的学习速度,紧凑的系统结构。文献[8]实现控制系统参数的自整定和消除控制系统的延迟,利用随机产生数组的方法减少强化学习偏差的过渡时间和增强系统的寻优能力。文献[9]将扩展信息滤波和“生长?修剪”训练基函数神经网络,获得了紧凑的网络拓扑结构,提高了在实际工程中复杂非线性问题的泛化能力,降低了预测误差。文献[10]将PWG技术(Pruning?While?Growing)应用到多输入欧拉多项式神经网络,使其选择隐层和输出层最佳的连接权重,并优化隐层神经元数目和层数,提高了系统的预测精度和实时性。
本文针对强化学习算法训练神经网络结构存在冗余、过拟合、泛化能力差等现象,提出一种记忆可修剪型强化学习仿生模型(H?RLM),作为两轮机器人的学习机制。利用误差曲面的二次导数信息得到网络复杂度和训练误差性能之间的折中方案。H?RLM算法根据神经元输出最小均方差对强化学习网络结构进行修剪,仿真结果表明,该模型有效地提高了两轮机器人的学习效率,修剪后的网络处理信息能力强,获得了较稳定的动态平衡过程。表明该认知模型的自学习动态变化特性,并生动地模拟了记忆遗忘的认知过程。
1 两轮机器人系统结构及动力学模型
两轮机器人是一类结构性能较为复杂的移动式机器人,以经典的移动倒立摆模型为基础进行设计,其构造有两个轮子,每个轮子由直流电机直接驱动,并以电机轴心线为中心前后运动。其结构如图1所示。
本文采用与文献[11]相同的动力学模型,模型建立及推导过程参见文献[11]。采用Lagrange方法对两轮自平衡机器人进行系统动力学建模,其数学表达式为:
式中:系统的3个广义坐标为左轮角速度右轮角速度摆杆角度广义坐标下的系统广义力为左轮转矩、右轮转矩,车体作用在轴的转矩。
根据以上动力学方程可以得到MIMO非线性动力学模型。在条件下,,动力学方程选择状态变量控制量分别代表左右两轮的角速度,机器人摆杆速度和角度。得到系统的状态方程:
2 记忆可修剪型神经网络模型设计
神经网络规模过大造成其存储量和计算量也会加大,通过改变Hessian矩阵,Hessian矩阵的逆矩阵为从一个多层感知器中修剪(即删除)不重要的突触权值提供基础,得到简洁有效的网络结构,修剪后的网络处理信息能力强,初始条件的要求低,学习效率也很高。在线调整网络权值,提高了网络的最终性能,有效地解决了过拟合和泛化能力差的问题。
2.1 Hessian矩阵的神经网络修剪
记忆可修剪型优化算法主要利用误差曲面的二次导数信息得到网络复杂度和训练误差性能之间的折中方案。利用Hessian矩阵有利于构造误差曲面的一个局部模型,并且能够解析预测突触权值的扰动造成的影响。构造这样一个模型结构的出发点是在运行点附近使用泰勒级数给出能量函数的局部逼近,描述如下:
为了寻找权值最优值并且使多层感知器代价函数的值增长最小,其局部最小和全局最小周围的误差曲线是近似二次的,分别利用极值逼近和二次逼近方法,梯度向量可以置为零,忽略式(1)右侧的项,代价函数简单近似为:
式中:是Hessian矩阵的逆,是第个元素;称为连接权值的综合性。在上述权值修剪过程中,删除最小特征值所对应的权值,其他特征值的权值通过式(10)修正。如果第个突触权值被去除,對进行优化得到的Lagrange算子,称为的显著性。如果显著性远小于均方差,神经网络自动剔除该神经元感知器。当神经网络误差均差值没有太大的变化时停止修剪作用。
2.2 记忆可修剪型仿生控制器决策过程
强化学习是一种试探学习方式,是人类开放式认知发育至关重要的机制,没有外界明显的教师信号给予引导指令,只能通过与周围环境的交互得到奖励或惩罚信号来学习和执行之后的动作,能通过自身神经网络的在线学习有效地实现对具有离散时间和连续空间任务的控制,既可以增强网络处理动态信息的能力,又能自适应地修剪网络训练权值,使其更适合复杂系统的稳定控制。基于以上优点,设计了一种记忆可修剪型仿生模型(H?RLM),如图2所示。把仿生学习系统的性能指标用评价指标来表示。通过对奖励惩罚信号的学习,使控制器的取向函数值最大,从而获得系统的最优控制动作。
H?RLM仿生模型训练网络由评价神经网络(CNN)和动作神经网络(ANN)两部分组成。CNN利用时间差分(TD)方法对评价函数进行近似,将状态映射为期望的价值,直接从外界环境中获取评价性反馈信号,同时用ANN的取向函数来评价当前动作的好坏。ANN利用评价函数来实现行为决策的优化,使其得到“奖励”的发生概率增大,并且将状态映射到动作行为上,构成仿生伺服机构。
利用Markov决策模型模拟机器人和外界环境的相互作用,考虑一个有限的随机过程,环境状态环境状态由转移到的转移概率可以表示为:
3 仿真实验设计及结果分析
以两轮自平衡机器人在未知环境中通过自主学习达到运动平衡作为控制目标,采用基于“CNN/ANN”架构结构的H?RLM强化学习方式,CNN和ANN采用BP递归神经网络分别实现系统状态量映射实际动作、系统状态及控制量评价机器人的运行状态,利用Hessian和Markov相结合的决策策略评价训练效果,产生“奖励/惩罚”信号来校正反馈当前状态。CNN采用网络结构,以自平衡机器人的4个状态和ANN的电压输出作为输入,输出则是评价函数,ANN采用网络结构,同样以自平衡机器人的4个状态作为网络的输入,输出则是左右车轮电机的控制量。设定评价信号“奖励/惩罚”信号0代表“奖励”信号,-1代表“惩罚”信号:
本文算法流程如下:
Step1:初始化CNN和ANN网络的权值,设定其权值的绝对值小于1之间的随机数,并设定次数为0;
Step2:初始化自平衡两轮机器人的状态变量,设定其为有效范围的随机数,并设定运行步数为0;
Step3:根据输入状态量判断速度补偿,经过ANN训练学习计算新的控制量;
Step4:对更新的状态变量和控制量通过CNN训练学习,计算出更新的评价函数;
Step5:修正CNN和ANN的连接权值,计算多层感知器的最小均方误差,利用递归条件计算Hessian矩阵的逆寻找相应的最小显著性的,判断显著性如果远小于均方差,神经网络将自动剔除该神经元,并执行Step7,否则执行Step6;
Step6:利用式(9)调整训练神经网络权值,执行Step3;
Step7:判断训练网络权值均方误差没有太大的增加时停止网络权值修剪,利用BP神经网络训练调整权值;
Step8:判断是否满足设定条件,结束CNN和ANN循环学习。
为了验证H?RLM仿生模型训练网络学习机制的有效性,对自平衡两轮机器人进行仿真分析,设定网络训练折扣因子采样时间为0.01 s。仿真实验中,神经网络分别控制两轮机器人的摆杆角速度、自身倾角、左右轮速度。将控制量作为状态变量输入到神经网络的输入层,通过隐含层神经元综合性分析,对神经元进行记忆修剪。首先,利用强化学习算法对机器人在没有干扰的未知环境下进行仿真实验。由图3的仿真结果可以看出,系统经过不断的学习,平均需要经历50次失败试探后就可以自主控制其运动平衡了,而向平衡过渡的过程大致经历了400步,即4 s的过渡时间,稳态过度时间较短,充分地表现出强化学习的自主学习能力。
图4利用本文提出的H?RLM模型作为两轮机器人的学习机制,分析图4可得平均需要经历30次失败试探后,机器人就达到动态平衡状态,平衡过渡的过程大致经历了200步,即2 s的过渡时间,稳态过度时间比强化学习缩短了一倍,充分体现了H?RLM模型的有效性和实用性。
图5表示两轮机器人学习系统的评价函数值和训练过程中相邻评价函数值的误差变化,评价函数值表示ANN所选择的行为使两轮机器人获得的速度补偿达到最大值,且其值接近于零。误差变化曲线表示CNN近似逼近评价函数,时间差分变化最小,且其值接近于零。由以上仿真实验得出:基于H?RLM仿生模型,在系统学习过程中保留了强化学习自主学习能力和系统的鲁棒性,又有效地修剪了神经网络权值,提高了系统学习效率和系统的泛化能力。
4 结 论
根据最优脑外科(OBS)理论,训练网络权值向量增长变化较小且接近零时,可以将该突触权值置为零,对系统网络训练学习不仅不会造成明显影响,而且有效地使网络规模最小化,降低了学习训练数据掺杂的噪音,提高了系统数据的泛化能力。本文将网络修剪和强化学习有效的结合在一起,提出将一种记忆可修剪型强化学习仿生模型(H?RLM)作为两轮机器人的学习机制。通过神经网络权值的记忆和调整,使机器人在未知外界环境中能够快速的自主学习,逐渐发育形成完善的动态平衡机制,并且有效地解决网络结构庞大,泛化能力差,自适应能力差的问题,达到了预期控制目标,实现了两轮机器人的运动平衡控制和速度跟踪,具有较强的自主学习能力和鲁棒性能,有较高的理论研究和工程应用價值。
参考文献
[1] WIERING M, OTTERLO M V. Reinforcement learning state of the art [M]. Berlin: Springer?Verlag, 2012: 325?331.
[2] KOHL N, MIIKKULAINEN R. An integrated neuroevolutionary approach to reactive control and high level strategy [J]. IEEE transactions on evolutionary computation, 2012, 16(4): 472?488.
[3] VIEN N A, ERTEL W, CHUNG T C. Learning via human feedback in continuous state and action spaces [J]. Applied intelligence, 2013, 39(2): 267?278.
[4] HSU C F. Adaptive growing?and?pruning neural network control for a linear piezoelectric ceramic motor [J]. Engineering applications of artificial intelligence, 2008, 21(8): 1153?1163.
[5] AHMED S U, AHJAHAN M, RASE K. A Lempel?Ziv complexity?based neural network pruning algorithm [J]. International journal of neural systems, 2011, 21(5): 427?441.
[6] ERDOGMUS D, PRINCIPE J C. An error?entropy minimization algorithm for supervised training of nonlinear adaptive systems [J]. IEEE transactions on signal processing, 2002, 50(7): 1780?1786.
[7] 马莉,樊友平,钟勇,等.修剪技术与参数调整的动态模糊神经网络设计[J].系统仿真学报,2010,22(7):1646?1650.
[8] 高瑞娟,吴梅.基于改进强化学习的PID参数整定原理及应用[J].现代电子技术,2014,37(4):1?4.
[9] THOMAS P, SUHNER M C. A new multilayer perceptron pru?ning algorithm for classification and regression applications [J]. Neural processing letters, 2015, 42(2): 437?458.
[10] ZHANG Y N, WANG Y, LI W B. WASD algorithm with pruning?while?growing and twice?pruning techniques for multi?input Euler polynomial neural network [J]. International journal of artificial intelligence, 2016, 25(2): 46?78.
[11] 任红格,霍美杰,李福进,等.两轮自平衡机器人速度跟踪研究[J].计算机仿真,2015,32(4):325?329.