一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

预测模型的确定方法、S波走时曲线预测方法及相关设备与流程

2023-01-17 12:54:14 来源:中国专利 TAG:
预测模型的确定方法、s波走时曲线预测方法及相关设备
技术领域
1.本技术涉及地球物理勘探技术领域,更具体地说,是涉及一种预测模型的确定方法、s波走时曲线预测方法及相关设备。


背景技术:

2.测井曲线是评估油藏生产潜力的重要工具,通过测井曲线,我们可以获取岩石物理特性、地质化学特征以及地质力学特征。由于经费或者仪器故障等问题,测井曲线通常会存在缺失,且极少数井会包含s波走时曲线。在北海油田(the north sea area)目前公开的200多口井中,只有40多口井含有s波走时曲线。s波走时曲线是计算油藏地质力学参数不可缺少的输入数据,如何补齐s波走时曲线数据成为亟待解决的问题。


技术实现要素:

3.有鉴于此,本技术提供了一种预测模型的确定方法、s波走时预测方法及相关设备,以确定s波走时预测模型并实现对s波走时的预测。
4.为实现上述目的,本技术第一方面提供了一种应用于服务器的预测模型的确定方法,包括:基于来自各参与方的样本数量及各均值,确定目标均值,所述各均值包括参与方的本地数据的均值;基于来自各参与方的样本数量及各标准差,确定目标标准差,所述各标准差包括参与方的本地数据的标准差;利用所述目标均值和所述目标标准差,对全局验证集进行标准化处理,得到目标验证集,所述全局验证集中的数据由各参与方提供的部分本地数据构成;将所述目标均值和所述目标标准差发送至各参与方,以便各参与方利用所述目标均值和所述目标标准差对本地数据进行标准化处理;将s波走时预测模型的初始全局参数赋值于候选全局参数,并将候选全局参数发送至各参与方,以及接收来自各参与方返回的本地参数,所述本地参数为每一参与方利用候选全局参数对本地的s波走时预测模型进行训练后得到的模型参数;基于各参与方返回的本地参数,确定全局参数,将所述全局参数赋值于候选全局参数,以及利用所述全局参数和所述全局验证集对全局的s波走时预测模型进行验证,并将验证结果和所述全局参数确定为本轮迭代的结果;判断是否满足迭代结束条件,若否,返回执行将候选全局参数发送至各参与方的步骤;若是,基于各轮迭代的结果,确定目标全局参数及目标s波走时预测模型。
5.优选地,本地数据中的数据项包括中子孔隙度、密度和p波走时。
6.优选地,基于来自各参与方的样本数量及各均值,确定目标均值的过程,包括:利用下述方程式确定目标均值:
其中,为第k个参与方的样本数量,为第k个参与方的本地数据的均值,k为参与方的数量,为样本总数量。
7.优选地,基于来自各参与方的样本数量及各标准差,确定目标标准差的过程,包括:利用下述方程式确定目标标准差:其中,为第k个参与方的样本数量,为第k个参与方的本地数据的标准差,k为参与方的数量,为样本总数量。
8.优选地,基于各参与方返回的本地参数,确定全局参数的过程,包括:利用下述方程式确定全局参数:其中,k为参与方的数量,为第k个参与方的样本数量,为第k个参与方返回的本地参数,为总样本数量。
9.优选地,判断是否满足迭代结束条件的过程,包括:获取各参与方的总迭代次数,判断所述总迭代次数是否达到预设阈值;若是,确定满足迭代结束条件;若否,确定不满足迭代结束条件。
10.优选地,所述验证结果为s波走时预测模型的预测值与真实值的均方误差mse;基于各轮迭代的结果,确定目标全局参数的过程,包括:从各轮迭代的结果中,筛选出具有最小mse值的结果;将所述具有最小mse值的结果中的全局参数确定为目标全局参数。
11.本技术第二方面提供了一种应用于参与方的预测模型的确定方法,包括:将本地数据的样本数量、均值和标准差发送至服务器,并接收由所述服务器返回的目标均值和目标标准差,所述目标均值为所述服务器基于各参与方的样本数量及本地数
据的均值计算得到的,所述目标标准差为所述服务器基于各参与方的样本数量及本地数据的标准差计算得到的;利用目标均值和目标标准差对本地数据进行标准化处理,得到本地训练集;当接收到来自所述服务器的候选全局参数时,利用候选全局参数和所述本地训练集对本地的s波走时预测模型进行训练,并将本轮训练后的本地参数发送返回至所述服务器,所述候选全局参数为所述服务器基于各参与方返回的本地参数计算得到的;当接收到来自所述服务器的目标全局参数时,将所述目标全局参数应用于本地的s波走时预测模型,得到目标s波走时预测模型;其中,所述目标全局参数为所述服务器利用全局验证集对各候选全局参数验证后得到的,所述全局验证集中的数据由各参与方提供的部分本地数据构成。
12.本技术第三方面提供了一种预测模型的确定系统,包括服务器和连接于所述服务器的多个参与方;所述服务器用于实现如上述的应用于服务器的预测模型的确定方法的各个步骤;所述参与方存储有本地数据,用于实现如上述的应用于参与方的预测模型的确定方法的各个步骤。
13.本技术第四方面提供了一种应用于服务器的预测模型的确定装置,包括:目标均值确定单元,用于基于来自各参与方的样本数量及各均值,确定目标均值,所述各均值包括参与方的本地数据的均值;目标标准差确定单元,用于基于来自各参与方的样本数量及各标准差,确定目标标准差,所述各标准差包括参与方的本地数据的标准差;验证集处理单元,用于利用所述目标均值和所述目标标准差,对全局验证集进行标准化处理,得到目标验证集,所述全局验证集中的数据由各参与方提供的部分本地数据构成;数据参数下发单元,用于将所述目标均值和所述目标标准差发送至各参与方,以便各参与方利用所述目标均值和所述目标标准差对本地数据进行标准化处理;模型参数初始化单元,用于将s波走时预测模型的初始全局参数赋值于候选全局参数;联邦训练处理单元,用于将候选全局参数发送至各参与方,以及接收来自各参与方返回的本地参数,所述本地参数为每一参与方利用候选全局参数对本地的s波走时预测模型进行训练后得到的模型参数;全局参数更新单元,用于基于各参与方返回的本地参数,确定全局参数,将所述全局参数赋值于候选全局参数,以及利用所述全局参数和所述全局验证集对全局的s波走时预测模型进行验证,并将验证结果和所述全局参数确定为本轮迭代的结果;迭代判断单元,用于判断是否满足迭代结束条件,若否,返回执行所述联邦训练处理单元;全局参数确定单元,用于当所述迭代判断单元确定满足迭代结束条件时,基于各轮迭代的结果,确定目标全局参数。
14.本技术第五方面提供了一种应用于参与方的预测模型的确定装置,包括:联邦数值确定单元,用于将本地数据的样本数量、均值和标准差发送至服务器,并
接收由所述服务器返回的目标均值和目标标准差,所述目标均值为所述服务器基于各参与方的样本数量及本地数据的均值计算得到的,所述目标标准差为所述服务器基于各参与方的样本数量及本地数据的标准差计算得到的;本地数据处理单元,用于利用目标均值和目标标准差对本地数据进行标准化处理,得到本地训练集;本地模型训练单元,用于当接收到来自所述服务器的候选全局参数时,利用候选全局参数和所述本地训练集对本地的s波走时预测模型进行训练,并将本轮训练后的本地参数发送返回至所述服务器,所述候选全局参数为所述服务器基于各参与方返回的本地参数计算得到的;目标模型确定单元,用于当接收到来自所述服务器的目标全局参数时,将所述目标全局参数应用于本地的s波走时预测模型,得到目标s波走时预测模型;其中,所述目标全局参数为所述服务器利用全局验证集对各候选全局参数验证后得到的,所述全局验证集中的数据由各参与方提供的部分本地数据构成。
15.本技术第六方面提供了一种预测模型的确定设备,包括:存储器和处理器;所述存储器,用于存储程序;所述处理器,用于执行所述程序,实现上述的预测模型的确定方法的各个步骤。
16.本技术第七方面提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述的预测模型的确定方法的各个步骤。
17.本技术第八方面提供了一种s波走时曲线预测方法,包括:将各数据项的值输入目标s波走时预测模型,得到s波走时的预测值;其中,所述各数据项包括中子孔隙度、密度和p波走时;所述目标s波走时预测模型为采用如上述的预测模型的确定方法,或,上述的预测模型的确定系统,来构建的目标s波走时预测模型。
18.经由上述的技术方案可知,服务器首先基于来自各参与方的样本数量及各均值,确定目标均值,其中,所述各均值包括参与方的本地数据中每一数据项的均值。基于来自各参与方的样本数量及各标准差,确定目标标准差,其中,所述各标准差包括参与方的本地数据中每一数据项的标准差。然后,将所述目标均值和所述目标标准差发送至各参与方,使得各参与方可以利用所述目标均值和所述目标标准差,对本地训练集进行标准化处理。服务器利用所述目标均值和所述目标标准差,对全局验证集进行标准化处理,得到目标验证集,其中,所述全局验证集中的数据由各参与方提供的部分本地数据构成。通过所述标准化处理,有助于避免模型过拟合,加快模型拟合速度。接着,将s波走时预测模型的初始全局参数赋值于候选全局参数,并将候选全局参数发送至各参与方,使得各参与方可以利用候选全局参数对本地的s波走时预测模型进行训练,并得到训练后的本地参数,此时,各参与方将各自训练后的本地参数返回给服务器,服务器接收来自各参与方返回的本地参数,并基于各参与方返回的本地参数,确定全局参数。得到全局参数后,一方面,利用所述全局参数和所述全局验证集对全局的s波走时预测模型进行验证,并将验证结果和所述全局参数确定为本轮迭代的结果;另一方面,将所述全局参数赋值于候选全局参数,得到新的候选全局参数。接着,判断是否满足迭代结束条件。若仍未满足迭代结束条件,则返回执行将候选全局参数发送至各参与方的步骤,以便各参与方利用新的候选全局参数开展新的一次迭代训
练。若已经满足迭代结束条件,则基于各轮迭代的结果,确定目标全局参数及目标s波走时预测模型。由于各参与方仅需将少量本地数据上传至服务器,以用作构造全局验证集,大部分的本地数据留在参与方进行本地训练,这部分数据不被外部所见,很好地保障了各参与方的数据隐私。同时,各参与方经过本地训练得到的本地参数汇聚至服务器,用以更新全局参数,使得所述全局参数能够体现各参与方的本地数据在s波走时预测模型中的训练结果,提升了模型泛化能力,最终得到的目标s波走时预测模型的效果能够充分逼近通过将所有训练数据集中在一起训练所获得的机器学习模型的效果。
附图说明
19.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
20.图1为本技术实施例公开的预测模型的确定系统的示意图;图2为本技术实施例公开的应用于服务器的预测模型的确定方法的示意图;图3为本技术实施例公开的应用于参与方的预测模型的确定方法的示意图;图4示例了本技术的技术方案与传统机器学习方法的效果对比图;图5为本技术实施例公开的应用于服务器的预测模型的确定装置的示意图;图6为本技术实施例公开的预测模型的确定设备的示意图;图7为本技术实施例公开的应用于参与方的预测模型的确定装置的示意图。
具体实施方式
21.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
22.本技术的发明人发现,为补齐缺失s波走时曲线,可以基于观测数据来拟合p波走时和s波走时之间的关系。s波走时除了跟p波走时存在相关性,跟密度以及孔隙度的相关性也较高,相比于线性拟合的方法,机器学习模型可以接受更多种类的输入曲线,因此,也可以采用机器学习模型来预测s波走时。应用于s波走时预测的机器学习算法主要有多层感知器(mlp)、一维卷机神经网络模型(1d cnns)以及循环神经网络模型(lstm和gru)。基于给定的测井曲线,例如中子孔隙度()、密度()、p波走时(dtc)和s波走时(dts),这类方法训练模型学习、以及dtc到dts的映射关系,然后在缺失dts的地方做出预测。
23.机器学习算法是数据驱动的方法,理论上训练数据越多,模型性能越好。国内几乎没有公开的测井曲线数据,数据都集中在各个石油公司,而国外也只有少数的测井曲线数据是公开的。由于行业竞争、用户隐私以及数据安全等方面的因素,目前很难将不同组织之间的数据整合到一起。因此,采用传统的机器学习方法,利用各自拥有的数据来单独进行机器学习,会存在模型泛化性能不佳的问题。
24.为打破数据孤岛以及为了让机器学习模型在更多的数据里学到输入特征到s波走时的映射关系,本技术提出采用联邦学习框架来训练模型。该学习框架具有以下几个特点:(1)多个机构共建一个机器学习模型,并且每一个机构都提供一些训练数据;(2)每一个参与机构的数据都不会离开该参与方,即数据不离开本地,也不会被其他参与机构看到;(3)本地训练好的模型参数可以在各个参与方之间传输和交换;(4)采用该学习框架训练的模型效果能够充分逼近通过将所有训练数据集中在一起并训练获得的机器学习模型的效果。根据参与机构提供的数据特征,联邦学习可以分为横向联邦学习、纵向联邦学习和迁移联邦学习。由于各个机构拥有的测井曲线类别相差不大,只是数据样本不同,因此,本技术采用横向联邦学习方法训练模型。通过采用横向联邦学习框架训练模型,可以在不看见训练数据的情况下让模型学习到更多的知识,既保护了各个机构的数据安全,也提升了模型泛化能力。
25.本技术实施例提供的预测模型的确定系统,采用客户-服务器的形式来组建联邦学习架构,如图1所示,该系统包括服务器和多个参与方,其中,服务器具备模型验证的能力,各参与方具备模型训练的能力,该系统联邦训练的过程可以包括以下五个阶段:(1)超参数(hyper-parameter)设置主要包括确定学习率(learning rate)、优化器(optimizer)、本地模型训练轮数(epoch或者迭代次数)、全局模型训练轮数(epoch或者迭代次数)、batch-size。此外,如果是处理序列数据的模型,还需要确定序列数据的长度。
26.(2)数据准备,主要包括:a)确定用于预测s波走时测井曲线的特征,例如从体积密度曲线、中子孔隙度曲线、p波走时测井曲线预测s波走时曲线;b)各个参与方上传少量数据到服务器,用于构建全局验证集;c)各参与方计算本地数据的均值、标准差,并将均值、标准差以及样本数量上传至服务器;d)服务器将各参与方上传的均值、标准差以及样本数量合并成目标均值和目标标准差,并且将目标均值和目标标准差传递至各参与方;e)参与方基于目标均值和目标标准差将本地数据标准化;f)服务器基于目标均值和目标标准差将全局验证集标准化。
27.(3)模型搭建,主要包括:a)确定模型框架,具体包含确定模型类别(rnn、cnn或者mlp)、模型层数、激活函数的选取、是否采用bn(批量标准化),是否采用dropout等;b)服务器基于模型框架信息搭建全局模型;c)各参与方基于模型框架信息搭建本地模型。
28.(4)模型训练,主要包括:a)服务器将全局模型的初始参数传递至各个参与模型训练的参与方;b)参与方将全局模型的参数复制到本地模型;c)参与方基于本地数据训练本地模型,训练轮数为给定的本地模型训练轮数;d)参与方将训练好的本地模型参数传递至服务器;e)服务器基于联邦均值法更新全局模型的参数;
f)服务器将更新的全局模型应用于验证集;g)如果全局模型训练轮数达到设定的轮数,转至步骤(h);否则,转至步骤a);h)基于全局模型在验证集上的表现选取目标全局模型。
29.(5)模型确定,主要为将目标全局模型的参数传递至各参与方。
30.下面从服务器的角度,介绍本技术实施例提供的预测模型的确定方法。请参阅图2,该应用于服务器的预测模型的确定方法可以包括如下步骤:步骤s101,基于来自各参与方的样本数量及各均值,确定目标均值。
31.其中,各均值包括参与方的本地数据中每一数据项的均值。例如,若本地数据中的数据项包括中子孔隙度、密度和p波走时,则各均值包括中子孔隙度的均值、密度的均值和p波走时的均值。
32.步骤s102,基于来自各参与方的样本数量及各标准差,确定目标标准差。
33.同样地,各标准差包括参与方的本地数据中每一数据项的标准差。
34.步骤s103,将目标均值和目标标准差发送至各参与方,并利用目标均值和目标标准差,对全局验证集进行标准化处理,得到目标验证集。
35.其中,全局验证集中的数据由各参与方提供的部分本地数据构成。即,各参与方从本地数据中抽取少量数据,发送至服务器。服务器聚合各参与方提供的本地数据,组建全局验证集,用于对全局的s波走时预测模型进行验证。
36.通过将目标均值和目标标准差发送至各参与方,使得各参与方可以利用该目标均值和目标标准差对本地数据进行标准化处理。
37.步骤s104,将s波走时预测模型的初始全局参数赋值于候选全局参数。
38.其中,s波走时预测模型为机器学习模型,该模型以中子孔隙度、密度和p波走时等作为输入,以s波走时作为输出。在第一次联邦训练时,由于还没有各参与方的训练结果,因此可以利用s波走时预测模型的初始全局参数作为各参与方的候选全局参数。之后,则可以依据各参与方返回的本地参数来计算出新一轮迭代训练时需要用到的候选全局参数。
39.步骤s105,将候选全局参数发送至各参与方,以及接收来自各参与方返回的本地参数。
40.其中,该本地参数为每一参与方利用候选全局参数对本地的s波走时预测模型进行训练后得到的模型参数。
41.步骤s106,基于各参与方返回的本地参数,确定全局参数,将该全局参数赋值于候选全局参数,以及利用该全局参数和全局验证集对全局的s波走时预测模型进行验证,并将验证结果和该全局参数确定为本轮迭代的结果。
42.其中,验证结果可包括模型性能评估指标,如rmse(root mean square error,均方根误差)、mse(mean square error,均方误差)、mae(mean absolute error,平均绝对误差)、mape(mean absolute percentage error,平均绝对百分误差)等。通过多轮的联邦训练,可以得到各轮迭代的结果,即多个验证结果-全局参数组。
43.步骤s107,判断是否满足迭代结束条件,若是,执行步骤s108;若否,返回执行步骤s105。
44.步骤s108,基于各轮迭代的结果,确定目标全局参数及目标s波走时预测模型。
45.其中,可以根据验证结果中的模型性能评估指标,来确定最佳的全局参数。
46.通过上面的描述可知,在本技术中,服务器首先基于来自各参与方的样本数量及各均值,确定目标均值,其中,所述各均值包括参与方的本地数据中每一数据项的均值。基于来自各参与方的样本数量及各标准差,确定目标标准差,其中,所述各标准差包括参与方的本地数据中每一数据项的标准差。然后,将所述目标均值和所述目标标准差发送至各参与方,使得各参与方可以利用所述目标均值和所述目标标准差,对本地训练集进行标准化处理。服务器利用所述目标均值和所述目标标准差,对全局验证集进行标准化处理,得到目标验证集,其中,所述全局验证集中的数据由各参与方提供的部分本地数据构成。通过所述标准化处理,有助于避免模型过拟合,加快模型拟合速度。接着,将s波走时预测模型的初始全局参数赋值于候选全局参数,并将候选全局参数发送至各参与方,使得各参与方可以利用候选全局参数对本地的s波走时预测模型进行训练,并得到训练后的本地参数,此时,各参与方将各自训练后的本地参数返回给服务器,服务器接收来自各参与方返回的本地参数,并基于各参与方返回的本地参数,确定全局参数。得到全局参数后,一方面,利用所述全局参数和所述全局验证集对全局的s波走时预测模型进行验证,并将验证结果和所述全局参数确定为本轮迭代的结果;另一方面,将所述全局参数赋值于候选全局参数,得到新的候选全局参数。接着,判断是否满足迭代结束条件。若仍未满足迭代结束条件,则返回执行将候选全局参数发送至各参与方的步骤,以便各参与方利用新的候选全局参数开展新的一次迭代训练。若已经满足迭代结束条件,则基于各轮迭代的结果,确定目标全局参数及目标s波走时预测模型。由于各参与方仅需将少量本地数据上传至服务器,以用作构造全局验证集,大部分的本地数据留在参与方进行本地训练,这部分数据不被外部所见,很好地保障了各参与方的数据隐私。同时,各参与方经过本地训练得到的本地参数汇聚至服务器,用以更新全局参数,使得所述全局参数能够体现各参与方的本地数据在s波走时预测模型中的训练结果,提升了模型泛化能力,最终得到的目标s波走时预测模型的效果能够充分逼近通过将所有训练数据集中在一起训练所获得的机器学习模型的效果。
47.在本技术的一些实施例中,上述提及的本地数据中的数据项包括中子孔隙度、密度和p波走时。
48.在本技术的一些实施例中,步骤s101基于来自各参与方的样本数量及各均值,确定目标均值的过程,可以包括:利用下述方程式确定目标均值 :其中,为第k个参与方的样本数量,为第k个参与方的本地数据的均值,k为参与方的数量,为样本总数量。
49.在本技术的一些实施例中,步骤s102基于来自各参与方的样本数量及各标准差,确定目标标准差的过程,可以包括:利用下述方程式确定目标标准差:
其中,为第k个参与方的样本数量,为第k个参与方的本地数据的标准差,k为参与方的数量,为样本总数量。
50.在本技术的一些实施例中,步骤s106基于各参与方返回的本地参数,确定全局参数的过程,可以包括:利用下述方程式确定全局参数:其中, 为第k个参与方的样本数量,为第k个参与方返回的本地参数,为总样本数量。
51.基于上述确定全局参数的公式,容易得到,对于迭代次以后得到的全局参数,计算公式如下:其中,为第k个参与方的样本数量,为第k个参与方在迭代次后返回的本地参数,为总样本数量。
52.步骤s105及步骤s106为各参与方迭代训练的过程,该迭代过程会持续进行,直到损失函数收敛,或达到允许的迭代次数上限,或达到允许的训练时间上限。
53.在本技术的一些实施例中,步骤s107判断是否满足迭代结束条件的过程,可以包括:获取各参与方的总迭代次数,判断总迭代次数是否达到预设阈值;确定满足迭代结束条件;若否,确定不满足迭代结束条件。
54.在本技术的一些实施例中,步骤s106中提及的验证结果为s波走时预测模型的预测值与真实值的均方误差mse;步骤s108基于各轮迭代的结果,确定目标全局参数的过程,可以包括:s1,从各轮迭代的结果中,筛选出具有最小mse值的结果;
s2,将该具有最小mse值的结果中的全局参数确定为目标全局参数。
55.下面从参与方的角度,介绍本技术实施例提供的预测模型的确定方法。请参阅图3,该应用于参与方的预测模型的确定方法,可以包括如下步骤:步骤s201,将本地数据的样本数量、均值和标准差发送至服务器,并接收由服务器返回的目标均值和目标标准差。
56.其中,该目标均值为服务器基于各参与方的样本数量及本地数据的均值计算得到的,该目标标准差为所述服务器基于各参与方的样本数量及每一数据项的标准差计算得到的。
57.步骤s202,利用目标均值和目标标准差对本地数据进行标准化处理,得到本地训练集。
58.步骤s203,当接收到来自服务器的候选全局参数时,利用候选全局参数和本地训练集对本地的s波走时预测模型进行训练,并将本轮训练后的本地参数发送返回至服务器。
59.其中,该候选全局参数为服务器基于各参与方返回的本地参数计算得到的。可以理解的是,在第一次进行模型训练时,该候选全局参数为服务器预设的初始全局参数;之后的候选全局参数,则为服务器根据上一轮模型训练中得到本地参数计算得到。
60.步骤s204,当接收到来自服务器的目标全局参数时,将该目标全局参数应用于本地的s波走时预测模型,得到目标s波走时预测模型。
61.其中,该目标全局参数为服务器利用全局验证集对各候选全局参数验证后得到的,全局验证集中的数据由各参与方提供的部分本地数据构成。
62.可以理解的是,该应用于参与方的预测模型的确定方法,与前述应用于服务器的预测模型的确定方法,相互配合使用,具体的技术细节在前文已有相应的介绍,此处不再赘述。
63.为验证本技术的技术方案的有效性,将训练数据分成5组(即设置5个参与方),每组含有的样本数目分别为24745、1616、18382、29088以及50904,其中,验证集数据和测试集数据能够被服务器看到。s波走时预测模型采用gru模型,隐含层含有5个神经元,模型一共迭代200次,并采用mse来衡量模型的性能。图4展示了模型在我们的数据上得到的验证结果和测试结果。为了对比,还将所有参与方的数据集中到一起来训练gru模型,模型迭代60次。对于上述训练过程,重复执行了10次,采用本技术的技术方案和传统机器学习在测试集上给出的mse分别为0.17680.0216和0.16900.0225。由此可以得出结论,采用本技术的技术方案训练得到的模型效果很接近基于传统机器学习方法训练得到的模型。
64.下面从服务器端,对本技术实施例提供的预测模型的确定装置进行描述,下文描述的预测模型的确定装置与上文描述的应用于服务器的预测模型的确定方法可相互对应参照。
65.请参见图5,所述应用于服务器的预测模型的确定装置,可以包括:目标均值确定单元21,用于基于来自各参与方的样本数量及各均值,确定目标均值,所述各均值包括参与方的本地数据的均值;目标标准差确定单元22,用于基于来自各参与方的样本数量及各标准差,确定目标标准差,所述各标准差包括参与方的本地数据的标准差;验证集处理单元23,用于利用所述目标均值和所述目标标准差,对全局验证集进
行标准化处理,得到目标验证集,所述全局验证集中的数据由各参与方提供的部分本地数据构成;数据参数下发单元24,用于将所述目标均值和所述目标标准差发送至各参与方,以便各参与方利用所述目标均值和所述目标标准差对本地数据进行标准化处理;模型参数初始化单元25,用于将s波走时预测模型的初始全局参数赋值于候选全局参数;联邦训练处理单元26,用于将候选全局参数发送至各参与方,以及接收来自各参与方返回的本地参数,所述本地参数为每一参与方利用候选全局参数对本地的s波走时预测模型进行训练后得到的模型参数;全局参数更新单元27,用于基于各参与方返回的本地参数,确定全局参数,将所述全局参数赋值于候选全局参数,以及利用所述全局参数和所述全局验证集对全局的s波走时预测模型进行验证,并将验证结果和所述全局参数确定为本轮迭代的结果;迭代判断单元28,用于判断是否满足迭代结束条件,若否,返回执行联邦训练处理单元25;全局参数确定单元29,用于当所述迭代判断单元确定满足迭代结束条件时,基于各轮迭代的结果,确定目标全局参数。
66.在本技术的一些实施例中,目标均值确定单元21基于来自各参与方的样本数量及各均值,确定目标均值的过程,可以包括:利用下述方程式确定目标均值 :其中,为第k个参与方的样本数量,为第k个参与方的本地数据的均值,k为参与方的数量,为样本总数量。
67.在本技术的一些实施例中,目标标准差确定单元22基于来自各参与方的样本数量及各标准差,确定目标标准差的过程,可以包括:利用下述方程式确定目标标准差:其中,为第k个参与方的样本数量,为第k个参与方的本地数据的标准差,k为参与方的数量,为样本总数量。
68.在本技术的一些实施例中,全局参数更新单元26基于各参与方返回的本地参数,确定全局参数的过程,可以包括:利用下述方程式确定全局参数:其中,k为参与方的数量,为第k个参与方的样本数量,为第k个参与方返回的本地参数,为总样本数量。
69.在本技术的一些实施例中,迭代判断单元27判断是否满足迭代结束条件的过程,可以包括:获取各参与方的总迭代次数,判断所述总迭代次数是否达到预设阈值;若是,确定满足迭代结束条件;若否,确定不满足迭代结束条件。
70.在本技术的一些实施例中,所述验证结果为s波走时预测模型的预测值与真实值的均方误差mse;全局参数确定单元28基于各轮迭代的结果,确定目标全局参数的过程,可以包括:从各轮迭代的结果中,筛选出具有最小mse值的结果;将所述具有最小mse值的结果中的全局参数确定为目标全局参数。
71.上述应用于服务器的预测模型的确定装置可应用于预测模型的确定设备,如计算机等。可选的,图6示出了所述预测模型的确定设备的硬件结构框图,参照图6,预测模型的确定设备的硬件结构可以包括:至少一个处理器31,至少一个通信接口32,至少一个存储器33和至少一个通信总线34。
72.在本技术实施例中,处理器31、通信接口32、存储器33、通信总线34的数量为至少一个,且处理器31、通信接口32、存储器33通过通信总线34完成相互间的通信;处理器31可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路等;存储器33可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;其中,存储器33存储有程序,处理器31可调用存储器33存储的程序,所述程序用于:基于来自各参与方的样本数量及各均值,确定目标均值,所述各均值包括参与方的本地数据的均值;基于来自各参与方的样本数量及各标准差,确定目标标准差,所述各标准差包括参与方的本地数据的标准差;利用所述目标均值和所述目标标准差,对全局验证集进行标准化处理,得到目标验证集,所述全局验证集中的数据由各参与方提供的部分本地数据构成;
将所述目标均值和所述目标标准差发送至各参与方,以便各参与方利用所述目标均值和所述目标标准差对本地数据进行标准化处理;将s波走时预测模型的初始全局参数赋值于候选全局参数,并将候选全局参数发送至各参与方,以及接收来自各参与方返回的本地参数,所述本地参数为每一参与方利用候选全局参数对本地的s波走时预测模型进行训练后得到的模型参数;基于各参与方返回的本地参数,确定全局参数,将所述全局参数赋值于候选全局参数,以及利用所述全局参数和所述全局验证集对全局的s波走时预测模型进行验证,并将验证结果和所述全局参数确定为本轮迭代的结果;判断是否满足迭代结束条件,若否,返回执行将候选全局参数发送至各参与方的步骤;若是,基于各轮迭代的结果,确定目标全局参数及目标s波走时预测模型。
73.可选的,所述程序的细化功能和扩展功能可参照上文描述。
74.本技术实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:基于来自各参与方的样本数量及各均值,确定目标均值,所述各均值包括参与方的本地数据的均值;基于来自各参与方的样本数量及各标准差,确定目标标准差,所述各标准差包括参与方的本地数据的标准差;利用所述目标均值和所述目标标准差,对全局验证集进行标准化处理,得到目标验证集,所述全局验证集中的数据由各参与方提供的部分本地数据构成;将所述目标均值和所述目标标准差发送至各参与方,以便各参与方利用所述目标均值和所述目标标准差对本地数据进行标准化处理;将s波走时预测模型的初始全局参数赋值于候选全局参数,并将候选全局参数发送至各参与方,以及接收来自各参与方返回的本地参数,所述本地参数为每一参与方利用候选全局参数对本地的s波走时预测模型进行训练后得到的模型参数;基于各参与方返回的本地参数,确定全局参数,将所述全局参数赋值于候选全局参数,以及利用所述全局参数和所述全局验证集对全局的s波走时预测模型进行验证,并将验证结果和所述全局参数确定为本轮迭代的结果;判断是否满足迭代结束条件,若否,返回执行将候选全局参数发送至各参与方的步骤;若是,基于各轮迭代的结果,确定目标全局参数及目标s波走时预测模型。
75.可选的,所述程序的细化功能和扩展功能可参照上文描述。
76.下面从参与方端,对本技术实施例提供的预测模型的确定装置进行描述,下文描述的预测模型的确定装置与上文描述的应用于参与方的预测模型的确定方法可相互对应参照。
77.请参见图7,所述应用于参与方的预测模型的确定装置,可以包括:联邦数值确定单元41,用于将本地数据的样本数量、均值和标准差发送至服务器,并接收由所述服务器返回的目标均值和目标标准差,所述目标均值为所述服务器基于各参与方的样本数量及本地数据的均值计算得到的,所述目标标准差为所述服务器基于各参与
方的样本数量及本地数据的标准差计算得到的;本地数据处理单元42,用于利用目标均值和目标标准差对本地数据进行标准化处理,得到本地训练集;本地模型训练单元43,用于当接收到来自所述服务器的候选全局参数时,利用候选全局参数和所述本地训练集对本地的s波走时预测模型进行训练,并将本轮训练后的本地参数发送返回至所述服务器,所述候选全局参数为所述服务器基于各参与方返回的本地参数计算得到的;目标模型确定单元44,用于当接收到来自所述服务器的目标全局参数时,将所述目标全局参数应用于本地的s波走时预测模型,得到目标s波走时预测模型;其中,所述目标全局参数为所述服务器利用全局验证集对各候选全局参数验证后得到的,所述全局验证集中的数据由各参与方提供的部分本地数据构成。
78.上述应用于参与方的预测模型的确定装置可应用于预测模型的确定设备,如计算机等。可选的,图5示出了预测模型的确定设备的硬件结构框图,参照图5,预测模型的确定设备的硬件结构可以包括:至少一个处理器31,至少一个通信接口32,至少一个存储器33和至少一个通信总线34。
79.在本技术实施例中,处理器31、通信接口32、存储器33、通信总线34的数量为至少一个,且处理器31、通信接口32、存储器33通过通信总线34完成相互间的通信;处理器31可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路等;存储器33可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;其中,存储器33存储有程序,处理器31可调用存储器33存储的程序,所述程序用于:将本地数据的样本数量、均值和标准差发送至服务器,并接收由所述服务器返回的目标均值和目标标准差,所述目标均值为所述服务器基于各参与方的样本数量及本地数据的均值计算得到的,所述目标标准差为所述服务器基于各参与方的样本数量及本地数据的标准差计算得到的;利用目标均值和目标标准差对本地数据进行标准化处理,得到本地训练集;当接收到来自所述服务器的候选全局参数时,利用候选全局参数和所述本地训练集对本地的s波走时预测模型进行训练,并将本轮训练后的本地参数发送返回至所述服务器,所述候选全局参数为所述服务器基于各参与方返回的本地参数计算得到的;当接收到来自所述服务器的目标全局参数时,将所述目标全局参数应用于本地的s波走时预测模型,得到目标s波走时预测模型;其中,所述目标全局参数为所述服务器利用全局验证集对各候选全局参数验证后得到的,所述全局验证集中的数据由各参与方提供的部分本地数据构成。
80.可选的,所述程序的细化功能和扩展功能可参照上文描述。
81.本技术实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
将本地数据的样本数量、均值和标准差发送至服务器,并接收由所述服务器返回的目标均值和目标标准差,所述目标均值为所述服务器基于各参与方的样本数量及本地数据的均值计算得到的,所述目标标准差为所述服务器基于各参与方的样本数量及本地数据的标准差计算得到的;利用目标均值和目标标准差对本地数据进行标准化处理,得到本地训练集;当接收到来自所述服务器的候选全局参数时,利用候选全局参数和所述本地训练集对本地的s波走时预测模型进行训练,并将本轮训练后的本地参数发送返回至所述服务器,所述候选全局参数为所述服务器基于各参与方返回的本地参数计算得到的;当接收到来自所述服务器的目标全局参数时,将所述目标全局参数应用于本地的s波走时预测模型,得到目标s波走时预测模型;其中,所述目标全局参数为所述服务器利用全局验证集对各候选全局参数验证后得到的,所述全局验证集中的数据由各参与方提供的部分本地数据构成。
82.可选的,所述程序的细化功能和扩展功能可参照上文描述。
83.综上所述:在本技术的技术方案中,服务器首先基于来自各参与方的样本数量及各均值,确定目标均值,其中,所述各均值包括参与方的本地数据中每一数据项的均值。基于来自各参与方的样本数量及各标准差,确定目标标准差,其中,所述各标准差包括参与方的本地数据中每一数据项的标准差。然后,将所述目标均值和所述目标标准差发送至各参与方,使得各参与方可以利用所述目标均值和所述目标标准差,对本地训练集进行标准化处理。服务器利用所述目标均值和所述目标标准差,对全局验证集进行标准化处理,得到目标验证集,其中,所述全局验证集中的数据由各参与方提供的部分本地数据构成。通过所述标准化处理,有助于避免模型过拟合,加快模型拟合速度。接着,将s波走时预测模型的初始全局参数赋值于候选全局参数,并将候选全局参数发送至各参与方,使得各参与方可以利用候选全局参数对本地的s波走时预测模型进行训练,并得到训练后的本地参数,此时,各参与方将各自训练后的本地参数返回给服务器,服务器接收来自各参与方返回的本地参数,并基于各参与方返回的本地参数,确定全局参数。得到全局参数后,一方面,利用所述全局参数和所述全局验证集对全局的s波走时预测模型进行验证,并将验证结果和所述全局参数确定为本轮迭代的结果;另一方面,将所述全局参数赋值于候选全局参数,得到新的候选全局参数。接着,判断是否满足迭代结束条件。若仍未满足迭代结束条件,则返回执行将候选全局参数发送至各参与方的步骤,以便各参与方利用新的候选全局参数开展新的一次迭代训练。若已经满足迭代结束条件,则基于各轮迭代的结果,确定目标全局参数及目标s波走时预测模型。由于各参与方仅需将少量本地数据上传至服务器,以用作构造全局验证集,大部分的本地数据留在参与方进行本地训练,这部分数据不被外部所见,很好地保障了各参与方的数据隐私。同时,各参与方经过本地训练得到的本地参数汇聚至服务器,用以更新全局参数,使得所述全局参数能够体现各参与方的本地数据在s波走时预测模型中的训练结果,提升了模型泛化能力,最终得到的目标s波走时预测模型的效果能够充分逼近通过将所有训练数据集中在一起训练所获得的机器学习模型的效果。
84.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作
之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
85.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
86.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献