一种基于并行技术的抗噪梯度方向神经动学算法

文档序号:25423336发布日期:2021-06-11 21:35阅读:79来源:国知局
一种基于并行技术的抗噪梯度方向神经动学算法

本发明涉及矩阵方程求解算法技术领域,具体涉及一种基于并行技术的抗噪梯度方向神经动学算法。



背景技术:

矩阵方程广泛应用于许多工程和科学领域,在计算数学和控制理论中起着非常重要的作用;在实际问题中,如何快速有效地处理大型线性矩阵方程问题经常被提出来,成为当前的热点和核心问题;

直接法和迭代法是求解线性代数系统的两种方法,在求解线性系统时经常使用直接法,直接法的优点是在可以忽略舍入误差的情况下获得精确的解;但是,当系数矩阵的条件个数较大时,直接方法获得的解的精度会受到舍入误差的影响,而且,由于计算机存储的限制,直接方法往往不能保持系数矩阵的稀疏性;由于计算过程中占用大量的存储空间和计算时间,是计算过程中的一种不理想状态;具体来说,当系数矩阵的维数特别大时,高斯消去法或cholesky分解法等直接方法基本无效;因此,设计一个有效的大维问题求解算法是非常重要的,而迭代方法求解大型线性系统只需要很小的存储空间,并且简单、高效、易于实现;

将sylvester方程进行化简处理,可得到不同类型的线性方程问题;具体来说,将sylvester方程表示为:px-xq+l=0,当n=1且q=0时,sylvester方程可化简为普通线性方程px=l;然而,当l=pt时,sylvester方程简化为李雅普诺夫方程,它在实际应用中也有重要意义,特别是在连续时间和离散时间的稳定性分析中;因此,长期以来,对sylvester方程解的研究一直受到公众的关注;

一般来说,求解sylvester方程有两种方法,直接法和间接法;bartels-stewart(简称b-s)算法和hessenberg-schur(简称,h-s)方法是求解sylvester方程的两种最有效的直接方法;他们都是通过正交相似变换将系数矩阵变换成三角型和hessenberg型,然后再用回代的方法求解变换后的方程;然而,当这些方法应用于大规模矩阵方程时,暴露出明显的缺陷,即在求解大型稀疏线性方程组时可能产生许多非零单元,从而使计算量显著增加;相比之下,基于并行技术的神经网络方法可以有效地克服这一问题,而在目前的技术中,并无利用神经网络方法来求解sylvester方程抗噪梯度方向的相关应用和报道。



技术实现要素:

针对上述存在的问题,本发明旨在提供一种基于并行技术的抗噪梯度方向神经动学算法,通过利用基于并行技术的抗噪梯度方向神经网络方法来求解sylvester方程,与传统的梯度求解方法相比,本方法在求解含噪声的sylvester方程时,能够避免求伪逆增多计算耗时的问题,大大提高计算效率,而且通过引入积分项增强了算法的抗噪能力,具有鲁棒性好、计算效率高、抗噪能力好的特点。

为了实现上述目的,本发明所采用的技术方案如下:

一种基于并行技术的抗噪梯度方向神经动学算法,本算法可用于矩阵方程过程中sylvester方程的求解,所述基于并行技术的抗噪梯度方向神经动学算法的模型构建过程包括步骤:

s1.在利用sylvester方程在求解线性系统中的矩阵方程的过程中,提出sylvester方程,并将sylvester方程的形式转换为线性方程的形式,将其向量化,得到sylvester方程的线性方程形式:

kx(t)=g

s2.根据线性方程组,引入标量误差函数和经典的线性梯度神经网络算法,得到用于求解sylvester方程的抗噪梯度方向神经动学算法模型:

优选的,步骤s1的具体过程包括:

s101.在利用sylvester方程在求解线性系统中的矩阵方程的过程中,提出sylvester方程:

px(t)-x(t)q+l=0(1)

在式(1)中:p为m×m维的实数,q为n×n维的实数,l为m×n维的实数,均为方程的系数矩阵,x(t)为未知带求解矩阵,维度也是m×n;

