CN116150612A - 模型训练的方法和通信装置 - Google Patents
模型训练的方法和通信装置 Download PDFInfo
- Publication number
- CN116150612A CN116150612A CN202111350005.3A CN202111350005A CN116150612A CN 116150612 A CN116150612 A CN 116150612A CN 202111350005 A CN202111350005 A CN 202111350005A CN 116150612 A CN116150612 A CN 116150612A
- Authority
- CN
- China
- Prior art keywords
- model
- devices
- sub
- models
- group
- 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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/061—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
-
- 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
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Neurology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了一种模型训练的方法和通信装置,该方法包括:第k组设备中的第i个设备进行n*M次的模型训练,其中,所述第i个设备在每M次的模型训练中与所述第k组设备中的至少一个其它设备完成模型参数的交换,M为所述第k组设备中的设备数量,M大于或等于2,n为整数;所述第i个设备向目标设备发送模型Mi,n*M,所述模型Mi,n*M为所述第i个设备完成n*M次的模型训练后的模型。本申请提供的方案可以提升模型训练过程中收敛速度以及数据和算力的利用效率,同时,也可以降低设备计算、存储及通信能力的要求。
Description
技术领域
本申请实施例涉及学习方法,尤其涉及一种模型训练的方法和通信装置。
背景技术
分布式学习是当前人工智能(artificial intelligence,AI)研究的一个重点方向,在分 布式学习中,中心节点将数据集D(包括数据集Dn、Dk、Dm)分别下发给多个分布式节点(如图2中的分布式节点n、分布式节点k、分布式节点m),这多个分布式节点各自 利用本地的计算资源进行模型训练,并将训练好的模型W(包括模型Wn、Wk、Wm)上传 至中心节点。在这种学习架构中,中心节点拥有全部数据集,分布式节点无需收集本地数 据集。这种学习架构利用分布式节点的计算能力,帮助进行模型的训练,可以卸载中心节 点的计算压力。
在实际场景中,数据往往由分布式节点进行采集,即数据是分布式存在的。此时,将 数据汇总到中心节点会产生数据隐私性的问题,同时也会导致大量的通信资源被用于数据 传输,通信开销较大。
针对这一问题,提出了联邦学习(federated learning,FL)和分割学习(splitlearning) 的概念。
1、联邦学习
联邦学习在充分保障用户数据隐私和安全的前提下,促使各个分布式节点和中心节点 协同合作以高效地完成模型的学习任务。在FL框架中,数据集存在于分布式节点处,即 分布式节点收集本地的数据集,并进行本地训练,将训练得到的本地结果(模型或梯度)上报给中心节点。中心节点本身没有数据集,只负责将分布式节点的训练结果进行融合处理,得到全局模型,并下发给分布式节点。然而,由于FL通过联邦平均(federatedaveraging, FedAvg)算法周期性融合整个模型,收敛速度较慢,收敛性能有一定的缺陷;其次,进行 FL的设备需要保存及发送整个模型,对于设备计算、存储及通信能力要求较高。
2、分割学习
分割学习一般将模型分为两份,分别部署于分布式节点与中心节点,分布式节点与中 心节点之间传输神经网络推理的中间结果。对比联邦学习,分割学习在分布式节点和中心 节点并不保存完整模型,这可以进一步保证用户的隐私性。同时,中心节点与分布式节点 之间的交互内容为数据及对应梯度,在模型参数量较大时能显著降低通信开销。然而,分 割学习模型的训练过程为串行,即节点顺序更新,这使得数据和算力的利用效率较低。
发明内容
本申请实施例提供一种模型训练的方法和通信装置,可以提升模型训练过程中收敛速 度以及数据和算力的利用效率,同时,也可以降低设备计算、存储及通信能力的要求。
第一方面,提供一种模型训练的方法,该方法包括:第k组设备中的第i个设备进行n*M次的模型训练,其中,所述第i个设备在每M次的模型训练中与所述第k组设备中 的至少一个其它设备完成模型参数的交换,M为所述第k组设备中的设备数量,M大于 或等于2,n为整数;
所述第i个设备向目标设备发送模型Mi,n*M,所述模型Mi,n*M为所述第i个设备完成n*M次的模型训练后的模型。
本申请实施例提供的方案,第k组设备中的第i个设备进行n*M次的模型训练后,将完成n*M次的模型训练后的模型发送至目标设备,以便于目标设备目标设备对接收到的K组(K*M个)模型进行融合。由于本申请的方案是将组内训练后的模型进行融合,可以 提升模型训练过程中的收敛速度,且本申请的方案是K组设备同步对模型进行训练,可以 提升模型训练过程中数据和算力的利用效率;此外,本申请中的设备均是基于模型的部分 进行处理或收发的,从而可以降低设备计算、存储及通信能力的要求。
结合第一方面,在一些可能的实现方式中,所述目标设备为所述第k组设备中算力最 强的设备,或,
所述目标设备为所述第k组设备中通信时延最小的设备,或,
所述目标设备为所述第k组设备之外的设备所指定的设备。
结合第一方面,在一些可能的实现方式中,所述第k组设备中的第i个设备进行n*M次的模型训练,包括:
对于所述n*M次的模型训练中的第j次模型训练,所述第i个设备从第(i-1)个设备接收其推理后的结果;
所述第i个设备根据接收到的结果确定第一梯度和第二梯度,所述第一梯度用于更新 模型Mi,j-1,所述第二梯度用于更新模型Mi-1,j-1,所述模型Mi,j-1为所述第i个设备完成第 (j-1)次模型训练后的模型,所述模型Mi-1,j-1为所述第(i-1)个设备完成第(j-1)次模型训练后的模型;
所述第i个设备根据所述第一梯度训练模型Mi,j-1。
本申请实施例提供的方案,对于n*M次的模型训练中的第j次模型训练,第i个设备可以根据从第(i-1)个设备接收的结果确定第一梯度和第二梯度,并根据第一梯度训练模型Mi,j-1,可以提升模型训练过程中的收敛速度。
结合第一方面,在一些可能的实现方式中,当i=M时,所述第一梯度基于接收的推理 结果和从所述第1个设备接收的标签确定;
当i≠M时,所述第一梯度基于第(i+1)个设备传输的第二梯度确定。
结合第一方面,在一些可能的实现方式中,所述方法还包括:
所述第i个设备与所述第k组设备中的至少一个其它设备完成模型参数的交换的同时, 所述第i个设备与所述第k组设备中的至少一个其它设备交换本地存储的样本数量。
本申请实施例提供的方案,第i个设备与第k组设备中的至少一个其它设备完成模型 参数的交换的同时,也可以交换本地存储的样本数量,第i个设备可以向目标设备发送样 本数量(包括本地存储的样本数量和交换得到的样本数量),以便于目标设备可以根据样 本数量,基于融合算法将所述K组模型中每一组模型的第q个模型进行组间融合,可以有效提升模型的泛化能力。
结合第一方面,在一些可能的实现方式中,所述方法还包括:
对于所述n*M次的模型训练的下一次训练,所述第i个设备从所述目标设备获取模型 Mr的信息,所述模型Mr为所述目标设备对模型进行组间融合后的第r个模型, r∈[1,M],所述模型/>为所述第k组设备中的第i个设备完成n*M次的模型训练后的 模型,i遍历1至M,k遍历1至K。
本申请实施例提供的方案,对于n*M次的模型训练的下一次训练,第i个设备从目标 设备获取模型Mr的信息,可以保证模型的信息的准确性,从而可以提高模型训练的准确度。
结合第一方面,在一些可能的实现方式中,所述方法还包括:
所述第i个设备接收目标设备发送的选择结果;
所述第i个设备从所述目标设备获取模型Mr的信息,包括:
所述第i个设备根据所述选择结果从所述目标设备获取所述模型Mr的信息。
结合第一方面,在一些可能的实现方式中,所述选择结果包括以下至少一个:
所选择的设备、分组情况、模型的信息。
结合第一方面,在一些可能的实现方式中,所述模型的信息包括:
所述模型的模型结构、所述模型的模型参数、融合轮数周期、总的融合轮数。
第二方面,提供一种模型训练的方法,该方法包括:目标设备接收K组设备中第k组设备中的第i个设备发送的模型所述模型/>为所述第k组设备中的第i个设 备完成n*M次的模型训练后的模型,所述每一组设备包括的设备数量为M,M大于或等 于2,n为整数,i遍历1至M,k遍历1至K;
本申请实施例提供的方案,目标设备接收到K组(即K*M个)模型,目标设备可以 对这K组模型进行融合。由于本申请的方案是将组内训练后的模型进行融合,可以提升模 型训练过程中的收敛速度;此外,本申请中的目标设备是基于模型的部分进行处理或收发的,从而可以降低目标设备计算、存储及通信能力的要求。
结合第二方面,在一些可能的实现方式中,所述目标设备为所述K组设备中算力最强 的设备,或,
所述目标设备为所述K组设备中通信时延最小的设备,或,
所述目标设备为所述K组设备之外的设备所指定的设备。
结合第二方面,在一些可能的实现方式中,所述目标设备对K组模型进行融合,包括:
所述目标设备基于融合算法将所述K组模型中每一组模型的第q个模型进行组间融合, q∈[1,M]。
本申请实施例提供的方案,目标设备将K组模型中每一组模型的第q个模型进行组间 融合得到全局模型,由于本申请的方案是将组内训练后的模型进行融合,可以进一步提升 模型训练过程中的收敛速度。
结合第二方面,在一些可能的实现方式中,所述方法还包括:
所述目标设备接收所述第k组设备中的第i个设备发送的样本数量,所述样本数量包 括其所述第i个设备本次存储的样本数量和与所述第k组设备中的至少一个其它设备交换 后获得的样本数量;
所述目标设备基于融合算法将所述K组模型中每一组模型的第q个模型进行组间融合, 包括:
所述目标设备根据所述样本数量,基于融合算法将所述K组模型中每一组模型的第q 个模型进行组间融合。
本申请实施例提供的方案,目标设备可以根据接收的样本数量,基于融合算法将所述 K组模型中每一组模型的第q个模型进行组间融合,由于目标设备接收的样本数量包括第 i个设备本地存储的样本数量和与第k组设备中的至少一个其它设备交换得到的样本数量, 可以有效提升模型的泛化能力。
结合第二方面,在一些可能的实现方式中,所述方法还包括:
所述目标设备接收N个设备上报的状态信息,所述N个设备包括所述K组设备中每一组设备所包括的M个设备;
所述目标设备根据所述状态信息从所述N个设备中选择所述K组设备中每一组设备 所包括的M个设备;
所述目标设备将选择结果广播至所述K组设备中每一组设备所包括的M个设备。
结合第二方面,在一些可能的实现方式中,所述选择结果包括以下至少一个:
所选择的设备、分组情况、模型的信息。
结合第二方面,在一些可能的实现方式中,所述模型的信息包括:
所述模型的模型结构、所述模型的模型参数、融合轮数周期、总的融合轮数。
结合第二方面,在一些可能的实现方式中,所述状态信息包括以下信息中的至少一个:
设备算力、存储能力、资源占用、邻接矩阵、超参数。
第三方面,提供一种模型训练的方法,该方法包括:第k组设备中的M个设备根据 M个模型Mj-1的信息对所述M个模型Mj-1进行更新,得到M个模型Mj,j为大于或等于 1的整数;
轮换所述M个设备的模型参数;
基于轮换后的M个设备对所述M个模型Mj进行更新,得到M个模型Mj+1;
当j+1=n*M,n为正整数时,所述M个设备向目标设备发送所述M个模型Mn*M。
本申请实施例提供的方案,K组设备中每一组设备所包括的M个设备根据M个模型Mj-1的信息对M个模型进行训练后,轮换所述M个设备的模型参数,并基于轮换后的M 个设备对所述M个模型Mj进行更新,当j+1=n*M,M个设备向目标设备发送M个模型 Mn*M,以便于目标设备对K组模型进行组间融合。由于本申请的方案是将组内训练后的 模型进行融合,可以提升模型训练过程中的收敛速度,且本申请的方案是K组设备同步对 模型进行训练,可以提升模型训练过程中数据和算力的利用效率;此外,本申请中的设备 均是基于模型的部分进行处理或收发的,从而可以降低设备计算、存储及通信能力的要求。
结合第三方面,在一些可能的实现方式中,所述目标设备为所述M个设备中算力最强的设备,或,
所述目标设备为所述M个设备中通信时延最小的设备,或,
所述目标设备为所述M个设备之外的设备所指定的设备。
结合第三方面,在一些可能的实现方式中,所述第k组设备中的M个设备根据M个模型Mj-1的信息对所述M个模型Mj-1进行更新,包括:
所述第k组设备中的第1个设备基于本地存储的数据对模型M1,j-1进行推理,其中,模型M1,j-1表示第1个设备完成第(j-1)次模型训练后的模型;
所述第k组设备中的第i个设备获取第(i-1)个设备推理后的结果,i∈(1,M];
所述第i个设备根据获取到的结果确定第一梯度和第二梯度,所述第一梯度用于更新 模型Mi,j-1,所述第二梯度用于更新模型Mi-1,j-1所述模型Mi,j-1为所述第i个设备完成第(j-1) 次模型训练后的模型,所述模型Mi-1,j-1为所述第(i-1)个设备完成第(j-1)次模型训练 后的模型;
所述第i个设备根据所述第一梯度更新所述模型Mi,j-1。
本申请实施例提供的方案,第k组设备中的第i个设备可以根据从第(i-1)个设备接 收的结果确定第一梯度和第二梯度,并根据第一梯度训练更新模型Mi,j-1,可以提升模型训练过程中的收敛速度。
结合第三方面,在一些可能的实现方式中,当i=M时,所述第一梯度基于获取的结果 和从所述第1个设备接收的标签确定;
当i≠M时,所述第一梯度基于第(i+1)个设备传输的第二梯度确定。
结合第三方面,在一些可能的实现方式中,所述轮换所述M个设备的模型参数,包括:
依次将所述M个设备中的第i个设备的模型参数与第1个设备的模型参数交换。
本申请实施例提供的方案,依次将所述M个设备中的第i个设备的模型参数与第1个设备的模型参数交换,并基于轮换后的M个设备对所述M个模型Mj进行更新,可以 提高设备的本地数据利用率和隐私性。
结合第三方面,在一些可能的实现方式中,所述方法还包括:
依次将所述M个设备中的第i个设备本地存储的样本数量与第1个设备本地存储的样 本数量交换。
本申请实施例提供的方案,依次将第i个设备与第1个设备本地存储的样本数量交换, 以便于目标设备可以根据样本数量,基于融合算法将所述K组模型中每一组模型的第q个模型进行组间融合,可以有效提升模型的泛化能力。
结合第三方面,在一些可能的实现方式中,所述方法还包括:
对于所述n*M次模型训练的下一次训练,所述M个设备从所述目标设备获取模型M<r>的信息,所述模型M<r>为所述目标设备对模型进行组间融合后的第r个模型,r遍历1至M,所述模型/>为所述第k组设备中的M个设备完成第n*M次的模型训练后的模 型,i遍历1至M,k遍历1至K。
本申请实施例提供的方案,对于n*M次的模型训练的下一次训练,M个设备从目标设备获取模型Mn*M的信息,可以保证模型的信息的准确性,从而可以提高模型训练的准 确度。
结合第三方面,在一些可能的实现方式中,所述方法还包括:
所述M个设备接收所述目标设备发送的选择结果;
所述M个设备从所述目标设备获取模型M<r>的信息,包括:
所述M个设备根据所述选择结果从所述目标设备对应获取所述模型M<r>的信息。
结合第三方面,在一些可能的实现方式中,所述选择结果包括以下至少一个:
所选择的设备、分组情况、模型的信息。
结合第三方面,在一些可能的实现方式中,所述模型的信息包括:
所述模型的模型结构、所述模型的模型参数、融合轮数周期、总的融合轮数。
第四方面,提供一种模型训练的方法,该方法包括:目标设备接收K组设备中第k组设备中的M个设备发送的M个模型所述模型/>为所述第k组设备中的M个 设备完成第n*M次的模型训练后的模型,M大于或等于2,k遍历1至K;
本申请实施例提供的方案,目标设备接收到K组设备中每一组设备所包括的M个设备发送的M个模型Mn*M,可以对K组模型进行组间融合。由于本申请的方案是将组内训 练后的模型进行融合,可以提升模型训练过程中的收敛速度;此外,本申请中的目标设备 是基于模型的部分进行处理或收发的,从而可以降低目标设备计算、存储及通信能力的要 求。
结合第四方面,在一些可能的实现方式中,所述目标设备为所述M个设备中算力最强的设备,或,
所述目标设备为所述M个设备中通信时延最小的设备,或,
所述目标设备为所述M个设备之外的设备所指定的设备。
结合第四方面,在一些可能的实现方式中,所述目标设备对K组模型进行融合,包括:
所述目标设备基于融合算法将所述K组模型中每一组模型的第q个模型进行组间融合, q∈[1,M]。
结合第四方面,在一些可能的实现方式中,所述方法还包括:
所述目标设备接收所述第k组设备发送的样本数量,所述样本数量包括所述第k组设 备本次存储的样本数量和与所述第k组设备中的至少一个其它设备交换后获得的样本数 量;
所述目标设备基于融合算法将所述K组模型中每一组模型的第q个模型进行组间融合, 包括:
所述目标设备根据所述样本数量,基于融合算法将所述K组模型中每一组模型的第q 个模型进行组间融合。
本申请实施例提供的方案,目标设备可以根据接收的样本数量,基于融合算法将所述 K组模型中每一组模型的第q个模型进行组间融合,由于目标设备接收的样本数量包括第 i个设备本地存储的样本数量和与第k组设备中的至少一个其它设备交换得到的样本数量, 可以有效提升模型的泛化能力。
结合第四方面,在一些可能的实现方式中,所述方法还包括:
所述目标设备接收N个设备上报的状态信息,所述N个设备包括所述K组设备中每一组设备所包括的M个设备;
所述目标设备根据所述状态信息从所述N个设备中选择所述K组设备中每一组设备 所包括的M个设备;
所述目标设备将选择结果广播至所述K组设备中每一组设备所包括的M个设备。
结合第四方面,在一些可能的实现方式中,所述选择结果包括以下至少一个:
所选择的设备、分组情况、模型的信息。
结合第四方面,在一些可能的实现方式中,所述模型的信息包括:
所述模型的模型结构、所述模型的模型参数、融合轮数周期、总的融合轮数。
结合第四方面,在一些可能的实现方式中,所述状态信息包括以下信息中的至少一个:
设备算力、存储能力、资源占用、邻接矩阵、超参数。
第五方面,提供一种通信装置,有益效果可以参见第一方面的描述,在此不再赘述。 所述通信装置具有实现上述第一方面的方法实施例中行为的功能。所述功能可以通过硬件 实现,也可以通过硬件执行相应的软件实现。所述硬件包括一个或多个与上述功能相对应 的模块。在一个可能的设计中,所述通信装置包括:处理模块,用于进行n*M次的模型训练,其中,所述第i个设备在每M次的模型训练中与所述第k组设备中的至少一个其它 设备完成模型参数的交换,M为所述第k组设备中的设备数量,M大于或等于2,n为整 数;收发模块,用于向目标设备发送模型Mi,n*M,所述模型Mi,n*M为所述第i个设备完成 n*M次的模型训练后的模型。这些模块可以执行上述第一方面方法示例中的相应功能,具 体参见方法示例中的详细描述,此处不做赘述。
第六方面,提供一种通信装置,有益效果可以参见第二方面的描述此处不再赘述。所 述通信装置具有实现上述第二方面的方法实例中行为的功能。所述功能可以通过硬件实现, 也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应 的模块。在一个可能的设计中,所述通信装置包括:收发模块,用于接收K组设备中第k 组设备中的第i个设备发送的模型所述模型/>为所述第k组设备中的第i个设备完成n*M次的模型训练后的模型,所述每一组设备包括的设备数量为M,M大于或等 于2,n为整数,i遍历1至M,k遍历1至K;处理模块,用于对K组模型进行组间融合, 所述K组模型包括K个模型/>
第七方面,提供了一种通信装置,该通信装置可以为上述方法实施例中的第i个设备, 或者为设置在第i个设备中的芯片。该通信装置包括通信接口以及处理器,可选的,还包 括存储器。其中,该存储器用于存储计算机程序或指令,处理器与存储器、通信接口耦合, 当处理器执行所述计算机程序或指令时,使通信装置执行上述方法实施例中由第i个设备 所执行的方法
可选地,在一些实施例中,该第i个设备可以为终端设备,也可以为网络设备。
第八方面,提供了一种通信装置,该通信装置可以为上述方法实施例中的目标设备, 或者为设置在目标设备中的芯片。该通信装置包括通信接口以及处理器,可选的,还包括 存储器。其中,该存储器用于存储计算机程序或指令,处理器与存储器、通信接口耦合,当处理器执行所述计算机程序或指令时,使通信装置执行上述方法实施例中由目标设备所执行的方法。
可选地,在一些实施例中,该目标设备可以为终端设备,也可以为网络设备。
第九方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码, 当所述计算机程序代码并运行时,使得上述各方面中由终端设备执行的方法被执行。
第十方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码, 当所述计算机程序代码被运行时,使得上述各方面中由网络设备执行的方法被执行。
第十一方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于实现上述各 方面的方法中终端设备的功能。在一种可能的设计中,所述芯片系统还包括存储器,用于 保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
第十二方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于实现上述各 方面的方法中网络设备的功能。在一种可能的设计中,所述芯片系统还包括存储器,用于 保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
第十三方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质存储有 计算机程序,当该计算机程序被运行时,实现上述各方面中由终端设备执行的方法。
第十四方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质存储有 计算机程序,当该计算机程序被运行时,实现上述各方面中由网络设备执行的方法。
附图说明
图1为本申请实施例提供的一种基于通信系统的示意图。
图2为本申请实施例提供的一种分布式学习的示意图。
图3为本申请另一实施例提供的一种分布式学习的示意图。
图4为本申请实施例提供的一种模型训练的方法的示意图。
图5为本申请实施例提供的一种全连接神经网络的示意图。
图6为本申请实施例提供的一种损失函数优化的示意图。
图7为本申请实施例提供的梯度反向传播的示意图。
图8为本申请实施例提供的一种多组设备所包括的设备的示意图。
图9为本申请实施例提供的一种基于轮换顺序后的设备对模型进行训练的示意图。
图10为本申请实施例提供的另一种基于轮换顺序后的设备对模型进行训练的示意图。
图11为本申请实施例提供的一种准确度对比的示意图。
图12为本申请实施例提供的一种N个设备与目标设备交互的方法示意图。
图13为本申请另一实施例提供的一种模型训练的方法的示意图。
图14为本申请实施例提供的一种通信装置的示意性结构图。
图15为本申请实施例提供的另一种通信装置的示意性结构图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
本申请实施例的技术方案可以应用于各种通信系统,例如:窄带物联网(narrowband- internet of things,NB-IoT)系统、全球移动通讯(global system of mobilecommunication, GSM)系统、增强型数据速率全球移动通讯演进(enhanced data rate forGSM evolution, EDGE)系统、码分多址(code division multiple access,CDMA)系统、宽带码分多址 (wideband code division multiple access,WCDMA)系统、码分多址2000(code division multiple access,CDMA2000)系统、时分同步码分多址系统(timedivision-synchronization code division multiple access,TD-SCDMA)、通用分组无线业务(general packet radio service, GPRS)、长期演进(long term evolution,LTE)系统、LTE频分双工(frequency division duplex,FDD)系统、LTE时分双工(time divisionduplex,TDD)、通用移动通信系统(universal mobile telecommunication system,UMTS)、全球互联微波接入(worldwide interoperability for microwave access,WiMAX)通信系统、未来的第五代(5th generation,5G)系统或新无 线(new radio,NR)等。
图1是适用于本申请实施例的无线通信系统100的示意图。如图1所示,该无线通信系统100可以包括一个或多个网络设备,例如,图1所示的网络设备10、网络设备20等。 该无线通信系统100还可以包括一个或多个终端设备(也可以称为用户设备(user equipment,UE)),例如,图1所示的终端设备30、终端设备40等。其中,网络设备 10、网络设备20、终端设备30和终端设备40这4个终端设备之间可以相互通信。
应理解,图1只是示意图,该通信系统中还可以包括其它网络设备,如还可以包括核 心网设备、无线中继设备和无线回传设备,在图1中未画出。本申请的实施例对该移动通信系统中包括的网络设备和终端设备的数量不做限定。
本申请实施例中的终端设备30、终端设备40可以指用户设备、接入终端、用户单元、 用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。终端设备还可以是蜂窝电话、无绳电话、会话启动协议(sessioninitiation protocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字处理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接 到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5G网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobile network,PLMN)中的终端设备等。本申请中将前述终端设备及可应用于前述终端设备的芯片统称为终端设备。应理解,本申请实施例对终端设备所采用的具体技术和具体设备形态不做限定。
本申请实施例中的网络设备10、网络设备20可以是用于与终端设备通信的设备,该 网络设备可以是GSM系统或CDMA中的基站(Base Transceiver Station,BTS),也可以是WCDMA系统中的基站(NodeB,NB),还可以是LTE系统中的演进型基站(evolutionalNodeB,eNB或eNodeB),还可以是云无线接入网络(cloud radio access network,CRAN) 场景下的无线控制器,或者该网络设备可以为中继站、接入点、车载设备、可穿戴设备以 及未来5G网络中的网络设备或者未来演进的PLMN网络中的网络设备等,或者还可以为 NR系统中的gNB,或者,还可以是构成基站的组件或一部分设备,如汇聚单元(central unit, CU)、分布式单元(distributed unit,DU)或基带单元(baseband unit,BBU)等。应理 解,本申请的实施例中,对网络设备所采用的具体技术和具体设备形态不做限定。在本申 请中,网络设备可以是指网络设备本身,也可以是应用于网络设备中完成无线通信处理功 能的芯片。
应理解,在本申请实施例中,终端设备或网络设备包括硬件层、运行在硬件层之上的 操作系统层,以及运行在操作系统层上的应用层。该硬件层包括中央处理器(centralprocessing unit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称 为主存)等硬件。该操作系统可以是任意一种或多种通过进程(process)实现业务处理的 计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作 系统或windows操作系统等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软 件等应用。并且,本申请实施例并未对本申请实施例提供的方法的执行主体的具体结构特 别限定,只要能够通过运行记录有本申请实施例的提供的方法的代码的程序,以根据本申 请实施例提供的方法进行通信即可,例如,本申请实施例提供的方法的执行主体可以是终 端设备或网络设备,或者,是终端设备或网络设备中能够调用程序并执行程序的功能模块。
另外,本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技 术的制品。本申请中使用的术语“制品”涵盖可从任何计算机可读器件、载体或介质访问的 计算机程序。例如,计算机可读存储介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatiledisc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasableprogrammable read-only memory,EPROM)、卡、棒或钥匙驱动器等)。
另外,本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机 器可读存储介质。术语“机器可读存储介质”可包括但不限于,无线信道和能够存储、包含 和/或承载指令和/或数据的各种其它介质。
应理解,本申请实施例中的方式、情况、类别以及实施例的划分仅是为了描述的方便, 不应构成特别的限定,各种方式、类别、情况以及实施例中的特征在不矛盾的情况下可以 相结合。
还应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先 后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构 成任何限定。
需要说明的是,本申请实施例中,“预先设定”、“预先定义”、“预先配置”等可以通过 在设备(例如,包括终端设备和网络设备)中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本申请对于其具体的实现方式不做限定,例如本申请实施例中预配置的信息等。
随着大数据时代的到来,每台设备(包括终端设备和网络设备)每天都会以各种形式 产生巨量的原始数据,这些数据将以“孤岛”的形式诞生并存在于世界的各个角落。传统的集中式学习要求各个边缘设备将本地数据统一传输到中心端的服务器上,其后中心端的服务器利用收集到的数据进行模型的训练与学习,然而这一架构随着时代的发展逐渐受到如下因素的限制:
(1)边缘设备广泛地分布于世界上各个地区和角落,这些设备以飞快的速度源源不 断地产生和积累巨大量级的原始数据。若中心端需要收集来自全部边缘设备的原始数据, 会带来巨大的通信损耗和算力需求。
(2)随着现实生活中实际场景的复杂化,越来越多的学习任务要求边缘设备能够做 出及时且有效的决策与反馈。传统的集中式学习由于涉及到大量数据的上传会导致较大程 度的时延,致使其无法满足实际任务场景的实时需求。
(3)考虑到行业竞争、用户隐私安全、行政手续复杂等问题,将数据进行集中整合将面临越来越大的阻力制约。因而系统部署将越来越倾向于在本地存储数据,同时由边缘设备自身完成模型的本地计算。
如图2所示,为本申请实施例提供的一种分布式学习的示意图。
参考图2,可以看出,在分布式学习中,中心节点将数据集D(包括数据集Dn、Dk、Dm)分别下发给多个分布式节点(如图2中的分布式节点n、分布式节点k、分布式节点m), 这多个分布式节点各自利用本地的计算资源进行模型训练,并将训练好的模型W(包括模 型Wn、Wk、Wm)上传至中心节点。在这种学习架构中,中心节点拥有全部数据集,分布 式节点无需收集本地数据集。这种学习架构利用分布式节点的计算能力,帮助进行模型的 训练,可以卸载中心节点的计算压力。
在实际场景中,数据往往由分布式节点进行采集,即数据是分布式存在的。此时,将
针对这一问题,提出了联邦学习和分割学习的概念。
1、联邦学习
联邦学习在充分保障用户数据隐私和安全的前提下,促使各个分布式节点和中心节点 协同合作以高效地完成模型的学习任务。如图3中的(a)所示,其算法流程大致如下:
(3)中心节点汇总收集来自全部(或部分)分布式节点的本地训练结果,假设第t轮上传局部模型的客户端集合为St,中心节点将以对应分布式节点的样本数为权重进行加权求平均得到新的全局模型,具体更新法则为k∈[1,K],其中,D'k表示数据集Dk中所包括的数据的数量。其后中心节点再将最新版本的全局模型/>广播发 送给所有分布式节点进行新一轮的训练。
(4)重复步骤(2)和(3)直至模型最终收敛或训练轮数达到上限。
因此,在FL框架中,数据集存在于分布式节点处,即分布式节点收集本地的数据集, 并进行本地训练,将训练得到的本地结果(模型或梯度)上报给中心节点。中心节点本身 没有数据集,只负责将分布式节点的训练结果进行融合处理,得到全局模型,并下发给分 布式节点。然而,由于FL通过联邦平均算法周期性融合整个模型,收敛速度较慢,收敛性能有一定的缺陷;其次,进行FL的设备需要保存及发送整个模型,对于设备计算、存 储及通信能力要求较高。
2、分割学习
分割学习一般将模型分为两份,分别部署于分布式节点与中心节点,分布式节点与中 心节点之间传输神经网络推理的中间结果。如图3中的(b)所示,其算法流程大致如下:
(1)中心节点将模型拆分成两份,分别为子模型0与子模型1,模型的输入层在子模型0,输出层在子模型1。
(2)中心节点将子模型0下发给分布式节点n。
(3)分布式节点n使用本地数据推理,将子模型0的输出Xn发送到中心节点。
(4)中心节点接收Xn,输入子模型1,得到模型的输出结果X'n,中心节点根据输 出结果X'n及标签更新子模型1,并将中间层梯度Gn反向传回给分布式节点n。
(5)分布式节点n接收Gn,更新子模型0。
(6)分布式节点n将其更新后的子模型0发送给分布式节点k。
(7)分布式节点k重复上述步骤(3)-(6),将其中分布式节点n替换成分布式节 点k。
(8)分布式节点k将其更新后的子模型0发送给分布式节点m,并重复分布式节点 m的训练。
对比联邦学习,分割学习在分布式节点和中心节点并不保存完整模型,这可以进一步 保证用户的隐私性。同时,中心节点与分布式节点之间的交互内容为数据及对应梯度,在 模型参数量较大时能显著降低通信开销。然而,分割学习模型的训练过程为串行,即节点 n、k、m顺序更新,这使得数据和算力的利用效率较低。
因此,本申请实施例提供一种模型训练的方法,可以提升模型训练过程中收敛速度以 及数据和算力的利用效率,同时,也可以降低设备计算、存储及通信能力的要求。
本申请的方案应可以用于多组设备与目标设备这一场景中,假设多组设备包括K组设 备,该K组设备中的每一组设备均包括M个设备,则该K组设备中的每一组设备所包括的M个设备对应获取M个子模型的信息,并根据M个子模型的信息对该M个子模型进 行多次组内训练,得到经过多次组内训练更新后的子模型;每一组设备所包括的M个设 备将训练更新后的M个子模型发送至目标设备,目标设备在接收到K*M个子模型后,可 以对这K组(即K*M个)子模型进行组间融合。
下文以K组设备中第k组设备中的第i个设备和目标设备为例介绍本申请的方案。
如图4所示,为本申请实施例提供的一种模型训练的方法400的示意图,该方法400可以包括但不限于步骤S410~S440。
S410,第k组设备中的第i个设备进行n*M次的模型训练,其中,所述第i个设备在每M次的模型训练中与所述第k组设备中的至少一个其它设备完成模型参数的交换,M 为所述第k组设备中的设备数量,M大于或等于2,n为整数。
本申请实施例中的第k组设备包括M个设备,其中,这M个设备可以均是终端设备,也可以均是网络设备,还可以是部分为终端设备,部分为网络设备,不予限制。
本申请实施例中的第i个设备可以为第k组设备所包括的M个设备中的任一设备,该 第i个设备进行n*M次的模型训练,在每M次的模型训练中,该第i个设备与第k组设 备中的至少一个其它设备完成模型参数的交换。
示例性地,假设第k组设备包括4个设备,分别为设备0、设备1、设备2、设备3, 例如,对于设备0来说,进行n*4次的模型训练,在每4次的模型训练中,设备0可以与 其它3个设备(设备1、设备2、设备3)中的至少一个设备完成模型参数的交换。换句 话说,在每4次的模型训练中,设备0可以与设备1完成模型参数的交换,或者,设备0 可以与设备1、设备2完成模型参数的交换,或者,设备0可以与设备1、设备2、设备3 完成模型参数的交换;对于其它可能不再赘述。
本申请实施例中的所述第i个设备在每M次的模型训练中与所述第k组设备中的至少 一个其它设备完成模型参数的交换可以理解为:假设n=3,M=4,则在第1~4次的模型训 练中,第i个设备与第k组设备中的至少一个其它设备完成模型参数的交换;在第5~8次的模型训练中,第i个设备与第k组设备中的至少一个其它设备完成模型参数的交换;在 第9~12次的模型训练中,第i个设备与第k组设备中的至少一个其它设备完成模型参数 的交换。
S420,所述第i个设备向目标设备发送模型Mi,n*M,所述模型Mi,n*M为所述第i个设备完成n*M次的模型训练后的模型。
可选地,在一些实施例中,所述目标设备可以为所述k组设备中的设备,或,所述目标设备可以为所述k组设备之外的设备,不予限制。
如上所述,本申请实施例中的第i个设备可以是第k组设备中的任一设备,第i个设备向目标设备发送模型Mi,n*M,该第i个设备向目标设备发送的是该第i个设备完成n*M 次的模型训练后的模型。
示例性地,仍然假设第k组设备包括4个设备,分别为设备0、设备1、设备2、设 备3。以设备0为例,若设备0进行了3*4次的模型训练,则该设备0向目标设备发送的 是完成3*4次的模型训练后的模型。关于训练的具体过程可以参考下文的内容。
S430,目标设备接收K组设备中第k组设备中的第i个设备发送的模型所述模型/>为所述第k组设备中的第i个设备完成n*M次的模型训练后的模型,所述每一 组设备包括的设备数量为M,M大于或等于2,n为整数,i遍历1至M,k遍历1至K, 所述目标设备为所述K组设备中的设备,或,所述K组设备之外的设备。
本申请实施例中的k遍历1至K,i遍历1至M,即,目标设备接收K组设备每一组 设备中每一个设备发送的完成n*M次的模型训练后的模型。
示例性地,假设本申请实施例中的K为3,M为4,对于第1组设备,该第1组设备 所包括的4个设备将其训练n*M次后的4个模型发送至目标设备;对于第2组设备,该 第2组设备所包括的4个设备将其训练n*M次后的4个模型发送至目标设备;对于第3 组设备,该第3组设备所包括的4个设备将其训练n*M次后的4个模型发送至目标设备。 因此,对于目标设备来说,其接收到了12个模型,这12个模型通过3组设备所包括的 12个设备发送。
本申请实施例中的目标设备可以为终端设备,也可以为网络设备。若K组设备为终端 设备,则目标设备可以为该K组终端设备中算力最强的设备,也可以为该K组终端设备中通信时延最小的设备,还可以为该K组终端设备之外的设备,如另一终端设备或网络设备,还可以为该K组终端设备之外的设备所指定的设备,如上述网络设备或另一终端设备指定的设备(所指定的设备可以是这K组设备中的设备,也可以是这K组设备之外的设 备)。
若K组设备为网络设备,则目标设备可以为该K组网络设备中算力最强的设备,也可以为该K组网络设备中通信时延最小的设备,还可以为该K组网络设备之外的设备, 如另一网络设备或终端设备,还可以为该K组网络设备之外的设备所指定的设备,如上述 终端设备或另一网络设备指定的设备(所指定的设备可以是这K组设备中的设备,也可以 是这K组设备之外的设备)。
应理解,本申请实施例中的目标设备可以为1个,也可以为多个,不予限制。
示例性地,假设第k组设备包括4个设备,分别为设备0、设备1、设备2、设备3, 若设备0和设备1与目标设备2之间的通信时延大于其与目标设备1之间的通信时延,设 备2和设备3与目标设备1之间的通信时延大于其与目标设备2之间的通信时延,则设备 0和设备1可以分别将其训练n*M次后的模型发送至目标设备1,设备2和设备3可以分 别将其训练n*M次后的模型发送至目标设备2。在后续融合的过程中,目标设备1可以对 从设备0和设备1接收到的模型进行融合,目标设备2可以对从设备2和设备3接收到的 模型进行融合,融合结束后,目标设备1和目标设备2可以将融合后的模型进行同步,便 于下一次的模型训练。
在上述步骤S430中,目标设备接收K组设备每一组设备中每一个设备发送的完成n*M次的模型训练后的模型,相当于目标设备接收到了K组M个模型,因此,对于相同 的子模型,目标设备可以对其进行组间融合。在目标设备对接收到的模型进行组间融合后, K组设备中的每一组设备所包括的设备可以从目标设备再次对应获取融合后的模型。
示例性地,仍然假设K为3,M为4,目标设备接收到第1组设备完成n*4次模型训 练后发送的4个子模型,分别为子模型01、子模型11、子模型21、子模型31,目标设备 接收到第2组设备完成n*4次模型训练后发送的4个子模型,分别为子模型02、子模型 12、子模型22、子模型32,目标设备接收到第3组设备完成n*4次模型训练后发送的4个 子模型,分别为子模型03、子模型13、子模型23、子模型33。因此,目标设备可以将接 收到的子模型0(包括子模型01、子模型02、子模型03)进行融合,将接收到的子模型1 (包括子模型11、子模型12、子模型13)进行融合,将接收到的子模型2(包括子模型 21、子模型22、子模型23)进行融合,将接收到的子模型3(包括子模型31、子模型32、 子模型33)进行融合。在目标设备对接收到的子模型进行融合后,得到4这个子模型(包 括融合后的子模型0、融合后的子模型1、融合后的子模型2、融合后的子模型3),该3 组设备中的每一组设备所包括的4个设备可以再次对应获取融合后的子模型,具体请参考 下文中关于再次获取融合后的模型的描述。
需要说明的是,在一些实施例中,若目标设备在指定时间阈值(或预设时间阈值)内 未全部接收到K组设备中每一组设备发送的模型,则目标设备可以对接收到的模型进行组 间融合。
示例性地,仍然假设K为3,M为4,在指定时间阈值(或预设时间阈值)内,目标 设备接收到第1组设备完成n*4次模型训练后发送的4个子模型,分别为子模型01、子模 型11、子模型21、子模型31,目标设备接收到第2组设备完成n*4次模型训练后发送的4 个子模型,分别为子模型02、子模型12、子模型22、子模型32,目标设备接收到第3组 设备中的部分设备完成n*4次模型训练后发送的子模型,分别为子模型03、子模型13。则 此时目标设备可以对接收到的子模型进行融合,即,将接收到的子模型0(包括子模型01、 子模型02、子模型03)进行融合,将接收到的子模型1(包括子模型11、子模型12、子模 型13)进行融合,将接收到的子模型2(包括子模型21、子模型22)进行融合,将接收到 的子模型3(包括子模型31、子模型32)进行融合。
还需要说明的是,本申请实施例中的K组模型中的每一组模型包括M个模型,如上述示例中示出的:3组模型中每一组模型均包括4个子模型。对于任一组模型,其所包括 的4个子模型共同构成一个全局模型。换句话说,第k组设备中每一个设备接收或发送的 是全局模型的部分模型,并对该部分模型进行处理。
本申请实施例提供的方案,第k组设备中的第i个设备进行n*M次的模型训练后,将完成n*M次的模型训练后的模型发送至目标设备,对于目标设备来说,目标设备接收到K 组(即K*M个)模型,目标设备可以对这K组模型进行融合。由于本申请的方案是将组 内训练后的模型进行融合,可以提升模型训练过程中的收敛速度,且本申请的方案是K组 设备同步对模型进行训练,可以提升模型训练过程中数据和算力的利用效率;此外,本申 请中的设备均是基于模型的部分进行处理或收发的,从而可以降低设备计算、存储及通信 能力的要求。
为了便于理解本申请的方案,下文先对应用于本申请的监督学习进行简单介绍。
监督学习的目标是给定一个训练集(包含多对输入和输出),学习训练集中输入(数 据)和输出(标签)的映射关系,同时,希望其映射关系还能应用于训练集之外的数据。训练集为正确的输入输出对的集合。
以全连接神经网络为例,如图5所示,为本申请实施例提供的一种全连接神经网络的 示意图。全连接神经网络又叫多层感知机(multilayer perceptron,MLP),一个MLP包含一个输入层(左侧),一个输出层(右侧),及多个隐藏层(中间),每层包含数个节 点,称为神经元。其中,相邻两层的神经元间两两相连。
考虑相邻两层的神经元,下一层的神经元的输出h为所有与之相连的上一层神经元x 的加权和并经过激活函数。用矩阵可以表示为:
h=f(wx+b)
其中,w为权重矩阵,b为偏置向量,f为激活函数。
则神经网络的输出可以递归表达为:
y=fn(wnfn-1(…)+bn)
简单的说,可以将神经网络理解为一个从输入数据集合到输出数据集合的映射关系。 而通常神经网络都是随机初始化的,用已有数据从随机的w和b得到这个映射关系的过程 被称为神经网络的训练。
训练的具体方式可以采用损失函数(loss function)对神经网络的输出结果进行评价, 并将误差反向传播,通过梯度下降的方法迭代优化w和b直到损失函数达到最小值,如图 6所示,为本申请实施例提供的一种损失函数优化的示意图。
梯度下降的过程可以表示为:
其中,θ为待优化参数(如上文中的w、b),L为损失函数,η为学习率,控制梯度下 降的步长。
反向传播的过程可以利用求偏导的链式法则,即前一层参数的梯度可以由后一层参数 的梯度递推计算得到,如图7所示,公式可以表示为:
上文步骤S410中指出,第k组设备中的第i个设备进行n*M次的模型训练,具体训练方式请参见下文。
可选地,在一些实施例中,所述第k组设备中的第i个设备进行n*M次的模型训练,包括:
对于所述n*M次的模型训练中的第j次模型训练,所述第i个设备从第(i-1)个设备接收其推理后的结果;
所述第i个设备根据接收到的结果确定第一梯度和第二梯度,所述第一梯度用于更新 模型Mi,j-1,所述第二梯度用于更新模型Mi-1,j-1,所述模型Mi,j-1为所述第i个设备完成第(j-1)次模型训练后的模型,所述模型Mi-1,j-1为所述第(i-1)个设备完成第(j-1)次模 型训练后的模型;
所述第i个设备根据所述第一梯度训练模型Mi,j-1。
如图8所示,为本申请实施例提供的一种多组设备所包括的设备的示意图。可以看出, 该多组设备包括3组设备,其中每一组设备均包括4个设备。具体地,第1组设备包括4个设备,分别为设备0、设备1、设备2、设备3;第2组设备包括4个设备,分别为设备 4、设备5、设备6、设备7;第3组设备包括4个设备,分别为设备8、设备9、设备10、 设备11。
以第1组设备所包括的4个设备为例,假设j=1,在这4个设备获取到4个子模型(包括子模型0、子模型1、子模型2、子模型3)的信息后,可以对这4个子模型进行训练。 具体地,设备0基于本地数据x0根据训练函数f0对子模型0(即本申请中的模型M1,0,其 中,模型M1,0表示第1个设备完成第0次模型训练后的模型,即第1个设备获取到的初始 化模型)进行训练,得到输出结果y0,即y0=f0(x0),设备0将其输出结果y0发送至设备 1;设备1基于接收的输出结果y0根据训练函数f1对子模型1(即本申请中的模型M2,0, 其中,模型M2,0表示第2个设备完成第0次模型训练后的模型,即第2个设备获取到的 初始化模型)进行训练,得到输出结果y1,即y1=f1(y0),设备1将其输出结果y1发送至 设备2;设备2基于接收的输出结果y1根据训练函数f2对子模型2(即本申请中的模型M3,0, 其中,模型M3,0表示第3个设备完成第0次模型训练后的模型,即第3个设备获取到的初 始化模型)进行训练,得到输出结果y2,即y2=f2(y1),设备2将其输出结果y2发送至 设备3;设备3基于接收的输出结果y2根据训练函数f3对子模型3(即本申请中的模型M4,0, 其中,模型M4,0表示第4个设备完成第0次模型训练后的模型,即第4个设备获取到的 初始化模型)进行训练,得到输出结果y3,即y3=f3(y2)。设备3根据输出结果y3和从设 备0接收的y30进行评价,得到梯度G31、G32,并根据梯度G31将子模型3更新为子模型3’, 此外,设备3将梯度G32发送至设备2;设备2根据接收到的梯度G32得到设备2的梯度 G21、G22,并根据梯度G21将子模型2更新为子模型2’,此外将梯度G22发送至设备1;设备 1根据接收到的梯度G22得到设备1的梯度G11、G12,并根据梯度G11将子模型1更新为子模型1’,此外,设备1可以将梯度G12发送至设备0,设备0根据接收到的梯度G12得到设备0 的梯度G01,并根据梯度G01将子模型0更新为子模型0’。基于此,这4个设备将这4个子 模型均更新,更新后的子模型分别为子模型0’、子模型1’、子模型2’、子模型3’。
对于其它组设备所包括的4个设备进行模型训练的方式,与上述第1组设备包括的4 个设备进行模型训练的方式类似,不再赘述。
本申请实施例提供的方案,对于n*M次的模型训练中的第j次模型训练,第i个设备可以根据从第(i-1)个设备接收的结果确定第一梯度和第二梯度,并根据第一梯度训练模型Mi,j-1,可以提升模型训练过程中的收敛速度。
可选地,在一些实施例中,当i=M时,所述第一梯度基于接收的推理结果和从所述第 1个设备接收的标签确定;
当i≠M时,所述第一梯度基于第(i+1)个设备传输的第二梯度确定。
本申请实施例中,当i=M时,第一梯度基于接收的推理结果和从第1个设备接收的标 签确定,如上文中所述的设备3根据从设备2接收的输出结果y3和从设备0接收的y30进行评价后确定的梯度G31;当i≠M时,第一梯度基于第(i+1)个设备传输的第二梯度确定, 如上文中所述的设备2根据从设备3传输的梯度G32确定的梯度G21,上文中所述的设备1 根据从设备2传输的梯度G22确定的梯度G11,以及上文中所述的设备0根据从设备1传输 的梯度G12确定的梯度G01。
此外,上述步骤S410中还指出,所述第i个设备在每M次的模型训练中与所述第k组设备中的至少一个其它设备完成模型参数的交换,具体交换的方式如下:
参考图9,仍然以第1组设备所包括的4个设备为例,假设j=1,在这4个设备获取到4个子模型(包括子模型0、子模型1、子模型2、子模型3)的信息后,可以对这4个 子模型进行训练。具体地训练方式如上文所述,则更新后的子模型分别为子模型0’、子模 型1’、子模型2’、子模型3’。
j=2时,可以交换设备0与设备1的模型参数,则设备1获得子模型0’的模型参数,设备0获得子模型1’的模型参数。此时,设备1可以基于本地数据x1根据训练函数f′0对 子模型0’(即本申请中的模型M1,1,其中,模型M1,1表示第1个设备完成第1次模型训练 后的模型)进行训练,得到输出结果y′0,即y′0=f′0(x1),设备1将其输出结果y′0发送至设 备0;设备0可以基于接收的输出结果y′0根据训练函数f′1对子模型1’(即本申请中的模型 M2,1,其中,模型M2,1表示第2个设备完成第1次模型训练后的模型)进行训练,得到输 出结果y′1,即y′1=f′1(y′0),设备1将其输出结果y′1发送至设备2;设备2基于接收的输出 结果y′1根据训练函数f′2对子模型2’(即本申请中的模型M3,1,其中,模型M3,1表示第3个 设备完成第1次模型训练后的模型)进行训练,得到输出结果y′2,即y′2=f′2(y′1),设备2 将其输出结果y′2发送至设备3;设备3基于接收的输出结果y′2根据训练函数f′3对子模型3’ (即本申请中的模型M4,1,其中,模型M4,1表示第4个设备完成第1次模型训练后的模型) 进行训练,得到输出结果y′3,即y′3=f′3(y′2)。设备3根据输出结果y′3和从设备0接收的y30进行评价,得到梯度G′31、G′32,并根据梯度G′31将子模型3’更新为子模型3”,此外,设备3 将梯度G′32发送至设备2;设备2根据接收到的梯度G′32得到设备2的梯度G′21、G′22,并根据 梯度G′21将子模型2’更新为子模型2”,此外,将梯度G′22发送至设备1;设备1根据接收到 的梯度G′22得到设备1的梯度G′11、G′12,并根据梯度G′11将子模型1’更新为子模型1”,此外, 设备1可以将梯度G′12发送至设备0;设备0根据接收到的梯度G′12得到设备0的梯度G′01, 并根据梯度G′01将子模型0’更新为子模型0”。基于此,这4个设备将这4个子模型均更新, 更新后的子模型分别为子模型0”、子模型1”、子模型2”、子模型3”。
j=3时,可以交换设备2与设备1的模型信息,此时,设备2基于本地数据x2根据训练函数f″0对子模型0”进行训练,后续过程与上述类似,不再赘述。经过此次更新,更新 后的子模型分别为子模型0”’、子模型1”’、子模型2”’、子模型3”’。
j=4时,可以交换设备3与设备2的模型信息,此时,设备3基于本地数据x3根据训练函数f″′0对子模型0”’进行训练,后续过程与上述类似,不再赘述。经过此次更新,更新后的子模型分别为子模型0””、子模型1””、子模型2””、子模型3””。
需要说明的是,对设备之间交换模型参数的顺序包括但不限于上述实施例所示出的, 还可以包括其它顺序,如图10所示,为本申请实施例提供的另一种基于轮换顺序后的设 备对模型进行训练的示意图。
参考图10,在利用设备0、设备1、设备2、设备3对子模型0、子模型1、子模型2、 子模型3训练更新一次后,得到子模型0’、子模型1’、子模型2’、子模型3’。在进行第2 次训练前,可以先将设备3和设备0的模型参数交换,则设备3获得子模型0’的模型参数, 设备0获得子模型3’的模型参数,基于交换后的模型参数对子模型0’、子模型1’、子模 型2’、子模型3’进行更新,得到第2次训练完成后的更新后的子模型。在进行第3次训练 前,可以将设备2和设备3的模型参数交换,并基于交换后的模型参数对第2次训练后得 到的更新后的子模型进行更新,得到第3次训练完成后的更新后的子模型。在进行第4次 训练前,可以将设备1和设备2的模型参数交换,并基于交换后的模型参数对第3次训练 后得到的更新后的子模型进行更新,最终得到第4次训练完成后的更新后的子模型。
结合图9和图10,可以看出,设备之间的模型参数交换的原则是:在每M次模型训练的过程中,所有设备均可以基于本地数据依次对子模型0或更新后的子模型0进行训练更新。
例如,参考上述图9,在第1次模型训练中,设备0基于本地数据x0对子模型0进行训练更新,得到子模型0’;在第2次模型训练中,设备1基于本地数据x1对子模型0’进 行训练更新,得到子模型0”;在第3次模型训练中,设备2基于本地数据x2对子模型0” 进行训练更新,得到子模型0”’;在第4次模型训练中,设备3基于本地数据x3对子模型 0”’进行训练更新,得到子模型0””。
再例如,参考上述图10,在第1次模型训练中,设备0基于本地数据x0对子模型0 进行训练更新,得到子模型0’;在第2次模型训练中,设备3基于本地数据x3对子模型0’ 进行训练更新,得到子模型0”;在第3次模型训练中,设备2基于本地数据x2对子模型 0”进行训练更新,得到子模型0”’;在第4次模型训练中,设备0基于本地数据x0对子模 型0”’进行训练更新,得到子模型0””。
因此,本申请实施例对设备之间交换模型参数的顺序不作具体限定,只要在每M次模型训练的过程中,所有设备可以基于本地数据依次对子模型0或更新后的子模型0进行训练更新均可应用本申请。
本申请实施例提供的方案,在每M次的模型训练中,第i个设备与第k组设备中的至少一个其它设备完成模型参数的交换,且在每M次模型训练的过程中,第k组设备中的 所有设备可以基于本地数据依次对第1个子模型或更新后的第1个子模型进行训练更新, 可以提高设备的本地数据利用率和隐私性。
上述步骤S440中指出,目标设备对K组模型进行融合,具体融合方式请参见下文。
可选地,在一些实施例中,所述目标设备对K组模型进行融合,包括:
所述目标设备基于融合算法将所述K组模型中每一组模型的第q个模型进行组间融合, q∈[1,M]。
如上所述,目标设备接收到第1组设备发送的4个更新后的子模型,分别为子模型01、子模型11、子模型21、子模型31,目标设备接收到第2组设备发送的4个更新后的子 模型,分别为子模型02、子模型12、子模型22、子模型32,目标设备接收到第3组设备 发送的4个更新后的子模型,分别为子模型03、子模型13、子模型23、子模型33。因此, 目标设备可以将接收到的子模型0(包括子模型01、子模型02、子模型03)进行融合,将 接收到的子模型1(包括子模型11、子模型12、子模型13)进行融合,将接收到的子模型 2(包括子模型21、子模型22、子模型23)进行融合,将接收到的子模型3(包括子模型 31、子模型32、子模型33)进行融合。
在上文对图9的描述中,第1组设备包括4个设备,且这4个设备进行了3次设备之间的模型参数的交换,并且这4个设备对子模型进行了4次训练更新。若这4个设备在对 子模型进行了4次训练更新后,将第4次训练更新后的子模型发送至目标设备,如上述示 例中的将第4次训练更新后的子模型0””、子模型1””、子模型2””、子模型3””发送 至目标设备,则本申请中的子模型0””、子模型1””、子模型2””、子模型3””即为子 模型01、子模型11、子模型21、子模型31。
若第1组设备进行了n*4次训练更新,示例性地,如n=2,相当于这4个设备对子模型进行了8次训练更新,则这4个设备向目标设备发送的是完成了8次训练更新后的子模型,如可能是子模型0””””、子模型1””””、子模型2””””、子模型3””””,则本申 请中的子模型0””””、子模型1””””、子模型2””””、子模型3””””即为子模型01、 子模型11、子模型21、子模型31。
如果n=2,则这4个设备对子模型进行了4次训练更新得到子模型0””、子模型1””、子模型2””、子模型3””,第5次训练更新时,这4个设备分别对应获取子模型0””、 子模型1””、子模型2””、子模型3””的模型信息,并对子模型0””、子模型1””、子 模型2””、子模型3””进行训练更新,之后,设备之间再交换模型参数,并根据交换后的 模型参数对更新后的子模型进行训练更新,直到对子模型完成8次训练更新,其中,第 5~8次的模型训练可以参考第1~4次的模型训练过程,此处不再赘述。
本申请实施例提供的方案,将K组模型中每一组模型的第q个模型进行组间融合得到 全局模型,由于本申请的方案是将组内训练后的模型进行融合,可以进一步提升模型训练 过程中的收敛速度。
可选地,在一些实施例中,所述方法400还可以包括:
所述第i个设备与所述第k组设备中的至少一个其它设备完成模型参数的交换的同时, 所述第i个设备与所述第k组设备中的至少一个其它设备交换本地存储的样本数量。
所述目标设备接收所述第k组设备中的第i个设备发送的样本数量,所述样本数量包 括其所述第i个设备本次存储的样本数量和与所述第k组设备中的至少一个其它设备交换 后获得的样本数量;
所述目标设备基于融合算法将所述K组模型中每一组模型的第q个模型进行组间融合, 包括:
所述目标设备根据所述样本数量,基于融合算法将所述K组模型中每一组模型的第q 个模型进行组间融合。
本申请实施例中,设备之间在交换模型参数的同时,也可以将其本地存储的样本数量 进行交换。仍然参考上述图9,在利用设备0、设备1、设备2、设备3对子模型0、子模 型1、子模型2、子模型3进行第1次训练后,对于第2次训练,设备1与设备0互相交 换模型参数的同时,可以交换本地存储的样本数量,即设备0接收设备1本地存储的样本 数量,设备1接收设备0本地存储的样本数量;对于第3次训练,设备2与设备1互相交 换模型参数的同时,可以交换本地存储的样本数量,即设备1接收设备2本地存储的样本 数量,设备2接收设备1本地存储的样本数量;对于第4次训练,设备3与设备2互相交 换模型参数的同时,可以交换本地存储的样本数量,即设备3接收设备2本地存储的样本 数量,设备2接收设备3本地存储的样本数量。
对于子模型的融合,可以参考联邦学习算法进行融合,以子模型0为例,目标设备分 别接收到第1组设备、第2组设备、第3组设备发送的更新后的子模型0,如上文中的子 模型01、子模型02、子模型03,此时目标设备分别以对应设备的样本数为权重进行加权 求平均,根据q=1,2,3,4,其中,S={子模型0、子模型1、子模型2, 子模型3},q表示第q个子模型,D'q表示第q个子模型所对应设备的样本数,Wq表示第 q个子模型的权重。
类似地,对于子模型1、子模型2、子模型3也可以参考上述方法进行融合,在此不再赘述。
本申请实施例提供的方案,第i个设备与第k组设备中的至少一个其它设备完成模型 参数的交换的同时,也可以交换本地存储的样本数量,第i个设备可以向目标设备发送样 本数量(包括本地存储的样本数量和交换得到的样本数量),目标设备在接收到样本数量 后,可以根据样本数量,基于融合算法将所述K组模型中每一组模型的第q个模型进行组间融合,可以有效提升模型的泛化能力。
可选地,在一些实施例中,所述方法400还包括:
对于所述n*M次的模型训练的下一次训练,所述第i个设备从所述目标设备获取模型 M<r>的信息,所述模型M<r>为所述目标设备对模型进行组间融合后的第r个模型, r∈[1,M],所述模型/>为所述第k组设备中的第i个设备完成n*M次的模型训练后的 模型,i遍历1至M,k遍历1至K。
本申请实施例中,以上述图9为例,对于第1组设备,在这4个设备获取到4个子模型的信息后,可以对这4个子模型进行训练更新,且更新后的子模型为子模型0’、子模型1’、子模型2’、子模型3’。交换设备0与设备1的模型参数后再次对子模型0’、子模型1’、 子模型2’、子模型3’进行训练更新,且更新后的子模型为子模型0”、子模型1”、子模型 2”、子模型3”。交换设备0与设备2的模型参数再次对子模型0”、子模型1”、子模型2”、 子模型3”进行训练更新,且更新后的子模型为子模型0”’、子模型1”’、子模型2”’、子 模型3”’。交换设备0与设备3的模型参数后对子模型0”’、子模型1”’、子模型2”’、子 模型3”’进行训练更新,且更新后的子模型为子模型0””、子模型1””、子模型2””、子 模型3””。将这4次训练完成后称为1轮训练。
假设M=3,在每一组设备包括的4个设备对4个子模型进行n轮组内训练完成后,每一组设备包括的4个设备将4个更新后的子模型(即3组子模型,每一组包括4个子模型) 发送至目标设备,目标设备可以对接收到的子模型进行组间融合,如将这3组模型中每一 组模型的第q个模型进行组间融合,融合后获得4个子模型,可以记为模型 M<1>、M<2>、M<3>、M<4>。因此,在进行下一次训练的时候,每一组设备包括的4个设备可 以从该目标设备获取相应地融合后的子模型的信息。
本申请实施例提供的方案,对于n*M次的模型训练的下一次训练,第i个设备从目标 设备获取模型M<r>的信息,可以保证模型的信息的准确性,从而可以提高模型训练的准确 度。
为了说明本申请方案的优势,将本申请采用的模型训练的方法、分割学习以及联邦学 习进行了对比,如表1和图11所示。其中,采用残差(resnet)20神经网络结构,共有1000个可用设备,每一组设备包括的设备数量M=3,组设备的数量K=5,融合轮数周期 n=10。对比算法分别为3分割学习(其中,3表示分割学习中包括的分布式节点的数量), 5设备联邦学习(其中,5表示联邦学习中包括的分布式节点的数量),15设备联邦学习 (其中,15表示联邦学习中包括的分布式节点的数量)。从表1中可以看出,本申请方 案达到了最佳的性能与训练速度,并且能保持较低的设备平均通信量。
表1
方案 | 设备平均通信量 |
本申请方案 | 4233975.6 |
分割学习(3) | 4207621.5 |
联邦学习(5) | 6295541.6 |
联邦学习(15) | 6301323.9 |
图11为本申请实施例提供的一种准确度对比的示意图。从图11中可以看出,本申请 提供的方案与其它方案相比,随着训练轮次的增加,其准确度也相应提升。
可选地,在一些实施例中,所述方法400还可以包括:
所述目标设备接收N个设备上报的状态信息,所述N个设备包括所述K组设备中每一组设备所包括的M个设备;
所述目标设备根据所述状态信息从所述N个设备中选择所述K组设备中每一组设备 所包括的M个设备;
所述目标设备将选择结果广播至所述K组设备中每一组设备所包括的M个设备。
对于第k组设备包括的第i个设备:
所述第i个设备接收目标设备发送的选择结果;
所述第i个设备从所述目标设备获取模型M<r>的信息,包括:
所述第i个设备根据所述选择结果从所述目标设备获取所述模型M<r>的信息。
如图12所示,为本申请实施例提供的一种N个设备与目标设备交互的方法示意图。参考图12,可以看出,在步骤S1110中,N个设备可以先向目标设备上报其状态信息, 目标设备接收到N个设备上报的状态信息后,步骤S1120中目标设备根据状态信息从这N 个设备中选择K组设备,步骤S1130中目标设备将选择结果广播至该K组设备。K组设 备在接收到选择结果后,可以根据选择结果对应获取模型的信息。
可选地,在一些实施例中,所述选择结果包括以下至少一个:
所选择的设备、分组情况、模型的信息。
可选地,在一些实施例中,所述模型的信息包括:
所述模型的模型结构、所述模型的模型参数、融合轮数周期、总的融合轮数。
可选地,在一些实施例中,所述状态信息包括以下信息中的至少一个:
设备算力、存储能力、资源占用、邻接矩阵、超参数。
本申请实施例中的选择结果可以包括上述信息中的至少一个,具体地,假设共有20 个设备(编号依次为设备0、设备1、设备2……、设备18、设备19)向目标设备上报了 状态信息,目标设备需要从中选择12个设备,可以根据这20个设备的状态信息(如设备 算力、存储能力、资源占用、邻接矩阵、超参数等)从中选择。若目标设备从中选择了编 号依次为设备0、设备1、设备2……、设备11这12个设备,则可以将这12个设备进行 分组,如设备0、设备1、设备2、设备3为第1组设备,设备4、设备5、设备6、设备 7为第2组设备,设备8、设备9、设备10、设备11为第3组设备,并将分组情况广播至 这12个设备。
本申请实施例中的状态信息可以包括如设备算力、存储能力、资源占用、邻接矩阵、 超参数等。其中,设备算力表示设备的计算能力,存储能力表示设备存储数据或信息的能 力,资源占用表示设备当前所占用的资源,邻接矩阵表示设备之间的关联程度,如信道好 坏、数据相关性高低等,超参数包括学习率,批样本数,融合轮数周期n及总的融合轮数等。
这12个设备在接收到分组情况后,可以根据分组情况对应获取模型的信息,如第1组设备包括的设备0、设备1、设备2、设备3可以分别对应获取子模型 M1,0、M2,0、M3,0、M4,0(即初始化模型)的信息,第2组设备包括的设备4、设备5、设 备6、设备7可以分别对应获取子模型M1,0、M2,0、M3,0、M4,0的信息,第3组设备包括的 设备8、设备9、设备10、设备11可以分别对应获取子模型M1,0、M2,0、M3,0、M4,0的信 息。
本申请实施例中的模型信息可以包括模型结构和/或模型参数,模型结构包括模型的 隐藏层的层数,模型参数可以包括初始化参数,随机数种子,训练所需其他超参数(如学 习率,批样本数,融合轮数周期n及总的融合轮数等)。
示例性地,假设本申请实施例中的融合轮数周期n为2,M=4,则3组设备在对获取的模型(如上述子模型M1,0、M2,0、M3,0、M4,0)进行2轮模型训练后,可以将训练后的模 型发送至目标设备,即第k组设备中的第i个设备向目标设备发送模型Mi,3*4,且i遍历1 至4,k遍历1至3。此时,目标设备接收到3组模型,且每一组模型均包括4个模型, 目标设备可以对接收到的这3组模型进行融合,融合后的模型包括4个模型,可以记为模 型M<1>、M<2>、M<3>、M<4>。
在目标设备对接收到的模型进行融合后,K组设备中的每一组设备可以再次从目标设 备对应获取融合后的模型的信息,并基于获取到的模型信息对融合后的模型(即模型M<1>、M<2>、M<3>、M<4>)再次进行n*M轮的训练更新,并将训练更新后的模型发送至目标 设备,目标设备对接收到的模型再次进行融合,反复循环,直到目标设备完成总的融合轮 数。如总的融合轮数为10,则目标设备在融合10次后得到最终的模型。
当然,可选地,在一些实施例中,在目标设备每一次完成组间融合或者多次完成组间 融合后,可以重新选择K组设备,重新选择的K组设备可能和上一次所选择的K组设备 相同,也可能不同。如上一次所选择的K组设备包括设备编号依次为设备0、设备1、设 备2……、设备11这12个设备,重新选择的K组设备可能为编号依次为设备2、设备3、 设备4……、设备13这12个设备,或者,重新选择的K组设备可能为编号为设备2、设 备3、设备4、设备5、设备8、设备9、设备10、设备11、设备16、设备17、设备18、 设备19这12个设备。
参考图12,在步骤S1120中目标设备根据N个设备上报的状态信息确定选择结果,在步骤S1150中目标设备再次根据N个设备上报的状态信息确定选择结果,即就是目标 设备在每完成一次或多次组间融合后,可以重新从N个设备中选择K组设备。
当然,在一些实施例中,目标设备在每完成一次或多次组间融合后,接收的状态信息 可能不是之前的N个设备上报的信息,可能是其它N个设备上报的状态信息,也可能是其它X(X≠N且X≥K*M)个设备上报的状态信息,不予限制。
基于此,上文以K组设备中第k组设备中的第i个设备和目标设备为例介绍了本申请 的方案,下文以K组设备中的第k组设备和目标设备为例介绍本申请的方案。
如图13所示,为本申请另一实施例提供的一种模型训练的方法1200的示意图,该方 法1200可以包括但不限于步骤S1210~S1260。
S1210,第k组设备中的M个设备根据M个模型Mj-1的信息对所述M个模型Mj-1进 行更新,得到M个模型Mj,j为大于或等于1的整数。
本申请实施例中的第k组设备包括M个设备,其中,这M个设备可以均是终端设备,也可以均是网络设备,还可以是部分为终端设备,部分为网络设备,不予限制。
示例性地,假设第k组设备包括4个设备,分别为设备0、设备1、设备2、设备3, 对于这4个设备来说,可以根据4个模型(如子模型0、子模型1、子模型2、子模型3) 的信息对这4个模型进行更新,得到子模型0’、子模型1’、子模型2’、子模型3’。
需要说明的是,本申请实施例中,当j=1时,模型Mj-1表示第k组设备中的M个设 备完成第0次模型训练后的模型,即初始化模型;模型Mj表示第k组设备中的M个设备 完成第1次模型训练后的模型。当j=2时,模型Mj-1表示第k组设备中的M个设备完成 第1次模型训练后的模型;模型Mj表示第k组设备中的M个设备完成第2次模型训练后 的模型。
S1220,轮换所述M个设备的模型参数。
S1230,基于轮换后的M个设备对所述M个模型Mj进行更新,得到M个模型Mj+1。
假设j=1,上述4个设备可以获取4个子模型(包括子模型0、子模型1、子模型2、 子模型3)的信息,并对对这4个子模型进行训练。具体地训练方式如上文所述,则更新 后的4个子模型M1分别为子模型0’、子模型1’、子模型2’、子模型3’。
j=2时,在第2次模型训练前,可以交换设备0与设备1的模型参数,则设备1获得子模型0’的模型参数,设备0获得子模型1’的模型参数。此时,设备1可以基于本地数据 x1根据训练函数f′0对子模型0’进行训练,得到输出结果y′0,即y′0=f′0(x1),设备1将其 输出结果y′0发送至设备0;设备0可以基于接收的输出结果y′0根据训练函数f′1对子模型1’ 进行训练,得到输出结果y′1,即y′1=f′1(y′0),设备1将其输出结果y′1发送至设备2;设备 2基于接收的输出结果y′1根据训练函数f′2对子模型2’进行训练,得到输出结果y′2,即 y′2=f′2(y′1),设备2将其输出结果y′2发送至设备3;设备3基于接收的输出结果y′2根据训 练函数f′3对子模型3’进行训练,得到输出结果y′3,即y′3=f′3(y′2)。设备3根据输出结果y′3和从设备0接收的y30进行评价,得到梯度G′31、G′32,并根据梯度G′31将子模型3’更新为子模 型3”,此外,设备3将梯度G′32发送至设备2;设备2根据接收到的梯度G′32得到设备2的 梯度G′21、G′22,并根据梯度G′21将子模型2’更新为子模型2”,此外,将梯度G′22发送至设备 1;设备1根据接收到的梯度G′22得到设备1的梯度G′11、G′12,并根据梯度G′11将子模型1’更 新为子模型1”,此外,将梯度G′12发送至设备0;设备0根据接收到的梯度G′12得到设备0 的梯度G′01,并根据梯度G′01将子模型0’更新为子模型0”。基于此,这4个设备将这4个子 模型均更新,更新后的4个子模型M2分别为子模型0”、子模型1”、子模型2”、子模型 3”。
j=3时,可以交换设备2与设备1的模型信息,此时,设备2基于本地数据x2根据训练函数f″0对子模型0”进行训练,后续过程与上述类似,不再赘述。经过此次更新,更新 后的4个子模型M3分别为子模型0”’、子模型1”’、子模型2”’、子模型3”’。
j=4时,可以交换设备3与设备2的模型信息,此时,设备3基于本地数据x3根据训练函数f″′0对子模型0”’进行训练,后续过程与上述类似,不再赘述。经过此次更新,更新后的4个子模型M4分别为子模型0””、子模型1””、子模型2””、子模型3””。
S1240,当j+1=n*M,n为正整数时,所述M个设备向目标设备发送所述M个模型Mn*M。
可选地,在一些实施例中,所述目标设备可以为所述k组设备中的设备,或,可以为所述k组设备之外的设备,不予限制。
假设本申请中的n=1,则M个设备向目标设备发送子模型0””、子模型1””、子模 型2””、子模型3””。
本申请实施例中的k遍历1至K,即,目标设备接收K组设备每一组设备中M个设 备发送的完成n*M次的模型训练后的模型。
示例性地,假设本申请实施例中的K为3,M为4,对于第1组设备,该第1组设备 所包括的4个设备将其训练n*4次后的4个模型发送至目标设备;对于第2组设备,该第 2组设备所包括的4个设备将其训练n*4次后的4个模型发送至目标设备;对于第3组设 备,该第3组设备所包括的4个设备将其训练n*4次后的4个模型发送至目标设备。因此, 对于目标设备来说,其接收到了12个模型,这12个模型通过3组设备所包括的12个设 备发送。
本申请实施例中的目标设备可以为终端设备,也可以为网络设备。若K组设备为终端 设备,则目标设备可以为该K组终端设备中算力最强的设备,也可以为该K组终端设备中通信时延最小的设备,还可以为该K组终端设备之外的设备,如另一终端设备或网络设备,还可以为该K组终端设备之外的设备所指定的设备,如上述网络设备或另一终端设备指定的设备(所指定的设备可以是这K组设备中的设备,也可以是这K组设备之外的设 备)。
若K组设备为网络设备,则目标设备可以为该K组网络设备中算力最强的设备,也可以为该K组网络设备中通信时延最小的设备,还可以为该K组网络设备之外的设备, 如另一网络设备或终端设备,还可以为该K组网络设备之外的设备所指定的设备,如上述 终端设备或另一网络设备指定的设备(所指定的设备可以是这K组设备中的设备,也可以 是这K组设备之外的设备)。
应理解,本申请实施例中的目标设备可以为1个,也可以为多个,不予限制。
示例性地,假设第k组设备包括4个设备,分别为设备0、设备1、设备2、设备3, 若设备0和设备1与目标设备2之间的通信时延大于其与目标设备1之间的通信时延,设 备2和设备3与目标设备1之间的通信时延大于其与目标设备2之间的通信时延,则设备 0和设备1可以分别将其训练n*M次后的模型发送至目标设备1,设备2和设备3可以分 别将其训练n*M次后的模型发送至目标设备2。在后续融合的过程中,目标设备1可以对 从设备0和设备1接收到的模型进行融合,目标设备2可以对从设备2和设备3接收到的 模型进行融合,融合结束后,目标设备1和目标设备2可以将融合后的模型进行同步,便 于下一次的模型训练。
在上述步骤S1250中,目标设备接收K组设备每一组设备中的M个设备发送的完成n*M次的模型训练后的模型,相当于目标设备接收到了K组M个模型,因此,对于相同 的子模型,目标设备可以对其进行组间融合。
示例性地,仍然假设K为3,M为4,目标设备接收到第1组设备完成n*4次模型训 练后发送的4个子模型,分别为子模型01、子模型11、子模型21、子模型31,目标设备 接收到第2组设备完成n*4次模型训练后发送的4个子模型,分别为子模型02、子模型 12、子模型22、子模型32,目标设备接收到第3组设备完成n*4次模型训练后发送的4个 子模型,分别为子模型03、子模型13、子模型23、子模型33。因此,目标设备可以将接 收到的子模型0(包括子模型01、子模型02、子模型03)进行融合,将接收到的子模型1 (包括子模型11、子模型12、子模型13)进行融合,将接收到的子模型2(包括子模型 21、子模型22、子模型23)进行融合,将接收到的子模型3(包括子模型31、子模型32、 子模型33)进行融合。
需要说明的是,在一些实施例中,若目标设备在指定时间阈值内未全部接收到K组设 备中每一组设备发送的模型,则目标设备可以对接收到的模型进行组间融合。
示例性地,仍然假设K为3,M为4,在指定时间阈值(或预设时间阈值)内,目标 设备接收到第1组设备完成n*4次模型训练后发送的4个子模型,分别为子模型01、子模 型11、子模型21、子模型31,目标设备接收到第2组设备完成n*4次模型训练后发送的4 个子模型,分别为子模型02、子模型12、子模型22、子模型32,目标设备接收到第3组 设备中的部分设备完成n*4次模型训练后发送的子模型,分别为子模型03、子模型13。则 此时目标设备可以对接收到的子模型进行融合,即,将接收到的子模型0(包括子模型01、 子模型02、子模型03)进行融合,将接收到的子模型1(包括子模型11、子模型12、子模 型13)进行融合,将接收到的子模型2(包括子模型21、子模型22)进行融合,将接收到 的子模型3(包括子模型31、子模型32)进行融合。
本申请实施例提供的方案,K组设备中每一组设备所包括的M个设备根据M个模型Mj-1的信息对M个模型进行训练后,轮换所述M个设备的模型参数,并基于轮换后的M 个设备对所述M个模型Mj进行更新,当j+1=n*M,M个设备向目标设备发送M个模型 Mn*M,以便于目标设备对K组模型进行组间融合。由于本申请的方案是将组内训练后的 模型进行融合,可以提升模型训练过程中的收敛速度,且本申请的方案是K组设备同步对 模型进行训练,可以提升模型训练过程中数据和算力的利用效率;此外,本申请中的设备 均是基于模型的部分进行处理或收发的,从而可以降低设备计算、存储及通信能力的要求。
可选地,在一些实施例中,所述第k组设备中的M个设备根据所述M个模型Mj-1的 信息对所述M个模型Mj-1进行更新,包括:
所述第k组设备中的第1个设备基于本地存储的数据对模型M1,j-1进行推理,其中,模型M1,j-1表示第1个设备完成第(j-1)次模型训练后的模型;
所述第k组设备中的第i个设备获取第(i-1)个设备推理后的结果,i∈(1,M];
所述第i个设备根据获取到的结果确定第一梯度和第二梯度,所述第一梯度用于更新 模型Mi,j-1,所述第二梯度用于更新模型Mi-1,j-1所述模型Mi,j-1为所述第i个设备完成第(j-1) 次模型训练后的模型,所述模型Mi-1,j-1为所述第(i-1)个设备完成第(j-1)次模型训练后 的模型;
所述第i个设备根据所述第一梯度更新所述模型Mi,j-1。
可选地,在一些实施例中,当i=M时,所述第一梯度基于获取的结果和从所述第1个设备接收的标签确定;
当i≠M时,所述第一梯度基于第(i+1)个设备传输的第二梯度确定。
对于某一次组内的模型训练的过程,请参考上述方法400中的相关内容,这里不再赘 述。
可选地,在一些实施例中,所述轮换所述M个设备的模型参数,包括:
依次将所述M个设备中的第i个设备的模型参数与第1个设备的模型参数交换。
本申请实施例中,对于第j次模型训练,可以依次将所述M个设备中的第i个设备的模型参数与第1个设备的模型参数交换。
参考上述图9,在利用设备0、设备1、设备2、设备3对子模型0、子模型1、子模 型2、子模型3训练更新一次后,得到子模型0’、子模型1’、子模型2’、子模型3’。在进 行第2次训练前,可以先将设备1和设备0的模型参数交换,则设备1获得子模型0’的模 型参数,设备0获得子模型1’的模型参数,基于交换后的模型参数对子模型0’、子模型1’、 子模型2’、子模型3’进行更新,得到第2次训练完成后的更新后的子模型。在进行第3 次训练前,可以将设备2和设备1的模型参数交换,并基于交换后的模型参数对第2次训 练后得到的更新后的子模型进行更新,得到第3次训练完成后的更新后的子模型。在进行 第4次训练前,可以将设备3和设备2的模型参数交换,并基于交换后的模型参数对第3 次训练后得到的更新后的子模型进行更新,最终得到第4次训练完成后的更新后的子模型。
可选地,在一些实施例中,所述目标设备对K组模型进行融合,包括:
所述目标设备基于融合算法将所述K组模型中每一组模型的第q个模型进行组间融合, q∈[1,M]。
可选地,在一些实施例中,所述方法1200还包括:
依次将所述M个设备中的第i个设备本地存储的样本数量与第1个设备本地存储的样 本数量交换。
所述目标设备接收所述第k组设备发送的样本数量,所述样本数量包括所述第k组设 备本次存储的样本数量和与所述第k组设备中的至少一个其它设备交换后获得的样本数 量;
所述目标设备基于融合算法将所述K组模型中每一组模型的第q个模型进行组间融合, 包括:
所述目标设备根据所述样本数量,基于融合算法将所述K组模型中每一组模型的第q 个模型进行组间融合。
关于目标设备对K组模型进行融合的具体内容请参考上述方法400中的相关内容,不 再赘述。
可选地,在一些实施例中,所述方法1200还包括:
对于所述n*M次模型训练的下一次训练,所述M个设备从所述目标设备获取模型M<r>的信息,所述模型M<r>为所述目标设备对模型进行组间融合后的第r个模型,r遍历1至M,所述模型/>为所述第k组设备中的M个设备完成第n*M次的模型训练后的模 型,i遍历1至M,k遍历1至K。
可选地,在一些实施例中,所述方法1200还包括:
所述目标设备接收N个设备上报的状态信息,所述N个设备包括所述K组设备中每一组设备所包括的M个设备;
所述目标设备根据所述状态信息从所述N个设备中选择所述K组设备中每一组设备 所包括的M个设备;
所述目标设备将选择结果广播至所述K组设备中每一组设备所包括的M个设备。
对于第k组设备的M个设备:
所述M个设备接收所述目标设备发送的选择结果;
所述M个设备从所述目标设备获取模型M<r>的信息,包括:
所述M个设备根据所述选择结果从所述目标设备对应获取所述M<r>的信息。
可选地,在一些实施例中,所述选择结果包括以下至少一个:
所选择的设备、分组情况、模型的信息。
可选地,在一些实施例中,所述模型的信息包括:
所述模型的模型结构、所述模型的模型参数、融合轮数周期、总的融合轮数。
可选地,在一些实施例中,所述状态信息包括以下信息中的至少一个:
设备算力、存储能力、资源占用、邻接矩阵、超参数。
关于目标设备选择K组设备的具体内容请参考上述方法400中的相关内容,不再赘述。
需要说明的是,上述各实施例中所示出的数值仅为举例说明,还可以为其它数值,不 应对本申请造成特别限定。
图14和图15为本申请的实施例提供的可能的通信装置的结构示意图。这些通信装置 可以实现上述方法实施例中终端设备或网络设备的功能,因此也能实现上述方法实施例所 具备的有益效果。在本申请实施例中,该通信装置可以是如图1所示的终端设备30或40, 也可以是如图1所示的网络设备10或网络设备20,还可以是应用于终端设备或网络设备 的模块(如芯片)。
图14是本申请实施例提供的一种通信装置1000的示意性结构图,该装置1000可以包括处理模块1010和收发模块1020。
当通信装置1000用于实现图4所述方法实施例中第i个设备的功能时,所述处理模块1010,用于进行n*M次的模型训练,其中,所述第i个设备在每M次的模型训练中与 所述第k组设备中的至少一个其它设备完成模型参数的交换,M为所述第k组设备中的设 备数量,M大于或等于2,n为整数;所述收发模块1020,用于向目标设备发送模型Mi,n*M, 所述模型Mi,n*M为所述第i个设备完成n*M次的模型训练后的模型。
可选地,在一些实施例中,所述目标设备为所述第k组设备中算力最强的设备,或,
所述目标设备为所述第k组设备中通信时延最小的设备,或,
所述目标设备为所述第k组设备之外的设备所指定的设备。
可选地,在一些实施例中,所述处理模块1010,具体用于:
对于所述n*M次的模型训练中的第j次模型训练,从第(i-1)个设备接收其推理后的结果;
根据接收到的结果确定第一梯度和第二梯度,所述第一梯度用于更新模型Mi,j-1,所 述第二梯度用于更新模型Mi-1,j-1,所述模型Mi,j-1为所述第i个设备完成第(j-1)次模型训练后的模型,所述Mi-1,j-1为所述第(i-1)个设备完成第(j-1)次模型训练后的模型;
根据所述第一梯度训练模型Mi,j-1。
可选地,在一些实施例中,当i=M时,所述第一梯度基于接收的推理结果和从所述第 1个设备接收的标签确定;
当i≠M时,所述第一梯度基于第(i+1)个设备传输的第二梯度确定。
可选地,在一些实施例中,所述处理模块1010还用于:
与所述第k组设备中的至少一个其它设备完成模型参数的交换的同时,与所述第k组 设备中的至少一个其它设备交换本地存储的样本数量。
可选地,在一些实施例中,所述处理模块1010还用于:
对于所述n*M次的模型训练的下一次训练,从所述目标设备获取模型M<r>的信息,所 述模型M<r>为所述目标设备对模型进行组间融合后的第r个模型,r∈[1,M],所述模 型/>为所述第k组设备中的第i个设备完成n*M次的模型训练后的模型,i遍历1至M, k遍历1至K。
可选地,在一些实施例中,所述收发模块1020还用于:
接收目标设备发送的选择结果;
所述处理模块1010还用于:
根据所述选择结果从所述目标设备获取所述模型M<r>的信息。
可选地,在一些实施例中,所述选择结果包括以下至少一个:
所选择的设备、分组情况、模型的信息。
可选地,在一些实施例中,所述模型的信息包括:
所述模型的模型结构、所述模型的模型参数、融合轮数周期、总的融合轮数。
当通信装置1000用于实现图4所述方法实施例中目标设备的功能时,所述收发模块 1020,用于接收K组设备中第k组设备中的第i个设备发送的模型所述模型/>为所述第k组设备中的第i个设备完成n*M次的模型训练后的模型,所述每一组设备包括 的设备数量为M,M大于或等于2,n为整数,i遍历1至M,k遍历1至K;所述处理模 块1010用于对K组模型进行组间融合,所述K组模型包括K个模型/>
可选地,在一些实施例中,所述目标设备为所述K组设备中算力最强的设备,或,
所述目标设备为所述K组设备中通信时延最小的设备,或,
所述目标设备为所述K组设备之外的设备所指定的设备。
可选地,在一些实施例中,所述处理模块1010,具体用于:
基于融合算法将所述K组模型中每一组模型的第q个模型进行组间融合,q∈[1,M]。
可选地,在一些实施例中,所述收发模块1020还用于:
接收所述第k组设备中的第i个设备发送的样本数量,所述样本数量包括其所述第i 个设备本次存储的样本数量和与所述第k组设备中的至少一个其它设备交换后获得的样本数量;
所述处理模块1010,具体用于:
根据所述样本数量,基于融合算法将所述K组模型中每一组模型的第q个模型进行组 间融合。
可选地,在一些实施例中,所述收发模块1020还用于:
接收N个设备上报的状态信息,所述N个设备包括所述K组设备中每一组设备所包括的M个设备;
所述处理模块1010还用于:
根据所述状态信息从所述N个设备中选择所述K组设备中每一组设备所包括的M个设备;
所述收发模块1020还用于:
将选择结果广播至所述K组设备中每一组设备所包括的M个设备。
可选地,在一些实施例中,所述选择结果包括以下至少一个:
所选择的设备、分组情况、模型的信息。
可选地,在一些实施例中,所述模型的信息包括:
所述模型的模型结构、所述模型的模型参数、融合轮数周期、总的融合轮数。
可选地,在一些实施例中,所述状态信息包括以下信息中的至少一个:
设备算力、存储能力、资源占用、邻接矩阵、超参数。
关于上述处理模块1010和收发模块1020更详细的描述,可参考上述方法实施例中的 相关描述,在此不再说明。
如图15所示,通信装置1500包括处理器1510和接口电路1520。处理器1510和接 口电路1520之间相互耦合。可以理解的是,接口电路1520可以为收发器或输入输出接口。 可选的,通信装置1500还可以包括存储器1530,用于存储处理器1510执行的指令或存 储处理器1510运行指令所需要的输入数据或存储处理器1510运行指令后产生的数据。
当通信装置1500用于实现上述方法实施例中的方法时,处理器1510用于执行上述处 理模块1010的功能,接口电路1520用于执行上述收发模块1020的功能。
当上述通信装置为应用于终端设备的芯片时,该终端设备芯片实现上述方法实施例中 终端设备的功能。该终端设备芯片从终端设备中的其它模块(如射频模块或天线)接收信 息,该信息是网络设备发送给终端设备的;或者,该终端设备芯片向终端设备中的其它模 块(如射频模块或天线)发送信息,该信息是终端设备发送给网络设备的。
当上述通信装置为应用于网络设备的芯片时,该网络设备芯片实现上述方法实施例中 网络设备的功能。该网络设备芯片从网络设备中的其它模块(如射频模块或天线)接收信 息,该信息是终端设备发送给网络设备的;或者,该网络设备芯片向网络设备中的其它模 块(如射频模块或天线)发送信息,该信息是网络设备发送给终端设备的。
可以理解的是,本申请的实施例中的处理器可以是中央处理单元(centralprocessing unit,CPU),还可以是其它通用处理器、数字信号处理器(digital signalprocessor,DSP)、 专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件 或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件 指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存 取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、 可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasablePROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄 存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种 示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存 储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位 于ASIC中。另外,该ASIC可以位于接入网设备或终端设备中。当然,处理器和存储介 质也可以作为分立组件存在于接入网设备或终端设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。 当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产 品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时, 全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用 计算机、计算机网络、或者其它可编程装置。所述计算机程序或指令可以存储在计算机可 读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机可读存储介质可 以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器等数据存 储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例 如,数字多功能光盘(digital versatile disc,DVD);还可以是半导体介质,例如,固态硬 盘(solid state disk,SSD)。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术 语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻 辑关系可以组合形成新的实施例。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示: 单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。在 本申请的文字描述中,字符“/”,一般表示前后关联对象是一种“或”的关系;在本申 请的公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分, 并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先 后,各过程的执行顺序应以其功能和内在逻辑确定。
Claims (19)
2.根据权利要求1所述的方法,其特征在于,所述目标设备为所述第k组设备中算力最强的设备,或,
所述目标设备为所述第k组设备中通信时延最小的设备,或,
所述目标设备为所述第k组设备之外的设备所指定的设备。
3.根据权利要求1或2所述的方法,其特征在于,所述第k组设备中的第i个设备进行n*M次的模型训练,包括:
对于所述n*M次的模型训练中的第j次模型训练,所述第i个设备从第(i-1)个设备接收其推理后的结果;
所述第i个设备根据接收到的结果确定第一梯度和第二梯度,所述第一梯度用于更新模型Mi,j-1,所述第二梯度用于更新模型Mi-1,j-1,所述模型Mi,j-1为所述第i个设备完成第(j-1)次模型训练后的模型,所述模型Mi-1,j-1为所述第(i-1)个设备完成第(j-1)次模型训练后的模型;
所述第i个设备根据所述第一梯度训练模型Mi,j-1。
4.根据权利要求3所述的方法,其特征在于,当i=M时,所述第一梯度基于接收的推理结果和从所述第1个设备接收的标签确定;
当i≠M时,所述第一梯度基于第(i+1)个设备传输的第二梯度确定。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
所述第i个设备与所述第k组设备中的至少一个其它设备完成模型参数的交换的同时,所述第i个设备与所述第k组设备中的至少一个其它设备交换本地存储的样本数量。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述第i个设备接收目标设备发送的选择结果;
所述第i个设备从所述目标设备获取模型M<r〉的信息,包括:
所述第i个设备根据所述选择结果从所述目标设备获取所述模型M<r〉的信息。
8.根据权利要求7所述的方法,其特征在于,所述选择结果包括以下至少一个:
所选择的设备、分组情况、模型的信息。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述模型的信息包括:
所述模型的模型结构、所述模型的模型参数、融合轮数周期、总的融合轮数。
11.根据权利要求10所述的方法,其特征在于,所述目标设备为所述K组设备中算力最强的设备,或,
所述目标设备为所述K组设备中通信时延最小的设备,或,
所述目标设备为所述K组设备之外的设备所指定的设备。
12.根据权利要求10或11所述的方法,其特征在于,所述目标设备对K组模型进行融合,包括:
所述目标设备基于融合算法将所述K组模型中每一组模型的第q个模型进行组间融合,q∈[1,M]。
13.根据权利要求10至12中任一项所述的方法,其特征在于,所述方法还包括:
所述目标设备接收所述第k组设备中的第i个设备发送的样本数量,所述样本数量包括其所述第i个设备本次存储的样本数量和与所述第k组设备中的至少一个其它设备交换后获得的样本数量;
所述目标设备基于融合算法将所述K组模型中每一组模型的第q个模型进行组间融合,包括:
所述目标设备根据所述样本数量,基于融合算法将所述K组模型中每一组模型的第q个模型进行组间融合。
14.根据权利要求10至13中任一项所述的方法,其特征在于,所述方法还包括:
所述目标设备接收N个设备上报的状态信息,所述N个设备包括所述K组设备中每一组设备所包括的M个设备;
所述目标设备根据所述状态信息从所述N个设备中选择所述K组设备中每一组设备所包括的M个设备;
所述目标设备将选择结果广播至所述K组设备中每一组设备所包括的M个设备。
15.根据权利要求14所述的方法,其特征在于,所述选择结果包括以下至少一个:
所选择的设备、分组情况、模型的信息。
16.根据权利要求15所述的方法,其特征在于,所述模型的信息包括:
所述模型的模型结构、所述模型的模型参数、融合轮数周期、总的融合轮数。
17.根据权利要求14至16中任一项所述的方法,其特征在于,所述状态信息包括以下信息中的至少一个:
设备算力、存储能力、资源占用、邻接矩阵、超参数。
18.一种通信装置,其特征在于,包括处理器和通信接口,所述通信接口用于接收来自所述通信装置之外的其它通信装置的信号并传输至所述处理器或将来自所述处理器的信号发送给所述通信装置之外的其它通信装置,所述处理器通过逻辑电路或执行代码指令用于实现如权利要求1至9或10至17中任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被运行时,实现如权利要求1至9或10至17中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111350005.3A CN116150612A (zh) | 2021-11-15 | 2021-11-15 | 模型训练的方法和通信装置 |
PCT/CN2022/131437 WO2023083312A1 (zh) | 2021-11-15 | 2022-11-11 | 模型训练的方法和通信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111350005.3A CN116150612A (zh) | 2021-11-15 | 2021-11-15 | 模型训练的方法和通信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116150612A true CN116150612A (zh) | 2023-05-23 |
Family
ID=86335069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111350005.3A Pending CN116150612A (zh) | 2021-11-15 | 2021-11-15 | 模型训练的方法和通信装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116150612A (zh) |
WO (1) | WO2023083312A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116704296B (zh) * | 2023-08-04 | 2023-11-03 | 浪潮电子信息产业股份有限公司 | 一种图像处理方法、装置、系统、设备及计算机存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304918B (zh) * | 2018-01-18 | 2020-08-28 | 中兴飞流信息科技有限公司 | 一种数据并行的深度学习的参数交换方法和系统 |
WO2020107351A1 (zh) * | 2018-11-29 | 2020-06-04 | 袁振南 | 模型训练方法及其节点、网络及存储装置 |
CN110263928A (zh) * | 2019-06-18 | 2019-09-20 | 中国科学技术大学 | 保护数据隐私的基于移动设备的分布式深度学习训练方法 |
-
2021
- 2021-11-15 CN CN202111350005.3A patent/CN116150612A/zh active Pending
-
2022
- 2022-11-11 WO PCT/CN2022/131437 patent/WO2023083312A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023083312A1 (zh) | 2023-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Maksymyuk et al. | Deep learning based massive MIMO beamforming for 5G mobile network | |
CN112054863B (zh) | 一种通信方法及装置 | |
Yoshida et al. | MAB-based client selection for federated learning with uncertain resources in mobile networks | |
CN111867049B (zh) | 定位方法、装置及存储介质 | |
CN112910811B (zh) | 基于联合学习的噪声水平未知条件下的盲调制识别方法和装置 | |
CN112769510B (zh) | 用于基于机器学习来估计干扰的装置及方法 | |
KR102168650B1 (ko) | 다중 안테나 다중 사용자 간섭채널에서 기계학습 기반 빔포밍 방법 및 장치 | |
CN111224905B (zh) | 一种大规模物联网中基于卷积残差网络的多用户检测方法 | |
Yang et al. | Deep reinforcement learning based wireless network optimization: A comparative study | |
EP4156631A1 (en) | Reinforcement learning (rl) and graph neural network (gnn)-based resource management for wireless access networks | |
Elbir et al. | Hybrid federated and centralized learning | |
CN116150612A (zh) | 模型训练的方法和通信装置 | |
Zhang et al. | Federated multi-task learning with non-stationary heterogeneous data | |
Maksymyuk et al. | Intelligent framework for radio access network design | |
CN115243293A (zh) | 网络优化模型的确定方法、装置、电子设备及存储介质 | |
CN116233857A (zh) | 通信方法和通信装置 | |
WO2022028793A1 (en) | Instantiation, training, and/or evaluation of machine learning models | |
Nguyen et al. | Applications of Deep Learning and Deep Reinforcement Learning in 6G Networks | |
WO2022257662A1 (zh) | 一种应用人工智能的通信方法及通信装置 | |
WO2022082463A1 (zh) | 通信方法、装置及系统 | |
WO2023070675A1 (zh) | 数据处理的方法及装置 | |
WO2023116787A1 (zh) | 智能模型的训练方法和装置 | |
WO2024103352A1 (zh) | 一种通信方法、装置及系统 | |
Zhan et al. | Attention-based 3DTCN-LSTM short-term network traffic prediction model considering multi-base station spatiotemporal coupling | |
CN115023707A (zh) | 确定通信系统中对象的位置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |