CN116050544A - 联邦学习方法及相关装置 - Google Patents
联邦学习方法及相关装置 Download PDFInfo
- Publication number
- CN116050544A CN116050544A CN202111267081.8A CN202111267081A CN116050544A CN 116050544 A CN116050544 A CN 116050544A CN 202111267081 A CN202111267081 A CN 202111267081A CN 116050544 A CN116050544 A CN 116050544A
- Authority
- CN
- China
- Prior art keywords
- training
- data
- local
- federal learning
- network device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mobile Radio Communication Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种联邦学习方法及相关装置,该联邦学习方法包括:第一网络设备获取至少两个终端设备的本地训练数据;对所述至少两个终端设备的本地训练数据进行处理,得到训练数据集;根据所述训练数据集进行模型训练,得到模型梯度;向第二网络设备发送所述模型梯度。这样,第一网络设备的训练数据来自至少两个终端设备,降低了联邦学习中数据分布的非均匀性。以第一网络设备为单位训练相较于以终端设备为单位训练,降低了联邦学习的分布单元数量,进一步改善了分布训练数据的非均匀性,提高了联邦学习训练的收敛性,从而提升了联邦学习的性能。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种联邦学习方法及相关装置。
背景技术
联邦学习是指各个终端设备在不向中心设施上传训练数据的情况下,通过将本地训练的模型交互整合实现统一模型训练的训练模式。
通信网络中,联邦学习的训练过程由终端设备与中心设施交互完成。训练数据存储在终端设备中,终端设备基于本地的训练数据进行模型训练,将模型梯度上传给中心设施,中心设施汇总各个终端设备上传的模型梯度后更新全局模型,之后广播给终端设备作为下一轮训练的模型,由此完成训练模型的交互。联邦学习由分散的终端设备与中心设施联动完成,各个终端设备的训练数据集往往差异较大,数据分布的非均匀性较高,导致联邦学习训练的收敛速度和精度降低,收敛性较差甚至不收敛,联邦学习的性能差。
发明内容
本申请提供一种联邦学习方法及相关装置,用于提高联邦学习训练的收敛性,从而提升联邦学习的性能。
第一方面,本申请提供了一种联邦学习方法,所述方法应用于第一网络设备,包括:获取至少两个终端设备的本地训练数据;对所述至少两个终端设备的本地训练数据进行处理,得到训练数据集;根据所述训练数据集进行模型训练,得到模型梯度;向第二网络设备发送所述模型梯度。
上述方法中,第一网络设备获取至少两个终端设备的本地训练数据,模型训练过程在第一网络设备进行,由第一网络设备和第二网络设备进行模型交互整合,最终得到训练完成的联邦学习模型。这样,第一网络设备的训练数据来自至少两个终端设备,降低了联邦学习中数据分布的非均匀性。以第一网络设备为单位训练相较于以终端设备为单位训练,降低了联邦学习的分布单元数量,进一步改善了分布训练数据的非均匀性,提高了联邦学习训练的收敛性,从而提升了联邦学习的性能。
结合第一方面,在第一方面的一种可能的实施方式中,所述对所述至少两个终端设备的本地训练数据进行处理,包括:根据所述本地训练数据的数据信息,维护本地数据资源列表;对所述本地训练数据进行预处理,缓存所述预处理后的本地训练数据;缓存所述本地训练数据,将所述本地训练数据的索引存储在所述本地数据资源列表中。
上述实施方式中,对本地训练数据进行预处理,缓存预处理后的本地训练数据,这样便于后续使用预处理后的本地训练数据进行模型训练。缓存本地训练数据,将本地训练数据的索引存储在本地数据资源列表中,这样下次进行模型训练时,训练数据来源除了重新从终端设备获取的本地训练数据以外,还可以根据需求从本地数据资源列表中获取,丰富了训练数据的数量和类别。
结合第一方面,在第一方面的一种可能的实施方式中,所述本地数据资源列表还包括以下至少一项信息:样本类别标签、样本形态标签和样本数量。
结合第一方面,在第一方面的一种可能的实施方式中,还包括:接收所述第二网络设备发送的联邦学习业务信息,所述联邦学习业务信息包括以下至少一项:业务标识、训练目标、需求数据格式、需求数据类别。
上述实施方式中,第一网络设备接收第二网络设备发送的联邦学习业务信息,这样第一网络设备可以将自己的本地资源信息与联邦学习业务信息进行匹配,从而判断是否加入联邦学习业务。
结合第一方面,在第一方面的一种可能的实施方式中,所述根据所述训练数据集进行模型训练,包括:根据所述联邦学习业务信息,从所述本地数据资源列表中获取第一索引;获取所述第一索引对应的缓存训练数据;根据所述预处理后的本地训练数据和所述缓存训练数据进行模型训练。
上述实施方式中,在模型训练时,根据联邦学习业务信息,获取缓存的训练数据,根据预处理后的本地训练数据和缓存训练数据进行训练,丰富了训练数据的数量和类别,提升了联邦学习的性能。
结合第一方面,在第一方面的一种可能的实施方式中,在所述获取至少两个终端设备的本地训练数据之前,还包括:获取所述第一网络设备的本地资源信息;将所述第一网络设备的本地资源信息与所述联邦学习业务信息进行匹配,确定加入所述联邦学习业务。
上述实施方式中,第一网络设备在获取终端设备的本地训练数据之前,需要判断是否加入联邦学习业务,这样可以避免第一网络设备在不加入联邦学习业务的情况下获取终端设备的本地训练数据,占用通信资源。
结合第一方面,在第一方面的一种可能的实施方式中,在所述获取至少两个终端设备的本地训练数据之前,还包括:获取所述终端设备发送的训练数据信息;将所述终端设备发送的训练数据信息与所述联邦学习业务信息进行匹配,确定将所述终端设备加入所述联邦学习业务。
上述实施方式中,第一网络设备在获取终端设备的本地训练数据之前,需要判断是否将终端设备加入联邦学习业务,这样可以避免在终端设备不加入联邦学习业务的情况下第一网络设备获取该终端设备的本地训练数据,占用通信资源。
结合第一方面,在第一方面的一种可能的实施方式中,还包括:接收所述第二网络设备发送的更新后的训练模型。
上述实施方式中,第一网络设备接收第二网络设备发送的更新后的训练模型,使用更新后的训练模型进行下一轮模型训练。
结合第一方面,在第一方面的一种可能的实施方式中,还包括:向所述终端设备发送训练完成的联邦学习模型,所述联邦学习模型达到收敛,或者,所述第一网络设备的训练轮数不小于预设训练轮数阈值。
上述实施方式中,第一网络设备向终端设备发送训练完成的联邦学习模型,终端设备可以使用联邦学习模型支持本地的智能业务。
结合第一方面,在第一方面的一种可能的实施方式中,所述第一网络设备部署在接入网中,或者所述第一网络设备部署在局域计算中心,所述局域计算中心通过接入网设备与所述至少两个终端设备通信,或者所述第一网络设备部署在边缘服务器中,所述边缘服务器通过接入网设备与所述至少两个终端设备通信。
第二方面,本申请提供了一种联邦学习方法,所述方法应用于第二网络设备,包括:接收第一网络设备发送的模型梯度;对所述模型梯度进行整合,得到更新后的训练模型;向所述第一网络设备发送所述更新后的训练模型。
上述方法中,第二网络设备接收第一网络设备发送的模型梯度,以及向第一网络设备发送更新后的训练模型,其中模型训练过程在第一网络设备进行,由第一网络设备和第二网络设备进行模型交互整合,最终得到训练完成的联邦学习模型。第一网络设备的训练数据来自至少两个终端设备,降低了联邦学习中数据分布的非均匀性。以第一网络设备为单位训练相较于以终端设备为单位训练,降低了联邦学习的分布单元数量,进一步改善了分布训练数据的非均匀性,提高了联邦学习训练的收敛性,从而提升了联邦学习的性能。
结合第二方面,在第二方面的一种可能的实施方式中,还包括:接收云服务器发送的联邦学习业务信息,所述联邦学习业务信息包括以下至少一项:业务标识、训练目标、需求数据格式、需求数据类别;向所述第一网络设备发送所述联邦学习业务信息。
上述实施方式中,第二网络设备接收云服务器发送的联邦学习业务信息,向第一网络设备发送联邦学习业务信息,这样第一网络设备可以将自己的本地资源信息与联邦学习业务信息进行匹配,从而判断是否加入联邦学习业务。
结合第二方面,在第二方面的一种可能的实施方式中,还包括:向云服务器发送训练进度信息,所述训练进度信息包括以下至少一项信息:模型误差、测试准确率、训练轮数和训练数据集的统计信息。
上述实施方式中,第二网络设备向云服务器发送训练进度信息,这样云服务器可以将训练进度信息反馈给云应用,云应用根据训练进度信息评估模型训练的程度,从而判断是否停止训练。
结合第二方面,在第二方面的一种可能的实施方式中,还包括:向云服务器发送训练完成的联邦学习模型,所述联邦学习模型达到收敛,或者,所述第一网络设备的训练轮数不小于预设训练轮数阈值。
上述实施方式中,第二网络设备向云服务器发送训练完成的联邦学习模型,云服务器可以使用联邦学习模型支持云端智能业务。
结合第二方面,在第二方面的一种可能的实施方式中,在所述接收第一网络设备发送的模型梯度之前,还包括:接收所述第一网络设备发送的数据信息;根据所述第一网络设备发送的数据信息,确定将所述第一网络设备加入所述联邦学习业务。
上述实施方式中,第二网络设备在接收第一网络设备发送的模型梯度之前,需要判断是否将第一网络设备加入联邦学习业务,这样可以避免在第一网络设备不加入联邦学习业务的情况下第二网络设备接收第一网络设备发送的模型梯度,占用通信资源。
结合第二方面,在第二方面的一种可能的实施方式中,所述第二网络设备部署在核心网中。
第三方面,本申请提供了一种联邦学习方法,所述方法应用于终端设备,包括:对本地数据进行预处理,得到本地训练数据;向第一网络设备发送所述本地训练数据。
上述方法中,终端设备向第一网络设备发送本地训练数据,第一网络设备获取至少两个终端设备的本地训练数据,模型训练过程在第一网络设备进行,由第一网络设备和第二网络设备进行模型交互整合,最终得到训练完成的联邦学习模型。这样,第一网络设备的训练数据来自至少两个终端设备,降低了联邦学习中数据分布的非均匀性。以第一网络设备为单位训练相较于以终端设备为单位训练,降低了联邦学习的分布单元数量,进一步改善了分布训练数据的非均匀性,提高了联邦学习训练的收敛性,从而提升了联邦学习的性能。
结合第三方面,在第三方面的一种可能的实施方式中,还包括:接收所述第一网络设备发送的联邦学习业务信息,所述联邦学习业务信息包括以下至少一项:业务标识、训练目标、需求数据格式、需求数据类别。
上述实施方式中,终端设备接收第一网络设备发送的联邦学习业务信息,根据联邦学习业务信息选择发送给第一网络设备的本地训练数据。
结合第三方面,在第三方面的一种可能的实施方式中,在所述向第一网络设备发送所述本地训练数据之前,还包括:根据所述终端设备的本地资源信息,确定加入所述联邦学习业务。
上述实施方式中,终端设备在向第一网络设备发送本地训练数据之前,需要判断是否加入联邦学习业务,这样可以避免终端设备在不加入联邦学习业务的情况下向第一网络设备发送本地训练数据,占用通信资源。
结合第三方面,在第三方面的一种可能的实施方式中,在所述确定加入所述联邦学习业务之后,还包括:向所述第一网络设备发送业务加入请求,所述业务加入请求包括所述终端设备的训练数据信息。
上述实施方式中,终端设备向第一网络设备发送业务加入请求,这样,第一网络设备可以判断是否将终端设备加入联邦学习业务。
结合第三方面,在第三方面的一种可能的实施方式中,还包括:接收所述第一网络设备发送的训练完成的联邦学习模型,所述联邦学习模型达到收敛,或者,所述第一网络设备的训练轮数不小于预设训练轮数阈值。
上述实施方式中,终端设备接收第一网络设备发送的训练完成的联邦学习模型,终端设备可以使用联邦学习模型支持本地的智能业务。
第四方面,本申请提供了一种通信装置,该通信装置可以用于第一方面的第一网络设备,该通信装置可以是第一网络设备,也可以是第一网络设备中的装置(例如,芯片,或者芯片系统,或者电路),或者是能够和第一网络设备匹配使用的装置。
一种可能的实现中,该通信装置可以包括执行第一方面中所描述的方法/操作/步骤/动作所一一对应的模块或单元,该模块或单元可以是硬件电路,也可是软件,也可以是硬件电路结合软件实现。
一种可能的实现中,该通信装置包括处理模块和收发模块,其中,所述处理模块,用于获取至少两个终端设备的本地训练数据;对所述至少两个终端设备的本地训练数据进行处理,得到训练数据集;根据所述训练数据集进行模型训练,得到模型梯度;所述收发模块,用于向第二网络设备发送所述模型梯度。
结合第四方面,在第四方面的一种可能的实施方式中,所述处理模块具体用于:根据所述本地训练数据的数据信息,维护本地数据资源列表;对所述本地训练数据进行预处理,缓存所述预处理后的本地训练数据;缓存所述本地训练数据,将所述本地训练数据的索引存储在所述本地数据资源列表中。
结合第四方面,在第四方面的一种可能的实施方式中,所述本地数据资源列表还包括以下至少一项信息:样本类别标签、样本形态标签和样本数量。
结合第四方面,在第四方面的一种可能的实施方式中,所述收发模块还用于:接收所述第二网络设备发送的联邦学习业务信息,所述联邦学习业务信息包括以下至少一项:业务标识、训练目标、需求数据格式、需求数据类别。
结合第四方面,在第四方面的一种可能的实施方式中,所述处理模块具体用于:根据所述联邦学习业务信息,从所述本地数据资源列表中获取第一索引;获取所述第一索引对应的缓存训练数据;根据所述预处理后的本地训练数据和所述缓存训练数据进行模型训练。
结合第四方面,在第四方面的一种可能的实施方式中,所述处理模块还用于:获取所述通信装置的本地资源信息;将所述通信装置的本地资源信息与所述联邦学习业务信息进行匹配,确定加入所述联邦学习业务。
结合第四方面,在第四方面的一种可能的实施方式中,所述处理模块还用于:获取所述终端设备发送的训练数据信息;将所述终端设备发送的训练数据信息与所述联邦学习业务信息进行匹配,确定将所述终端设备加入所述联邦学习业务。
结合第四方面,在第四方面的一种可能的实施方式中,所述收发模块还用于:接收所述第二网络设备发送的更新后的训练模型。
结合第四方面,在第四方面的一种可能的实施方式中,所述收发模块还用于:向所述终端设备发送训练完成的联邦学习模型,所述联邦学习模型达到收敛,或者,所述通信装置的训练轮数不小于预设训练轮数阈值。
结合第四方面,在第四方面的一种可能的实施方式中,所述通信装置部署在接入网中,或者所述通信装置部署在局域计算中心,所述局域计算中心通过接入网设备与所述至少两个终端设备通信,或者所述通信装置部署在边缘服务器中,所述边缘服务器通过接入网设备与所述至少两个终端设备通信。
第五方面,本申请提供了一种通信装置,该通信装置可以用于第二方面的第二网络设备,该通信装置可以是第二网络设备,也可以是第二网络设备中的装置(例如,芯片,或者芯片系统,或者电路),或者是能够和第二网络设备匹配使用的装置。
一种可能的实现中,该通信装置可以包括执行第二方面中所描述的方法/操作/步骤/动作所一一对应的模块或单元,该模块或单元可以是硬件电路,也可是软件,也可以是硬件电路结合软件实现。
一种可能的实现中,该通信装置包括收发模块和处理模块,其中,所述收发模块,用于接收第一网络设备发送的模型梯度;所述处理模块,用于对所述模型梯度进行整合,得到更新后的训练模型;所述收发模块,还用于向所述第一网络设备发送所述更新后的训练模型。
结合第五方面,在第五方面的一种可能的实施方式中,所述收发模块还用于:接收云服务器发送的联邦学习业务信息,所述联邦学习业务信息包括以下至少一项:业务标识、训练目标、需求数据格式、需求数据类别;向所述第一网络设备发送所述联邦学习业务信息。
结合第五方面,在第五方面的一种可能的实施方式中,所述收发模块还用于:向云服务器发送训练进度信息,所述训练进度信息包括以下至少一项信息:模型误差、测试准确率、训练轮数和训练数据集的统计信息。
结合第五方面,在第五方面的一种可能的实施方式中,所述收发模块还用于:向云服务器发送训练完成的联邦学习模型,所述联邦学习模型达到收敛,或者,所述第一网络设备的训练轮数不小于预设训练轮数阈值。
结合第五方面,在第五方面的一种可能的实施方式中,所述收发模块还用于接收所述第一网络设备发送的数据信息;所述处理模块,还用于根据所述第一网络设备发送的数据信息,确定将所述第一网络设备加入所述联邦学习业务。
结合第五方面,在第五方面的一种可能的实施方式中,所述通信装置部署在核心网中。
第六方面,本申请提供了一种通信装置,该通信装置可以用于第三方面的终端设备,该通信装置可以是终端设备,也可以是终端设备中的装置(例如,芯片,或者芯片系统,或者电路),或者是能够和终端设备匹配使用的装置。
一种可能的实现中,该通信装置可以包括执行第三方面中所描述的方法/操作/步骤/动作所一一对应的模块或单元,该模块或单元可以是硬件电路,也可是软件,也可以是硬件电路结合软件实现。
一种可能的实现中,该通信装置包括处理模块和收发模块,其中,所述处理模块,用于对本地数据进行预处理,得到本地训练数据;所述收发模块,用于向第一网络设备发送所述本地训练数据。
结合第六方面,在第六方面的一种可能的实施方式中,所述收发模块还用于:接收所述第一网络设备发送的联邦学习业务信息,所述联邦学习业务信息包括以下至少一项:业务标识、训练目标、需求数据格式、需求数据类别。
结合第六方面,在第六方面的一种可能的实施方式中,所述处理模块还用于:根据所述通信装置的本地资源信息,确定加入所述联邦学习业务。
结合第六方面,在第六方面的一种可能的实施方式中,所述收发模块还用于:向所述第一网络设备发送业务加入请求,所述业务加入请求包括所述通信装置的训练数据信息。
结合第六方面,在第六方面的一种可能的实施方式中,所述收发模块还用于:接收所述第一网络设备发送的训练完成的联邦学习模型,所述联邦学习模型达到收敛,或者,所述第一网络设备的训练轮数不小于预设训练轮数阈值。
第七方面,本申请提供了一种通信装置,包括与存储器耦合的处理器,所述存储器用于存储计算机程序,所述处理器执行所述程序时,实现第一方面或第一方面的任一可能的实施方式中的方法。
第八方面,本申请提供了一种通信装置,包括与存储器耦合的处理器,所述存储器用于存储计算机程序,所述处理器执行所述程序时,实现第二方面或第二方面的任一可能的实施方式中的方法。
第九方面,本申请提供了一种通信装置,包括与存储器耦合的处理器,所述存储器用于存储计算机程序,所述处理器执行所述程序时,实现第三方面或第三方面的任一可能的实施方式中的方法。
第十方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质用于存储指令,所述指令被处理器执行时,使得如第一方面或第一方面的任一可能的实施方式中的方法被执行。
第十一方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质用于存储指令,所述指令被处理器执行时,使得如第二方面或第二方面的任一可能的实施方式中的方法被执行。
第十二方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质用于存储指令,所述指令被处理器执行时,使得如第三方面或第三方面的任一可能的实施方式中的方法被执行。
第十三方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得如第一方面或第一方面的任一可能的实施方式中的方法,或如第二方面或第二方面的任一可能的实施方式中的方法,或如第三方面或第三方面的任一可能的实施方式中的方法被执行。
第十四方面,本申请提供了一种通信系统,该通信系统包括第四方面、第五方面和第六方面所述的通信装置,或第七方面、第八方面和第九方面所述的通信装置。
附图说明
图1为联邦学习的交互示意图;
图2为联邦学习的训练流程示意图;
图3为一种通信网络中联邦学习的训练流程示意图;
图4为本申请实施例提供的一种联邦学习的系统架构示意图;
图5为本申请实施例提供的一种联邦学习的交互示意图;
图6为本申请实施例提供的一种联邦学习方法的交互示意图;
图7为本申请实施例提供的一种联邦学习方法中业务部署的交互示意图;
图8为本申请实施例提供的一种联邦学习方法中训练数据准备的交互示意图;
图9为本申请实施例提供的另一种联邦学习方法的交互示意图;
图10为本申请实施例提供的一种通信装置的示意图;
图11为本申请实施例提供的另一种通信装置的示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
以下,对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
本申请的技术方案可以应用于第三代合作伙伴计划(3rd generationpartnership project,3GPP)相关的蜂窝系统,例如,长期演进(long term evolution,LTE)系统等第四代(4th generation,4G)通信系统,新无线(new radio,NR)系统等第五代(5th generation,5G)通信系统,还可以应用于无线保真(wireless fidelity,WiFi)系统,支持多种无线技术融合的通信系统,或者是面向未来的演进系统。
本申请实施例涉及终端设备。终端设备包括向用户提供语音和/或数据连通性的设备,例如可以包括具有无线连接功能的手持式设备、或连接到无线调制解调器的处理设备。该终端设备为5G终端时,可以经无线接入网(radio access network,RAN)与核心网进行通信,与RAN交换语音和/或数据。该终端设备可以包括用户设备(user equipment,UE)、无线终端设备、移动终端设备、高空飞机上搭载的通信设备、无人机、机器人、设备到设备通信(device-to-device,D2D)终端设备、车到一切(vehicle-to-everything,V2X)终端设备、机器到机器/机器类通信(machine-to-machine/machine-type communications,M2M/MTC)终端设备、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、物联网(internet of things,IoT)终端设备、订户单元(subscriber unit)、订户站(subscriber station)、移动站(mobile station)、远程站(remote station)、接入点(access point,AP)、远程终端(remote terminal)、接入终端(access terminal)、用户终端(user terminal)、用户代理(user agent)、或用户装备(user device)等。例如,可以包括移动电话(或称为“蜂窝”电话),具有移动终端设备的计算机,便携式、袖珍式、手持式、计算机内置的移动装置等。例如,个人通信业务(personalcommunication service,PCS)电话、无绳电话、会话发起协议(session initiationprotocol,SIP)话机、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)等设备。还包括受限设备,例如功耗较低的设备,或存储能力有限的设备,或计算能力有限的设备等。例如包括条码、射频识别(radio frequencyidentification,RFID)、传感器、全球定位系统(global positioning system,GPS)、激光扫描器等信息传感设备,未来通信网络中的终端设备等,本申请实施例对此不作限定。
作为示例而非限定,在本申请实施例中,该终端设备还可以是可穿戴设备。可穿戴设备也可以称为穿戴式智能设备或智能穿戴式设备等,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能头盔、智能首饰等。
而如上介绍的各种终端设备,如果位于车辆上(例如放置在车辆内或安装在车辆内),都可以认为是车载终端设备,车载终端设备例如也称为车载单元(on-board unit,OBU)。
本申请实施例还涉及第一网络设备。第一网络设备部署在接入网中,可以为接入网设备,或者第一网络设备部署在局域计算中心,局域计算中心通过接入网设备与至少两个终端设备通信,或者第一网络设备部署在边缘服务器中,边缘服务器通过接入网设备与至少两个终端设备通信。其中,接入网设备可以是5G网络中的网络侧设备,也可以是LTE系统中的演进型基站(evolutional Node B,eNB或eNodeB)。可选的,本申请实施例中的接入网设备可以包括各种形式的基站,例如:宏基站、微基站(也称为小站)、中继站、接入点、5G基站、未来实现基站功能的设备、WiFi系统中的接入节点,传输点(transmitting andreceiving point,TRP)、发射点(transmitting point,TP)、移动交换中心以及设备到设备(Device-to-Device,D2D)、车辆外联(vehicle-to-everything,V2X)、机器到机器(machine-to-machine,M2M)通信中承担基站功能的设备等,本申请实施例对此不作具体限定。
本申请实施例还涉及第二网络设备,第二网络设备部署在核心网中。
本申请实施例中涉及的“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
以及,除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一信息和第二信息,只是为了区分不同的信息,而并不是表示这两种信息的内容、优先级、发送顺序或者重要程度等的不同。
为了便于理解本申请,首先对本申请涉及的概念进行解释。
模型梯度:神经网络训练时网络模型权重更新的量,原模型梯度加上更新梯度即可获得更新后的模型权重。
收敛性:神经网络在训练进行若干轮后如果其模型权重能够趋于稳定,训练误差能够趋于一个较小的值,则称训练收敛。
随着物联网的发展,智能终端将成为未来发展的主流,其中,智能终端指的是拥有计算处理功能的终端设备,例如手环、手机、自动驾驶汽车和智能家居等。
智能终端在工作过程中会产生相关数据,这些数据累积到一起数量较大。对这些分布数据做大数据处理成为了一项核心业务。比如在健康领域,包括手环在内的各类终端设备每天都在产生用户的身体健康数据,在云端对这些身体健康数据进行分析挖掘是一项重要业务。在推荐领域,个人手机内的数据信息的挖掘对于云端应用推荐水平的提高至关重要。在自动驾驶领域,各个汽车行车数据的挖掘对于提升驾驶系统的精度至关重要。然而这类应用中智能终端的数据往往涉及隐私,且数据是实时动态产生,直接在云端集中训练不能满足增长的应用需求。因此以联邦学习为代表的分布学习算法是支持这类业务的重要方案,其中,联邦学习是指一种各个终端设备在不向中心上传训练数据的情况下通过将本地训练的模型交互整合实现统一模型训练的训练模式。联邦学习中各个单元的交互需要网络支持,因此网络支持对联邦学习实施非常重要。
联邦学习的优势在于其无需由中心收集和管理各终端数据便可基于这些数据训练出公用的机器学习模型。参见图1,图1为联邦学习的交互示意图。如图1所示,联邦学习训练过程由各个终端设备与中心设施交互完成。训练数据存储在各个终端设备内存中,其中模型训练也全部在各个终端设备独自完成。中心设施根据应用需求形成初始模型(例如紧致的全连接神经网络(dense neural network,DNN)或卷积神经网络(convolutionalneural network,CNN)),并将初始模型广播给所有终端设备。终端设备基于本地数据集进行模型训练,上传梯度。中心设施汇总各个终端设备上传的梯度后更新模型权重,之后广播给各个终端设备作为下一轮训练的初始权重,由此完成训练模型的交互。
参见图2,图2为联邦学习的训练流程示意图。如图2所示,训练初始化阶段,参与训练的终端设备向中心服务器报告本地的训练资源情况(不包括本地的原始训练数据)。中心服务器汇总各个终端设备的局部资源信息之后,维护训练资源列表,用于后续筛选终端设备。训练进行阶段,每进行一轮训练时,中心服务器首先筛选终端设备,决定本轮参与模型训练的终端设备。筛选完成后,中心服务器将全局模型发送给参与训练的终端设备,其中模型结构由应用事先给定。终端设备接收全局模型并将接收到的模型权重作为本地训练的初始权重。基于本地训练数据集,各个终端设备在本地训练若干轮。完成本地训练后,终端设备将模型权重更新的梯度上传至中心服务器。中心服务器将收集到的权重更新进行整合,形成新的全局模型,由此完成一轮的全局训练。例如在第N轮训练中,筛选得到参与本轮训练的终端设备为终端设备1、终端设备3和终端设备5,中心服务器将全局模型发送给终端设备1、终端设备3和终端设备5,终端设备1、终端设备3和终端设备5分别在本地训练若干轮,将模型权重更新的梯度上传至中心服务器。在第N+1轮训练中,筛选得到参与本轮训练的终端设备为终端设备1、终端设备2和终端设备4,中心服务器将全局模型发送给终端设备1、终端设备2和终端设备4,终端设备1、终端设备2和终端设备4分别在本地训练若干轮,将模型权重更新的梯度上传至中心服务器。联邦学习的整体训练按上述过程完成若干轮全局训练,直到模型收敛或训练轮数达到预先设定的最大轮数。
联邦学习的训练过程由终端设备与中心设施交互完成,联邦学习的性能(收敛性,训练延迟)也会因为终端设备的分散性受到影响。从收敛性来说,各个终端设备的训练数据集往往差异较大,比如部分终端设备获取的是关于猫的图片,部分终端设备获取的是关于狗的图片,这样终端设备数据差异太大时,训练的收敛速度会大幅降低,甚至不收敛。从训练延迟来说,各个终端设备需要接收全局模型,完成本地训练后再将更新梯度上传至中心设施整合,这过程中,各个终端是否能够协调一致完成训练将直接影响本轮的延迟。
参见图3,图3为一种通信网络中联邦学习的训练流程示意图。如图3所示,以云作为中心设施,训练数据分布存储在各个终端设备中,云与终端设备构成两层联邦学习架构,交互双方为云与各个分布终端设备。云应用在不集中收集数据的前提下,利用各个分布终端设备上的数据集做大数据处理,获得基于这些数据集所训练的机器学习模型,用于支持应用功能。
由图3可以看出,终端设备和云通过主干核心网与末端无线网结合的方式实现交互连接通信。终端设备上传更新梯度时,先通过无线网上传到接入网设备,再由接入网设备经由核心网转发给云端。终端设备从云端下载模型时,模型先经由核心网发送到终端设备对应地址的接入网设备,终端设备再从接入网设备经由无线网下载模型。训练在各个分布终端设备完成,模型权重整合在云端完成。各个终端设备在云端的协调下完成每一轮的全局训练,直到模型收敛或达到最大的训练轮数。
由于各个终端设备的数据量较少,分布的训练较短时间内即可完成,由此每一轮通信的间歇也会很短,因此云与终端设备之间会有频繁的梯度上传与模型下载。由于通信过程直接经由核心网,且分布终端设备数量较多,这样会占用较多的核心网通信资源。分布终端设备中训练数据往往差异较大,这种现象在联邦学习中被称作数据非均匀分布(non-independent identically distribution,non-i.i.d.),数据非均匀分布的现象会导致联邦学习收敛速度与精度大幅下降,甚至无法收敛。在实际的通信网络中,各个分布终端设备的环境和工作状态往往是高度随机的。在联邦学习过程中,终端设备损坏、断联、延迟等现象时常出现且很难预测。因此,从云端层面直接与终端设备互动开展联邦学习在协同方面较为困难。由此来看,云与终端设备交互的联邦学习很难在大规模网络中应用。
如上介绍了本申请的背景技术,下面介绍本申请实施例的技术特征。
参见图4,图4为本申请实施例提供的一种联邦学习的系统架构示意图。如图4所示的联邦学习系统的服务对象是云服务器上的中心应用和带有本地数据的分布终端设备,系统支持的业务是云应用所发起的面向分布大数据处理的联邦学习业务。
从终端设备角度看,第一网络设备为本地终端设备提供加入联邦学习业务的接口,第一网络设备向终端设备发送中心应用发起的联邦学习业务信息,并且缓存终端设备上传的本地训练数据,终端设备获取联邦学习业务信息并通过第一网络设备接入联邦学习训练。
从第一网络设备角度看,第一网络设备对缓存的本地训练数据进行预处理,并且根据本地训练数据维护本地数据资源列表。除了对数据预处理以及维护本地数据资源列表以外,第一网络设备根据本地训练数据进行模型训练。另外,第一网络设备支持联邦学习业务的管理,包括业务读取、本地资源评估、业务运行情况反馈和业务下达等。
一种可能的实现中,联邦学习系统不包括第二网络设备。从云服务器角度看,云应用向第一网络设备下达联邦学习业务。云服务器作为中心设施与参与联邦学习的第一网络设备交互,具体过程包括:云服务器接收第一网络设备集合上传的模型梯度,进行整合,得到更新后的模型权重,再将更新后的模型权重发送给第一网络设备,直到完成联邦学习业务的训练过程。云应用最终得到训练完成的联邦学习模型,完成联邦学习业务。另外,终端设备也可以从第一网络设备中获取训练得到的联邦学习模型。
一种可能的实现中,联邦学习系统包括第二网络设备。从第二网络设备角度看,为了保证第三方云应用不会获取网络数据,在核心网中部署第二网络设备,云应用通过第二网络设备所提供的接口接入网络下达联邦学习业务。第二网络设备作为中心设施与参与联邦学习的第一网络设备交互,具体过程包括:第二网络设备接收第一网络设备集合上传的模型梯度,进行整合,得到更新后的模型权重,再将更新后的模型权重发送给第一网络设备,直到完成联邦学习业务的训练过程。训练得到的联邦学习模型再通过第二网络设备反馈给云应用,从而完成联邦学习业务。另外,终端设备也可以从第一网络设备中获取训练得到的联邦学习模型。
从云服务器角度看,第一网络设备作为支持联邦学习的基本训练单元,与第二网络设备联动协同完成联邦学习训练。
结合图4所示的联邦学习系统,以推荐业务为例进行说明。云推荐应用需要根据存储在各个用户的手机等终端内的数据学习得到一个推荐模型,同时不能由该推荐应用获取到用户数据,联邦学习的流程包括:云推荐应用通过第二网络设备接入,将推荐业务对应的联邦学习业务信息(包括训练模型、业务目标、数据需求等信息)输入第二网络设备中。第二网络设备确认联邦学习业务信息并建立推荐业务,之后第二网络设备将联邦学习业务信息发送给第一网络设备集合中的各个分布第一网络设备。第一网络设备接收联邦学习业务信息,获取终端设备的本地训练数据,结合第一网络设备本地原有的缓存训练数据形成推荐业务的训练数据集。第二网络设备根据各个第一网络设备的数据资源情况,在第一网络设备集合内做训练权重平衡,由此建立面向该推荐业务的学习架构。随后,第一网络设备集合与第二网络设备交互完成联邦学习训练,局域的训练在第一网络设备完成,权重整合在第二网络设备完成。训练结束后形成推荐模型,第二网络设备将推荐模型反馈给云应用,指导云应用的智能推荐功能,由此完成推荐业务。
可以看出,本申请实施例提供的联邦学习系统中,第一网络设备为本地终端设备提供加入联邦学习业务的接口,云服务器或第二网络设备作为中心设施与第一网络设备联动完成联邦学习训练。通过本申请实施例提供的联邦学习系统可以提高联邦学习的收敛性,减少系统复杂度和通信资源损耗。
参见图5,图5为本申请实施例提供的一种联邦学习的交互示意图。如图5所示,联邦学习训练过程由各个第一网络设备与第二网络设备交互完成,其中,第一网络设备部署在接入网中,或者第一网络设备部署在局域计算中心,局域计算中心通过接入网设备与至少两个终端设备通信,或者第一网络设备部署在边缘服务器中,边缘服务器通过接入网设备与至少两个终端设备通信,第二网络设备部署在核心网中。
第一网络设备为终端设备提供加入联邦学习业务的接口,第二网络设备作为中心设施,为云应用提供业务部署的接口,管理维护所有联邦学习业务以及参与联邦学习训练的第一网络设备集合。在训练过程中,第二网络设备将业务信息发送给第一网络设备,第一网络设备获取终端设备的本地训练数据进行模型训练,第二网络设备作为中心设施,负责整合第一网络设备发送的模型梯度,与第一网络设备联动完成联邦学习训练。
第一网络设备和第二网络设备部署在网络中,为第三方云应用与终端设备提供接口,并联动支持联邦学习业务。除了支持联邦学习业务,也可以支持其他算法的分布大数据处理业务。
参见图6,图6为本申请实施例提供的一种联邦学习方法的交互示意图。如图6所示,该联邦学习方法包括:
S601、终端设备对本地数据进行预处理,得到本地训练数据。
可选的,终端设备对本地数据进行预处理包括脱敏处理和/或提取特征。
具体的,终端设备对本地数据进行预处理,例如数据id脱敏,提取数据特征等,得到本地训练数据,然后向第一网络设备发送本地训练数据。
可选的,终端设备接收第一网络设备发送的联邦学习业务信息,该联邦学习业务信息包括以下至少一项:业务标识、训练目标、需求数据格式、需求数据类别。
具体的,终端设备接收联邦学习业务信息后,选择满足该信息包括的需求数据格式和需求数据类别的本地数据,然后对本地数据进行预处理。
在一种可能的实施方式中,终端设备向第一网络设备发送本地训练数据之前,根据终端设备的本地资源信息,确定加入联邦学习业务。
具体的,终端设备在向第一网络设备发送本地训练数据之前,需要判断是否加入联邦学习业务,这样可以避免终端设备在不加入联邦学习业务的情况下向第一网络设备发送本地训练数据,占用通信资源。其中,终端设备的本地资源信息包括本地数据、终端能力、签约信息中的至少一项。终端设备确定本地数据与需求数据格式和需求数据类别的匹配度,从而判断是否存储有联邦学习业务需要的训练数据,并且终端设备还需要根据终端能力和签约信息判断数据可否上传,满足存储有业务需要的训练数据以及数据可以上传的条件,终端设备则确定加入联邦学习业务。
在一种可能的实施方式中,终端设备确定加入联邦学习业务之后,向第一网络设备发送业务加入请求,该业务加入请求包括终端设备的训练数据信息。其中,终端设备的训练数据信息包括训练数据的特征属性、数据量、数据更新时间中的至少一项。
具体的,终端设备确定加入联邦学习业务后,还要向第一网络设备发送业务加入请求,第一网络设备接收该业务加入请求后,判断是否将终端设备加入联邦学习业务。
S602、终端设备向第一网络设备发送本地训练数据,相应的,第一网络设备接收终端设备的本地训练数据。
一种可能的实现中,第一网络设备获取至少两个终端设备的本地训练数据。
一种可能的实现中,第一网络设备在获取终端设备的本地训练数据之前,需要判断是否加入联邦学习业务,这样可以避免第一网络设备在不加入联邦学习业务的情况下获取终端设备的本地训练数据,占用通信资源。
可选的,第一网络设备在获取至少两个终端设备的本地训练数据之前,还包括:获取第一网络设备的本地资源信息;将第一网络设备的本地资源信息与联邦学习业务信息进行匹配,确定加入联邦学习业务。
其中,第一网络设备的本地资源信息包括本地数据资源列表和/或终端设备类型。第一网络设备一方面根据本地数据资源列表确定已有缓存的数据类别和数据量,另一方面根据终端设备类型预估可以从终端设备收集到的数据类别和数据量。将已有缓存的数据类别和数据量以及预估收集的数据类别和数据量,与业务的需求数据格式和需求数据类别进行匹配,满足业务需求的条件下,第一网络设备则确定加入联邦学习业务。
可选的,第一网络设备在获取至少两个终端设备的本地训练数据之前,还包括:获取终端设备发送的训练数据信息;将终端设备发送的训练数据信息与联邦学习业务信息进行匹配,确定将终端设备加入联邦学习业务。
其中,终端设备的训练数据信息包括训练数据的特征属性、数据量、数据更新时间中的至少一项。第一网络设备根据训练数据的特征属性、数据量、数据更新时间判断终端设备的训练数据是否与需求数据格式和需求数据类别匹配,从而判断训练数据是否符合联邦学习业务需求。可选的,第一网络设备还需要判断终端设备是否可信任,满足训练数据符合业务需求以及终端设备可信任的条件,第一网络设备则确定将终端设备加入联邦学习业务。
在一种可能的实施方式中,第一网络设备部署在接入网中,或者第一网络设备部署在局域计算中心,局域计算中心通过接入网设备与至少两个终端设备通信,或者第一网络设备部署在边缘服务器中,边缘服务器通过接入网设备与至少两个终端设备通信。
S603、第一网络设备对至少两个终端设备的本地训练数据进行处理,得到训练数据集。
可选的,第一网络设备对至少两个终端设备的本地训练数据进行处理,包括:第一网络设备根据本地训练数据的数据信息,维护本地数据资源列表;对本地训练数据进行预处理,缓存预处理后的本地训练数据;缓存本地训练数据,将本地训练数据的索引存储在本地数据资源列表中。
可选的,本地数据资源列表还包括以下至少一项信息:样本类别标签、样本形态标签和样本数量。
具体的,第一网络设备将从各个终端设备收集到的本地训练数据做格式整合,根据接收到的训练数据的类别、内容统计训练数据中各类别样本的数量,并将样本统计信息更新到本地数据资源列表中,其中,样本统计信息包括样本类别标签、样本形态标签和样本数量,样本索引为样本在缓存中的查找索引。
第一网络设备对本地训练数据进行预处理,缓存预处理后的本地训练数据,另外第一网络设备缓存本地训练数据,将该本地训练数据的索引存储在本地数据资源列表中,得到训练数据集。这样,当联邦学习业务需要对应的训练样本时,一方面根据联邦学习业务的需求收集终端设备的本地训练数据,预处理后缓存该本地训练数据,另一方面根据本地数据资源列表中的索引从缓存区中读取缓存的训练数据。
第一网络设备的数据缓存包括专属于某个联邦学习业务线程的临时缓存和本地训练数据的固定缓存区。其中临时缓存用于缓存预处理后的本地训练数据,用于即时联邦训练,这部分缓存在训练线程结束后会自动释放。在本地训练数据的固定缓存区,训练数据可以被各个经过允许的联邦学习业务调用进入它们对应的临时缓存区,调用依据为第一网络设备的本地数据资源列表。
可选的,第一网络设备接收第二网络设备发送的联邦学习业务信息,联邦学习业务信息包括以下至少一项:业务标识、训练目标、需求数据格式、需求数据类别。
S604、第一网络设备根据训练数据集进行模型训练,得到模型梯度。
可选的,第一网络设备根据联邦学习业务信息,从本地数据资源列表中获取第一索引;获取第一索引对应的缓存训练数据;根据预处理后的本地训练数据和缓存训练数据进行模型训练。
具体的,第一网络设备进行模型训练时,一方面第一网络设备根据联邦学习业务的需求收集终端设备的本地训练数据,对该本地训练数据进行预处理后,缓存预处理后的数据。另一方面第一网络设备根据联邦学习业务信息从本地数据资源列表中获取第一索引,根据该第一索引从缓存区中读取缓存训练数据。第一网络设备获取预处理后的本地训练数据和缓存训练数据后,这两部分数据都需要先经过与联邦学习业务匹配的数据预处理进程进行处理,然后进入该联邦学习业务对应的临时缓存区,在联邦学习训练过程第一网络设备会调用这些数据反复迭代做联邦学习训练,训练结束后该临时缓存区释放。
S605、第一网络设备向第二网络设备发送模型梯度,相应的,第二网络设备接收模型梯度。
具体的,模型训练的过程在各个第一网络设备内进行,一个或多个第一网络设备向第二网络设备发送模型梯度,第二网络设备接收一个或多个第一网络设备的模型梯度。一个或多个第一网络设备也可以称为第一网络设备集合。
在一种可能的实施方式中,第二网络设备部署在核心网中。
S606、第二网络设备对模型梯度进行整合,得到更新后的训练模型。
具体的,第二网络设备接收第一网络设备集合的多个模型梯度,对该多个模型梯度进行整合,得到更新后的训练模型。
可选的,第二网络设备接收云服务器发送的联邦学习业务信息,联邦学习业务信息包括以下至少一项:业务标识、训练目标、需求数据格式、需求数据类别;第二网络设备向第一网络设备发送联邦学习业务信息。
具体的,第二网络设备接收云服务器发送的联邦学习业务信息,向第一网络设备发送该联邦学习业务信息,这样第一网络设备可以将自己的本地资源信息与联邦学习业务信息进行匹配,从而判断是否加入联邦学习业务。
可选的,第二网络设备在接收第一网络设备发送的模型梯度之前,还包括:接收第一网络设备发送的数据信息;根据第一网络设备发送的数据信息,确定将第一网络设备加入联邦学习业务。
具体的,第一网络设备的数据信息包括局域数据特征属性、数据量、数据更新时间中的至少一项。第二网络设备根据第一网络设备的局域数据特征属性、数据量、数据更新时间判断第一网络设备的训练数据是否与需求数据格式和需求数据类别匹配,从而判断训练数据是否符合联邦学习业务需求。训练数据符合业务需求,第二网络设备则确定将第一网络设备加入联邦学习业务。
S607、第二网络设备向第一网络设备发送更新后的训练模型,相应的,第一网络设备接收更新后的训练模型。
可选的,第二网络设备向云服务器发送训练进度信息,该训练进度信息包括以下至少一项信息:模型误差、测试准确率、训练轮数和训练数据集的统计信息。
具体的,第二网络设备向云服务器发送训练进度信息,这样云服务器可以将训练进度信息反馈给云应用,云应用根据训练进度信息评估模型训练的程度,从而判断是否停止训练。
第二网络设备向第一网络设备发送更新后的训练模型,第一网络设备再根据更新后的训练模型进行训练,再上传模型梯度给第二网络设备,直到完成联邦学习训练。
在一种可能的实施方式中,联邦学习训练完成后,第二网络设备向云服务器发送训练完成的联邦学习模型,联邦学习模型达到收敛,或者,第一网络设备的训练轮数不小于预设训练轮数阈值。
具体的,第二网络设备向云服务器发送训练完成的联邦学习模型,云服务器可以使用联邦学习模型支持云端智能业务。
在一种可能的实施方式中,联邦学习训练完成后,第一网络设备向终端设备发送训练完成的联邦学习模型。
具体的,终端设备接收第一网络设备发送的训练完成的联邦学习模型,终端设备可以使用联邦学习模型支持本地的智能业务。
上述方法中,第一网络设备获取至少两个终端设备的本地训练数据,模型训练过程在第一网络设备进行,由第一网络设备和第二网络设备进行模型交互整合,最终得到训练完成的联邦学习模型。这样,第一网络设备的训练数据来自至少两个终端设备,降低了联邦学习中数据分布的非均匀性。以第一网络设备为单位训练相较于以终端设备为单位训练,降低了联邦学习的分布单元数量,进一步改善了分布训练数据的非均匀性,提高了联邦学习训练的收敛性,从而提升了联邦学习的性能。
参见图7,图7为本申请实施例提供的一种联邦学习方法中业务部署的交互示意图,在模型训练之前,云应用自上而下发起业务部署。如图7所示,该联邦学习方法中业务部署的流程包括:
S701、云应用向第二网络设备发送联邦学习业务信息,相应的,第二网络设备接收联邦学习业务信息。
具体的,云应用通过业务接口接入联邦学习系统,向第二网络设备发送联邦学习业务信息,其中,联邦学习业务信息包括以下至少一项:业务标识、训练模型、训练目标、需求数据格式、需求数据类别。
举例来说,业务标识指的是用于区分不同业务的标识信息,例如业务id。训练模型包括神经网络各个训练层及层间连接定义。训练目标指的是训练完成的模型用于分类或者预测,对哪种数据进行分类,或者对哪种数据进行预测。需求数据格式指的是需求的数据格式,例如图像数据或者语音数据等,以及图像数据需求的数据量,或者语音数据需求的数据量等。需求数据类别指的是需求哪种类别的数据,例如植物图像数据,或者动物图像数据,或者麦克风采集到的语音数据,摄像头拍摄到的图像数据,室外图像数据,室内图像数据等。
S702、第二网络设备部署联邦学习业务后,向第一网络设备发送联邦学习业务信息,相应的,第一网络设备接收联邦学习业务信息。
具体的,第二网络设备部署联邦学习业务指的是,第二网络设备为联邦学习业务建立了进程和独立的存储空间,以及建立通信通道,用于与第一网络设备进行交互。
S703、第一网络设备向终端设备发送联邦学习业务信息,相应的,终端设备接收联邦学习业务信息。
在一种可能的实施方式中,第一网络设备还向终端设备发送加入训练的回报信息。举例来说,回报信息包括训练完成后可以共享给终端设备的信息,例如将训练完成的模型共享给终端设备,终端设备可以使用该模型支持本地智能业务。回报信息还可以包括经济回报,终端设备上传本地训练数据完成训练后,根据上传的本地训练数据可以享有对应的经济回报。
S704、终端设备判断是否加入联邦学习业务。
具体的,终端设备根据本地资源信息,判断是否加入联邦学习业务,其中,终端设备的本地资源信息包括本地数据、终端能力、签约信息中的至少一项。举例来说,本地数据和终端能力指的是终端能提供训练数据的数据量和数据覆盖范围,例如可以上传哪些类别的数据,每个类别的数据量等。签约信息用于指示终端设备能够上传哪些数据以及不能上传哪些数据,可以上传的数据中,哪些信息需要隐藏,例如隐藏id。
S705、终端设备确定加入联邦学习业务,向第一网络设备发送业务加入请求,相应的,第一网络设备接收业务加入请求。
具体的,该业务加入请求包括终端设备的训练数据信息,其中,终端设备的训练数据信息包括训练数据的特征属性、数据量、数据更新时间中的至少一项。
S706、第一网络设备判断是否将终端设备加入联邦学习业务。
具体的,第一网络设备获取终端设备的训练数据信息,将终端设备的训练数据信息与联邦学习业务信息进行匹配,判断是否将该终端设备加入联邦学习业务。
S707、第一网络设备确定将终端设备加入联邦学习业务,向终端设备发送第一业务加入确认消息,相应的,终端设备接收第一业务加入确认消息。
S708、第一网络设备判断是否加入联邦学习业务。
具体的,第一网络设备读取该联邦学习业务信息,获取本地资源信息,其中,第一网络设备的本地资源信息包括本地数据资源列表和/或终端设备类型。第一网络设备一方面根据本地数据资源列表确定已有缓存的数据类别和数据量,另一方面根据终端设备类型预估可以从终端设备收集到的数据类别和数据量。将已有缓存的数据类别和数据量以及预估收集的数据类别和数据量,与业务的需求数据格式和需求数据类别进行匹配,满足业务需求的条件下,第一网络设备则确定加入联邦学习业务。
S709、第一网络设备确定加入联邦学习业务,向第二网络设备发送第一网络设备的数据信息,相应的,第二网络设备接收第一网络设备的数据信息。
具体的,第一网络设备的数据信息包括局域数据特征属性、数据量、数据更新时间中的至少一项。
S710、第二网络设备判断是否将第一网络设备加入联邦学习业务。
具体的,第二网络设备根据第一网络设备发送的数据信息,判断是否将第一网络设备加入联邦学习业务。
S711、第二网络设备确定将第一网络设备加入联邦学习业务,向第一网络设备发送第二业务加入确认消息,相应的,第一网络设备接收第二业务加入确认消息。
第一网络设备与第二网络设备通过交互协同,建立了参与联邦学习业务的第一网络设备集合,由此为联邦学习业务建立了联邦学习训练单元集合。
可以看出,通过本申请实施例提供的方法,降低了云端直接与分布终端设备交互的复杂度和通信资源损耗。以第一网络设备作为训练单元,提高了联邦学习训练中各个训练单元的协调调用效率,并且,第二网络设备部署在核心网中,可以支持大数据处理业务。
参见图8,图8为本申请实施例提供的一种联邦学习方法中训练数据准备的交互示意图。如图8所示,该联邦学习方法中训练数据准备的流程包括:
S801、终端设备对本地数据进行预处理,得到本地训练数据。
具体的,终端设备对本地数据进行预处理包括脱敏处理和/或提取特征,例如数据id脱敏,提取数据特征等,然后得到本地训练数据。
S802、终端设备向第一网络设备发送本地训练数据,相应的,第一网络设备接收终端设备的本地训练数据。
S803、第一网络设备缓存本地训练数据。
S804、第一网络设备根据本地训练数据,维护本地数据资源列表。
本地数据资源列表中包括样本索引,可选的,本地数据资源列表还包括以下至少一项信息:样本类别标签、样本形态标签和样本数量。
具体的,第一网络设备缓存本地训练数据,将本地训练数据的索引存储在本地数据资源列表中。第一网络设备将从各个终端设备收集到的本地训练数据做格式整合,根据接收到的训练数据的类别、内容统计训练数据中各类别样本的数量,并将样本统计信息更新到本地数据资源列表中,其中,样本统计信息包括样本类别标签、样本形态标签和样本数量。样本类别标签用于描述何种事物的样本,样本形态标签用于描述样本为图像或者语音或者文本,样本数量用于描述各个类别下有多少样本。样本索引为样本在缓存中的查找索引。
例如,本地数据资源列表如表1所示。表1中,样本索引为各个样本的存储索引,用于从内存中调取数据。样本编码格式为样本数据的编码格式,样本为图像数据时,样本编码格式包括jpg或者png或者eps。样本格式大小为样本数据的格式大小,样本为图像数据时,样本格式大小包括图像长度和图像宽度等,样本为语音数据时,样本格式大小包括语音长度等。样本类别标签为样本数据的类别,样本为图像数据时,样本类别标签包括动物图像或植物图像等。样本数量为样本数据量大小。样本形态标签为样本数据的形态,包括图像或者语音或者文本等。
表1本地数据资源列表
样本索引 | 1 | 2 | … | k |
样本编码格式 | 格式1 | 格式2 | … | 格式k |
样本格式大小 | 大小1 | 大小2 | … | 大小k |
样本类别标签 | 类别1 | 类别2 | … | 类别k |
样本数量 | 数量1 | 数量2 | … | 数量k |
样本形态标签 | 形态1 | 形态2 | … | 形态k |
以图像样本为例,本地数据资源列表如表2所示。
表2本地数据资源列表
样本索引 | k |
样本编码格式 | jpg |
样本格式大小 | 图像长度m,图像宽度n |
样本类别标签 | 动物图像 |
样本数量 | 数量k |
样本形态标签 | 图像 |
S805、第一网络设备向第二网络设备发送数据信息,相应的,第二网络设备接收第一网络设备的数据信息。
具体的,第一网络设备的数据信息包括局域数据特征属性、数据量、数据更新时间中的至少一项。
S806、第二网络设备进行权重均衡。
具体的,第二网络设备根据第一网络设备的数据信息,对数据的训练权重进行均衡,从而降低各个第一网络设备缓存的训练数据的非均匀性。其中,第一网络设备的数据量大,则第二网络设备在整合各个第一网络设备发送的梯度时,该第一网络设备发送的梯度占据的权重较大。
在一种可能的实施方式中,第二网络设备与各个第一网络设备交互并维护整体数据资源信息,例如全局训练样本标签列表、各个标签样本量等。训练过程中新加入的终端设备或者原有终端设备的更新信息可以更新到第一网络设备中。如果更新的数据量较大,则第一网络设备将更新的数据信息发送给第二网络设备,第二网络设备维护整体数据资源信息,并适当对数据的训练权重进行调整,降低各个第一网络设备缓存的训练数据的非均匀性。
可以看出,通过本申请实施例提供的方法,在第一网络设备聚合训练数据,可以有效解决联邦学习中数据分布不均匀的问题,训练数据经过第一网络设备聚合后,提高了数据在第一网络设备之间的分布同步性。并且,第一网络设备缓存的训练数据量比单个终端设备存储的数据量多,因此训练精度和收敛速度都会得到提升。第二网络设备通过接口隔离云应用,训练数据在第一网络设备中进行局域训练,云应用无法获取训练数据,提高了联邦学习的数据安全性。
参见图9,图9为本申请实施例提供的另一种联邦学习方法的交互示意图。如图9所示,该联邦学习方法包括:
S901、云应用向第二网络设备发送联邦学习业务信息,相应的,第二网络设备接收联邦学习业务信息。
具体的,云应用通过业务接口接入联邦学习系统,向第二网络设备发送联邦学习业务信息,其中,联邦学习业务信息包括以下至少一项:业务标识、训练模型、训练目标、需求数据格式、需求数据类别。
在一种可能的实施方式中,云应用通过业务接口发送给第二网络设备的数据包括以下一种或多种:训练模型、训练数据需求信息、数据预处理代码、需求的联邦训练模式、loss函数、训练优化器以及联邦学习业务的整体功能目标描述。训练完成后所得模型参数、最终模型误差、最终测试准确率可以通过接口传递给云应用。示例性的,训练模型可以包括神经网络各个训练层及层间连接定义,联邦学习模型可以以代码形式加载进入,例如封装好的pytorch模型类;训练数据需求信息可以包括需求数据格式和需求数据类别;数据预处理代码可以部署到各个第一网络设备,用于对原始的训练数据做预处理,包括特征提取。
在一种可能的实施方式中,云应用将联邦学习业务通过接口部署到第二网络设备。第二网络设备为该联邦学习业务建立管理及模型聚合线程,向各个第一网络设备发送联邦学习业务信息。各个第一网络设备确定加入该业务后,会为该业务建立线程,包括数据预处理线程,获取终端设备的本地训练数据。第一网络设备将预处理后的训练数据存入该业务对应的缓存中,由此支持联邦学习训练。第一网络设备还设立业务管理线程,由于第一网络设备可能同时在进行多个联邦学习业务,业务管理线程负责对多个联邦学习训练线程做管理,为各个线程提供通信接口(用于联邦学习训练结束后的模型权重上传与下载),以及分配计算资源。
在一种可能的实施方式中,第二网络设备部署在核心网中。
S902、第二网络设备与第一网络设备交互,建立参与联邦学习业务的第一网络设备集合。
具体的,建立参与联邦学习业务的第一网络设备集合的方法可参考图7所示联邦学习方法中业务部署的流程,此处不再赘述。
S903、终端设备对本地数据进行预处理,得到本地训练数据。
具体的,终端设备根据联邦学习业务信息提取本地数据,对本地数据进行预处理包括脱敏处理和/或提取特征,例如数据id脱敏,提取数据特征等。
S904、终端设备向第一网络设备发送本地训练数据,相应的,第一网络设备接收终端设备的本地训练数据。
S905、第一网络设备对本地训练数据进行处理,得到训练数据集。
可选的,第一网络设备对本地训练数据进行处理,包括:第一网络设备根据所述本地训练数据的数据信息,维护本地数据资源列表;对所述本地训练数据进行预处理,缓存所述预处理后的本地训练数据;缓存所述本地训练数据,将所述本地训练数据的索引存储在所述本地数据资源列表中。
可选的,所述本地数据资源列表还包括以下至少一项信息:样本类别标签、样本形态标签和样本数量。
具体的,第一网络设备将从各个终端设备收集到的本地训练数据做格式整合,根据接收到的训练数据的类别、内容统计训练数据中各类别样本的数量,并将样本统计信息更新到本地数据资源列表中,其中,样本统计信息包括样本类别标签、样本形态标签和样本数量,样本类别标签用于描述何种事物的样本,样本形态标签用于描述样本为图片或文字或信号,样本数量用于描述各个类别下有多少样本。样本索引为样本在缓存中的查找索引。
第一网络设备对本地训练数据进行预处理,缓存预处理后的本地训练数据,另外第一网络设备缓存本地训练数据,将该本地训练数据的索引存储在本地数据资源列表中。当联邦学习业务需要对应的训练样本时,可以根据本地数据资源列表中的索引从缓存区中读取训练样本。由于训练数据是根据联邦学习业务的需求收集得到,在训练时也应该将预处理后的本地训练数据传入数据缓存线程当中,训练线程根据训练模型对本地训练数据进行预处理(例如特征提取,维度调整),再将预处理后的本地训练数据传入数据缓存线程中,用于在联邦学习训练过程中随时调用。
第一网络设备的数据缓存包括专属于某个联邦学习业务线程的临时缓存和本地训练数据的固定缓存区。其中临时缓存用于缓存预处理后的本地训练数据,用于即时联邦训练,这部分缓存在训练线程结束后会自动释放。在本地训练数据的固定缓存区,训练数据可以被各个经过允许的联邦学习业务调用进入它们对应的临时缓存区,调用依据为第一网络设备的本地数据资源列表。
S906、第一网络设备与第二网络设备交互,完成模型初始化。
具体的,完成模型初始化的方法可参考图8所示联邦学习方法中训练数据准备的流程中的步骤S805-S806,此处不再赘述。
S907、第一网络设备根据训练数据集进行模型训练,得到模型梯度。
可选的,第一网络设备根据训练数据集进行模型训练,包括:第一网络设备根据所述联邦学习业务信息,从所述本地数据资源列表中获取第一索引;获取所述第一索引对应的缓存训练数据;根据所述预处理后的本地训练数据和所述缓存训练数据进行模型训练。
具体的,第一网络设备获取预处理后的本地训练数据和缓存训练数据后,这两部分数据都需要先经过与联邦学习业务匹配的数据预处理进程进行处理,然后进入该联邦学习业务对应的临时缓存区,在联邦学习训练过程第一网络设备会调用这些数据反复迭代做联邦学习训练,训练结束后该临时缓存区释放。
在一种可能的实施方式中,联邦学习训练在各个第一网络设备中通过业务部署阶段创建的联邦学习训练线程开展局域训练。各联邦学习训练线程需要在计算过程中不断向第二网络设备上传阶段性的模型权重并从第二网络设备下载整合后的更新权重。业务部署阶段第一网络设备建立的业务管理线程负责为各个联邦学习训练线程提供通信接口,用于模型上传和下载。业务管理线程以一定频率向各个联邦学习训练线程提供模型交互服务,也即每隔一段时间通知各个联邦学习训练线程将阶段训练的模型权重进行上传和下载。各个联邦学习训练线程根据自身训练的设置与进程决定是否加入这一轮统一模型交互。如果不加入这一轮,则继续训练,等待后面的交互。如果本地局域训练已经完成,则加入这一轮模型交互,将模型梯度以及对应的业务标识传给业务管理线程,业务管理线程统一上传到第二网络设备。
S908、第一网络设备向第二网络设备发送模型梯度,相应的,第二网络设备接收模型梯度。
具体的,模型训练的过程在各个第一网络设备内进行,第一网络设备向第二网络设备发送模型梯度,第二网络设备接收第一网络设备集合的模型梯度。
S909、第二网络设备对模型梯度进行整合,得到更新后的训练模型。
具体的,第二网络设备接收第一网络设备集合的多个模型梯度,对该多个模型梯度进行整合,得到更新后的训练模型。
在一种可能的实施方式中,第二网络设备根据业务标识将收集到的模型梯度传给该业务对应的模型聚合线程(第二网络设备在联邦学习业务部署时建立模型聚合线程,用于聚合各个分布训练的模型)。模型聚合线程对模型梯度做聚合后,将更新的模型权重反馈给第二网络设备的管理线程(第二网络设备在联邦学习业务部署时建立管理线程),再由管理线程统一发送给各个第一网络设备。第一网络设备的管理线程接收更新的模型权重后,再根据业务标识将更新的模型权重传给对应的联邦学习训练线程,各个联邦学习训练线程继续进行后续训练。各个第一网络设备与第二网络设备之间维护了定期的模型交互机制,以一定的频率为各个联邦学习业务提供模型交互服务。各个联邦学习业务根据业务需求,对应相应的模型交互的频率。模型交互由第二网络设备统一控制,各个第一网络设备每一轮模型交互同步进行。第二网络设备向各个第一网络设备发送信令,指示第一网络设备进行模型交互。第二网络设备接收第一网络设备上传的模型梯度,并反馈给各个联邦学习业务对应的模型聚合线程进行模型聚合。一定时间后,第二网络设备结束本轮通信,未及时上传模型梯度的第一网络设备需要等待下一轮模型交互。之后第二网络设备将更新的模型权重统一发送给各个第一网络设备。第二网络设备与各个第一网络设备联动的模型交互服务由第二网络设备控制,各个第一网络设备可以根据自身交互频率需求判断是否加入本轮模型交互,从而确定加入本轮模型交互,或者继续训练,等待后面的模型交互。
S910、第二网络设备向所述第一网络设备发送更新后的训练模型,相应的,第一网络设备接收更新后的训练模型。
第二网络设备向第一网络设备发送更新后的训练模型,第一网络设备再根据更新后的训练模型进行训练,再上传模型梯度给第二网络设备,直到完成联邦学习训练。
可选的,第二网络设备向云服务器发送训练进度信息,所述训练进度信息包括以下至少一项信息:模型误差、测试准确率、训练轮数和训练数据集的统计信息。
S911、第二网络设备向云应用发送训练完成的联邦学习模型,相应的,云应用接收训练完成的联邦学习模型。
具体的,训练完成的联邦学习模型达到收敛,或者,第一网络设备的训练轮数不小于预设训练轮数阈值。
S912、第一网络设备向终端设备发送训练完成的联邦学习模型,相应的,终端设备接收训练完成的联邦学习模型。
上述方法中,第一网络设备的训练数据来自至少两个终端设备,降低了联邦学习中数据分布的非均匀性。以第一网络设备为单位训练相较于以终端设备为单位训练,降低了联邦学习的分布单元数量,进一步改善了分布训练数据的非均匀性,提高了联邦学习训练的收敛性,从而提升了联邦学习的性能。第一网络设备与第二网络设备交互,降低了云端直接与分布终端设备交互的复杂度和通信资源损耗。以第一网络设备作为训练单元,提高了联邦学习训练中各个训练单元的协调调用效率,并且,第二网络设备部署在核心网中,可以支持大数据处理业务。另外,第二网络设备通过接口隔离云应用,训练数据在第一网络设备中进行局域训练,云应用无法获取训练数据,提高了联邦学习的数据安全性。
本申请实施例还提供一种联邦学习方法,第一网络设备获取至少两个终端设备的训练数据,联邦学习训练过程在第一网络设备进行。云应用负责管理联邦学习业务,以云端为中心设施与第一网络设备交互完成联邦学习。这样,系统的自由度更高,云应用可以直接获取第一网络设备的数据资源,但是数据安全性得不到保障。
本申请实施例还提供一种联邦学习方法,第一网络设备除了部署在接入网外,由于部分接入网设备受到实际条件限制,不便部署,因此可以将第一网络设备部署在与接入网设备相连的局域计算中心,第一网络设备通过与局域计算中心相连的接入网设备与各个终端设备以及第二网络设备通信。在一些接入网设备覆盖较小的情况下,将第一网络设备部署在局域计算中心,多个接入网设备公用一个第一网络设备。实际的实施过程中,可以将多个接入网设备公用一个第一网络设备与一个接入网设备对应一个第一网络设备的方案混合使用。根据实际部署的条件采用不同的方案,可以使通信网络中联邦学习系统适用于不同分布的工作环境,从而提升第一网络设备的通用性。
本申请实施例还提供一种联邦学习方法,将第一网络设备部署在边缘服务器中,此时联邦学习训练的数据可以由终端设备经由接入网设备缓存在边缘服务器中,各个边缘服务器与第二网络设备交互完成联邦学习训练。
本申请实施例除了应用于联邦学习业务,还可以应用于其他算法的分布数据处理业务。
上文描述了本申请实施例提供的联邦学习方法,下面将描述本申请实施例提供的通信装置。
参见图10,图10为本申请实施例提供的一种通信装置的示意图,该通信装置1000包括处理模块1010和收发模块1020。
该通信装置1000可以为第一网络设备,也可以为第一网络设备中的装置(例如,芯片,或者芯片系统,或者电路),或者是能够和第一网络设备匹配使用的装置,其中:
处理模块1010,用于获取至少两个终端设备的本地训练数据;对至少两个终端设备的本地训练数据进行处理,得到训练数据集;根据训练数据集进行模型训练,得到模型梯度;
收发模块1020,用于向第二网络设备发送模型梯度。
本申请实施例中,第一网络设备获取至少两个终端设备的本地训练数据,模型训练过程在第一网络设备进行,由第一网络设备和第二网络设备进行模型交互整合,最终得到训练完成的联邦学习模型。这样,第一网络设备的训练数据来自至少两个终端设备,降低了联邦学习中数据分布的非均匀性。以第一网络设备为单位训练相较于以终端设备为单位训练,降低了联邦学习的分布单元数量,进一步改善了分布训练数据的非均匀性,提高了联邦学习训练的收敛性,从而提升了联邦学习的性能。
可选的,作为一个实施例,处理模块1010具体用于:根据本地训练数据的数据信息,维护本地数据资源列表;对本地训练数据进行预处理,缓存预处理后的本地训练数据;缓存本地训练数据,将本地训练数据的索引存储在本地数据资源列表中。
可选的,作为一个实施例,本地数据资源列表还包括以下至少一项信息:样本类别标签、样本形态标签和样本数量。
可选的,作为一个实施例,收发模块1020还用于:接收第二网络设备发送的联邦学习业务信息,联邦学习业务信息包括以下至少一项:业务标识、训练目标、需求数据格式、需求数据类别。
可选的,作为一个实施例,处理模块1010具体用于:根据联邦学习业务信息,从本地数据资源列表中获取第一索引;获取第一索引对应的缓存训练数据;根据预处理后的本地训练数据和缓存训练数据进行模型训练。
可选的,作为一个实施例,处理模块1010还用于:获取通信装置1000的本地资源信息;将通信装置1000的本地资源信息与联邦学习业务信息进行匹配,确定加入联邦学习业务。
可选的,作为一个实施例,处理模块1010还用于:获取终端设备发送的训练数据信息;将终端设备发送的训练数据信息与联邦学习业务信息进行匹配,确定将终端设备加入联邦学习业务。收发模块1020还用于:接收第二网络设备发送的更新后的训练模型。
可选的,作为一个实施例,收发模块1020还用于:向终端设备发送训练完成的联邦学习模型,联邦学习模型达到收敛,或者,第一网络设备的训练轮数不小于预设训练轮数阈值。
可选的,作为一个实施例,通信装置1000部署在接入网中,或者通信装置1000部署在局域计算中心,局域计算中心通过接入网设备与至少两个终端设备通信,或者通信装置1000部署在边缘服务器中,边缘服务器通过接入网设备与至少两个终端设备通信。
该通信装置1000可以为第二网络设备,也可以为第二网络设备中的装置(例如,芯片,或者芯片系统,或者电路),或者是能够和第二网络设备匹配使用的装置,其中:
收发模块1020,用于接收第一网络设备发送的模型梯度;
处理模块1010,用于对模型梯度进行整合,得到更新后的训练模型;
收发模块1020,还用于向第一网络设备发送更新后的训练模型。
本申请实施例中,第二网络设备接收第一网络设备发送的模型梯度,以及向第一网络设备发送更新后的训练模型,其中模型训练过程在第一网络设备进行,由第一网络设备和第二网络设备进行模型交互整合,最终得到训练完成的联邦学习模型。第一网络设备的训练数据来自至少两个终端设备,降低了联邦学习中数据分布的非均匀性。以第一网络设备为单位训练相较于以终端设备为单位训练,降低了联邦学习的分布单元数量,进一步改善了分布训练数据的非均匀性,提高了联邦学习训练的收敛性,从而提升了联邦学习的性能。
可选的,作为一个实施例,收发模块1020还用于:接收云服务器发送的联邦学习业务信息,联邦学习业务信息包括以下至少一项:业务标识、训练目标、需求数据格式、需求数据类别;向第一网络设备发送联邦学习业务信息。
可选的,作为一个实施例,收发模块1020还用于:向云服务器发送训练进度信息,训练进度信息包括以下至少一项信息:模型误差、测试准确率、训练轮数和训练数据集的统计信息。
可选的,作为一个实施例,收发模块1020还用于:向云服务器发送训练完成的联邦学习模型,联邦学习模型达到收敛,或者,第一网络设备的训练轮数不小于预设训练轮数阈值。
可选的,作为一个实施例,收发模块1020还用于接收第一网络设备发送的数据信息;处理模块1010,还用于根据第一网络设备发送的数据信息,确定将第一网络设备加入联邦学习业务。
可选的,作为一个实施例,通信装置1000部署在核心网中。
该通信装置1000可以为终端设备,也可以为终端设备中的装置(例如,芯片,或者芯片系统,或者电路),或者是能够和终端设备匹配使用的装置,其中:
处理模块1010,用于对本地数据进行预处理,得到本地训练数据;
收发模块1020,用于向第一网络设备发送本地训练数据。
本申请实施例中,终端设备向第一网络设备发送本地训练数据,第一网络设备获取至少两个终端设备的本地训练数据,模型训练过程在第一网络设备进行,由第一网络设备和第二网络设备进行模型交互整合,最终得到训练完成的联邦学习模型。这样,第一网络设备的训练数据来自至少两个终端设备,降低了联邦学习中数据分布的非均匀性。以第一网络设备为单位训练相较于以终端设备为单位训练,降低了联邦学习的分布单元数量,进一步改善了分布训练数据的非均匀性,提高了联邦学习训练的收敛性,从而提升了联邦学习的性能。
可选的,作为一个实施例,收发模块1020还用于:接收第一网络设备发送的联邦学习业务信息,联邦学习业务信息包括以下至少一项:业务标识、训练目标、需求数据格式、需求数据类别。
可选的,作为一个实施例,处理模块1010还用于:根据通信装置1000的本地资源信息,确定加入联邦学习业务。
可选的,作为一个实施例,收发模块1020还用于:向第一网络设备发送业务加入请求,业务加入请求包括通信装置1000的训练数据信息。
可选的,作为一个实施例,收发模块1020还用于:接收第一网络设备发送的训练完成的联邦学习模型,联邦学习模型达到收敛,或者,第一网络设备的训练轮数不小于预设训练轮数阈值。
应理解,本申请实施例中的处理模块1010可以由处理器或处理器相关电路组件实现,收发模块1020可以由收发器或收发器相关电路组件实现。
参见图11,图11为本申请实施例提供的另一种通信装置的示意图,该通信装置1100包括处理器1110,可选的,该通信装置1100还包括存储器1120和收发器1130,该通信装置1100可以为第一网络设备,也可以为第一网络设备内部的芯片或者集成电路,其中,存储器1120用于存储计算机程序,处理器1110用于执行存储器1120中存储的计算机程序。存储器1120中存储的计算机程序被执行时,该处理器1110用于执行上述实施例中处理模块1010执行的操作,收发器1130用于执行上述实施例中收发模块1020执行的操作。
应理解,本申请实施例的通信装置1000或通信装置1100可对应于本申请实施例的联邦学习方法中的第一网络设备或第二网络设备或终端设备,并且通信装置1000或通信装置1100中的各个模块的操作和/或功能分别为了实现图6-图9中的各个方法的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质用于存储指令,该指令被处理器执行时,可实现上述方法实施例中与第一网络设备相关的流程。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质用于存储指令,该指令被处理器执行时,可实现上述方法实施例中与第二网络设备相关的流程。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质用于存储指令,该指令被处理器执行时,可实现上述方法实施例中与终端设备相关的流程。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机或处理器上运行时,使得计算机或处理器执行上述方法实施例中的一个或多个步骤。上述所涉及的设备的各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在计算机可读取存储介质中。
本申请实施例还提供了一种通信系统,包括上述实施例中的第一网络设备、第二网络设备和终端设备。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double datarate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
本申请实施例中提及的通信接口可以为有线通信接口、无线通信接口或其组合,其中,有线通信接口例如可以为以太网接口,以太网接口可以是光接口、电接口或其组合,无线通信接口例如可以是无线局域网(wireless local area networks,WLAN)接口。
需要说明的是,当处理器为通用处理器、数字信号处理器(digital signalprocess,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程逻辑门阵列(field programmable gate array,FGPA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (19)
1.一种联邦学习方法,其特征在于,所述方法应用于第一网络设备,包括:
获取至少两个终端设备的本地训练数据;
对所述至少两个终端设备的本地训练数据进行处理,得到训练数据集;
根据所述训练数据集进行模型训练,得到模型梯度;
向第二网络设备发送所述模型梯度。
2.根据权利要求1所述的方法,其特征在于,所述对所述至少两个终端设备的本地训练数据进行处理,包括:
根据所述本地训练数据的数据信息,维护本地数据资源列表;
对所述本地训练数据进行预处理,缓存所述预处理后的本地训练数据;
缓存所述本地训练数据,将所述本地训练数据的索引存储在所述本地数据资源列表中。
3.根据权利要求2所述的方法,其特征在于,所述本地数据资源列表还包括以下至少一项信息:样本类别标签、样本形态标签和样本数量。
4.根据权利要求2或3所述的方法,其特征在于,还包括:
接收所述第二网络设备发送的联邦学习业务信息,所述联邦学习业务信息包括以下至少一项:业务标识、训练目标、需求数据格式、需求数据类别。
5.根据权利要求4所述的方法,其特征在于,所述根据所述训练数据集进行模型训练,包括:
根据所述联邦学习业务信息,从所述本地数据资源列表中获取第一索引;
获取所述第一索引对应的缓存训练数据;
根据所述预处理后的本地训练数据和所述缓存训练数据进行模型训练。
6.根据权利要求4或5所述的方法,其特征在于,在所述获取至少两个终端设备的本地训练数据之前,所述方法还包括:
获取所述第一网络设备的本地资源信息;
将所述第一网络设备的本地资源信息与所述联邦学习业务信息进行匹配,确定加入所述联邦学习业务。
7.根据权利要求4-6任一项所述的方法,其特征在于,在所述获取至少两个终端设备的本地训练数据之前,所述方法还包括:
获取所述终端设备发送的训练数据信息;
将所述终端设备发送的训练数据信息与所述联邦学习业务信息进行匹配,确定将所述终端设备加入所述联邦学习业务。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述第一网络设备部署在接入网中,或者所述第一网络设备部署在局域计算中心,所述局域计算中心通过接入网设备与所述至少两个终端设备通信,或者所述第一网络设备部署在边缘服务器中,所述边缘服务器通过接入网设备与所述至少两个终端设备通信。
9.一种通信装置,其特征在于,包括处理模块和收发模块,其中,
所述处理模块,用于获取至少两个终端设备的本地训练数据;对所述至少两个终端设备的本地训练数据进行处理,得到训练数据集;根据所述训练数据集进行模型训练,得到模型梯度;
所述收发模块,用于向第二网络设备发送所述模型梯度。
10.根据权利要求9所述的装置,其特征在于,所述处理模块具体用于:
根据所述本地训练数据的数据信息,维护本地数据资源列表;
对所述本地训练数据进行预处理,缓存所述预处理后的本地训练数据;
缓存所述本地训练数据,将所述本地训练数据的索引存储在所述本地数据资源列表中。
11.根据权利要求10所述的装置,其特征在于,所述本地数据资源列表还包括以下至少一项信息:样本类别标签、样本形态标签和样本数量。
12.根据权利要求10或11所述的装置,其特征在于,所述收发模块还用于:
接收所述第二网络设备发送的联邦学习业务信息,所述联邦学习业务信息包括以下至少一项:业务标识、训练目标、需求数据格式、需求数据类别。
13.根据权利要求12所述的装置,其特征在于,所述处理模块具体用于:
根据所述联邦学习业务信息,从所述本地数据资源列表中获取第一索引;
获取所述第一索引对应的缓存训练数据;
根据所述预处理后的本地训练数据和所述缓存训练数据进行模型训练。
14.根据权利要求12或13所述的装置,其特征在于,所述处理模块还用于:
获取所述通信装置的本地资源信息;
将所述通信装置的本地资源信息与所述联邦学习业务信息进行匹配,确定加入所述联邦学习业务。
15.根据权利要求12-14任一项所述的装置,其特征在于,所述处理模块还用于:
获取所述终端设备发送的训练数据信息;
将所述终端设备发送的训练数据信息与所述联邦学习业务信息进行匹配,确定将所述终端设备加入所述联邦学习业务。
16.根据权利要求9-15任一项所述的装置,其特征在于,所述通信装置部署在接入网中,或者所述通信装置部署在局域计算中心,所述局域计算中心通过接入网设备与所述至少两个终端设备通信,或者所述通信装置部署在边缘服务器中,所述边缘服务器通过接入网设备与所述至少两个终端设备通信。
17.一种通信装置,其特征在于,包括与存储器耦合的处理器,所述存储器用于存储计算机程序,所述处理器执行所述程序时,实现如权利要求1至8任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储指令,所述指令被处理器执行时,使得如权利要求1至8任一项所述的方法被执行。
19.一种包含指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得如权利要求1至8任一项所述的方法被执行。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111267081.8A CN116050544A (zh) | 2021-10-28 | 2021-10-28 | 联邦学习方法及相关装置 |
PCT/CN2022/127307 WO2023072049A1 (zh) | 2021-10-28 | 2022-10-25 | 联邦学习方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111267081.8A CN116050544A (zh) | 2021-10-28 | 2021-10-28 | 联邦学习方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116050544A true CN116050544A (zh) | 2023-05-02 |
Family
ID=86130067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111267081.8A Pending CN116050544A (zh) | 2021-10-28 | 2021-10-28 | 联邦学习方法及相关装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116050544A (zh) |
WO (1) | WO2023072049A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116582871B (zh) * | 2023-07-07 | 2023-10-13 | 南京邮电大学 | 一种基于拓扑优化的无人机集群联邦学习模型优化方法 |
CN117312394B (zh) * | 2023-11-08 | 2024-03-05 | 之江实验室 | 一种数据访问方法、装置、存储介质及电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021158313A1 (en) * | 2020-02-03 | 2021-08-12 | Intel Corporation | Systems and methods for distributed learning for wireless edge dynamics |
CN112565331B (zh) * | 2020-11-02 | 2022-08-12 | 中山大学 | 一种基于边缘计算的端-边协同联邦学习优化方法 |
CN112232528B (zh) * | 2020-12-15 | 2021-03-09 | 之江实验室 | 一种联邦学习模型训练方法、装置及联邦学习系统 |
CN113206887A (zh) * | 2021-05-08 | 2021-08-03 | 武汉理工大学 | 边缘计算下针对数据与设备异构性加速联邦学习的方法 |
-
2021
- 2021-10-28 CN CN202111267081.8A patent/CN116050544A/zh active Pending
-
2022
- 2022-10-25 WO PCT/CN2022/127307 patent/WO2023072049A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023072049A1 (zh) | 2023-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111819872B (zh) | 信息传输方法、装置、通信设备及存储介质 | |
WO2023072049A1 (zh) | 联邦学习方法及相关装置 | |
WO2022041947A1 (zh) | 一种更新机器学习模型的方法及通信装置 | |
WO2021243618A1 (zh) | 一种资源调度的方法、装置、通信设备及存储介质 | |
US20190318245A1 (en) | Method, terminal-side device, and cloud-side device for data processing and terminal-cloud collaboration system | |
CN109347950B (zh) | 一种基于Kaa Project的物联网智慧服务系统 | |
AU2015253785B2 (en) | Channel access priority for distributed D2D | |
CN105898794A (zh) | 数据传输装置及方法 | |
US20230328610A1 (en) | Framework for a 6g ubiquitous access network | |
CN107820685A (zh) | 分布式物理层资源映射方法、装置、发送端及接收端 | |
CN110149624A (zh) | 用于数据传输的方法、移动管理设备、数据业务处理设备和终端 | |
EP4156028A1 (en) | Multitask learning method and device | |
CN116455515A (zh) | 数据传输方法及相关设备 | |
WO2022110248A1 (zh) | 一种联邦学习方法、装置及系统 | |
Cheng et al. | Mobile big data based network intelligence | |
US20240086743A1 (en) | Method and device for adjusting split point in wireless communication system | |
KR101744104B1 (ko) | 비콘을 이용한 위치기반 소셜네트워킹 방법 | |
CN114253728A (zh) | 基于网页生态的异构多节点协同分布式神经网络部署系统 | |
CN107332644A (zh) | 信号帧构造方法、装置、系统及计算机可读存储介质 | |
CN114793453A (zh) | 一种训练方法、训练装置及存储介质 | |
WO2024017074A1 (zh) | 一种通信方法及通信装置 | |
WO2022082742A1 (zh) | 模型训练方法、装置、服务器、终端和存储介质 | |
CN118114748A (zh) | 通信方法、节点、通信装置及存储介质 | |
US20220060563A1 (en) | Interconnected device network | |
Mu et al. | Federated Learning in 6G Non-Terrestrial Network for IoT services: From the Perspective of Perceptive Mobile Network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |