一种基于模型压缩和加速的神经网络实时航磁补偿方法

    专利查询2022-07-08  108



    1.本发明属于航磁干扰补偿领域,具体地而言为一种种基于模型压缩和加速的神经网络实时航磁补偿方法。


    背景技术:

    2.无人机航磁勘探是一种快速、精确的地球物理数据采集方法。无人机飞行平台含有铁磁材料,在采集航磁数据时,难免会对航空磁强计的磁场产生干扰。线性回归方法是求解tolles and lawson(t-l)模型的经典方法,但该模型存在多重共线性问题。金标准方法是岭回归来解决这一问题。国外williams最早利用bp神经网络(bpnn)来解决补偿问题,同时其他学者也证明了神经网络的拟合能力优于线性回归方法。
    3.这些方法大多是在航磁勘探数据收集后进行地面处理。对于一些特殊情况,如初始数值飞行与新测量任务飞行空间的地磁场强度存在显著差异,需要在飞行中进行另一次数值飞行。此外,无人机对具有磁异常的水下目标的跟踪需要对磁异常进行实时判读。这就需要高性能的实时补偿算法。
    4.为了实现实时航磁补偿,线性回归方法有递归最小二乘(rls)算法。神经网络通过梯度下降技术更新权值的任务耗时,使得该技术难以实时补偿。载人飞机可配备高性能计算设备实现部分实时补偿。然而,这对于载荷有限的无人机来说是不现实的。因此,需要一种高精度、低计算量的补偿方法和配套的计算设备来满足无人机探测需求。
    5.经典的补偿模型是基于t-l方程建立的一个18项系数方程。现有基于线性回归的方法有岭回归、主成分分析方法等补偿算法,基于神经网络的方法有bp神经网络、广义回归神经网络等补偿算法。线性回归和神经网络求解最耗时的部分分别是系数矩阵的求逆和神经网络权重的迭代计算过程。递归最小二乘(rls)算法是通过避免系数矩阵求逆过程来实现实时的系数计算,而目前已证明神经网络的拟合精度远高于线性回归方法。因此如何有效的减少神经网络模型迭代次数是实现神经网络实时补偿的关键。
    6.神经网络的函数拟合能力远高于线性回归方法,但神经网络的训练需要较高计算能力的计算设备,在大型有人机上可搭载大型计算设备提供高额的算力支持实现实时补偿。对于无人机而言,因为其有效载荷有限,不能搭载高性能计算设备。在无人机航磁勘探高速发展的今天,神经网络这类需要较高计算资源需求的算法难以应用于小型无人机。神经网络想要快速训练需要高昂的计算资源,而这意味着大型的计算设备,这在小型无人机上是不现实的。因此需要一种低算力需求的神经网络方法。


    技术实现要素:

    7.本发明所要解决的技术问题在于提供一种基于模型压缩和加速的神经网络实时航磁补偿方法,降低神经网络的计算量,在低算力设备上提高训练速度,实现低载荷的小型无人机上实时处理航磁数据,且相比线性回归方法具有更高的补偿精度。
    8.本发明是这样实现的,
    9.一种基于模型压缩和加速的神经网络实时航磁补偿方法,
    10.步骤s1:初始化两个网络结构一致的神经网络p和神经网络a;
    11.步骤s2:利用额外的一次fom飞行规定的补偿飞行数据c训练神经网络p,得到训练好的tw权重;
    12.步骤s3:以训练好的tw权重替换神经网络a中的初始化权重;
    13.步骤s4:利用飞行数据a训练替换好权重的神经网络a,得到训练好的ow权重;
    14.步骤s5:将训练好的神经网络a进行剪枝处理降低计算资源需求,得到最终所需要的神经网络;
    15.步骤s6:将需要补偿的数据的16项系数方程作为最终所需要的神经网络的输入,磁干扰作为输出。
    16.进一步地,神经网络为反向传播神经网络,包括第0层:具有16个节点的输入层;第1层:具有64个节点的第一隐藏层;第2层:具有16个节点的第二隐藏层;以及第3层:具有1个节点的输出层。
    17.进一步地,在训练过程中,神经网络包括前向传播和梯度下降反向传播,其中,在前向传播中,第l层,l=0,1,2,

    ,被激活函数tanh激活,生成
    [0018][0019][0020]
    其中d和k分别是第一隐藏层和第二隐藏层中的神经元数量;是经由激活函数激活后的输出,是第l层激活函数的输出与权重乘积的结果作为l 1层的输入;
    [0021]
    在反向传播中,神经网络的输出损失为:
    [0022][0023]
    反向传播由链式规则定义,输出损失j(w,b)通过输出传递给每个神经元的输入然后通过传递给权重
    [0024]
    进一步地,步骤s5中,所述剪枝处理包括:将接近0的权重通过剪枝直接将权重重置为0,剪枝占神经网络a总权重数量的13%。
    [0025]
    本发明与现有技术相比,有益效果在于:
    [0026]
    bp神经网络的学习是通过梯度下降反向传播的方式迭代更新网络的权重,从而实现高精度拟合,网络训练前的初始权重是随机初始化,本发明引入将随机初始化的权值替换为预先训练的权值,从而大大减少所需的迭代次数。此外结合其他模型压缩和加速算法,模型剪枝进一步提高算法的实时性。将压缩和加速后的神经网络在低功耗小体积的树莓派4b计算设备上上验证了该方法的实时性。
    [0027]
    本发明利用迁移学习大幅度的降低神经网络迭代所需的时间,然后利用剪枝进一步降低训练和补偿所需的计算量,从而实现神经网络实时补偿。
    附图说明
    [0028]
    图1为本发明实施例提供的神经网络的结构示意图;
    [0029]
    图2为本发明实施例提供的权重更新下降示意图;
    [0030]
    图3为本发明实施例提供的迁移学习的飞行数据训练示意图;
    [0031]
    图4为本发明实施例提供的的实时补偿结果图。
    具体实施方式
    [0032]
    为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
    [0033]
    一种基于模型压缩和加速的神经网络实时航磁补偿方法,步骤s1:初始化神经网络p和神经网络a,所述神经网络p和神经网络a结构相同;采用同样的参数随机生成方法。
    [0034]
    步骤s2:利用额外的一次fom飞行规定的补偿飞行数据c训练神经网络p,得到训练好的tw权重;
    [0035]
    步骤s3:以训练好的tw权重替换神经网络a中的初始化权重;
    [0036]
    步骤s4:利用飞行数据a训练替换好权重的神经网络a,得到训练好的ow权重;
    [0037]
    步骤s5:将训练好的神经网络a进行剪枝处理降低计算资源需求,得到最终所需要的神经网络;
    [0038]
    步骤s6:将需要补偿的数据的16项系数方程作为最终所需要的神经网络的输入,磁干扰作为输出。
    [0039]
    神经网络为反向传播神经网络,包括第0层:具有16个节点的输入层;第1层:具有64个节点的第一隐藏层;第2层:具有16个节点的第二隐藏层;以及第3层:具有1个节点的输出层。
    [0040]
    经典航磁补偿需要进行figure of merit(fom)飞行,fom飞行中包含两次补偿飞行(称为飞行a和飞行b),即在北东南西四个航向的飞行,同时每个航向需要进行
    ±
    10
    °
    侧滚、
    ±5°
    俯仰和
    ±5°
    侧滑机动。本发明提出的方法中,迁移学习需要额外的一次补偿飞行(称为飞行c)来预训练神经网络,将预训练的权重替换随机初始化的权重,达到加速训练的目的。图1为bp神经网络(bpnn)梯度反向传播示意图。图2为权重更新下降示意图,以可视化迁移学习所达到的效果。图3为如何实现迁移学习的飞行数据训练示意图。图4为优化后的bp神经网络(obpnn)的实时补偿结果图。
    [0041]
    飞机在航磁飞行过程中,机身的磁性材料特性和飞机的切割磁场会造成磁干扰。磁场干扰可以分解为永久场(h
    p
    )、感应场(hi)和涡流场(h
    ec
    )。对飞机坐标系中的各种干扰进行量化可建立航磁干扰总的数学模型h
    t

    [0042][0043]
    其中pi、a
    ij
    、b
    ij
    为干扰系数,u为飞机机动角的方向余弦,u
    ′j为ui(i=1,2,3)的导数,分别表示飞机坐标系下x、y、z方向的方向余弦。ui和t
    t
    可由三轴磁通门磁力计数据(磁通门磁力计三轴分别为t
    x
    ,ty和tz)计算得到。
    [0044]
    结合额外的约束条件:
    [0045][0046]
    在这些约束条件下,可以将磁干扰模型简化为16项,h
    t
    可表示为:
    [0047][0048]
    神经网络可以用来近似任意函数。本发明用反向传播神经网络(back propagation neural network,bpnn)来拟合t-l模型,神经网络的输入为输出为h
    t
    。网络结构输入层16个节点,隐藏层1 64个节点,隐藏层2 16个节点,输出层1个节点。
    [0049]
    在bpnn中,训练由两部分构成。对于前向传播,计算网络参数并使用权重加权。对于梯度下降(gd)反向传播,网络权重被迭代更新。的初始分配是使用正态分布normal(0,0.001)生成的。通过这种双重训练方案,预测和观察到的干扰值之间的差异被最小化。
    [0050]
    在计算过程中,使用浮点运算(floating-point operations flops)来衡量计算复杂度或运行给定算法所需的计算机资源。
    [0051]
    在前向传播中,第l层(l=0,1,2
    ……
    )被激活函数tanh激活,生成
    [0052][0053][0054]
    其中d和k分别是隐藏层1和2中的神经元数量。
    [0055]
    而通常有5次计算。
    [0056]
    在反向传播中,网络的输出损失表示为:
    [0057][0058]
    反向传播通常由链式规则定义。损失j(w,b)通过输出传递给每个神经元的输入然后传递给权重通过以梯度的链式更新为例,如图1中的路径所示。
    [0059][0060]
    在训练过程中,前向传播为(5md 5dk 5k)n次。bp网络的反向传播
    为(1 2n) (7k 7kd)k 7dm次。训练后,单个样本的前向传播为5md 5dk 5k次。假设网络至少需要1000次迭代才能达到一定的预设精度,那么训练bp网络的总复杂度为bp神经网络最耗时的方面是通过梯度下降算法迭代更新参数值。
    [0061]
    为了减少迭代次数,本技术先应用迁移学习算法。迁移学习方法假设源域(即用于预训练的干扰模型)和目标域(即需要实时训练的干扰模型)之间存在一定的相似性(即参数值和/或分布))。无人机在不同位置或不同时期产生的干扰存在一定差异,这分别解释为线性回归和神经网络补偿中的系数c和权重略有不同。将预训练网络得到的权重作为第二个网络的初始权重将大大降低后续网络的训练时间。
    [0062]
    图3描述了迁移学习如何使用fom飞行数据来训练网络。首先,使用飞行c对网络p进行预训练以获得tw权重;然后将tw权重应用于实时网络a,并使用飞行a训练网络a。最后,使用飞行b进行验证。神经网络p和神经网a的结构如前述。
    [0063]
    为了比较迁移学习对训练的加速效果,使用飞行a来训练分别由rw和tw初始化的网络a。网络中使用早期停止和l2正则化来防止过拟合。使用tw初始化的网络a只需要63次迭代即可达到0.08的目标损失。在本次训练运行中,复杂度为训练时间为37.549s,比rw初始化方法的训练时间(1759次迭代和19.433分钟)快了约31倍。
    [0064]
    此外为了进一步提高补偿运算速度,本发明提出使用剪枝:
    [0065]
    假设权重权重是结合精度需求和经验参考,k取0.01或0.02,那么结果部分为接近0的权重,即可以通过剪枝直接将权重重置为0,这对结果的影响甚微。剪枝占网络a总权重数量的13%。单个训练集的前向传播为计算时间为3.522s,是之前的0.871倍。
    [0066]
    在树莓派4b微型计算设备上使用飞行a训练经典bpnn和obpnn,并分别迭代1759次(19.433分钟)和63次(37.549秒)达到0.08的损失值。通常,单次fom飞行大约需要5~6分钟。因此,obpnn的训练在fom飞行结束之前完成。
    [0067]
    训练后,预测飞行b记录的航磁数据(5574个样本)需要1.761s。航磁仪采样率为10hz,4b约每0.1s处理158个样本,本发明可以实现实时补偿。补偿前标准差(std)为2.151,bpnn和obpnn的标准差分别为0.194nt和0.195nt。obpnn几乎不损失准确性,大大提高了运行时间。它比线性回归实时方法递归最小二乘(rls)更准确(std=0.248nt)。这些方法的结果如图4所示。
    [0068]
    本发明迁移学习利用额外的一次fom飞行规定的补偿飞行对设计好的神经网络进行预训练,将预训练得到的权重替换接下来需要进行实时补偿的网络中的随机初始化权重。这将极大的缩短网络所需的训练时间,达到在有限计算资源和时间内训练网络的目的。提出网络模型参数剪枝方法将缩短网络前向传播时间(也即实时补偿计算每个样本的时间),进一步减小算法对计算资源的需求。
    [0069]
    以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
    转载请注明原文地址:https://tc.8miu.com/read-2000.html

    最新回复(0)