一种基于增量学习的材料吸声系数回归方法及系统

文档序号:31468274发布日期:2022-09-09 22:18阅读:88来源:国知局
一种基于增量学习的材料吸声系数回归方法及系统

1.本发明涉及一种基于增量学习的材料吸声系数回归方法以及基于该方法实现的系统,属于计算机和材料领域。


背景技术:

2.材料吸声系数回归是指给定材料的规格参数和吸声系数,寻找材料规格参数与吸声系数之间的关系。主要目的是为吸声材料的选择、分析和设计提供理论支持。
3.材料数据的获取是十分困难的。材料数据是通过相关材料实验来获得的,而实验难度大和费用高是其获取困难的主要原因之一。材料数据往往具有流数据的特点,即无法一次性获取,且随着实验设置的变化,材料数据会随之变化。材料数据的这一特点导致很多需要全部数据才能训练的批量模型失去了效果。
4.增量学习是指一个学习系统能够不断地处理现实世界中连续的信息流,在吸收新知识的同时保留甚至整合、优化旧知识。因此,增量学习的学习模式是非常适合材料科学方面的研究的,即能够在不断变化的实验数据中学习到新的知识,且不忘记旧知识。当下增量学习的研究都是为了解决灾难性遗忘这一问题,因为在每一次增量阶段,都无法获取已经学习过的样本,导致旧知识的灾难性遗忘。且大多数增量场景是基于分类任务来进行的,即在每次增量阶段,分类任务中的类别是从未学习过的。而针对回归任务,当样本特征空间分布不平衡时,也会存在灾难性遗忘的问题。


技术实现要素:

5.本发明的目的是:为回归任务提供增量学习的方法,其能在材料流数据中不断学习材料吸声系数与材料规格参数的规律。
6.为了达到上述目的,本发明的技术方案是提供了一种基于增量学习的材料吸声系数回归方法,其特征在于,包括以下步骤:
7.s100、加载上一次增量学习阶段学习到的模型参数w
pre
、惩罚系数f
pre
和样本回放池m
pre
,定义当前一次增量学习阶段的模型参数w由w
pre
赋值,惩罚系数 f由f
pre
赋值;
8.s200、根据批量大小将训练集进行批量划分得到批量训练数据集合d
(n)
,n 表示当前批量训练数据集合中的批量训练数据数目,同时设置当前一次增量学习阶段的训练轮数n
epoch

9.s300、对模型进行n
epoch
轮训练;
10.每轮训练中,对于批量训练数据集合d
(n)
中的每一个批量训练数据,基于步骤s100所得到的模型参数w以及上一次增量学习阶段学习到惩罚系数f
pre
和样本回放池m
pre
进行小批量梯度下降,对均方误差损失函数和惩罚损失函数进行反向梯度传播,同时更新模型参数w和惩罚系数f;
11.s400、对训练集进行水库采样,将采样得到的样本m
now
与上一次增量学习阶段的样本回放池m
pre
合并得到新的样本回放池m;
12.s500、将当前一次增量学习阶段学习到的模型参数w、惩罚系数f和样本回放池m进行保存,以便下一阶段更新模型的时候不会忘记旧知识,达到缓解灾难性遗忘的问题。
13.优选地,步骤s100中,若当前一次增量学习阶段是首次增量学习,则对模型参数w进行随机初始化,惩罚系数f进行零初始化,样本回放池m为空。
14.优选地,对于批量训练数据集合d
(n)
中的第i个批量训练数据di,步骤s300 具体包括以下步骤:
15.s301、对样本回放池m
pre
进行随机采样得到旧样本d
pre

16.s302、将旧样本d
pre
和第i个批量训练数据di进行合并得到作为训练数据;
17.s303、将训练数据输入回归模型中得到预测值
18.s304、重复步骤301至步骤s303直至遍历批量训练数据集合d
(n)
中的每个批量训练数据,基于每个批量训练数据自身的真实和通过步骤303得到的预测值计算均方误差损失l
train
,如下式所示:
[0019][0020]
式中,表示第i个批量训练数据di自身的真实值
[0021]
s305、根据步骤s304中获得的均方误差损失l
train
进行梯度的反向传播,从而更新模型参数w,w的更新计算公式为:
[0022][0023]
式中,为模型参数w在均方误差中的梯度,ηw表示模型学习率,l
train
(w) 表示均方误差损失;
[0024]
s306、根据梯度更新当前一次增量学习阶段的惩罚系数f,惩罚系数f的更新计算公式为:
[0025][0026]
式中,α为遗忘平衡参数;
[0027]
s307,根据上一次增量学习阶段学习到的模型参数w
pre
、惩罚系数f
pre
计算惩罚损失l
penalty
,如下式所示:
[0028][0029]
式中,λ为权重;表示第i个参数的惩罚系数;wi表示当前模型的第i个参数;表示上一次增量学习阶段学习到的模型的第i个参数;
[0030]
s308、根据步骤s307获得的惩罚损失l
penalty
进行梯度的反向传播,从而更新模型参数w,w的更新计算公式为:
[0031][0032]
式中,为模型参数w在惩罚损失中的梯度,l
penalty
(w,w
pre
,f
pre
)表示惩罚损失。
[0033]
优选地,步骤s303中,回归模型由三层全连接神经网络组成。
[0034]
优选地,步骤s307中,若当前一次增量学习阶段是首次增量学习,则惩罚损失l
penalty
等于0。
[0035]
优选地,设训练集中训练样本的总个数为n,水库采样数量为k,则步骤s400 具体包括以下步骤:
[0036]
s401、将将训练集中的前k个样本作为初步采样样本m
now

