基于人工智能的模型训练方法、系统、设备及存储介质与流程

文档序号:30848854发布日期:2022-07-23 04:26阅读:191来源:国知局
基于人工智能的模型训练方法、系统、设备及存储介质与流程

1.本发明涉及人工智能技术领域,尤其涉及一种基于人工智能的模型训练方法、装置、设备及存储介质。


背景技术:

2.人工智能在医疗图像领域的挑战是各医疗机构之间数据无法互通,数据量有限,形成了数据孤岛,通过联邦学习的方式,各医疗机构的影像数据集不出本地实现了影像数据互通,丰富病例维度,从而提高医疗相关识别模型的精度。
3.选择客户端(例如,医疗机构或移动设备)使用客户端的本地数据训练模型,并将本地模型的更新发送到中央服务器进行聚合,进行多次迭代直至聚合模型性能达到要求,使得客户端使用聚合模型执行医疗相关的识别任务,联邦学习的方式无需传输任何本地原始数据,即可在不泄露患者隐私的情况下完成模型的训练。但是,传统联邦学习默认所有客户端全程参与,中央服务器聚合所有客户端的更新,这会产生巨大的传输模型更新的通信成本,导致模型训练效率较低。


技术实现要素:

4.本发明提供一种基于人工智能的模型训练方法、装系统、设备及存储介质,以解决传统联邦学习的模型训练方法中,会产生巨大的传输模型更新的通信成本,导致模型训练效率较低的问题。
5.提供一种基于人工智能的模型训练方法,包括:多个客户端根据本地数据集更新服务器发送的全局模型得到客户端更新模型,并将模型更新时间发送至服务器,并向服务器发送模型上传请求;服务器基于余弦退火算法根据客户端发送的模型更新时间确定聚合等待时长,将在聚合等待时长内接收到的模型上传请求所对应的客户端,记录为目标客户端;服务器通知目标客户端发送客户端更新模型,并在接收多个目标客户端发送的客户端更新模型后,聚合接收到的客户端更新模型得到新的全局模型;在新的全局模型未满足收敛条件时,服务器继续将新的全局模型发送至多个客户端,并根据客户端的返回结果迭代更新全局模型,直至迭代更新后的全局模型满足收敛条件时,将满足收敛条件的全局模型输出为目标模型。
6.进一步地,向服务器发送模型上传请求之前,该方法还包括:客户端对当前训练轮次的客户端更新模型的性能进行评估,得到客户端更新模型的性能评估结果;客户端根据性能评估结果确定客户端更新模型的性能是否优于历史客户端模型的性能,历史客户端模型包括客户端的本地模型和历史训练轮次训练得到的客户端更新模型;若客户端更新模型的性能优于历史客户端模型的性能,则客户端向服务器发送模
型上传请求。
7.进一步地,根据性能评估结果确定客户端更新模型的性能是否优于历史客户端模型的性能之后,该方法还包括:若客户端更新模型的性能未优于历史客户端模型的性能,则客户端向服务器发送当前训练轮次的跳过请求,以通知服务器不参与当前训练轮次的模型聚合。
8.进一步地,向服务器发送当前训练轮次的跳过请求之前,该方法还包括:客户端确定是否连续预设次数未将更新得到的客户端更新模型发送至服务器;若客户端没有连续预设次数未将更新得到的客户端更新模型发送至服务器,则客户端向服务器发送当前训练轮次的跳过请求;若客户端连续预设次数未将更新得到的客户端更新模型发送至服务器,则客户端向服务器发送模型上传请求。
9.进一步地,基于余弦退火算法根据客户端发送的模型更新时间确定聚合等待时长,包括:服务器确定当前训练轮次,并基于余弦退火算法根据当前训练轮次计算得到当前训练轮次的接收比例;服务器确定参与训练的客户端的总数量,并根据当前训练轮次的接收比例和客户端的总数量计算得到当前训练轮次的接收数量;服务器在当前训练轮次中,确定接收到第一个模型更新时间时,至接收到接收数量的模型更新时间之间的时长,作为当前训练轮次的聚合等待时长。
10.进一步地,基于余弦退火算法根据当前训练轮次计算得到当前训练轮次的接收比例,包括:服务器确定当前训练轮次是否为第一训练轮次;若当前训练轮次为第一训练轮次,则服务器获取预先配置的初始接收比例,作为第一训练轮次的接收比例;若当前训练轮次不为第一训练轮次,则服务器确定当前训练轮次在余弦退火周期内的模型聚合轮次,并根据模型聚合轮次计算得到当前训练轮次的接收比例。
11.进一步地,根据模型聚合轮次计算得到当前训练轮次的接收比例,包括:服务器确定上一训练轮次的接收比例,并确定预先配置的当前余弦退火周期的最大接收比例和最小接收比例;服务器根据模型聚合轮次、上一训练轮次的接收比例、最大接收比例和最小接收比例进行余弦退火计算,得到当前训练轮次的接收比例。
12.提供一种基于人工智能的模型训练系统,包括服务器和多个客户端;多个客户端用于根据本地数据集更新服务器发送的全局模型得到客户端更新模型,并将模型更新时间发送至服务器,并向服务器发送模型上传请求;服务器用于:基于余弦退火算法根据客户端发送的模型更新时间确定聚合等待时长,将在聚合等待时长内接收到的模型上传请求所对应的客户端,记录为目标客户端;通知目标客户端发送客户端更新模型,并在接收多个目标客户端发送的客户端更新模型后,聚合接收到的客户端更新模型得到新的全局模型;
在新的全局模型未满足收敛条件时,继续将新的全局模型发送至多个客户端,并根据客户端的返回结果迭代更新全局模型,直至迭代更新后的全局模型满足收敛条件时,将满足收敛条件的全局模型输出为目标模型。
13.提供一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现上述基于人工智能的模型训练方法的步骤。
14.提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其特征在于,计算机程序被处理器执行时实现上述基于人工智能的模型训练方法的步骤。
15.上述基于人工智能的模型训练方法、装置、设备及存储介质所提供的一个方案中,通过多个客户端根据本地数据集更新服务器发送的全局模型得到客户端更新模型,并将模型更新时间发送至服务器,并向服务器发送模型上传请求,然后服务器基于余弦退火算法根据客户端发送的模型更新时间确定聚合等待时长,将在聚合等待时长内接收到的模型上传请求所对应的客户端,记录为目标客户端,再通知目标客户端发送客户端更新模型,并在接收多个目标客户端发送的客户端更新模型后,聚合接收到的客户端更新模型得到新的全局模型,并在新的全局模型未满足收敛条件时,服务器继续将新的全局模型发送至多个客户端,并根据客户端的返回结果迭代更新全局模型,直至迭代更新后的全局模型满足收敛条件时,将满足收敛条件的全局模型输出为目标模型;本发明中,通过基于余弦退火算法动态地调整服务器在每次聚合时的等待时间,从而动态调整了服务器接收上传的客户端更新模型的数量,在保证全局模型的梯度可以有幅度地更新基础上,可以减少每轮训练时的模型传输量,从而大大减少传输模型更新的通信成本,进而能够及时聚合得到性能满足要求的目标模型,提高了模型训练的效率。
附图说明
16.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
17.图1是本发明一实施例中基于人工智能的模型训练方法的一应用环境示意图;图2是本发明一实施例中基于人工智能的模型训练方法的一流程示意图;图3是图2中步骤s20的一实现流程示意图;图4是图3中步骤s24的一实现流程示意图;图5是图2中步骤s30的一实现流程示意图;图6是图5中步骤s31的一实现流程示意图;图7是图6中步骤s313的一实现流程示意图;图8是本发明一实施例中基于人工智能的模型训练系统的一结构示意图;图9是本发明一实施例中计算机设备的一结构示意图;图10是本发明一实施例中计算机设备的另一结构示意图。
具体实施方式
18.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
19.本发明实施例提供的基于人工智能的模型训练方法,可应用在如图1的应用环境中,中,图1中的客户端包括多个,各客户端通过网络与服务器进行通信。
20.在需要进行相关模型(如预测模型、识别模型)训练时,服务器将全局模型发送给多个客户端,在接收服务器发送的全局模型后,各客户端根据本地数据集更新服务器发送的全局模型得到客户端更新模型,并将模型更新时间发送至服务器,并向服务器发送模型上传请求;服务器基于余弦退火算法根据客户端发送的模型更新时间确定聚合等待时长,将在聚合等待时长内接收到的模型上传请求所对应的客户端,记录为目标客户端,再通知目标客户端发送客户端更新模型,并在接收多个目标客户端发送的客户端更新模型后,聚合接收到的客户端更新模型得到新的全局模型,并在新的全局模型未满足收敛条件时,服务器继续将新的全局模型发送至多个客户端,并根据客户端的返回结果迭代更新全局模型,直至迭代更新后的全局模型满足收敛条件时,将满足收敛条件的全局模型输出为目标模型;本发明中,通过基于余弦退火算法动态地调整服务器在每次聚合时的等待时间,从而动态调整了服务器接收上传的客户端更新模型的数量,在保证全局模型的梯度可以有幅度地更新基础上,可以减少每轮训练时的模型传输量,从而大大减少传输模型更新的通信成本,进而能够及时聚合得到性能满足要求的目标模型,提高了模型训练的效率,也提高了模型训和利用目标模型执行相关任务的人工智能化。
21.本实施例中,全局模型、客户端返回的模型更新时间、模型上传请求以及客户端更新模型等数据,存储在服务器的数据库中,客户端的本地数据集、客户端更新模型等数据,存储在客户端的数据库中,以便后续执行模型训练任务时,直接根据需求在对应数据库中获取相关数据,以减少模型训练时间,从而提高模型训练的效率。
22.本实施例中的数据库存储于区块链网络中,用于存储基于人工智能的模型训练方法中用到、生成的数据,如全局模型、客户端返回的模型更新时间、模型上传请求以及客户端更新模型等相关数据。本技术所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。将数据库部署于区块链可提高数据存储的安全性。
23.其中,客户端可以但不限于服务器、各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
24.在一实施例中,如图2所示,提供一种基于人工智能的模型训练方法,以该方法应用在图1中的服务器和客户端为例进行说明,包括如下步骤:s10: 服务器将全局模型发送至多个客户端。
25.在执行模型训练任务时,服务器初始化一个全局模型,并确定需要参与模型训练的所有客户端,然后将存储在服务器中的全局模型发送至每个参与训练的客户端,以便多个客户端根据本地数据集对全局模型进行更新。
26.s20:客户端根据本地数据集更新服务器发送的全局模型得到客户端更新模型,并将模型更新时间发送至服务器,并向服务器发送模型上传请求。
27.在服务器将全局模型发送至多个客户端之后,每个客户端接收服务器发送的全局模型,并在接收全局模型后,每个客户端获取符合条件的本地数据,形成该客户端的本地数据集,然后根据该本地数据集对接收到的全局模型进行更新,得到客户端更新模型并存储在数据库中。在更新得到客户端更新模型的同时,客户端会记录客户端更新模型的更新完成时间,记为模型更新时间,并将模型更新时间发送至服务器,此外,客户端在更新得到客户端更新模型之后,还会向服务器发送模型上传请求以便在服务器同意后发送更新得到的客户端更新模型至服务器。
28.其中,本地数据可以是医疗结构摄制得到的医疗相关数据。每个客户端通过客户端数据采集器采集成像设备扫描的图像数据,并通过客户端的数据预处理器对该图像数据进行清洗(例如降噪),并存储在客户端的本地数据库,得到符合条件的本地数据。
29.s30:服务器基于余弦退火算法根据客户端发送的模型更新时间确定聚合等待时长,将在聚合等待时长内接收到的模型上传请求所对应的客户端,记录为目标客户端。
30.在客户端将模型更新时间发送至服务器之后,服务器接收将模型更新时间,并基于余弦退火算法根据客户端发送的模型更新时间确定聚合等待时长,然后在聚合等待时长内接收客户端向服务器发送模型上传请求,并将在聚合等待时长内接收到的模型上传请求所对应的客户端,记录为目标客户端。其中,聚合等待时长为根据当前训练轮次客户端发送的模型更新时间确定的,对当前训练轮次客户端模型更新的等待时间,所有在该聚合等待时间内未完成全局模型更新训练的客户端都不允许参与本训练轮次的聚合操作。
31.s40:服务器通知目标客户端发送客户端更新模型,并在接收多个目标客户端发送的客户端更新模型后,聚合接收到的客户端更新模型得到新的全局模型。
32.在确定目标客户端之后,服务器会通知目标客户端向服务器发送更新得到的客户端更新模型,并接收多个目标客户端发送的客户端更新模型,在接收到多个目标客户端发送的客户端更新模型后,服务器会将接收到的多个客户端更新模型进行聚合材质,得到新的全局模型。
33.s50:服务器判断新的全局模型是否满足收敛条件。
34.s60:若新的全局模型未满足收敛条件,服务器继续将新的全局模型发送至客户端,并根据客户端的返回结果迭代更新全局模型,直至迭代更新后的全局模型满足收敛条件。
35.s70:若新的全局模型满足收敛条件,则将满足收敛条件的全局模型输出为目标模型。
36.在服务器聚合接收到的客户端更新模型得到新的全局模型之后,服务器需要确定新的全局模型是否满足收敛条件,在新的全局模型未满足收敛条件时,服务器继续将新的全局模型发送至多个客户端,并根据客户端的返回结果迭代更新全局模型,直至迭代更新后的全局模型满足收敛条件时,将满足收敛条件的全局模型输出为目标模型。即,若新的全
局模型未满足收敛条件,则服务器向多个客户端发送新的全局模型,以使客户端和服务器重复执行步骤s20至s30进行模型的迭代训练,直至迭代训练的全局模型满足收敛条件,并在全局模型满足收敛条件时,将满足收敛条件的全局模型输出为目标模型,并将停止更新通知和目标模型发送至多个客户端,以使后续客户端根据目标模型执行相关数据的处理任务。
37.其中,收敛条件可以是全局模型的模型精度(准确性)满足预设精度要求,以确保目标模型对数据处理的准确性,在其他实施例中,收敛条件也可以是其他的模型收敛条件,例如,收敛条件可以是总训练轮次数达到预设训练轮次数,预设训练轮次数可以是根据实际模型的预测效果确定的轮次数。
38.本实施例中,通过多个客户端根据本地数据集更新服务器发送的全局模型得到客户端更新模型,并将模型更新时间发送至服务器,并向服务器发送模型上传请求,然后服务器基于余弦退火算法根据客户端发送的模型更新时间确定聚合等待时长,将在聚合等待时长内接收到的模型上传请求所对应的客户端,记录为目标客户端,再通知目标客户端发送客户端更新模型,并在接收多个目标客户端发送的客户端更新模型后,聚合接收到的客户端更新模型得到新的全局模型,并在新的全局模型未满足收敛条件时,服务器继续将新的全局模型发送至多个客户端,并根据客户端的返回结果迭代更新全局模型,直至迭代更新后的全局模型满足收敛条件时,将满足收敛条件的全局模型输出为目标模型;本发明中,通过基于余弦退火算法动态地调整服务器在每次聚合时的等待时间,从而动态调整了服务器接收上传的客户端更新模型的数量,在保证全局模型的梯度可以有幅度地更新基础上,可以减少每轮训练时的模型传输量,从而大大减少传输模型更新的通信成本,进而能够及时聚合得到性能满足要求的目标模型,提高了模型训练的效率。
39.在一实施例中,如图3所示,步骤s20中,将模型更新时间发送至服务器之后,向服务器发送模型上传请求之前,该方法还具体包括如下步骤:s21:客户端对当前训练轮次的客户端更新模型的性能进行评估,得到客户端更新模型的性能评估结果。
40.在客户端根据本地数据集更新服务器发送的全局模型得到客户端更新模型,并将模型更新时间发送至服务器之后,客户端对当前训练轮次的客户端更新模型的性能进行评估,得到客户端更新模型的性能评估结果。
41.s22:客户端根据性能评估结果确定客户端更新模型的性能是否优于历史客户端模型的性能。
42.在客户端对当前训练轮次的客户端更新模型的性能进行评估,得到客户端更新模型的性能评估结果之后,客户端根据性能评估结果确定当前训练轮次的客户端更新模型的性能是否优于历史客户端模型的性能,其中,历史客户端模型包括客户端的本地模型和历史训练轮次训练得到的所有客户端更新模型。
43.s23:若客户端更新模型的性能优于历史客户端模型的性能,则客户端向服务器发送模型上传请求。
44.在客户端根据性能评估结果确定当客户端更新模型的性能是否优于历史客户端模型的性能之后,若当前训练轮次的客户端更新模型的性能优于历史客户端模型的性能,表示当前的客户端更新模型的性能最佳,可以参与服务器的聚合操作,则客户端向服务器
发送模型上传请求,以便后续服务器根据实际情况确定是否通知客户端上传客户端更新模型。
45.s24:若客户端更新模型的性能未优于历史客户端模型的性能,则客户端向服务器发送当前训练轮次的跳过请求,以通知服务器不参与当前训练轮次的模型聚合。
46.在客户端根据性能评估结果确定当客户端更新模型的性能是否优于历史客户端模型的性能之后,若当前训练轮次的客户端更新模型的性能未优于历史客户端模型的性能,则客户端生成当前训练轮次的跳过请求,并向服务器发送当前训练轮次的跳过请求,以通知服务器不参与当前训练轮次的模型聚合。通过生成当前训练轮次的跳过请求,并向服务器发送当前训练轮次的跳过请求,便于后续根据当前训练轮次的跳过请求进行数据追溯,分析各客户端的数据异构情况。
47.在客户端设置了判断条件,当前训练轮次下,若客户端更新模型的性能不如之前达到过的最好性能,则选择不上传客户端更新模型,避免服务器聚合的全局模型仅朝单一方向进行训练,从而形成过拟合,可以引导全局模型高效地向收敛、泛化的方向进行训练,减少不同客户端之间数据异构性对全局模型训练的影响;此外,结合余弦退火动态时长调整策略,可以较大程度上减少客户端预服务器间的更新模型传输次数,进而减少传输模型更新的通信成本。
48.本实施例中,在向服务器发送模型上传请求之前,客户端对当前训练轮次的客户端更新模型的性能进行评估,得到客户端更新模型的性能评估结果,然后根据性能评估结果确定客户端更新模型的性能是否优于历史客户端模型的性能,历史客户端模型包括客户端的本地模型和历史训练轮次训练得到的客户端更新模型,若客户端更新模型的性能优于历史客户端模型的性能,则向服务器发送模型上传请求;若客户端更新模型的性能未优于历史客户端模型的性能,则客户端向服务器发送当前训练轮次的跳过请求,以通知服务器不参与当前训练轮次的模型聚合。仅当客户端更新模型的性能为历史最优时才向服务器发送模型上传请求,以便参与后续的模型聚合,可以有效避免性能过低的客户端更新模型(异构性数据造成)参与聚合,所带来的全局模型性能下降或受较大负面影响的问题,保证聚合得到的目标模型的精度,同时,还可以进一步减少客户端更新模型传输至服务器的传输数量,减少模型传输成本,进而进一步提高了服务器与客户端的数据传输效率,减少通讯成本并提高了模型训练的效率。
49.在一实施例中,在客户端更新模型的性能未优于历史客户端模型的性能时,如图4所示,步骤s24之前,将向服务器发送当前训练轮次的跳过请求之前,该方法还具体包括如下步骤:s241:客户端确定是否连续预设次数未将更新得到的客户端更新模型发送至服务器。
50.在客户端每次确定客户端更新模型的性能优于历史客户端模型的性能时,客户端需要根据训练记录文件,确定是否连续预设次数(例如3次、4次等)未将更新得到的客户端更新模型发送至服务器。
51.其中,客户端每次确定客户端更新模型的性能优于历史客户端模型的性能时,客户端会生成当前训练轮次的跳过请求,并会向服务器发送当前训练轮次的跳过请求,在向服务器发送当前训练轮次的跳过请求之后,客户端会将当前训练轮次的跳过请求并保持在
训练记录文件中,以便后续客户端根据训练记录文件中的不同训练轮次的跳过请求,确定是否连续预设次数未将更新得到的客户端更新模型发送至服务器。若训练记录文件中连续三个训练轮次均存在跳过请求,则确定户端连续预设次数未将更新得到的客户端更新模型发送至服务器。
52.在其他实施例中,还可以通过其他方式确定是否连续预设次数未将更新得到的客户端更新模型发送至服务器,例如,在客户端每次向服务器发送客户端更新模型之后,将更新模型上传数据(包括模型上传时间和对应的训练轮次)记录至训练记录文件中,以便后续客户端根据训练记录文件中的更新模型上传数据,确定是否连续预设次数未将更新得到的客户端更新模型发送至服务器。若当前训练轮次与训练记录文件中最近一次更新模型上传的训练轮次之间的差值,大于或者等于预设次数,则确定客户端连续预设次数未将更新得到的客户端更新模型发送至服务器。
53.s242:若客户端没有连续预设次数未将更新得到的客户端更新模型发送至服务器,则客户端向服务器发送当前训练轮次的跳过请求。
54.在客户端确定是否连续预设次数未将更新得到的客户端更新模型发送至服务器之后,若客户端没有连续预设次数未将更新得到的客户端更新模型发送至服务器,表示当前的客户端更新模型性能不佳,且未长时间脱离服务器的模型聚合参照,即便该客户端更新的客户端更新模型不参与服务器的模型聚合,也对全局模型参数更新影响不大,则客户端向服务器发送当前训练轮次的跳过请求。
55.s243:若客户端连续预设次数未将更新得到的客户端更新模型发送至服务器,则客户端向服务器发送模型上传请求。
56.在客户端确定是否连续预设次数未将更新得到的客户端更新模型发送至服务器之后,若客户端连续预设次数未将更新得到的客户端更新模型发送至服务器,表示该客户端已经多久未参与服务器的模型聚合,某一客户端长时间未参与服务器的模型聚合,可能会影响聚合得到的全局模型的精度,因此,为降低长时间未参与聚合造成的不良影响,客户端需要向服务器发送模型上传请求,以便后续有机会参与服务器的模型聚合。
57.本实施例中,在向服务器发送当前训练轮次的跳过请求之前,客户端确定是否连续预设次数未将更新得到的客户端更新模型发送至服务器;若客户端没有连续预设次数未将更新得到的客户端更新模型发送至服务器,则客户端向服务器发送当前训练轮次的跳过请求;若客户端连续预设次数未将更新得到的客户端更新模型发送至服务器,则客户端向服务器发送模型上传请求,在向服务器发送当前训练轮次的跳过请求之前,需要考虑各客户端的模型上传记录,在多次未上传客户端更新模型时,即便客户端更新模型性能达不到要求也参与聚合,以降低长时间未参与聚合造成的不良影响,提高了全局模型的精度。
58.在一实施例中,如图5所示,步骤s30中,即基于余弦退火算法根据客户端发送的模型更新时间确定聚合等待时长,具体包括如下步骤:s31:服务器确定当前训练轮次,并基于余弦退火算法根据当前训练轮次计算得到当前训练轮次的接收比例。
59.在服务器向客户端发送当前训练轮次的全局模型之后,服务器需要确定当前训练轮次,并基于余弦退火算法根据当前训练轮次计算得到当前训练轮次的接收比例。
60.s32:服务器确定参与训练的客户端的总数量,并根据当前训练轮次的接收比例和
客户端的总数量计算得到当前训练轮次的接收数量。
61.在基于余弦退火算法根据当前训练轮次计算得到当前训练轮次的接收比例之后,服务器确定参与训练的客户端的总数量,并根据当前训练轮次的接收比例和客户端的总数量计算得到当前训练轮次的接收数量,即计算得到当前训练轮次中对客户端的客户端更新模型的接收数量。
62.s33:服务器在当前训练轮次中,确定接收到第一个模型更新时间时,至接收到接收数量的模型更新时间之间的时长,作为当前训练轮次的聚合等待时长。
63.在服务器接收到客户端返回的模型更新时间之后,服务器在接收到第一个模型更新时间时,开始计时,计算从接收到第一个模型更新时间时至接收到接收数量的模型更新时间之间的时长,作为当前训练轮次的聚合等待时长。
64.例如,当前训练轮次的接收数量为15,且接收到第一个模型更新时间的时间点为6:00,从6:00开始计时,计时到接收到第15个模型更新时间时停止,若接收到第15个模型更新时间的时间点为6:40,则6:00至6:40之间的时长为当前训练轮次的聚合等待时长。此时,服务器确定在6:00至6:40之间接收到的模型上传请求,将6:00至6:40之间接收到的模型上传请求所对应的客户端作为目标客户端,然后通知目标客户端发送客户端更新模型,以将多个目标客户端的客户端更新模型进行聚合,得到新的全局模型。
65.本实施例中,当前训练轮次的接收数量为15、接收到第一个模型更新时间的时间点为6:00、接收到第接收数量个模型更新时间的时间点为6:40仅为示例性说明,在其他实施例中,上述数据还可以是其他数值,在此不在赘述。
66.其中,当前训练轮次的接收比例指的是:当前训练轮次中对客户端的模型上传请求的接收比例,即当前训练轮次中对客户端发送的客户端更新模型的接收比例,也即当前训练轮次中参与服务器聚合操作的户端更新模型的接收比例。
67.根据余弦退火算法动态地调整当前训练轮次的接收比例,即可实现对参与聚合的客户端更新模型的数量进行动态调整,有效减少了参与不同训练轮次中客户端的参与量,从而降低了客户端更新模型的传输量,降低了数据传输成本,降低数据传输时长、聚合时长,从而提高了模型训练的效率。
68.本实施例中,服务器通过确定当前训练轮次,并基于余弦退火算法根据当前训练轮次计算得到当前训练轮次的接收比例,确定参与训练的客户端的总数量,并根据当前训练轮次的接收比例和客户端的总数量计算得到当前训练轮次的接收数量,然后在当前训练轮次中,确定接收到第一个模型更新时间时,至接收到接收数量的模型更新时间之间的时长,作为当前训练轮次的聚合等待时长,明确了基于余弦退火算法根据客户端发送的模型更新时间确定聚合等待时长的 具体步骤,能够有效调整每一训练轮次时的等待时间,从而提高模型训练效率。
69.在其他实施例中,为进一步降低等待时长,还可以将第一个模型更新时间,至接收到接收数量的模型更新时间之间的时长,作为当前训练轮次的聚合等待时长。
70.在一实施例中,如图6所示,步骤s31中,即基于余弦退火算法根据当前训练轮次计算得到当前训练轮次的接收比例,具体包括如下步骤:s311:服务器确定当前训练轮次是否为第一训练轮次;s312:若当前训练轮次为第一训练轮次,则服务器获取预先配置的初始接收比例,
作为第一训练轮次的接收比例;s313:若当前训练轮次不为第一训练轮次,则服务器确定当前训练轮次在余弦退火周期内的模型聚合轮次,并根据模型聚合轮次计算得到当前训练轮次的接收比例。
71.在服务器向客户端发送当前训练轮次的全局模型之后,服务器需要确定当前训练轮次是否为第一训练轮次,若当前训练轮次为第一训练轮次,表示当前是训练的第一轮,此外还未进行模型聚合,则服务器获取预先配置的初始接收比例,作为第一训练轮次的接收比例,以便后续根据第一训练轮次的接收比例确定第一训练轮次的聚合等待时长,进而确定参与第一训练轮次服务器聚合的目标客户端。若当前训练轮次不为第一训练轮次,则服务器确定当前训练轮次在余弦退火周期内的模型聚合轮次,并根据模型聚合轮次计算得到当前训练轮次的接收比例。
72.可以理解的是,在目标模型的整个训练过程中,需要经过多个余弦退火周期,在每个余弦退火周期内,客户端和服务器需要进行多次迭代更新,从而进程多次聚合,因此在每次聚合之前,都需要确定当前训练轮次在余弦退火周期内的模型聚合轮次,然后根据当前训练轮次在余弦退火周期内的模型聚合轮次计算得到当前训练轮次的接收比例。
73.其中,根据模型聚合轮次计算得到当前训练轮次的接收比例,可以将当前训练轮次直接输入余弦退火函数中,将余弦退火函数根据当前训练轮次计算并输出的值,记录为当前训练轮次的接收比例。
74.其中,当前训练轮次的接收比例通过如下公式计算,即余弦退火函数公式可以为:;其中,表示当前训练轮次的接收比例;表示最小接收比例,表示最大接收比例;表示余弦退火周期;表示当前训练轮次在余弦退火周期内的模型聚合轮次,。
75.本实施例中,服务器通过确定当前训练轮次是否为第一训练轮次,若当前训练轮次为第一训练轮次,则服务器获取预先配置的初始接收比例,作为第一训练轮次的接收比例,若当前训练轮次不为第一训练轮次,则服务器确定当前训练轮次在余弦退火周期内的模型聚合轮次,并根据模型聚合轮次计算得到当前训练轮次的接收比例,明确了基于余弦退火算法根据当前训练轮次计算得到当前训练轮次的接收比例的具体过程,为后续根据当前训练轮次的接收比例确定聚合等待时间提供了准确性基础。
76.在一实施例中,如图7所示,步骤s313中,即基于余弦退火算法根据当前训练轮次计算得当前训练轮次的接收比例,具体包括如下步骤:s3131:服务器确定上一训练轮次的接收比例,并确定预先配置的当前余弦退火周期的最大接收比例和最小接收比例。
77.s3132:服务器根据模型聚合轮次、上一训练轮次的接收比例、最大接收比例和最小接收比例进行余弦退火计算,得到当前训练轮次的接收比例。
78.在确定当前训练轮次是否为第一训练轮次之后,若当前训练轮次不为第一训练轮次,服务器可以确定上一训练轮次的接收比例,并确定预先配置的当前余弦退火周期的最
大接收比例和最小接收比例,然后根据当前训练轮次的模型聚合轮次、上一训练轮次的接收比例、最大接收比例和最小接收比例进行余弦退火计算,得到当前训练轮次的接收比例。
79.其中,当前训练轮次的接收比例通过如下公式计算:;其中,表示当前训练轮次的接收比例;表示上一训练轮次的接收比例;表示最小接收比例,表示最大接收比例;表示当前训练轮次在余弦退火周期内的模型聚合轮次。
80.不同于前文中的接收比例计算方式,本实施例中的接收比例还考虑了上一训练轮次的接收比例,增加了当前训练轮次的接收比例,使得不同训练轮次的接收比例变化更加平缓,从而使得聚合等待时长的变化更为平缓,在减少模型更新传输成本的基础上,增加了参与的客户端更新模型,从而提高了目标模型的精度。
81.本实施例中,服务器通过确定上一训练轮次的接收比例,并确定预先配置的当前余弦退火周期的最大接收比例和最小接收比例,然后根据模型聚合轮次、上一训练轮次的接收比例、最大接收比例和最小接收比例进行余弦退火计算,得到当前训练轮次的接收比例,使得不同训练轮次的接收比例变化更加平缓,从而使得聚合等待时长的变化更为平缓,在减少模型更新传输成本的基础上,增加了参与的客户端更新模型,从而提高了目标模型的精度。
82.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
83.在一实施例中,提供一种基于人工智能的模型训练系统,该基于人工智能的模型训练系统与上述实施例中基于人工智能的模型训练方法一一对应。如图8所示,该基于人工智能的模型训练系统包括服务器和n个客户端,各装置详细说明如下:其中,多个客户端用于:根据本地数据集更新服务器发送的全局模型得到客户端更新模型,并将模型更新时间发送至服务器,并向服务器发送模型上传请求;其中,服务器用于:基于余弦退火算法根据客户端发送的模型更新时间确定聚合等待时长,将在聚合等待时长内接收到的模型上传请求所对应的客户端,记录为目标客户端;通知目标客户端发送客户端更新模型,并在接收多个目标客户端发送的客户端更新模型后,聚合接收到的客户端更新模型得到新的全局模型;在新的全局模型未满足收敛条件时,继续将新的全局模型发送至多个客户端,并根据客户端的返回结果迭代更新全局模型,直至迭代更新后的全局模型满足收敛条件时,将满足收敛条件的全局模型输出为目标模型。
84.进一步地,向服务器发送模型上传请求之前,客户端还用于:对当前训练轮次的客户端更新模型的性能进行评估,得到客户端更新模型的性能评估结果;
根据性能评估结果确定客户端更新模型的性能是否优于历史客户端模型的性能,历史客户端模型包括客户端的本地模型和历史训练轮次训练得到的客户端更新模型;若客户端更新模型的性能优于历史客户端模型的性能,则向服务器发送模型上传请求。
85.进一步地,根据性能评估结果确定客户端更新模型的性能是否优于历史客户端模型的性能之后,客户端还用于:若客户端更新模型的性能未优于历史客户端模型的性能,则客户端向服务器发送当前训练轮次的跳过请求,以通知服务器不参与当前训练轮次的模型聚合。
86.进一步地,向服务器发送当前训练轮次的跳过请求之前,客户端还用于:确定是否连续预设次数未将更新得到的客户端更新模型发送至服务器;若客户端没有连续预设次数未将更新得到的客户端更新模型发送至服务器,则向服务器发送当前训练轮次的跳过请求;若客户端连续预设次数未将更新得到的客户端更新模型发送至服务器,则向服务器发送模型上传请求。
87.进一步地,基于余弦退火算法根据客户端发送的模型更新时间确定聚合等待时长,包括:确定当前训练轮次,并基于余弦退火算法根据当前训练轮次计算得到当前训练轮次的接收比例;确定参与训练的客户端的总数量,并根据当前训练轮次的接收比例和客户端的总数量计算得到当前训练轮次的接收数量;在当前训练轮次中,确定接收到第一个模型更新时间时,至接收到接收数量的模型更新时间之间的时长,作为当前训练轮次的聚合等待时长。
88.进一步地,基于余弦退火算法根据当前训练轮次计算得到当前训练轮次的接收比例,包括:确定当前训练轮次是否为第一训练轮次;若当前训练轮次为第一训练轮次,则获取预先配置的初始接收比例,作为第一训练轮次的接收比例;若当前训练轮次不为第一训练轮次,则确定当前训练轮次在余弦退火周期内的模型聚合轮次,并根据模型聚合轮次计算得到当前训练轮次的接收比例。
89.进一步地,根据模型聚合轮次计算得到当前训练轮次的接收比例,包括:确定上一训练轮次的接收比例,并确定预先配置的当前余弦退火周期的最大接收比例和最小接收比例;根据模型聚合轮次、上一训练轮次的接收比例、最大接收比例和最小接收比例进行余弦退火计算,得到当前训练轮次的接收比例。
90.关于基于人工智能的模型训练系统的具体限定可以参见上文中对于基于人工智能的模型训练方法的限定,在此不再赘述。上述基于人工智能的模型训练系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
91.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于人工智能的模型训练方法所生产、用到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于人工智能的模型训练方法。
92.在一个实施例中,提供了一种计算机设备,该计算机设备可以是客户端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种基于人工智能的模型训练方法。
93.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:向客户端发送全局模型,以使多个客户端根据本地数据集更新服务器发送的全局模型得到客户端更新模型,并将模型更新时间发送至服务器,并向服务器发送模型上传请求;基于余弦退火算法根据客户端发送的模型更新时间确定聚合等待时长,将在聚合等待时长内接收到的模型上传请求所对应的客户端,记录为目标客户端;通知目标客户端发送客户端更新模型,并在接收多个目标客户端发送的客户端更新模型后,聚合接收到的客户端更新模型得到新的全局模型;在新的全局模型未满足收敛条件时,继续将新的全局模型发送至多个客户端,并根据客户端的返回结果迭代更新全局模型,直至迭代更新后的全局模型满足收敛条件时,将满足收敛条件的全局模型输出为目标模型。
94.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:向客户端发送全局模型,以使多个客户端根据本地数据集更新服务器发送的全局模型得到客户端更新模型,并将模型更新时间发送至服务器,并向服务器发送模型上传请求;基于余弦退火算法根据客户端发送的模型更新时间确定聚合等待时长,将在聚合等待时长内接收到的模型上传请求所对应的客户端,记录为目标客户端;通知目标客户端发送客户端更新模型,并在接收多个目标客户端发送的客户端更新模型后,聚合接收到的客户端更新模型得到新的全局模型;在新的全局模型未满足收敛条件时,继续将新的全局模型发送至多个客户端,并根据客户端的返回结果迭代更新全局模型,直至迭代更新后的全局模型满足收敛条件时,将满足收敛条件的全局模型输出为目标模型。
95.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink) dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
96.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
97.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1