s102.将sylvester方程(1)的形式转换为线性方程的形式,即ax=b的形式,得到:

px(t)-x(t)q=-l(2)

s103.然后,向量化方程(2),得到:

vec(px(t)-x(t)q)=-vec(l)(3)

在式(3)中,vec(·)表示矩阵的向量化;

s104.根据向量运算的性质,对方程(3)左边进行转换,可得:

在式(4)中,in为n×n维的单位矩阵,im为m×m维的单位矩阵,符号表矩阵的示克罗内克积;

s105.根据式(4),将sylverster方程(1)的向量化表达式写成:

将方程(5)转换为如下线性方程组:

kx(t)=g(6)

在式(6)中,为mn×mn维的实数,x(t)=vec(x(t)),g=-vec(l),均为mn维的实数。

优选的,步骤s2所述的抗噪梯度方向神经动学算法模型具体的构建过程包括:

s201.根据步骤s1,将sylverster方程(1)的求解问题转换为线性方程组的求解问题,于是根据式(6),将线性方程组的求解问题转换为找零点问题,可得:

kx(t)-g=0(7)

s202.引入标量误差函数来监督方程(7)的求解过程

当标量误差函数达到最小值时,就是公式(7)的解;

s203.通过将误差函数定义为把求解方程(7)的问题变成一个找到的最小值点的问题,此时,状态变量x(t)趋近于期望值x*(t),则公式(7)经典的梯度下降方向就是公式(8)的负梯度方向,表示为:

s204.于是,经典的线性梯度神经网络算法构造为:

在式(10)中,γ为gnn算法的收敛控制因子,γ>0;上标t表示矩阵的转置;

s205.引入积分反馈项可将式(10)转化为抗噪梯度方向神经动学算法模型:

得到可用于矩阵方程过程中sylvester方程求解的抗噪梯度方向神经动学算法模型。

本发明的有益效果是:本发明公开了一种基于并行技术的抗噪梯度方向神经动学算法,与现有技术相比,本发明的改进之处在于:

本发明设计了一种基于并行技术的抗噪梯度方向神经动学算法,通过利用基于并行技术的神经网络方法来求解sylvester方程抗噪梯度方向,能够避免求伪逆增多计算耗时的问题,大大提高计算效率,而且通过引入积分项增强了算法的抗噪能力;

在使用时:(1)可以将本算法看作是一个实用的框架,它为处理科学和工程领域中矩阵方程问题的收敛性、稳定性和鲁棒性问题提供了有价值的工具;(2)将本算法应用于求解有噪声的sylvester方程时,显示出了它独有的优越性;(3)且通过模拟实验结果表明,从任意初始状态开始,ntgon算法在求解有噪声的sylvester方程时都全局指数收敛于问题的理论解;(4)本算法可以通过适当调整算法中涉及的参数来抑制各种噪声的影响,无论是恒定噪声、线性噪声还是随机噪声;因此,本算法为卫星定位和姿态控制、高精度机器人控制和精密计算机数控机床控制等相关应用的性能改进打开了一扇门,具有很强的噪声容忍度和计算精度。

附图说明

图1为本发明基于并行技术的抗噪梯度方向神经动学算法的建模流程图。

图2为本发明实施例1当算法收敛缩放因子λ=υ=10,初始值x0∈[-1,1]2×2时,加入不同类型的噪声情况下,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图。

图3为本发明实施例1当算法收敛缩放因子λ=υ=100,初始值x0∈[-1,1]2×2时,加入不同类型的噪声情况下,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图。

图4为本发明实施例2当初始值x0∈[-1,1]2×2,加不同大小的恒定噪声情况下,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图。

图5为本发明实施例2当初始值x0∈[-1,1]2×2,加不同大小的线性噪声情况下,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图。

图6为本发明实施例2初始值x0∈[-1,1]2×2,加不同大小的随机噪声情况下,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图。

