一种自主反向调优的超限学习算法在磁罗盘误差补偿中的应用方法与流程

文档序号:11705909阅读:370来源:国知局
一种自主反向调优的超限学习算法在磁罗盘误差补偿中的应用方法与流程

本发明涉及磁电子罗盘误差补偿领域。



背景技术:

导航定向在日常生活和军事领域都起着越来越重要的作用,磁罗盘属于被动无源导航,隐蔽性好,信号无遮挡,且不存在积累误差,成为导航定向的核心技术之一。最近发展起来的amr磁阻式传感器体积小、响应速度快,成为主流趋势。但amr磁阻式传感器不仅存在正交轴效应,而且敏感元件与后续调理电路之间间距小,由集成电路引脚材料引起的磁场畸变问题相对于磁通门传感器更为突出。这无疑增加了校准难度,对误差补偿技术要求更高。

目前流行的做法是通过对误差产生机理分析,利用地磁场幅值和方向不变特性,建立显示误差模型,再通过不同方法对误差参数进行估计。比如:椭圆假设法、分步校准法、椭球假设法、幅值约束法、位置翻转法、点积不变法等,通过机理分析,建立显式误差模型(或测量模型),再尝试不同方法对模型参数进行离线或在线估计。然而由于磁传感器误差来源的复杂性,任何显式的误差模型都很难囊括所有误差因素。研究人员开始尝试利用神经网络对隐式误差模型进行训练。

专利cn104931028a一种基于深度学习的三轴磁电子罗盘误差补偿方法,虽然提出了用深度学习训练隐含误差模型来减少误差,但是深度学习方法需要大量的误差数据来训练,对样本量要求很高,而且训练时间长,在样本量小的情况下容易出现过拟合现在,导致模型泛化能力下降。



技术实现要素:

本发明是一种可用于磁罗盘非线性误差补偿的方法,一种自主反向调优的超限学习算法在磁罗盘误差补偿中的应用方法,对隐式误差模型进行训练,以补偿磁罗盘测量存在的非线性误差,提高磁罗盘定向精度。

一种自主反向调优的超限学习算法在磁罗盘误差补偿中的应用方法,包括以下步骤:

s1、建立基于超限学习机的磁罗盘隐式误差模型;

s2、利用超限学习算法确定网络参数;

s3、借鉴深度学习反向调优机制,利用网络残差对上述网络参数进行反向微调;

s4、利用训练好的误差模型(神经网络)对磁罗盘误差进行补偿。

优选的是,所述步骤s1建立磁罗盘隐式误差模型,并对所述磁罗盘隐式误差模型进行训练,以补偿磁罗盘测量存在的非线性误差,提高磁罗盘定向精度。

在上述任一方案中优选的是,所述磁罗盘隐式误差模型中的

磁罗盘航向角α定义为载体前进方向在水平面上的投影与当地子午线的夹角,沿顺时针旋转,取值范围为0~360°,磁航向角φ通过组成磁罗盘的三轴磁强计和加速度计可计算得到,磁偏角用δ表示,则航向角为

α=φ+δ(1)

在上述任一方案中优选的是,所述磁罗盘隐式误差模型中的

三轴磁强计存在软磁干扰和正交轴效应,航向角测量值和实际航向α之间非线性误差函数关系

在上述任一方案中优选的是,所述步骤s3通过网络残差对随机初始化的连接权值进行反向微调,实现隐层神经元数自主寻优。

在上述任一方案中优选的是,所述步骤s4中磁罗盘误差补偿分为两个步骤:

(s401)误差模型训练;

(s402)使用过程中的误差补偿;

在上述任一方案中优选的是,所述步骤s401中误差模型训练包括两个阶段:

(s701)随机初始化输入连接权值wij和bi,根据公式计算输出连接权值βki;

(s702)根据网络残差,借鉴深度学习反向调优对连接权值进行反向微调。

在上述任一方案中优选的是,所述误差模型训练,当n为奇数时,执行第一阶段(s701),当n为偶数时,执行第二阶段(s702)。

