APP下载

基于LSTM的稳定平台振动分析

2023-01-09何海龙顾振海卢珊珊

火控雷达技术 2022年4期
关键词:幅值神经网络误差

张 博 何海龙 顾振海 卢珊珊

(西安电子工程研究所 西安 710100)

0 引言

稳定平台的应用面非常广泛。不仅车载跟踪武器上用到,飞机吊舱也有涉及[1],而且是船上跟踪系统不可缺少的组成部分。主要的干扰因素有在陆地上行驶受到的路面颠簸、空中飞行受到的气流和飞行器振动以及海上风浪引起的摇摆。稳定平台可以通过获取传感器采集的干扰信息,完成自身姿态解算,抵消掉控制带宽允许的干扰,实现在干扰条件下,平台保持相对稳定,为跟踪系统提供平稳的跟踪环境。随着传感器和控制技术不断发展,稳定平台的抗干扰能力也在不断提高。由于平台干扰通常是无规则的振动干扰,很难对其采用传统建模分析。随着人工智能领域深度学习技术的发展,神经网络已经可以通过大量数据训练捕捉无规则数据的潜在规律,在很多领域都实现了复杂信号的模拟建模。本文通过采用长短时记忆网络算法(Long Short Term Memory Network,LSTM)[2]对虚拟振动数据进行深度学习,实现对新数据的预测,预测量可以作为稳定平台的控制前馈,进而提高稳定平台的控制精度。

1 深度学习

在人工智能领域中,深度学习一直是备受关注的热点话题。因为在过去几年中很多事件都与它相关,比如用谷歌大脑[3](Google Brain)完成的猫脸识别、Alphago[4]在围棋比赛中胜过李世石。深度学习算法确实在很多方面超越了传统机器学习算法。

在深度学习的影响下,诞生了越来越多的计算支持或者框架,如Nivdia的cuda[5]、cuDnn,Google的tensorflow[6],Facebook的torch和微软的PipeDream等等。

深度学习的实现过程通常是使用神经元搭建神经网络,合理规划的神经网络拓扑结构,在经过大量数据训练后,可以很好地记录下数据输入和输出的潜在关系。训练好的神经网络可以依据记录下的输入和输出关系计算出给定输入的对应输出。

当不同信号输入到神经网络时,为了得到指定输出,会通过误差反向传播来自适应修改神经网络各单元的权值,以到达下次输入信号再给定时,可以得到离指定输出更靠近的值。经过大量数据训练后的神经网络,由于权值(或者参数)已经可以满足训练集的输入都可以正确得到期望输出,所以当新的不在训练集的数据信号输入时,可以按照训练数据的规律得到对应的输出。如果新数据输入和输出的关系跟训练数据集类似,那神经网络的输出将非常接近输出值,因此神经网络也被认为是一个万能模型,可以反应很多复杂的数据内在关系。

2 RNN算法

RNN(Recurrent neural network,循环神经网络)[7]主要用于处理有先后关系的序列数据。因为在传统的神经网络中,信息正向传播通过输入层、隐含层,最后由输出层输出,层与层之间都是全连接的,且每层之间的节点是没有连接关系的。这种普通的神经网络无法用来处理一些有先后关系的序列信息。例如,在机器翻译应用中,同样几个词,用不同顺序排列会表示不同的意思。但是如果使用这几个词作为输入元素,用普通神经网络去训练,不管这几个词的顺序如何变化,输出都不会变。也就无法翻译出这几个词合成句子的真实含义。而RNN算法每处理一个输入信息,都会考虑前一个输入信息的状态记忆,经过综合处理后,得到一个输出信息,即隐藏层之间的节点之间建立了先后连接。理论上,RNN能够对任何长度的序列数据进行处理。

这种包含输入层、隐藏层和输出层的结构已经被证实可以等效表示更多层的网络结构,所以图1中的神经网络中只有三层结构。可以明显看到图1中循环神经网络模型的隐藏层比传统神经网络模型的隐藏层多出了一个环形结构。这个环形表示RNN隐藏层的输入不仅有输入层进来的信息,而且包括之前隐藏层输出的信息。通过两方面的信息进行权值调整,就对前后两组数据进行了关联,从而反应了带有先后顺序的数据之间的关系。