其中:在图2中,图(a)为加入噪声为零w(t)=[0]2×2时,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图,图(b)为加入噪声为恒定噪声w(t)=[10]2×2时,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图,图(c)为加入噪声为线性噪声w(t)=[10+t]2×2时,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图,图(d)为加入噪声为随机噪声w(t)∈[9,11]2×2时,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图;

在图3中:图(a)为加入噪声为零w(t)=[0]2×2时,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图,图(b)为加入噪声为恒定噪声w(t)=[10]2×2时,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图,图(c)为加入噪声为线性噪声w(t)=[10+t]2×2时,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图,图(d)为加入噪声为随机噪声w(t)∈[9,11]2×2时,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图;

在图4中:图(a)为加入w(t)=[10]2×2且λ=υ=10的恒定噪声时,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图;图(b)为加入w(t)=[100]2×2且λ=υ=10的恒定噪声时,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图;图(c)为加入w(t)=[1000]2×2且λ=υ=10的恒定噪声时,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图;图(d)为加入w(t)=[1000]2×2且λ×10,υ=100的恒定噪声时,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图;

在图5中:图(a)为加入w(t)=[10+t]2×2且λ=υ=10的线性噪声情况下,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图,图(b)为加入w(t)=[100+t]2×2且λ=υ=100的线性噪声情况下,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图,图(c)为加入w(t)=10×[100+t]2×2且λ=υ=100的线性噪声情况下,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图,图(d)为加入w(t)=10×[100+t]2×2且λ=100,υ=1000的线性噪声情况下,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图;

在图6中:图(a)为加入w(t)∈[9,11]2×2且λ=υ=1的随机噪声情况下,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图,图(b)为加入w(t)∈[9,11]2×2且λ=6,υ=10的随机噪声情况下,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图,图(c)为加入w(t)∈5×[9,11]2×2且λ=6,υ=10的随机噪声情况下,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图,图(d)为加入w(t)∈5×[9,11]2×2且λ=20,υ=100的随机噪声情况下,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图。

具体实施方式

为了使本领域的普通技术人员能更好的理解本发明的技术方案,下面结合附图和实施例对本发明的技术方案做进一步的描述。

参见图1所示,一种基于并行技术的抗噪梯度方向神经动学算法,可用于卫星定位和姿态控制、高精度机器人控制和精密计算机数控机床控制等领域解决求解大型稀疏线性方程组时产生许多非零单元,使计算量显著增加的问题;本算法可用于求解线性系统中,sylvester方程的求解,所述基于并行技术的抗噪梯度方向神经动学算法的模型构建过程包括步骤:

s1.在利用sylvester方程在求解线性系统中的矩阵方程的过程中,首先提出sylvester方程,并将sylvester方程的形式转换为线性方程的形式,将其向量化,得到sylvester方程的线性方程形式,其具体过程包括:

s101.首先,引入sylvester方程式表达如下:

px(t)-x(t)q+l=0(1)

在式(1)中:p为m×m维的实数,q为n×n维的实数,l为m×n维的实数,均为方程的系数矩阵,x(t)为未知带求解矩阵,维度也是m×n,假设p和q没有共同特征值,于是方程有唯一的解;

s102.为了便于推导,我们将sylvester方程的形式转换为线性方程的形式,即ax=b的形式,于是,将l移至方程(1)的左边,表达式如下:

px(t)-x(t)q=-l(2)

s103.然后,向量化方程(2),得到如下的表达式:

vec(px(t)-x(t)q)=-vec(l)(3)

在式(3)中,vec(·)表示矩阵的向量化;

s104.根据向量运算的两个性质:vec(a+b)=vec(a)+vec(b)和对方程(3)左边进行转换,可得:

在式(4)中,in为n×n维的单位矩阵,im为m×m维的单位矩阵,符号表示矩阵的示克罗内克积;

s105.于是,根据式(4),将sylverster方程(1)的向量化表达式写成:

方程(5)可以转换如下式所示的用于求解sylvester方程的线性方程:

kx(t)=g(6)