[0037]
s402、针对第k+i个样本,随机生成一个随机数p:若将m
now
中的随机一个样本用第k+i个样本替换;若不做替换;
[0038]
步骤s403、重复步骤s402,直到k+i等于n,则结束采样;
[0039]
步骤s404、将水库采样得到的样本m
now
与样本回放池m
pre
合并得到新的样本回放池m。
[0040]
本发明的另一个技术方案是提供了一种基于基于增量学习的材料吸声系数回归系统,其特征在于,采用前述的材料吸声系数回归方法,包括:
[0041]
模型参数加载及定义单元,用于加载上一次增量学习阶段学习到的模型参数 w
pre
、惩罚系数f
pre
和样本回放池m
pre
,还用于定义当前一次增量学习阶段的模型参数w由w
pre
赋值,惩罚系数f由f
pre
赋值;
[0042]
批量划分单元,用于根据批量大小将训练集进行批量划分得到批量训练数据集合d
(n)
,n表示当前批量训练数据集合中的批量训练数据数目;
[0043]
模型训练单元,用于对模型进行n
epoch
轮训练,每轮训练中,对于批量训练数据集合d
(n)
中的每一个批量训练数据,基于模型参数加载及定义单元所得到的模型参数w以及上一次增量学习阶段学习到惩罚系数f
pre
和样本回放池m
pre
进行小批量梯度下降,对均方误差损失函数和惩罚损失函数进行反向梯度传播,同时更新模型参数w和惩罚系数f;
[0044]
样本回放池更新单元,用于对训练集进行水库采样,将采样得到的样本m
now
与上一次增量学习阶段的样本回放池m
pre
合并得到新的样本回放池m;
[0045]
参数存储单元,用于将当前一次增量学习阶段学习到的模型参数w、惩罚系数f和样本回放池m进行保存,以便下一阶段更新模型的时候不会忘记旧知识,达到缓解灾难性遗忘的问题。
[0046]
本发明实现了基于回放和动态调整惩罚系数的增量学习方法在材料吸声系数回归的应用,缓解了由材料流数据带来的灾难性遗忘问题,保证回归精度的前提下,减少模型计算量。相比于现有技术,本发明至少具有以下优点:
[0047]
(1)以增量学习的模式进行材料吸声系数回归,能够在连续不断的在数据流中学习新知识,减少计算量的同时确保回归精度;
[0048]
(2)惩罚系数表示的是参数保留旧知识的能力,以动态调整惩罚系数方式的方式能更加精确的确定哪些模型参数是主要维护旧知识的,哪些模型参数是学习新知识的,能够较好的缓解灾难性遗忘的问题;
[0049]
(3)水库采样利用其线性复杂度的特点,能够在保证采样概率相等的前提下进行采样,且所有数据仅看一遍,是快速且高效的采样方法。
附图说明
[0050]
图1为本发明提供的一种基于增量学习的材料吸声系数回归方法一种实施例的流程图;
[0051]
图2为本发明提供的一种基于增量学习的材料吸声系数回归方法中的增量学习在连续的数据流中进行模型训练的示意图;
[0052]
图3为本发明提供的一种基于增量学习的材料吸声系数回归方法中的用水库采样更新样本回放池的流程图。
具体实施方式
[0053]
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅是为了助于本技术领域的普通技术人员对本发明原理和知识的理解,而不用于限制本发明的范围,不能认为是限制本发明的应用场景。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,但基于本发明的原理和宗旨对实施例所做的变形、变化和转换同样落于本技术所附权利要求书所限定的范围。并且显而易见的是,本说明书仅以优选的实施方式作为举例,无需详尽所有的实施方式。
[0054]
如图1所示,本发明实施例提供一种基于增量学习的材料吸声系数回归方法,即通过动态调整惩罚系数来缓解灾难性遗忘问题,在每个增量学习阶段,包括以下步骤:
[0055]
s100、加载上一次增量学习阶段学习到的模型参数w
pre
、惩罚系数f
pre
和样本回放池m
pre
,定义当前一次增量学习阶段的模型参数w由w
pre
赋值,惩罚系数 f由f
pre
赋值。若当前一次增量学习阶段是首次增量学习,则对模型参数w进行随机初始化,惩罚系数f进行零初始化,样本回放池m为空。
[0056]
具体的,参考图2,增量学习是在连续的数据流中训练模型的,本发明以不断调整惩罚系数f
pre
和样本回放池m
pre
来维护旧的知识。因此,在每次增量训练阶段都需要将上一阶段的相关参数进行载入。
[0057]
s200、根据批量大小将训练集进行批量划分得到批量训练数据集合d
(n)
,n 表示当前批量训练数据集合中的批量训练数据数目,其具体数值由原始训练集大小所决定。同时设置当前一次增量学习阶段的训练轮数n
epoch
。每轮训练更新参数时都使用不同的批量训练数据集合d
(n)
来进行更新。
[0058]
具体的,将训练集进行批量大小划分是为了进行小批量梯度下降,小批量梯度下降在每一次更新参数时都使用一部分样本来进行更新,准确率相比于随机梯度下降更加精确,速度相比于全批量梯度下降更加快。
[0059]
s300、每轮训练中,对于批量训练数据集合d
(n)
中的每一个批量训练数据,基于步骤s100所得到的模型参数w以及上一次增量学习阶段学习到惩罚系数 f
pre
和样本回放池m
pre
进行小批量梯度下降,对均方误差损失函数和惩罚损失函数进行反向梯度传播,同时更新模型参数w和惩罚系数f。
[0060]
具体的,对样本回放池m
pre
进行随机采样得到d
pre
,将d
pre
与批量训练数据合并得到作为训练数据。将该训练数据输入模型得到样本预测值 y
pre
,进而与样本真实值计算均方误差损失并进行反向梯度传播来更新模型参数 w。进一步,用均方误差损失反向传播的梯度来更新惩罚系数f。最后,根据上一次增量学习阶段的模型参数w
pre
和惩罚
系数f
pre
计算惩罚损失并进行反向梯度传播,从而更新模型参数w。
[0061]
对于批量训练数据集合d
(n)
中的第i个批量训练数据di,步骤s300具体包括以下步骤:
[0062]
s301、对样本回放池m
pre
进行随机采样得到旧样本d
pre