图1 循环神经网络结构

RNN算法原理图如图2所示。传统神经网络的隐藏层输出可用公式(1)表示,偏置参数bi可以看成xn的一个特殊情况,通常被放到xn考虑。所以公式(1)的矩阵形式如公式(2)所示。

图2 循环神经网络原理图

(1)

S=f(WinX)

(2)

St=f(WinX+WSSt-1)

(3)

公式(2)中S表示隐藏层的输出状态,其中St是当前LSTM单元的输出状态,St-1表示上一个LSTM单元的输出状态,Win是隐藏层的权值序列,X表示上一级输入层的输出,作为隐藏层的输入。对比RNN的矩阵表达式(3),RNN多出了一个WsSt-1,使得隐藏层的输出跟上一个单元的隐藏层输出建立了关联,假设输入序列的每个输入元素对应一个LSTM单元,通过这种隐藏层关联就对序列每个元素的顺序进行了联系,可以更好地体现数据序列的先后顺序差别。

RNN解决较短的数据序列问题非常有效。但是当数据序列过长时,会出现梯度消失等现象。因此在RNN的基础上诞生了LSTM算法。

3 LSTM算法

LSTM(Long Short-Term Memory,长短时记忆结构)由Sepp Hochreiter和Jurgen Schmidhuber两人在1997年提出,并在后续工作中被许多人提炼和推广,在很多问题上都有非常出色的表现,被广泛使用。

图3和图4分别表示RNN网络和LSTM网络的一个单元的运算过程。图3中的三个方框对应t-1、t、t+1三个相邻的RNN单元。X表示输入,h表示输出,可以看到这些单元的输入信息都有两个,一个是x输入,一个是上一单元的h输出量。对于图4中的LSTM单元,每一个单元的输入信息有三个,除了x输入量和上一单元的h输出量外,还多了一个状态输出量(可以用C来表示)。对比图3和图4还可以看到RNN单元内部只有一个触发(这里是tanh触发[8]),而LSTM单元中除了一个触发外,还有很多阈值处理。这种处理被分为三部分:遗忘门、输入门、输出门。

图3 RNN单元运算过程

图4 LSTM单元运算过程

ft=σ(Wf·[ht-1,xt]+bf)

(4)

LSTM的遗忘门示意图如图5所示。其中方框中的σ表示sigmoid函数处理。遗忘门的功能是决定哪些输入信息应丢弃或者保留。来自前一单元的h输出和当前x输入的信息同时作为sigmoid函数的输入量,输出值介于0和1之间,如公式(4)所示,越接近0意味着越应该丢弃,越接近1意味着越应该保留。

图5 LSTM的遗忘门示意图

(5)

LSTM的输入门示意图如图6所示。输入门的功能是决定哪些输入信息应该保存到单元中作为单元状态C。如公式5所示输入门由两部分组成,第一部分是经过sigmoid函数输出的0~1之间的值(可以看成是阈值)。第二部分是上一单元的h输出和本单元的x输入经过tanh触发的主要包含当前信息的候选值向量。最后将两部分的输出值相乘,可以看到sigmoid函数的输出阈值,决定了候选向量中哪些信息是重要且需要保留下来的。

图6 LSTM的输入门示意图

(6)

图7 LSTM的单元状态示意图

(7)

LSTM的输出门示意图如图8所示。输出门同样有一个sigmoid函数的输出阈值,通过和单元状态Ct的tanh触发输出相乘的到了最终输出ht。

图8 LSTM的输出门示意图

在RNN的基础上LSTM对数据进行了有筛选的记忆,通过遗忘门、输入门和输出门的阈值变化决定了信息遗忘、更新、传递的比例。从而可以适应长数据信息的深度学习。

4 稳定平台振动分析

4.1 固定周期曲线测试

稳定平台遇到的振动干扰通常是没有固定周期,幅值不确定的。但是在模拟平台振动干扰时通常使用正弦曲线来测试。这里可以先用一个正弦曲线测试一下LSTM算法。输入为如图9所示的正弦信号,以每连续5个点的值作为输入,来预测第6个点的值。

图9 测试用数据