在式(6)中,为mn×mn维的实数,x(t)=vec(x(t)),g=-vec(l),均为mn维的实数;

s2.根据式(6)的线性方程,将sylverster方程的求解问题转换为线性方程组的求解问题,即将问题转换为找零点问题,引入标量误差函数和经典的线性梯度神经网络(gnn)算法,得到用于求解sylvester方程抗噪梯度方向的抗噪梯度方向神经动学算法模型,其具体过程如下:

s201.根据步骤s1,已经将sylverster方程(1)的求解问题转换为线性方程组的求解问题,于是根据式(6),将线性方程组的求解问题转换为找零点问题,可得:

kx(t)-g=0(7)

s202.定义一个标量误差函数来监督方程(7)的求解过程:

当标量误差函数达到最小值时,就是公式(7)的解;

s203.通过将误差函数定义为把求解方程(7)的问题变成一个找到的最小值点的问题,此时,状态变量x(t)趋近于期望值x*(t),则公式(7)经典的梯度下降方向就是公式(8)的负梯度方向,表示为:

s204.于是,经典的线性梯度神经网络算法可以构造为:

在式(10)中,γ为gnn算法的收敛控制因子,γ>0;上标t表示矩阵的转置;

s205.为了增强gnn算法的鲁棒性,我们加入了积分反馈项来达到这一目的,可将式(10)转化为抗噪梯度方向神经动学算法模型:

至此,提出的可用于求解sylvester方程的抗噪梯度方向神经动学算法模型构建完成。

s3.对经步骤s1和步骤s2建立的基于并行技术的抗噪梯度方向神经动学算法进行比较验证,根据本发明提出的抗噪梯度方向神经动学模型,为了验证改进模型的优越性,给出2个例子来比较原始梯度神经网络(gnn)算法与我们提出的抗噪梯度方向神经动学(ntgon)算法在求解sylverster方程(1)过程中的优越性,特别是在求解过程中有噪声加入的情况下具体包括以下过程:

实施例1:s301.当sylverster方程(1)具有解析解的情况,本发明给出方程的系数矩阵分别为:p=[sin(3)cos(3);-cos(3)sin(3)],q=0以及l=-i;那么,方程的解析解x由简单的代数运算得到:

而且,相应的残差||e(t)||f定义为e(t)=px(t)-x(t)q+l,它所对应的向量化后的残差表示为e(t),以此变量作为收敛性的评价指标;其中,下标f表示矩阵的frobenius范数;

计算机仿真结果如图2和图3;由图2可以看出,从随机产生的初始状态x0∈[-1,1]2×2开始,在加入不同类型噪声(恒定噪声、线性噪声和随机噪声)的情况下,本发明提出的抗噪梯度方向神经动学(ntgon)算法都要优于原始梯度神经网络(gnn)算法,且可以通过调整算法的收敛缩放因子λ和υ来调整算法的收敛速度(图3);

图2:当算法收敛缩放因子λ=υ=10,初始值x0∈[-1,1]2×2时,加入不同类型的噪声情况下,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图;其中:图(a)噪声为零w(t)=[0]2×2,图(b)恒定噪声w(t)=[10]2×2,图(c)线性噪声w(t)=[10+t]2×2,图(d)随机噪声w(t)∈[9,11]2×2

图3:当算法收敛缩放因子λ=υ=100,初始值x0∈[-1,1]2×2时,加入不同类型的噪声情况下,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图;其中:图(a)噪声为零w(t)=[0]2×2,图(b)常数噪声w(t)=[10]2×2,图(c)线性噪声w(t)=[10+t]2×2,图(d)随机噪声w(t)∈[9,11]2×2

实施例2:接下来,本发明给出一个sylvester方程没有解析解的例子,比较两种算法在数值解求解方程方面性能,详细分析在各种噪声条件下的收敛性能:

s302.当sylverster方程没有解析解的情况,本发明给出方程的系数矩阵分别为:p=[sin(4)cos(4);-cos(4)sin(4)],q=[20;03]以及l=[sin(1)cos(1);-cos(1)sin(1)];

