基于自注意力和格轨迹分片线性近似的非线性滤波方法
- 国知局
- 2024-09-11 14:55:29
本发明涉及基于自注意力和格轨迹分片线性近似的非线性滤波方法,属于滤波。
背景技术:
1、在现代控制理论的框架下,控制系统的状态变量有时不能被直接测量或是受到噪声影响,因此状态估计成为控制系统设计的重要部分,其中卡尔曼滤波器和扩展卡尔曼滤波器得到广泛应用。然而在实际应用中,这些基于模型的滤波器的性能很大程度上取决于系统模型和噪声参数的准确性,一旦这些参数没有被正确的设置,卡尔曼滤波器的准确性会大幅下降。
2、为了解决上述问题,许多学者通过结合数据驱动的方法来改善卡尔曼滤波,主要分为外部结合和内部嵌套两种类别。外部结合这一类别主要利用神经网络对系统参数进行辨识或是与卡尔曼滤波器进行融合滤波,神经网络与卡尔曼滤波器相对独立。现有技术中,譬如,gao等人提出了一种自适应卡尔曼滤波导航算法,通过强化学习自适应地估计过程噪声协方差矩阵,提高了导航的鲁棒性和准确性。又譬如,tian等人提出了一种基于深度神经网络的电池状态估计方法,其中深度神经网络的输出和安时计数方法的输出通过线性卡尔曼滤波器进行结合,这种方法使得电池状态估计更加准确迅速。内部嵌套这一类别主要将神经网络嵌入到卡尔曼滤波框架中,神经网络被用于替代传统卡尔曼滤波中的某一部分,神经网络与卡尔曼滤波器紧密结合。又譬如,jung等人提出了一种记忆卡尔曼滤波器,通过长短期记忆网络学习转移概率密度函数,克服了传统卡尔曼滤波的马尔可夫性质和线性的限制。又譬如,revach等人将卡尔曼滤波器与门控循环单元进行结合,提出了kalmannet,其中门控循环单元被用于估计卡尔曼增益,这种滤波方法在模型失配和非线性问题上表现更好。其将神经网络直接嵌入到卡尔曼滤波框架中,在保留可解释性的同时结合了神经网络强大的拟合能力,是一种较为新颖且富有前景的研究方向。
3、然而目前大多使用的是长短期记忆网络或是门控循环单元对时序数据进行学习,这些循环神经网络在捕捉时序数据的长距离依赖关系上表现不佳,同时其递推嵌套的训练过程存在不稳定和效率低下的问题。
技术实现思路
1、本发明提供基于自注意力和格轨迹分片线性近似的非线性滤波方法,旨在至少解决现有技术中存在的技术问题之一。
2、本发明的技术方案涉及非线性滤波方法,根据本发明的方法包括以下步骤:
3、s100、获取非线性系统模型及其初始状态估计值;
4、s200、通过嵌入自注意力机制网络的卡尔曼滤波算法对非线性系统模型的状态进行估计;
5、其中,所述自注意力机制网络的训练包括以下步骤:
6、s210、根据非线性系统模型和初始状态估计值构建状态轨迹,并利用格轨迹分片线性近似方法对原非线性模型进行近似,得到系统的格分片近似模型;
7、s220、根据非线性系统模型和随机生成的噪声构建训练、验证和测试数据集,根据系统的格分片近似模型和批量估计算法从训练数据集构建预训练数据集;
8、s230、根据预训练数据集对简化的自注意力机制网络进行批量预训练后保存网络权重,然后将其嵌入卡尔曼滤波框架中利用训练数据集进行端到端的正式训练。
9、进一步,所述步骤s10包括:
10、所述非线性系统模型表示如下:
11、xk=f(xk-1)+wk (2a)
12、yk=h(xk)+vk (2b)
13、wk~n(0,q),vk~n(0,r) (2c)
14、式中,f和h分别代表非线性的状态转移和观测函数,xk∈rm代表k时刻的状态向量,yk∈rn代表k时刻的观测值;wk和vk分别代表k时刻的过程噪声和观测噪声,其的协方差矩阵分别为q和r。
15、进一步,所述步骤s210包括:
16、s211、通过状态初始估计以及f(x)得到了一条包含l个状态点的状态轨迹xtra={xi|i=1,…,l};
17、s212、将所有状态点选为线性化点,并在每一状态点xi处使用一阶泰勒展开构造线性段;
18、s213、利用所述线性段构建格分片线性模型,以对原非线性系统进行近似。
19、其中,
20、
21、式中,x表示状态点,和分别代表在线性化点xi处针对f(x)和h(x)构造的线性段;其中构造格轨迹分片线性模型fltpwl(x)≈f(x)以及hltpwl(x)≈h(x)。
22、进一步,所述步骤s220中,
23、每条所述训练数据包括一段时间内的状态真值和系统输出,第i条训练数据可以表示如下:
24、di={(xj,yj})|j=1,…,l} (7)
25、式中,xj和yj分别表示j时刻的状态真值和观测输出;
26、其中,训练数据集包含n条数据,每条数据包含l个时间步的数据。
27、进一步,所述步骤s220中,
28、每条所述预训练数据包括网络的输入特征xinput和状态真值xj,第i条预训练数据可以表示如下:
29、
30、式中,网络的输入特征xinput={δxk-s,…,δxk-1,δyk-s+1,…δyk},其中δ表示前向更新差异,表示新息;预训练数据集表示为
31、进一步,所述步骤s220包括:
32、s221、在k时刻,通过系统真实状态xk找出当前时刻格分片线性模型对应的线性段和将作为偏置项添加到系统观测yk上,以获得格轨迹分片线性模型下的系统模型,其表示如下:
33、
34、s222、采用批量估计算法获得对状态变量的后验估计,以构建预训练数据。
35、进一步,所述步骤s200中,
36、所述自注意力机制网络包括两个线性嵌入层、一个位置编码层、一个简化注意力层、两个全连接层和一个线性映射层;
37、所述步骤s230包括:给定输入特征δxk-1∈r(b,s,m)和δyk∈r(b,s,n),经过两个线性嵌入层映射并通过其中一个全连接层拼接以产生输入序列然后经过位置编码层添加位置信息后被送入简化注意力层,以捕捉序列元素间的依赖关系,以及输入序列通过另一个全连接层的多层感知机mlp以捕捉非线性特性,最后通过线性映射层将特征映射为预测值kk∈r(b,m*n)后输出;其中,b代表批量大小,s代表滑动窗口的大小,m代表系统状态的维数,n代表系统输出的维数。
38、进一步,所述步骤s230中,
39、所述卡尔曼滤波框架通过误差反向传播进行端到端的训练;
40、其中,损失函数表示如下:
41、
42、式中,自注意力机制网络的所有可训练参数为θ;
43、其中,平方误差与卡尔曼增益的导数关系表示如下:
44、
45、其中,中间量xj表示j时刻的状态真值;表示j时刻的系统状态的后验估计;表示k时刻系统状态的先验估计;表示新息;表示信息的转置;t表示转置矩阵,kk表示卡尔曼增益。
46、本发明的技术方案还涉及计算机可读存储介质,其上储存有程序指令,所述程序指令被处理器执行时实施上述的方法。
47、本发明的技术方案还涉及基于自注意力和格轨迹分片线性近似的非线性滤波系统,所述设备包括计算机装置,该计算机装置包含上述计算机可读存储介质。
48、本发明的有益效果如下:
49、本发明提供了基于自注意力和格轨迹分片线性近似的非线性滤波方法,在高噪声干扰和模型失配的情况下,相较于传统的基于模型的卡尔曼滤波算法和已有的结合神经网路的卡尔曼滤波算法,使用本发明提出的嵌入自注意力机制的卡尔曼滤波能获得更优的滤波效果,可提高针对非线性系统的状态估计的准确性和鲁棒性。
50、本发明设计了一种基于格轨迹分片线性模型和批量估计算法的预训练方法,改善了使用循环神经网络时递推训练过程不稳定和效率低下的问题,同时充分利用了自注意力机制网络的并行处理能力,通过批量估计一次估计系统状态在一段时间内的值来构造预训练数据,从而避免了卡尔曼滤波的递推嵌套过程,可有效解决因网络通过递推方式逐步处理状态序列数据时,存在的训练过程不稳定和效率低下的问题。
51、本发明提出了一种嵌入自注意力机制的卡尔曼滤波算法,其能更好地捕捉状态序列之间的依赖关系,从而获得更优的滤波性能。通过使用单个矩阵x来同时进行注意力分布和输出序列的乘法,从而简化了该过程,以及通过减少参数数量的简化方法,既提高效率,又不会损失模型捕捉关键依赖关系的能力。
本文地址:https://www.jishuxx.com/zhuanli/20240911/292588.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表