卫星执行机构的故障检测深度学习网络处理方法及装置与流程

文档序号:15455039发布日期:2018-09-15 00:52阅读:217来源:国知局

本发明涉及卫星技术领域,尤其涉及一种卫星执行机构的故障检测深度学习网络处理方法及装置。



背景技术:

卫星执行机构主要包括喷气执行机构、飞轮、磁力矩器和重力杆等各种作为卫星提供飞行或运动的力矩机构。若卫星的执行机构发生故障,就会导致卫星偏离预定的运行轨道或丢失跟踪目标等等,故需要精确的监控卫星执行机构的状态,及时检测出卫星执行机构是否发生故障,若发生故障就需要解决故障,以确保卫星执行机构的正常运行。

在现有技术中,有各种检测卫星执行机构的方式,但是目前从实际效果来看检测卫星执行机构是否出现故障的方式,要不复杂度高,要不检测精度不够;故提出一种兼顾复杂度及精确度的方法,是亟待解决的问题。



技术实现要素:

有鉴于此,本发明实施例期望提供一种卫星执行机构的故障检测深度学习网络处理方法及装置,至少部分解决上述问题。

为达到上述目的,本发明的技术方案是这样实现的:

第一方面,本发明实施例提供一种卫星执行机构的故障检测深度学习网络处理方法,包括:

获取在预设坐标系的姿态数据及故障状态;

根据所述姿态数据及所述故障状态,构建训练集及测试集,其中,所述训练集包括:第一训练数据和第二训练数据;所述第一训练数据包括:姿态数据及根据对应的所述故障状态确定的数据标签;所述第二训练数据包括:未设置有数据标签的姿态数据;所述测试集包括:设置有数据标签的姿态数据;

利用所述训练集训练具有不同网络结构的多个前馈网络,获得所述前馈网络的网络参数;

将所述测试集中姿态数据输入到已获得网络参数的所述前馈网络中,获得检测标签;

对检测标签与所述测试集中数据标签进行处理,获得故障检测的正确率;

选择故障检测的正确率最高的所述前馈网络,作为卫星执行机构故障判断的应用网络。

可选地,所述方法还包括:

采用如下公式对所述姿态数据进行最大-最小标准化处理,获得标准化后的姿态数据;

xi是需要标准化的原始数据,是标准化后的数据,xmin是原始数据的最小值,xmax是原始数据的最大值;

所述根据所述姿态数据及所述故障状态,构建训练集及测试集,包括:

对标准化的姿态数据及故障状态进行划分,获得所述训练集及测试集。

可选地,所述利用所述训练集训练具有不同网络结构的多个前馈网络,获得所述前馈网络的网络参数,包括:

根据深度信念网络配置所述前馈网络的网络结构,其中,所述网络结构包括:所述深度信念网络的层数、节点数、节点权重、隐层偏差、显层偏差、学习率、及所述深度信念网络的输出层的激活函数中的一个或多个;

利用所述训练集及对比散度算法逐层训练所述深度信念网络配置,获得所述深度信念网络配置的受限波尔兹曼机参数;

使用所述训练集中的第一训练数据集基于动量的随机梯度下降法,并采用交叉熵损失函数对初步获得所述受限波尔兹曼机参数进行调整,获得最终的受限波尔兹曼机参数。

可选地,所述激活函数为softmax函数;所述softmax函数为:

i为正整数,zi为输出层第i个节点的输入,为输出层第i个节点的输出。

可选地,所述交叉熵损失函数为:

yi是第i组姿态数据的数据标签,是第i组姿态数据通过已训练的前馈网络计算得到的检测标签。

可选地,所述根据所述姿态数据及所述故障状态,构建训练集及测试集,包括:

从所述姿态数据中剔除未满足预设条件的异常数据;

利用提出未满足预设条件的所述姿态数据及故障状态,构建所述训练集及所述测试集。

可选地,所述姿态数据包括以下至少之一:

卫星的角速度ωb=[ωxωyωz]t;其中,ωx为x轴上的角速度;ωy为y轴上的角速度;ωz为z轴上的角速度;

卫星与目标之间的相对姿态其中,为滚转角;θ为俯仰角;ψ为偏航角;

