基于循环神经网络的双轴打捆机智能换挡策略研究
2020-04-14叶凯强时培成
叶凯强,高 洪,时培成
(安徽工程大学 机械与汽车工程学院,安徽 芜湖 241000)
目前,机器学习在农业机械智能化、无人驾驶、智慧农业等领域开始得到应用。与双轴打捆机匹配的自动变速箱技术国产化是业内公认的难点,也正在成为研究热点。近年来,随着人工智能技术的发展,将机器学习与自动变速箱换挡控制[1-2]相结合的研究正逐步兴起。一般来说,对于升降挡的选择,主要是基于优秀驾驶员的操作经验以及相关专家的知识凝练出的换挡规律[3-8]。王卓[9-12]等研究了二参数神经网络换挡策略,提高了换挡的智能性,但是为了准确判断车辆所处加速/减速状态,需要构建两个神经网络,以满足不同的换挡速度阈值,其适应性有进一步改善的必要。梁玲、陈清洪[9,12-15]等选用了BP神经网络实现换挡决策,初步实现了智能换挡。刘江涛、陈宁[11,16]等选用了RBF实现换挡决策,可以避免神经网络陷入局部最优,进一步优化了换挡决策模型。张小虎、陈刚[10,17]等选用了模糊神经网络实现换挡决策,进一步提高了网络的自适应性。但是他们选用的神经网络不带反馈连接,意味着其网络模型没有联想记忆的能力,且无法将当前时刻的数据与之前时刻的数据联系起来,忽视了前后数据之间的内在联系,致使系统存在鲁棒性不足的弱点。
而循环神经网络[18]在处理序列数据时具有独特的优势,可以将之前时刻的数据间接地作用到当前时刻的神经网络,可获取更精确的挡位预测。将循环神经网络训练并加入到换挡决策过程中,可进一步提高自动变速器智能换挡决策的鲁棒性与精度。
1 循环神经网络
1.1 循环神经网络架构
选择匹配某型号双轴打捆机的8档变速箱为研究对象,将相对喷油量(当前喷油量与最大喷油量的比值)和当前车速作为循环神经网络的输入,故输入层格式为2×1,再设定每次取当前时刻及其前两个时刻的数据作为输入数据共同代入到网络中预测结果。又由于挡位选择属于分类问题,故输出层的神经元节点个数为输出向量的标签(种类),即车辆挡位的个数,故输出层神经元节点个数等于8。Kolmogorov定理表明,隐含层(在循环神经网络中即循环层)结点数p=2n+1=2×2+1=5(n为输入层结点数),故循环神经网络结构为:3×2的输入层,5×1的循环层,8×1的输出层。
1.2 循环神经网络训练算法:BPTT
(1)前向计算。循环神经网络循环层和输出层的计算公式[18]为:
st=f(Uxt+Wst-1),
(1)
ot=g(Vst),
(2)
式中,f为循环层的激活函数;st表示循环层在t时刻的输出,为5×1的矩阵,5为循环层神经元节点个数;xt为输入层在t时刻的输入,为2×1的矩阵;st-1表示循环层在t-1时刻的输出,为5×1的矩阵;U表示输入层到循环层的权值矩阵,为5×2的矩阵;W表示循环层在t-1时刻的输出到t时刻循环层的权值矩阵,为5×5的矩阵;ot表示输出层在t时刻的输出,即选择不同挡位的概率;g是循环层的激活函数;V表示循环层到输出层的权值矩阵,为1×5的矩阵。
现将神经元在t时刻的加权输入定义为nett,其表达式为:
nett=Uxt+Wst-1,
(3)
因此,循环层在t-1时刻的输出还可以表示为:
st-1=f(nett-1),
(4)
据此,基于链式求导法则得到nett关于nett-1的偏导:
(5)
其中,
(6)
diag[f′(nett-1)],
(7)
(8)
(9)
此外,由式(3)可知,循环层在t时刻的加权输入nett对输入层在t时刻的输出xt的偏导为:
(10)
因此,上一层的误差项的转置为:
(11)
式(11)为将误差项传递到上一层的算法。
(12)
式中,wj,i表示t-1时刻循环层第i个神经元的输出到t时刻循环层第j个神经元的权值。由此可得权值矩阵在t时刻的梯度。
1.3 权值修正
在选择优化算法时,由于最速下降法(SGD)具有自动逃离鞍点、自动逃离较差的局部最优点这些优良性质,故选择随机最速下降法(SGD)作为优化算法。
权值修正的表达式为:
(13)
(14)
式中,m为batch_size,即训练样本训练网络时每次进入网络的批次大小;w为权值;E为损失函数;f(x(i);W)为预测输出;y(i)为实际输出;η为学习速率。
1.4 训练数据预处理
由于循环神经网络对数据非常敏感且输入数据与期望输出量纲不同,故需要先对数据进行归一化处理,归一化公式如下:
(15)
式中,x′为归一化处理后的数据;x为待归一化处理的数据;xmin为数据所在列里最小的数据;xmax为数据所在列里最大的数据。
2 基于循环神经网络的自动换挡策略实现
2.1 编程思路
考虑双轴打捆机车速与相对喷油量二参数换挡的情况,且为更好地兼顾双轴打捆机的动力型与经济型,结合前述“循环神经网络”理论模型,给出基于循环神经网络的智能换挡程序实现流程图如图1所示。由图1可知,首先基于Matlab构建换挡逻辑的Stateflow模型,用来确定升降挡的临界速度V与相对喷油量α,并将换挡临界值之间的数据填充完整以作为输入数据与期望输出。由于输入数据与期望输出的量纲不同且循环神经网络对数据较敏感,故将数据作归一化处理作为训练样本。然后根据训练样本中输入数据与期望输出的特征值确定输入层与输出层神经元节点个数,根据经验公式确定循环层神经元节点个数。再为神经网络选择合适的损失函数与优化器。此时,神经网络结构已被确定,将训练样本输入待训练神经网络,得到循环层输出St和理论输出Ot,并与实际输出比较、计算得到损失函数与误差项,再以此修改神经网络中各层之间的权值矩阵。最后,当训练次数达到最大时停止训练神经网络。完成训练后即可用于自动换挡控制。
图1 循环神经网络流程图 图2 挡位变换图及挡位变换逻辑图
2.2 换挡逻辑Stateflow建立
Stateflow模块可以实现变速器的挡位选择如图2所示。利用Model Explorer将输入定义为相对喷油量与车辆速度,将输出定义为所需的挡位数。Selection_state(始终处于活动状态)通过执行其during函数所示的计算来开始。该模型根据挡位和相对喷油量的瞬时值计算升降挡速度阈值。在处于steady_state时,模型将这些值和当前车速对比以确定是否需要换挡。若车速不满足换挡条件,处于确定状态时,模型将忽略换挡并移回steady_state以防止外部噪音导致的换挡。
某型号双轴打捆机车型基本参数如表1所示,升降挡阈值如表2、表3所示。
表1 车型匹配
基本参数数值功率230马力发动机转速500^1990r/min1挡传动比0.6672挡传动比13挡传动比1.45基本参数数值4挡传动比25挡传动比2.666挡传动比3.27挡传动比3.68挡传动比4
表2 不同相对喷油量及速度下升挡速度阈值(单位:km/h)
表3 不同相对喷油量及速度下降挡速度阈值(单位:km/h)
2.3 循环神经网络训练
待数据归一化完成后,在Jupyter中导入所需的库[19],并根据架构设置所需的超参数和神经网络,待数据被代入到神经网络后,会按照上文中提到的算法对神经网络中的权值进行训练,通过损失函数计算得到损失值,使其满足需求。最后,给出损失值随迭代周期变化的图像,如图3所示。损失值最终小于0.05,可以满足使用精度。
图3 损失值随迭代周期变化图像
2.4 仿真与对比
循环神经网络和BP神经网络结构图如图4所示,显然,BP神经网络处理时序数据时无法利用之前时刻的数据,导致在处理时序数据时和循环神经网络相比适应性不足。
图4 循环神经网络与BP神经网络
为了突出循环神经网络在处理序列数据上更有优势[20],现设计一个BP神经网络作为对照组。该BP神经网络使用和RNN相同的循环层、输出层的神经元节点个数,且输出层选用和RNN相同的激活函数,并使用相同的损失函数。最终,两种神经网络精度随迭代周期的变化图像如图5所示。由图5可知,BP神经网络在训练3 000次以后精度几乎未发生波动,且稳定在82%附近,达不到使用精度,可见BP神经网络在处理二参数换挡时存在局限性。而循环神经网络经过训练时精度会随迭代周期缓慢增长最终达到90%以上,可满足使用要求。
图5 循环神经网络与BP神经网络的精度对比
将相对喷油量等于50%,车速从20 km/h加速到34 km/h再降到20 km/h的数据作为测试样本输入到训练好的神经网络中,两种神经网络的预测挡位和实际挡位如图6所示。由图6可知,一方面,在同一相对喷油量与车速下,降挡时所在挡位均比升挡时高,这与给定的数据结论一致,即实现了仅通过相对喷油量与车速判断出汽车处于升挡/降挡哪种状态下,实现了二参数下高精度换挡;另一方面,仿真结果也表明在处理汽车自动变速器挡位选择这类问题时,循环神经网络和BP神经网络相比有着更高的预测精度。
图6 挡位预测图
3 结论
循环神经网络只需要得到相对喷油量与车速的实时数据即可判断出汽车处于加速/减速状态并得出相应的挡位,克服了传统二参数神经网络换挡的不足。
由BP神经网络和循环神经网络训练结果对比可知,循环神经网络训练后的精度达到了90%以上,远高于BP神经网络的82%,且由挡位仿真预测结果表明,循环神经网络在处理车辆状态的相关数据(时序数据)时较BP神经网络有着更高的预测精度,即循环神经网络应用到自动变速器换挡上时有着极佳的适应性。