【技术实现步骤摘要】
用于少样本故障诊断的具有自适应学习率的元学习方法
[0001]本专利技术涉及人工智能领域,尤其涉及一种用于少样本故障诊断的具有自适应学习率的元学习方法。
技术介绍
[0002]机器设备的故障诊断对机器设备的安全运行和高效工作起着重要作用。随着深度学习技术的迅速发展,近年来基于深度学习的故障诊断方法得到了长足的发展。这些方法能够方便、快捷地实现准确的故障诊断,而不用依赖专家经验和耗时的人工特征提取操作。但是这些方法的成功依赖于大量的训练数据。否则,这些方法的效果将显著降低。然而,在实际情况中,收集足够的数据来训练故障诊断模型通常是昂贵甚至不切实际的。其中一个主要原因是,一旦机器设备出现故障,将被立即关闭以确保安全,这就导致仅能收集到少量故障数据。此外,与实验室中的机器设备不同,不能人为地在真实运行的机器设备中引入故障以获取故障数据。
[0003]为了应对用于训练故障诊断模型的数据不足的问题,当前主流方法包括三类:基于数据增强的方法、基于迁移学习的方法和少样本学习方法。基于数据增强的方法可以基于原始数据集生成新的数据从而增加数据量和多样性。然而,这类方法很难确保生成的数据的正确性和质量,特别是当真实原始数据极其有限时。因此,生成的样本无法提供足够有效的辅助信息。获取有效辅助信息的另一个方法是从其他不同但相关的任务(即辅助任务)中学习先验知识。为此,基于迁移学习的方法从相关但分布不同的辅助任务中学习知识,并迁移到目标任务中从而完成分类。然而,这类方法主要侧重于使模型能够适应于一个特定的目标任务。这类方法仍有进一步提
【技术保护点】
【技术特征摘要】
1.一种用于少样本故障诊断的具有自适应学习率的元学习方法,其特征在于:所述方法分为元训练和精调两个阶段,基于MAML框架对用于元训练和精调的两种学习率采用自适应学习率,并且改进了元训练和精调的损失函数,具体包括以下步骤:S1,确定辅助任务目标任务外循环迭代次数J、内循环迭代次数P、内循环中子任务的参数更新次数Γ、以及精调的更新次数E;S2,将模型参数随机初始化为θ0,设定第一循环变量j=1;设定第二循环变量e=1;S3,设定第三循环变量μ=1;S4,从辅助任务T
μ
中随机采样和和和形成一个子任务,对此子任务计算得到经过Γ次参数更新后的参数S5,根据计算中样本的交叉熵损失S6,μ=μ+1,判断μ是否大于P,是则执行步骤S7,否则返回步骤S4;S7,计算特征间多核最大均值差异用来衡量模型的泛化能力;S8,更新模型参数,将模型参数由θ
j
‑1更新为θ
j
,具体包括以下步骤:S8.1计算自适应外循环学习率β
j
,公式如下:其中,a1,b1,g1,a2,b2和g2是超参数,δ
j
是模型泛化能力的变化率;超参数a1,b1,g1,a2,b2和g2根据传统MAML的预实验确定;模型泛化能力的变化率δ
j
计算公式如下:其中,δ
j
是模型泛化能力的变化率,i为正整数,是模型的特征间多核最大均值差异;是模型的特征间多核最大均值差异;S8.2,计算用于外循环优化的损失函数其计算公式如下:其中,N是健康状态的数量,c为正整数,表示第c种健康状态;S8.3,将模型参数由θ
j
‑1更新为θ
j
:其中,θ
j
和θ
j
‑1分别为第j次和第j
‑
1次外循环的模型参数,β
j
为自适应外循环学习率,表示对θ
j
‑1的梯度;S9,j=j+1,判断j是否大于J;是则执行步骤S10;否则返回步骤S3继续进行外循环;S10,计算指标LD
e
‑1来衡量模型的性能,
S11,计算自适应的精调学习率η
e
;首先将η
e
初始化为学习率的最大值,然后根据ΔLD
e
来调整η
e
,ΔLD
e
是LD
e
的相对变化率,自适应的精调学习率η
e
计算如下:其中,l是一个超参数,其取值根据在学习率为固定值的预实验中ΔLD
e
的取值情况来决定,使η
e
在常用值范围内变化,ΔLD
e
是LD
e
的相对变化率,用于调整精调的学习率,计算公式如下:S12,计算精调损失函数S12,计算精调损失函数其中,θ
′
是全连接层的权重参数,山是正则化项的权重,其取值根据在损失函数中没有正则化项的预实验中∑
θ
′
|θ
′
|的取值决定,其中损失函数为:其中,表示经过e
‑
1次精调的模型参数,T
tg
表示目标任务,x
i
是T
tg
中第i个样本的输入数据,y
i
是相应的标签;表示x
i
输入模型后获得的输出;S13,用现有Adam算法更新到包括:计算对的梯度,然后计算梯度的一阶矩估计和二阶矩估计,并根据矩估计计算适应性学习步长,减去梯度和适应性学习步长以及η
e
的乘积,从而得到S14,e=e+1,判断e是否大于E,是则得到用于目标任务故障诊断的模型并结束,否则返回步骤S10;在总共E次精调更新后,便获得用于目...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。