卫星执行机构的控制力矩指令

姿态控制器输出u;

卫星所跟踪的目标的姿态角速度ωt。

第二方面,本发明实施例提供一种卫星执行机构的故障检测深度学习网络处理装置,包括:

获取模块,用于获取在预设坐标系的姿态数据及故障状态;

构建模块,用于根据所述姿态数据及所述故障状态,构建训练集及测试集,其中,所述训练集包括:第一训练数据和第二训练数据;所述第一训练数据包括:姿态数据及根据对应的所述故障状态确定的数据标签;所述第二训练数据包括:未设置有数据标签的姿态数据;所述测试集包括:设置有数据标签的姿态数据;

训练模块,用于利用所述训练集训练具有不同网络结构的多个前馈网络,获得所述前馈网络的网络参数;

第一测试模块,用于将所述测试集中姿态数据输入到已获得网络参数的所述前馈网络中,获得检测标签;

第二测试模块,用于对检测标签与所述测试集中数据标签进行处理,获得故障检测的正确率;

选择模块,用于选择故障检测的正确率最高的所述前馈网络,作为卫星执行机构故障判断的应用网络。

可选地,所述装置还包括:

标准化处理模块,用于采用如下公式对所述姿态数据进行最大-最小标准化处理,获得标准化后的姿态数据;

xi是需要标准化的原始数据,是标准化后的数据,xmin是原始数据的最小值,xmax是原始数据的最大值;

所述构建模块,具体用于对标准化的姿态数据及故障状态进行划分,获得所述训练集及测试集。

可选地,所述姿态数据包括以下至少之一:

卫星的角速度ωb=[ωxωyωz]t;其中,ωx为x轴上的角速度;ωy为y轴上的角速度;ωz为z轴上的角速度;

卫星与目标之间的相对姿态其中,为滚转角;θ为俯仰角;ψ为偏航角;

卫星执行机构的控制力矩指令

姿态控制器输出u;

卫星所跟踪的目标的姿态角速度ωt。

本发明实施例提供的卫星执行机构的故障检测深度学习网络处理方法及装置,利用在预设坐标系中的姿态数据及故障状态,构建训练集及测试集,通过深层神经网络中的前馈网络进行训练从而获得网络参数,利用已训练的前馈网络替代某一个需要大量各种复杂运算的算法来进行故障检测,在应用时具有计算简单及效率高的特点。由于前馈网络在训练过程中可以通过损失函数引入可以可控制检测结果的精确度,且在本实施例中会对不同网络结构的多个前馈网络进行训练,在测试时选择故障检测的正确率最高的前馈网络作为后续检测卫星执行机构的应用网络,从而再次提升了故障检测的精确度。

附图说明

图1为本发明实施例提供的一种卫星执行机构的故障检测深度学习网络处理方法的流程示意图;

图2为本发明实施例提供的一种前馈网络的训练流程示意图;

图3为本发明实施例提供的基于深度信念网络构建的前馈网络的示意图;

图4为本发明实施例提供的一种卫星执行机构的故障检测深度学习网络处理装置的结构示意图;

图5为本发明实施例提供的一种实际的故障状态与检测的故障状态的比对效果示意图。

具体实施方式

以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。

如图1所示,本实施例提供一种卫星执行机构的故障检测深度学习网络处理方法,包括:

步骤s110:获取在预设坐标系的姿态数据及故障状态;

步骤s120:根据所述姿态数据及所述故障状态,构建训练集及测试集,其中,所述训练集包括:第一训练数据和第二训练数据;所述第一训练数据包括:姿态数据及根据对应的所述故障状态确定的数据标签;所述第二训练数据包括:未设置有数据标签的姿态数据;所述测试集包括:设置有数据标签的姿态数据;

步骤s130:利用所述训练集训练具有不同网络结构的多个前馈网络,获得所述前馈网络的网络参数;

步骤s140:将所述测试集中姿态数据输入到已获得网络参数的所述前馈网络中,获得检测标签;

步骤s150:对检测标签与所述测试集中数据标签进行处理,获得故障检测的正确率;

步骤160:选择故障检测的正确率最高的所述前馈网络,作为卫星执行机构故障判断的应用网络。

在本实施例中获取在预设坐标系的姿态数据及故障状态。该预设坐标系可为立体三维直角坐标,也可以球型坐标系,该预设坐标系的中心点可为卫星的中心点或者卫星执行结构的中心点。

所述姿态数据可包括:卫星姿态数据及目标姿态数据,所述目标姿态数据为卫星所跟踪目标的姿态数据。在一些实施例中,所述姿态数据还可包括:姿态控制数据,例如,卫星的姿态控制器发送的姿态控制指令等。

在本实施例中,所述姿态数据及故障状态,可以按照预设坐标系的各个维度进行划分,例如,针对三维直角坐标系,所述步骤s110可包括:获取三维直角坐标系中各个轴上的姿态数据及在该轴上的故障状态。

所述故障状态可包括:指示是否有故障的第一指示信息、故障幅度值等信息。

在本实施例中通过训练集及测试集来训练深层神经网络。被训练的深层神经网络可为任意一种深层神经网络。例如,被训练的深层神经网络可为反馈网络或者前馈网络,在本实施例中选择训练更加容易的前馈网络。

所述反馈网络(recurrentnetwork),又称自联想记忆网络,该网络设计有一组平衡点,使得当给网络一组初始值时,网络通过自行运行而最终收敛到这个设计的平衡点上。

所述前馈网络(feedforwardneuralnetwork),又可以称之为:前馈神经网络。前馈网络采用一种单向多层结构。每一层包含若干个神经元,同一层的神经元之间没有互相连接,层间信息的传送只沿一个方向进行。第一层称为输入层。最后一层为输出层.中间为隐层。隐层可以是一层,也可以是多层。在一些实施例中,一个所述神经元又可以称之为一个节点。

在本示例中前馈网络的网络参数,可包括:前馈网络的各层中各节点的运算符号及权重等中的一个多个。

若得到一个前馈网络的网络参数之后,就可以利用测试集中的测试数据(姿态数据)作为该前馈网络的输入,然后接收前馈网络的输出,而前馈网络的输出即为前馈网络利用当前网络参数判断得到的测试标签。结合该测试标签和对应的姿态数据实际的数据标签进行比对,从而可以确定出一组姿态数据输入之后,前馈网络利用当前网络参数得到的测试标签是否正确,通过多次测试,可以得到前馈网络利用当前网络参数得到的故障检测的正确率。

在步骤130中构建了多个具有不同网络结构的前馈网络,在本实施例中利用测试集进行测试,选择故障检测的正确率最高的前馈网络作为最终使用的应用网络。

在步骤s130中构建的多个前馈网络的不同在于:包括的隐层的层数及隐层的节点数中的至少其中之一不同。在步骤s130中构建的多个具有不同网络结构的前馈网络的输入层和输出层可以相同;方便后续根据故障检测的正确率选择应用网络。

在本实施例中,数据标签可为一个向量,该向量可包括:故障指示及故障幅度等多个元素组成。例如,所述预设坐标系为三维直角坐标系,则该数据标签可为6维的向量,x轴的故障指示、x轴的故障幅度、y轴的故障指示、y轴的故障幅度、z轴的故障指示、z轴的故障幅度。若所述预设坐标系为球星坐标系,该数据标签对应的向量可包括:故障方位角、故障指示及故障幅度等多个元素组成。总之,在本实施例中所述数据标签包含:指示故障发生方位的信息,还包括指示是否有故障的信息和/或故障幅度的信息。在本实施例中所述检测标签的组成元素及维度与所述数据标签相同。

第一方面,在本实施例中获取的预设坐标系中的姿态数据及对应的故障状态,构建用于训练前馈网络的训练集及测试集,采用这种数据结构获得数据训练得到的模型,后续不仅可以识别出当前卫星执行机构是否出现故障,而且还可以确定出预设坐标系中哪一个轴或哪一个方向出现故障,从而提升后续故障检测的精确度。

第二方面,在本实施例中利用训练集训练前馈网络得到可以得到故障检测的前馈网络,在前馈网络的训练过程中可以根据前馈网络的故障检测精度对前馈网络的网络结构及结构参数进行调整,以确保最终用于故障检测的应用网络,具有理想的故障检测精度,相对于利用一个由各种检测参数及运算符号得到的计算函数来确定故障检测,具有检测精度可靠性高的特点。

第三方面,在本实施例中是包括大量的姿态数据及故障状态形成的训练集得到具有故障检测能力的前馈网络,一旦前馈网络的网络参数确定之后,后续应用时,仅需检测的姿态数据输入到已经训练好的前馈网络,前馈网络通过各个层网络节点的运算,就会输出故障检测结果,相对于现有技术中利用姿态数据,再利用处理器根据各种积分或卷积计算等算法进行计算,具有计算难度小或计算量相对较小的特点。

所述方法还包括:

采用如下公式对所述姿态数据进行最大-最小标准化处理,获得标准化后的姿态数据;

xi是需要标准化的原始数据,是标准化后的数据,xmin是原始数据的最小值,xmax是原始数据的最大值。

在本实施例中为了方便后续的前馈网络的训练,会对数据进行于预处理,该处的预处理可包括数据的标准化处理。在本实施例中,采用最大-最小标准化处理。在一些实施例中,还可以仅基于最大值进行归一化的标准化处理,若仅根据最大值进行归一化处理,可能会使得某些原始数据被归一化处理过小,从而导致前馈网络训练效率降低。在本实施例中同时基于最大值及最小值进行标注化处理,就可以避免上述问题。

所述步骤s120可包括:对标准化的姿态数据及故障状态进行划分,获得所述训练集及测试集。

可选地,如图2所示,所述步骤s130可包括:

步骤s131:根据深度信念网络配置所述前馈网络的网络结构,其中,所述网络结构包括:所述深度信念网络的层数、节点数、节点权重、隐层偏差、显层偏差、学习率、及所述深度信念网络的输出层的激活函数中的一个或多个;

步骤s132:利用所述训练集及对比散度算法逐层训练所述深度信念网络配置,获得所述深度信念网络配置的受限波尔兹曼机参数;

步骤s132:使用所述训练集中的第一训练数据集基于动量的随机梯度下降法,并采用交叉熵损失函数对初步获得所述受限波尔兹曼机参数进行调整,获得最终的受限波尔兹曼机参数。

在本实施例中选择深层神经网络中基于深度信念网络的网络架构配置所述前馈网络。在本实施例中,所述深度信念网络(deepbeliefnetwork,dbn)由若干个受限玻尔兹曼机(restrictedboltzmannmachines,rbm)堆叠而成,每个rbm的输入为上一个rbm的输出;所述的rbm由一层显层和一层隐层构成;所述的显层为每个rbm的输入层,所述的隐层为每个rbm的输出。从图3中可知每一个rbm均包括三个网络参数,分别是权重(w)、显层偏差(b)及隐层偏差(c),例如,第n个rbm显层到隐层的权重为wn,第n个rbm的显层偏差为(bn)及第n个rbm的隐层偏差为(cn)。

激活函数用于赋予前馈网络的非线性建模能力,从而可以得到姿态数据与故障状态之间的非线性关系,如此利用的前馈网络能够更加精确的进行故障检测。

在本实施例中,基于动量的随机梯度法为:

首先设定梯度的学习率η以及动量λ,参数的初始变化量v0设为0;从初始网络参数(w,b,c)0出发,网络参数的第一次更新量其中,是根据当前网络参数计算的损失函数的梯度,网络参数变为(w,b,c)1=(w,b,c)0+v1;以此类推,在第i次迭代中,网络参数的更新量为网络参数变为(w,b,c)i=(w,b,c)i-1+vi;当某一次迭代时梯度接近0即时停止迭代,此时的网络参数就是最终使用的网络参数。

交叉熵损失函数为一种评估已训练好的前馈网络的输出的检测标签和数据标签之间损失的函数,具有可以加快前馈网络训练的特点。

例如,所述激活函数为softmax函数;所述softmax函数为:

i为正整数,zi为输出层第i个节点的输入,为输出层第i个节点的输出。

例如,softmax函数可具体为:

zi为输出层第i个节点的输入,为输出层第i个节点的输出。

在本实施例中选择softmax函数作为激活函数,具有实现简便的特点。

可选地,所述交叉熵损失函数为:

yi是第i组姿态数据的数据标签,是第i组姿态数据通过已训练的前馈网络计算得到的检测标签。

可选地,所述步骤s120可包括:从所述姿态数据中剔除未满足预设条件的异常数据;利用提出未满足预设条件的所述姿态数据及故障状态,构建所述训练集及所述测试集。

此处剔除所述未满足预设条件的异常数据可为:前述构建训练集及测试集的数据预处理的一种。例如,某一条数据卫星的初始状态下的角速度不为零;相对姿态不为零等。通过异常数据的剔除可以确保参与前馈网络训练的数据是能够精确反应卫星的正常或故障的数据,从而确保训练得到的前馈网络的故障检测的准确率。

可选地,所述姿态数据包括以下至少之一:

卫星的角速度ωb=[ωxωyωz]t;其中,ωx为x轴上的角速度;ωy为y轴上的角速度;ωz为z轴上的角速度;

卫星与目标之间的相对姿态其中,为滚转角;θ为俯仰角;ψ为偏航角;

卫星执行机构的控制力矩指令

姿态控制器输出u;

卫星所跟踪的目标的姿态角速度ωt。

以上仅是姿态数据可为卫星姿态参数,也可以是卫星检测的目标的姿态参数。所述目标的角速度同样可样包括x轴、y轴及z轴的角速度。

如图4所示,本实施例提供一种卫星执行机构的故障检测深度学习网络处理装置,包括:

获取模块110,用于获取在预设坐标系的姿态数据及故障状态;

构建模块120,用于根据所述姿态数据及所述故障状态,构建训练集及测试集,其中,所述训练集包括:第一训练数据和第二训练数据;所述第一训练数据包括:姿态数据及根据对应的所述故障状态确定的数据标签;所述第二训练数据包括:未设置有数据标签的姿态数据;所述测试集包括:设置有数据标签的姿态数据;

训练模块130,用于利用所述训练集训练具有不同网络结构的多个前馈网络,获得所述前馈网络的网络参数;

第一测试模块140,用于将所述测试集中姿态数据输入到已获得网络参数的所述前馈网络中,获得检测标签;

第二测试模块150,用于对检测标签与所述测试集中数据标签进行处理,获得故障检测的正确率;

选择模块160,用于选择故障检测的正确率最高的所述前馈网络,作为卫星执行机构故障判断的应用网络。

上述获取模块110、构建模块120、训练模块130、第一测试模块140、第二测试模块150及选择模块160均可对应于程序模块,可以通过cpu、mpu、dsp、plc或amsic等各种类型的处理器或处理电路的执行,可以实现前述前馈网络的训练,从而得到可以精确检测卫星执行机构故障的应用功能网络,该应用网络具有训练简单、检测计算简单及检测结果精确的特点。

可选地,所述装置还包括:

标准化处理模块,用于采用如下公式对所述姿态数据进行最大-最小标准化处理,获得标准化后的姿态数据;

xi是需要标准化的原始数据,是标准化后的数据,xmin是原始数据的最小值,xmax是原始数据的最大值;

所述构建模块120,具体用于对标准化的姿态数据及故障状态进行划分,获得所述训练集及测试集。

该标准化处理模块同样具有可为程序模块。总之,在本发明实施例中会对数据进行标准化处理,标准化的方式有多种,不限于前述最大-最小标准化处理。

可选地,所述训练模块130,具体用于根据深度信念网络配置所述前馈网络的网络结构,其中,所述网络结构包括:所述深度信念网络的层数、节点数、节点权重、隐层偏差、显层偏差、学习率、及所述深度信念网络的输出层的激活函数中的一个或多个;利用所述训练集及对比散度算法逐层训练所述深度信念网络配置,获得所述深度信念网络配置的受限波尔兹曼机参数;使用所述训练集中的第一训练数据集基于动量的随机梯度下降法,并采用交叉熵损失函数对初步获得所述受限波尔兹曼机参数进行调整,获得最终的受限波尔兹曼机参数。

可选地,所述激活函数为softmax函数;所述softmax函数为:

i为正整数,zi为输出层第i个节点的输入,为输出层第i个节点的输出。

可选地,所述交叉熵损失函数为:

yi是第i组姿态数据的数据标签,是第i组姿态数据通过已训练的前馈网络计算得到的检测标签。

可选地,所述构建模块120,具体可用于从所述姿态数据中剔除未满足预设条件的异常数据;利用提出未满足预设条件的所述姿态数据及故障状态,构建所述训练集及所述测试集。

可选地,所述姿态数据包括以下至少之一:

卫星的角速度ωb=[ωxωyωz]t;其中,ωx为x轴上的角速度;ωy为y轴上的角速度;ωz为z轴上的角速度;

卫星与目标之间的相对姿态其中,为滚转角;θ为俯仰角;ψ为偏航角;

卫星执行机构的控制力矩指令

姿态控制器输出u;

卫星所跟踪的目标的姿态角速度ωt。

以下结合上述实施例提供几个具体示例:

示例1:

本示例提供一种适用于卫星执行机构故障检测的深度学习方法,将该方法所涉及的参数选取为前馈网络的初始参数,能够缩短前馈网络的训练时间,提升前馈网络的精度,在完成训练后,能够对卫星执行机构的故障进行检测,在不需提供系统模型的同时具有很高的故障检测率。具体过程如下:

一、分别在xyz三轴上设置执行机构发生故障及不发生故障,获取卫星的姿态数据,包括卫星的角速度与卫星与目标之间的相对姿态、执行机构的控制力矩指令、姿态控制器输出、以及卫星跟踪目标的姿态角速度,并记录一部分数据对应的故障状态作为数据标签,将无标签数据与一部分有标签数据划分为训练集,另一部分有标签数据记为测试集。

二、将以上数据使用最大-最小标准化算法。

三、选择多种网络结构,将标准化数据中无标签的部分使用对比散度算法训练深度信念网络的参数。

四、将前馈网络的参数取为深度信念网络的参数,将输出层取为softmax函数,使用有标签的数据应用基于动量的随机梯度下降法对网络参数进行精调。

五、将已知故障状态的数据记为测试集,输入网络后选择正确率最高的一组网络结构选取为最终应用的前馈网络的结构与参数。

步骤六、将需要检测故障状态的数据在最大-最小规范化后输入前馈网络,获得卫星执行机构故障状态的检测结果。

本示例所设计的基于深度学习的卫星执行机构故障检测算法能够在不需要提供卫星姿态控制系统精确模型的前提下,对已有数据进行分析,在完成对前馈网络的训练后,能够及时地检测到卫星的姿态控制系统执行机构是否发生故障,具有较高的故障检测率。

示例2:

本示例提供一种适用于卫星执行机构故障检测的深度学习方法,包括如下过程:

步骤1、分别在xyz三轴上设置执行机构发生故障及不发生故障,获取卫星的姿态数据,包括卫星的角速度ωb=[ωxωyωz]t(3维)与卫星与目标之间的相对姿态(3维)、执行机构的控制力矩指令(3维)、姿态控制器输出u(3维)、以及卫星所跟踪的目标的姿态角速度ωt(3维),共计15维,记录一部分数据对应的故障状态作为数据标签,将有标签数据划分成两部分,无标签数据与一部分有标签数据构成训练集,另一部分有标签数据构成测试集。

步骤2、将训练集和测试集分别应用最大-最小标准化算法,具体表达式为:

式中,xi是需要标准化的原始数据,是标准化后的数据,xmin是原始数据的最小值,xmax是原始数据的最大值。

步骤3、选择不同的网络结构,将标准化数据中无标签的部分使用对比散度算法逐层训练深度信念网络中每个受限玻尔兹曼机的参数。

步骤4、将前馈网络的参数取为深度信念网络的参数,将输出层激活函数取为softmax函数,使用有标签的数据应用基于动量的随机梯度下降法以交叉熵为损失函数对网络参数进行精调。输出层的softmax函数的具体表达式为:

式中,zi为输出层第i个节点的输入,为输出层第i个节点的输出。交叉熵损失函数的具体表达式为:

式中,yi是第i组数据的实际的数据标签,是第i组数据通过前馈网络计算得到的标签。

步骤5、将测试集输入网络,选择正确率最高的一组网络结构及其参数选取为最终应用的前馈网络的结构与参数。

步骤6、将需要检测故障状态的数据在最大-最小标准化后输入前馈网络,获得卫星执行机构故障状态的检测结果。

步骤1中获取数据标签。数据标签的引入能够在后期对前馈网络参数进行精调,为网络结构的选择提供标准。

步骤2中将数据应用了最大-最小标准化算法,目标是将每个维度的数据都规范化到0和1之间,使之符合深度信念网络的输入要求。

步骤3中深度信念网络的结构为多个受限玻尔兹曼机的堆叠,每个受限玻尔兹曼机包括一个显层和一个隐层,底层受限玻尔兹曼机的隐层输出是上一层受限玻尔兹曼机的显层的输入,受限玻尔兹曼机的个数就是深度信念网络的隐层数。

步骤3中用于训练单个rbm的对比散度算法的具体计算过程如下:

步骤3.1、确定参数:样本x={x1,x2,2,xn}t,学习率ε,隐层节点数m。

步骤3.2、将网络的参数包括权重w、隐层偏差b和显层偏差a初始化为0。

步骤3.3、确定训练数据,例如可采用如下代码对所述训练数据

forj=1,2,...,m

中抽样出

end

fori=1,2,...,n

中抽样出

end

forj=1,2,...,m

中抽样出

end

式中,σ(·)为sigmoid激活函数,具体表达式为:

是两次计算获得的隐层第j个节点的状态,是上一个受限玻尔兹曼机传递而来的第i个节点的状态,是通过计算获得的第i个节点的重构状态。ai是第i个节点的显层偏差;bj是第j个节点的隐层偏差。

步骤3.4、更新网络参数

步骤3.5、重复步骤3.3和步骤3.4,完成单个受限玻尔兹曼机的训练,将步骤3.3中的输出h(2)作为下一个受限玻尔兹曼机的输入v(1),训练下一个受限玻尔兹曼机。

一种适用于卫星执行机构故障检测的深度学习算法,其特征在于步骤四中输出层的输入z的具体表达式为:

z=wthl+bout(6)

式中,w为最后一个隐层到输出层之间的权重构成的矩阵,hl是最后一个隐层的输出,bout为输出层的权重。

步骤1、步骤5及步骤6中使用的数据需要剔除初始状态下相对姿态φbt尚未收敛至0时的数据,以防卫星与目标之间相对姿态不稳定时的数据被当作故障处理,影响故障检测的正确率。

示例3:

本示例一种适用于卫星执行机构故障检测的深度学习方法,包括:

步骤一、获取xyz三轴上执行机构故障及无故障共4个状态下的卫星姿态数据,包括卫星的角速度ωb=[ωxωyωz]t与卫星与目标之间的相对姿态执行机构的控制力矩指令姿态控制器输出u、以及卫星所跟踪的目标的姿态角速度ωt,共计15维,记录一部分数据对应的故障状态作为数据标签,将有标签数据划分成两部分,无标签数据与一部分有标签数据构成训练集,另一部分有标签数据构成测试集,训练集和测试集中每组数据都有15维。

步骤二、将训练集和测试集通过最大-最小标准化算法进行标准化。

步骤三、选择多种网络结构,将标准化后的训练集中无标签的部分使用对比散度算法逐层训练深度信念网络中每个受限玻尔兹曼机的参数。

步骤四、将前馈网络的参数取为深度信念网络的参数,将输出层激活函数取为softmax函数,使用有标签的数据应用基于动量的随机梯度下降法以交叉熵为损失函数对网络参数进行精调。

步骤五、将测试集输入网络,选择正确率最高的一组网络结构及其参数选取为最终应用的前馈网络的结构与参数。

步骤六、将需要检测故障状态的数据输入前馈网络,获得卫星执行机构故障状态的检测结果。

步骤二所述的最大最小标准化的具体计算过程为:

对于训练集和测试集中的多组数据进行15次最大-最小规范化,对任一维度的数据x,其具体表达式为:

式中,xi为这一维度的数据集x中的第i个数据,xmin是x中最小的数据,xmax是x中最大的数据。

步骤三的具体过程可为:

选取多种网络结构:设置几种隐层个数,对每个隐层设置几种隐层节点数。