图4-6呈现了本发明提出的ntgon算法与原始gnn算法求解sylvester方程的计算性能对比情况;同时,为了解算法的收敛缩放因子对计算性能的影响,本发明把三种噪声(恒定噪声(图4)、线性噪声(图5)和随机噪声(图6))分开来讨论,验证本发明提出的ntgon算法对不同噪声的抑制能力:

1)常数噪声情况:如图4所示,加入的噪声由10增加到1000的过程中,两种模型的残差收敛程度不同;显然,无论随机生成的恒定噪声有多大,本发明提出的ntgon算法收敛到理论解,而原始gnn算法却无法收敛到理论解,而且可以通过调整算法收敛缩放因子λ和υ来缩短收敛时间,减少求解过程中的计算时间;

图4为初始值x0∈[-1,1]2×2,加不同大小的恒定噪声情况下,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图;其中:图(a)为w(t)=[10]2×2且λ=υ=10,图(b)为w(t)=[100]2×2且λ=υ=10,图(c)为w(t)=[1000]2×2且λ=υ=10,图(d)为w(t)=[1000]2×2且λ10,υ=100;

2)线性噪声情况:如图5所示,本发明提出的ntgon算法的残差分别达到10-2到10-3;相反,gnn算法不能克服线性噪声的影响,它的计算残差不能收敛到最小值,甚至发散;通过将加入噪声增大10倍,本发明发现收敛速度主要是由参数υ决定,而参数λ对收敛速度的影响很小;由本发明提出的ntgon算法的构成可以知道,参数υ是积分项的缩放因子,由此本发明可知算法的抗噪能力主要由积分项决定;

图5为初始值x0∈[-1,1]2×2,加不同大小的线性噪声情况下,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图;其中:图(a)w(t)=[10+t]2×2且λ=υ=10,图(b)w(t)=[100+t]2×2且λ=υ=100,图(c)w(t)=10×[100+t]2×2且λ=υ=100,图(d)w(t)=10×[100+t]2×2且λ=100,υ=1000;

3)随机噪声情况:在任何系统中,随机噪声成分都是不可避免的;因此,为了进一步比较两种算法的有效性,研究随机噪声对系统的影响是非常必要的;图6所示,本发明提出的ntgon算法的计算收敛速度远远快于gnn算法;为了说明选择合适的参数的重要性,以及ntgon算法的计算性能,在计算过程中添加有界未知随机噪声[9,11]2×2和5×[9,11]2×2;结果表明,当求解过程中随机噪声增加时,本发明可以通过设置参数υ的值尽可能大来获得快速的收敛速度;

图6为初始值x0∈[-1,1]2×2,加不同大小的随机噪声情况下,ntgon算法和gnn算法求解sylverster方程的残差||e(t)||f图;其中:图(a)w(t)∈[9,11]2×2且λ=υ=1,图(b)w(t)∈[9,11]2×2且λ=6,υ=10,图(c)w(t)∈5×[9,11]2×2且λ=6,υ=10,图(d)w(t)∈5×[9,11]2×2且λ=20,υ=100。

通过上述实施例,可以看出:

(1)本发明提出的ntgon算法可以被看作是一个实用的框架,它为处理科学和工程领域中矩阵方程问题的收敛性、稳定性和鲁棒性问题提供了有价值的工具;

(2)将本算法应用于求解有噪声的sylvester方程时,显示出了它独有的优越性;模拟实验结果表明,从任意初始状态开始,ntgon算法在求解有噪声的sylvester方程时都全局指数收敛于问题的理论解;

(3)本发明提出的ntgon算法可以通过适当调整算法中涉及的参数来抑制各种噪声的影响,无论是恒定噪声、线性噪声还是随机噪声,因此,可能为卫星定位和姿态控制、高精度机器人控制和精密计算机数控机床控制等相关应用的性能改进打开了一扇门,具有很强的噪声容忍度和计算精度。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1