在上述任一方案中优选的是,所述误差模型训练,当n为奇数时,执行第一阶段时,elm网络缺少输出层偏置,而且输入权重wij和隐藏层偏置bi随机产生不需要调整,整个网络仅剩下输出权重βki需要确定;

假设隐层有l个神经元,训练集包含n个不同样本(xi,yi),其中输入xi=(xi1,xi2…xin)∈rn,输出yi=(yi1,yi2…yim)∈rm,若采用非线性激励函数g(x),可以零误差逼近来自同一连续系统的n个输入样本,使得

其中,wi=(wi1,wi2…win),xj=(x1j,x2j…xnj)t;(3)式可改写为

y=hβ(4)

其中隐层输出

令elm网络的输出等于样本标签如式(5)所示

t=y=hβ(5)

多数情况下,隐层神经元的个数远远小于训练样本的个数n,因此(5)式的解为使损失函数c最小的解

根据最小范数解准则,(6)式存在极小范数最小二乘解

β=h+t(7)

其中h+为输出矩阵h的广义逆。

在上述任一方案中优选的是,所述误差模型训练,当n为偶数时,执行第二阶段,包括以下子步骤:

(s1001)根据第一阶段得到连接权值wij、bi和βki,

通过前向传播得到磁罗盘测量值对应的网络输出;

(s1002)计算网络输出与磁罗盘参考值之间偏差,即为网络残差err;

(s1003)假设网络各层的激活值分别为a1、a2和a3,网络损失函数为e;

(s1004)进行反向调优,减小损失函数e。

在上述任一方案中优选的是,所述步骤(s1004)中,通过求损失函数对连接权值的偏导得到最小损失函数e,包括如下步骤:

(s1101)前向传播过程中,各层的激活值为:

其中每个节点的网络残差erri=ti-a3i,损失函数

(s1102)通过反向求导计算所需的第二层和第三层残差:

(s1103)输入层和输出层的梯度为:

(s1104)利用梯度下降法进行反向调优:

在上述任一方案中优选的是,根据步骤(s1004)反向调优结果更新网络代价函数,若小于期望值,或迭代次数超过预定值k,则训练结束;否则返回到前面步骤继续。

在上述任一方案中优选的是,所述磁罗盘误差补偿采用基于自主反向调优的超限学习算法训练非线性误差模型,再利用该模型把畸变后的测量磁场逆变回真实磁场值,减小航向角计算误差,

其中是补偿后的磁罗盘航向角,为激活函数,x为输入向量,l表示对应的第几层。

在上述任一方案中优选的是,把磁罗盘安装在载体内部合适的地方,然后把磁罗盘航向角测量值经过归一化处理后,输入上面训练好的非线性误差模型,根据式(12)得到补偿后的航向角输出

本发明针对磁罗盘存在的非线性误差,建立隐式误差模型,提出了自主反向调优的超限学习算法,各层初始权值并非完全随机产生,这不仅大大减小了网络训练陷入局部最小的概率,也提高了网络训练效率;反向自主调优进一步解决了如何确定最优隐层节点数目的问题。

附图说明

图1是作为按照本发明的自主反向调优的超限学习算法在磁罗盘误差补偿中的应用方法的一个优选实施例的自主反向调优的超限学习误差模型。

图2是作为按照本发明的自主反向调优的超限学习算法在磁罗盘误差补偿中的应用方法的一个优选实施例的基于自主反向调优的超限学习网络训练流程图。

图3是作为按照本发明的自主反向调优的超限学习算法在磁罗盘误差补偿中的应用方法的一个优选实施例的磁罗盘误差补偿示意图。

图4是作为按照本发明的自主反向调优的超限学习算法在磁罗盘误差补偿中的应用方法的一个优选实施例的磁罗盘模型示意图。

图5是作为按照本发明的自主反向调优的超限学习算法在磁罗盘误差补偿中的应用方法的一个优选实施例的超限学习算法在磁罗盘误差补偿的应用流程图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的器件或具有相同或类似功能的器件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

一种自主反向调优的超限学习算法在磁罗盘误差补偿中的应用方法,包括以下步骤:

s1、建立基于超限学习机的磁罗盘隐式误差模型;

s2、利用超限学习算法确定网络参数;

s3、借鉴深度学习反向调优机制,利用网络残差对上述网络参数进行反向微调;

s4、利用训练好的误差模型(神经网络)对磁罗盘误差进行补偿。如图5所示。

所述步骤s1建立磁罗盘隐式误差模型,并对所述磁罗盘隐式误差模型进行训练,以补偿磁罗盘测量存在的非线性误差,提高磁罗盘定向精度。

在上述任一方案中优选的是,所述磁罗盘隐式误差模型中的

磁罗盘航向角α定义为载体前进方向在水平面上的投影与当地子午线的夹角,沿顺时针旋转,取值范围为0~360°,磁航向角φ通过组成磁罗盘的三轴磁强计和加速度计可计算得到,磁偏角用δ表示,则航向角为

α=φ+δ(1)

所述磁罗盘隐式误差模型中的

三轴磁强计存在软磁干扰和正交轴效应,航向角测量值和实际航向α之间非线性误差函数关系

所述步骤s3通过网络残差对随机初始化的连接权值进行反向微调,实现隐层神经元数自主寻优。图4中,δ为磁偏角,是地球表面任一点的磁子午线与地理子午线之间的夹角,因为地理北极和磁北极并不完全重合;φ为磁航向角,是载体纵轴和磁北极之间的夹角;α为航向角,是载体纵轴和地球北极之间的夹角,也称真航向角。三者之间的关系为:α=φ+δ。

图1中给出了一种自主反向调优的超限学习误差模型示意图,将测量航向角输入到点增量式极限学习机中,输出参考航向角。点增量式极限学习机可以抽象看做是一个3层网络结构,分别是输入层,隐藏层,输出层。隐藏层节点个数对误差模型训练精度影响较大,最优节点数一般通过增量的形式迭代查询,第k+1次迭代所获得的网络(具有k+1个隐层神经元)输出误差小于第k次迭代所获得的网络输出误差,解决了隐层节点选择难的问题。但k+1个隐层神经元中有很多神经元的输出权值wij很小,这些神经元对最终网络输出起到的影响很小,通过减少这些“无用”的神经元大大减小增量型极限学习机的迭代次数,提高学习效率,借鉴深度学习算法连接权值反向调优思想,根据超限学习机网络输出残差,利用反向求导和梯度下降对连接权值进行反向调优。该方法既减少了迭代次数,又保障了网络训练精度。

所述步骤s4中磁罗盘误差补偿分为两个步骤:

(s401)误差模型训练;

(s402)使用过程中的误差补偿;

在上述任一方案中优选的是,所述步骤s401中误差模型训练包括两个阶段:

(s701)随机初始化输入连接权值wij和bi,根据公式计算输出连接权值βki;

(s702)根据网络残差,借鉴深度学习反向调优对连接权值进行反向微调。在上述任一方案中优选的是,所述误差模型训练,当n为奇数时,执行第一阶段(s701),当n为偶数时,执行第二阶段(s702)。

在上述任一方案中优选的是,所述误差模型训练,当n为奇数时,执行第一阶段时,elm网络缺少输出层偏置,而且输入权重wij和隐藏层偏置bi随机产生不需要调整,整个网络仅剩下输出权重βki需要确定;

假设隐层有l个神经元,训练集包含n个不同样本(xi,yi),其中输入xi=(xi1,xi2…xin)∈rn,输出yi=(yi1,yi2…yim)∈rm,若采用非线性激励函数g(x),可以零误差逼近来自同一连续系统的n个输入样本,使得

其中,wi=(wi1,wi2…win),xj=(x1j,x2j…xnj)t;(3)式可改写为

y=hβ(4)

其中隐层输出

令elm网络的输出等于样本标签如式(5)所示

t=y=hβ(5)

多数情况下,隐层神经元的个数远远小于训练样本的个数n,因此(5)式的解为使损失函数c最小的解

根据最小范数解准则,(6)式存在极小范数最小二乘解