整个训练过程是随机从图9曲线中取出连续的6个值(前5个作为输入,第6个作为输出),一共取600组作为训练数据集。再在剩下的数据中随机取300组作为验证结果的测试数据集(根据前5个数算出第6个数的估计值,得到估计值与真值的误差)。这里采用有6个单元的LSTM网络作为模型网络。当经过600组训练数据经过72次迭代,1000次训练周期后,得到的训练误差和输出误差如图10所示。可见测试误差和训练误差都接近于0,而且两条曲线几乎重合。表明LSTM网络的权值参数已经充分训练,具备通过前5个时刻的曲线数据来预测下一个时刻曲线数据的能力。

图10 训练误差与输出误差

图11中实线代表LSTM模型预测的数据,虚线代表输入的连续5个时刻的数据。可以看到在同一时刻,预测数据在上升和下降过程中都优先于5个输入数据,并且趋势和输入曲线保持一致。

图11 预测的曲线数据

经过训练的LSTM模型参数可以移植到FPGA搭建的相同模型中,以实现相同的预测功能。

4.2 变化周期测试

稳定平台振动干扰的周期是不固定的,但是可以通过自身姿态调解抵消的只有部分周期的干扰。这里模拟周期变化的正弦曲线进行LSTM模型输入,来实现对随机周期曲线的预测。

用多周期拼接出的测试数据如图12所示,用同样的6个单元的LSTM网络作为模型。训练后的误差如图13所示。

图12 测试用多周期数据

图13和图10相比测试误差出现了波动,可见当周期随机时,预测结果出现了明显误差,但是都在0.03°以内。取随机一个周期测试模型的结果如图14所示。

图13 随机周期误差

图14 随机周期波形预测

4.3 变化幅值测试

当为了提高本文LSTM对变幅值正弦曲线的适用性,在随机周期的训练参数的基础上随机改变幅值,得到如图15所示的训练数据。

图15 测试用多周期随机幅值数据

对于频率随机和幅值随机的波效预测,之前的6个LSTM单元已经无法达到要求了,只能把单元数增加到12个最后得到了比较好的预测结果。预测误差和预测结果分别如图16和图17所示。

图16 随机周期随机幅值误差

图17 随机周期随机幅值波形预测

从测试结果上看12个LSTM单元组成的网络已经可以很好地预测随机频率随机幅值的曲线,且预测误差都能达到0.3mil以内。

对于随机正弦曲线,如果已知曲线频率和曲线幅值,是可以直接用上一时刻的值计算出下一时刻的值的。所以LSTM网络的关键其实是得到曲线频率和幅值特征。如果使用两组LSTM分别对输入曲线进行幅频特征的提取,就可以计算出下一时刻的值。由于LSTM网络提取频率和幅度信息相对于提取整个曲线规律信息要容易,所以可以用更少的LSTM单元数实现对随机正弦曲线的预测。

但是对于稳定平台的实际振动情况,需要用实际数据来实现对LSTM网络模型的训练,只要训练数据具备实际情况的各种特征,合理规划网络结构是可以实现对随机振动的预测功能的。

5 结束语

本文测试了用LSTM单元组成的模型可以实现对随机周期随机幅值的曲线值预测。虽然训练时间很长,但是单次正向传播时间很短,可以满足实时解算要求。在实际使用中可搭建相同的模型,并将训练好的参数写入,以实现功能。

在LSTM的基础上又衍生出了新的GRU(Gate Recurrent Unit,循环门单元)算法[9],运算量相对少一些,考虑到硬件的计算能力和时间成本,也可以考虑GRU算法来实现对稳定平台控制的前馈预测。

猜你喜欢

幅值神经网络误差
室温下7050铝合金循环变形研究
多尺度串联非线性能量阱的减振效能及阻尼连接方式研究
基于递归模糊神经网络的风电平滑控制策略
角接触球轴承接触角误差控制
Beidou, le système de navigation par satellite compatible et interopérable
神经网络抑制无线通信干扰探究
压力容器制造误差探究
基于神经网络的中小学生情感分析
基于S变换的交流电网幅值检测系统计算机仿真研究
Prevention of aspiration of gastric contents during attempt in tracheal intubation in the semi-lateral and lateral positions