对于每个不同网络结构的深度信念网络的第k个受限玻尔兹曼机,确定参数:样本x={x1,x2,...,xn}t,学习率ε,隐层节点数m。

将该受限玻尔兹曼机的参数包括权重w、隐层偏差b和显层偏差a初始化为0。

训练数据:

forj=1,2,...,m

中抽样出

end

fori=1,2,...,n

中抽样出

end

forj=1,2,...,m

中抽样出

end

σ(·)为sigmoid激活函数,具体表达式为:

是两次计算获得的隐层第j个节点的状态,是上一个受限玻尔兹曼机传递而来的第i个节点的状态,是通过计算获得的第i个节点的重构状态。

更新网络参数:

重复上述步骤完成单个受限玻尔兹曼机的训练,将h(2)作为下一个受限玻尔兹曼机的输入v(1),训练下一个受限玻尔兹曼机,直至所有受限玻尔兹曼机训练完成。

在训练时,将前馈网络的权重和偏差取为深度信念网络的权重和偏差,作为网络的初始参数。输出层激活函数取为softmax函数,具体表达式为:

式中,zi是激活函数的输入,是将最后一个隐藏层的输出hl进行仿射变换的结果,具体表达式为:z=wthl+b(11),式中,w和b分别是从最后一个隐层到输出层的权值向量与偏差向量。

选择损失函数为交叉熵,具体表达式为:

使用有数据标签的训练数据应用基于动量的随机梯度下降法,在给定的初始参数w,b下,取速度初值v0=0,选取学习率ε和动量参数α,调整参数:

对第i次迭代,计算该参数下的梯度计算速度更新调整参数(wi,bi)←(wi-1,bi-1)+vi,直至梯度为零或近似为零为止。

示例4

以三正装反作用飞轮为例,每个反作用飞轮的最大输出力矩为0.2n·m,最大角动量为2n·m·s,采用simulink软件编制程序获取所需所有数据,采用ode4算法,仿真步长0.01s,卫星的转动惯量为j=diag([171210])kg·m2,跟踪目标相对于惯性系的按zxy转序(从一个坐标系变换到另一个坐标系时,不同的坐标轴旋转顺序会导致欧拉角的大小发生变化,本示例中统一采用先旋转z轴、再旋转x轴、最后旋转y轴的顺序定义欧拉角)定义的欧拉角为:

卫星与目标之间的相对姿态初始值为φbt0=[π/600]rad,卫星的初始角速度为ωb0=03×1rad/s,干扰力矩为:

式中,ωo=0.001rad/s。仿真6次,分别设置无故障、故障1发生在x轴上、故障1发生在y轴上、故障1发生在z轴上、故障2发生在x轴上,故障3发生在x轴上。故障设置为:

故障1:在100s到150s故障幅值为0.010n·m,150s到200s故障幅值为0.015n·m;

故障2:在100s到150s故障幅值为0.013n·m,150s到200s故障幅值为0.025n·m;

故障3:在100s到150s故障幅值为0.015n·m,150s到200s故障幅值为0.020n·m。

对以上数据,选择50s到300s的仿真数据,设置隐层数为2,输入层节点数为15,输出层节点数为4,分别表示无故障、x轴故障、y轴故障、z轴故障。应用深度学习算法进行故障检测,采用matlab软件编制程序,在测试集上检测正确率最高的网络结构是第一个隐藏层节点数为1,第二个隐藏层节点数为16,其检测正确率为95.44%。应用该网络结构下的前馈网络对需要检测故障的数据进行处理,最终的故障检测结果如图5所示,检测正确率为96.72%。在图5中横轴为时间轴,时间是以秒为单位的,纵轴为故障状态,实线表示的为实际的故障状态,虚线表示的检测的故障状态。显然检测的故障状态的时间曲线与实际的故障状态的曲线高度重合,证明了该前馈网络具有高精度的故障检测能力。

本发明实施例还提供一种计算机存储介质。所述计算机存储介质存储有计算机可执行代码,所述计算机可执行代码被执行后,能够实现前述任意一个实施例提供的方法,具体可执行如图1及图2所示的方法。所述计算机存储介质可为非瞬间存储介质。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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