β=h+t(7)

其中h+为输出矩阵h的广义逆。

在上述任一方案中优选的是,所述误差模型训练,当n为偶数时,执行第二阶段,包括以下子步骤:

(s1001)根据第一阶段得到连接权值wij、bi和βki,

通过前向传播得到磁罗盘测量值对应的网络输出;

(s1002)计算网络输出与磁罗盘参考值之间偏差,即为网络残差err;

(s1003)假设网络各层的激活值分别为a1、a2和a3,网络损失函数为e;

(s1004)进行反向调优,减小损失函数e。

在上述任一方案中优选的是,所述步骤(s1004)中,通过求损失函数对连接权值的偏导得到最小损失函数e,包括如下步骤:

(s1101)前向传播过程中,各层的激活值为:

其中每个节点的网络残差erri=ti-a3i,损失函数

(s1102)通过反向求导计算所需的第二层和第三层残差:

(s1103)输入层和输出层的梯度为:

(s1104)利用梯度下降法进行反向调优:

在上述任一方案中优选的是,根据步骤(s1004)反向调优结果更新网络代价函数,若小于期望值,或迭代次数超过预定值k,则训练结束;否则返回到前面步骤继续。

在上述任一方案中优选的是,所述磁罗盘误差补偿采用基于自主反向调优的超限学习算法训练非线性误差模型,再利用该模型把畸变后的测量磁场逆变回真实磁场值,减小航向角计算误差,

其中是补偿后的磁罗盘航向角,为激活函数,x为输入向量,l表示对应的第几层。

在上述任一方案中优选的是,把磁罗盘安装在载体内部合适的地方,然后把磁罗盘航向角测量值经过归一化处理后,输入上面训练好的非线性误差模型,根据式(12)得到补偿后的航向角输出

图2给出了基于自主反向调优的超限学习网络训练流程图,首先初始化隐藏节点数l,损失函数e,迭代次数k,然后随机初始化输入权值w,b,根据公式7计算输出权值,然后神经网络进行前向传播,根据w,b,更新网络输出,当输出的损失函数小于e,或者小于最大迭代次数k,继续训练,否则训练结束。在继续训练的过程中,会有一步判断,如果节点数l为奇数,就根据公式9和公式10进行反向求导和梯度计算,然后根据公式11对连接权值w,b和进行反向调优。

把磁罗盘安装在载体内部合适的地方,然后把磁罗盘航向角测量值经过归一化处理后,输入上面训练好的非线性误差模型,根据式(12)得到补偿后的航向角输出如图3所示。第一步:将磁罗盘固定在三轴无磁转台上,通过无磁转台改变磁罗盘俯仰角、横滚角、方位角,获取原始数据集,并注意记录光电编码器输出的航向角作为数据集的标注。

第二步:利用同一地点地磁场和重力场矢量不变特性,设计滑动中值滤波器,对测量数据进行预处理;丢弃地磁场矢量和重力场矢量内积异常数据,减小磁强计和加速度计测量噪声和随机误差干扰,得到质量较好的误差模型训练集x和标注t。

第三步:采用最大最小法对原始数据进行归一化处理,提高网络权重(即误差模型)的训练精度。

第四步:随机抽取训练集中90%的数据,初始化隐藏层节点数为1,利用超限学习算法对网络进行初步训练;然后通过反向调优对连接权值进行更新;若更新后的网络损失函数或迭代次数达到期望值,训练结束,否则使隐藏层节点数和迭代次数加1,重复上述步骤。

第五步:剩下的10%数据作为测试集,验证误差模型的训练效果。根据验证结果改进基于自主反向调优的超限学习算法,直到获得满意的磁罗盘误差模型补偿精度。

针对磁罗盘存在的非线性误差,建立隐式误差模型,提出了自主反向调优的超限学习算法,各层初始权值并非完全随机产生,这不仅大大减小了网络训练陷入局部最小的概率,也提高了网络训练效率;反向自主调优进一步解决了如何确定最优隐层节点数目的问题。

以上对本发明的一个实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。

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