[0063]
s302、将旧样本d
pre
和第i个批量训练数据di进行合并得到作为训练数据。
[0064]
s303、将训练数据输入回归模型中得到预测值
[0065]
在本实施方式中,在步骤s303中,回归模型由三层全连接神经网络组成。
[0066]
s304、重复步骤301至步骤s303直至遍历批量训练数据集合d
(n)
中的每个批量训练数据,基于每个批量训练数据自身的真实和通过步骤303得到的预测值计算均方误差损失l
train
,如下式所示:
[0067][0068]
式中,表示第i个批量训练数据di自身的真实值
[0069]
s305、根据步骤s304中获得的均方误差损失l
train
进行梯度的反向传播,从而更新模型参数w,w的更新计算公式为:
[0070][0071]
式中,为模型参数w在均方误差中的梯度,ηw表示模型学习率,l
train
(w) 表示均方误差损失。
[0072]
s306、根据梯度更新当前一次增量学习阶段的惩罚系数f,惩罚系数f的更新计算公式为:
[0073][0074]
式中,α为遗忘平衡参数,本实施例中设置为0.9。
[0075]
s307,根据上一次增量学习阶段学习到的模型参数w
pre
、惩罚系数f
pre
计算惩罚损失l
penalty
,如下式所示:
[0076][0077]
式中,λ为权重,本实施例中,设置为50;表示第i个参数的惩罚系数; wi表示当前模型的第i个参数;表示上一次增量学习阶段学习到的模型的第 i个参数。
[0078]
若当前一次增量学习阶段是首次增量学习,则惩罚损失l
penalty
等于0。
[0079]
s308、根据步骤s307获得的惩罚损失l
penalty
进行梯度的反向传播,从而更新模型参数w,w的更新计算公式为:
[0080][0081]
式中,为模型参数w在惩罚损失中的梯度,l
penalty
(w,w
pre
,f
pre
)表示惩罚损失。
[0082]
s400、对训练集进行水库采样,将采样得到的样本m
now
与上一次增量学习阶段的样
本回放池m
pre
合并得到新的样本回放池m。
[0083]
具体的,参考图3,训练样本的总个数为n,水库采样数量为k。水库采样首先将训练集中的前k个样本作为初步采样样本m
now
。其次针对第k+i个样本,随机生成一个随机数p:若将m
now
中的随机一个样本用第k+i个样本替换;若不做替换。直到k+i等于n,则结束采样。最终,将水库采样得到的样本m
now
与样本回放池m
pre
合并得到新的样本回放池m。
[0084]
步骤s400具体包括以下步骤:
[0085]
s401、将将训练集中的前k个样本作为初步采样样本m
now

[0086]
s402、针对第k+i个样本,随机生成一个随机数p:若将m
now
中的随机一个样本用第k+i个样本替换;若不做替换。
[0087]
步骤s403、重复步骤s402,直到k+i等于n,则结束采样。
[0088]
步骤s404、将水库采样得到的样本m
now
与样本回放池m
pre
合并得到新的样本回放池m。
[0089]
s500、保存当前一次增量学习阶段的模型参数w、惩罚系数f和样本回放池 m。
[0090]
具体的,将当前一次增量学习阶段学习到的模型参数w、惩罚系数f和样本回放池m进行保存,以便下一阶段更新模型的时候不会忘记旧知识,达到缓解灾难性遗忘的问题。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1