CN117634592A - 一种基于迭代代理的联邦学习加速方法和系统 - Google Patents
一种基于迭代代理的联邦学习加速方法和系统 Download PDFInfo
- Publication number
- CN117634592A CN117634592A CN202311619196.8A CN202311619196A CN117634592A CN 117634592 A CN117634592 A CN 117634592A CN 202311619196 A CN202311619196 A CN 202311619196A CN 117634592 A CN117634592 A CN 117634592A
- Authority
- CN
- China
- Prior art keywords
- data
- local
- model
- learning model
- training
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000001133 acceleration Effects 0.000 title claims abstract description 29
- 238000012549 training Methods 0.000 claims abstract description 141
- 230000006870 function Effects 0.000 claims abstract description 95
- 238000004891 communication Methods 0.000 claims abstract description 36
- 238000003062 neural network model Methods 0.000 claims abstract description 9
- 230000002159 abnormal effect Effects 0.000 claims description 81
- 238000007781 pre-processing Methods 0.000 claims description 8
- 230000004931 aggregating effect Effects 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 3
- 238000013075 data extraction Methods 0.000 claims description 3
- 230000002776 aggregation Effects 0.000 description 21
- 238000004220 aggregation Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 20
- 230000000694 effects Effects 0.000 description 14
- 230000008859 change Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 230000002411 adverse Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005429 filling process Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 208000001491 myopia Diseases 0.000 description 1
- 230000004379 myopia Effects 0.000 description 1
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/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/10—Pre-processing; Data cleansing
- G06F18/15—Statistical pre-processing, e.g. techniques for normalisation or restoring missing data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出了一种基于迭代代理的联邦学习加速方法和系统。所述基于迭代代理的联邦学习加速方法包括:在每个客户端设备中部署待训练的本地学习模型,作为目标学习模型,其中,所述本地学习模型为神经网络模型;利用所述本地代理函数对所述目标学习模型进行训练,获得完成训练的学习模型;控制服务器使用全局代理函数聚合所有客户端设备的本地模型的更新,生成全局更新模型;在客户端和服务端之间建立通信信道,利用所述通信信道传递本地学习模型更新和全局更新模型的更新信息。所述系统包括与所述方法步骤对应的模块。
Description
技术领域
本发明提出了一种基于迭代代理的联邦学习加速方法和系统,属于联邦学习技术领域。
背景技术
联邦学习(FL)近年来越来越受到学术界和工业界的关注,其最终目标是在隐私和通信限制下实现协作训练。由于不同客户端之间的数据划分极其不平衡和非独立同分布,现有的基于迭代模型平均的FL算法需要大量的通信轮数才能获得性能良好的模型。
发明内容
本发明提供了一种基于迭代代理的联邦学习加速方法和系统,用以解决现有技术中迭代效率较低,导致模型训练效率较低和模型训练性能良好性较差的问题,所采取的技术方案如下:
一种基于迭代代理的联邦学习加速方法,所述基于迭代代理的联邦学习加速方法包括:
在每个客户端设备中部署待训练的本地学习模型,作为目标学习模型,其中,所述本地学习模型为神经网络模型;
利用所述本地代理函数对所述目标学习模型进行训练,获得完成训练的学习模型;
控制服务器使用全局代理函数聚合所有客户端设备的本地模型的更新,生成全局更新模型;
在客户端和服务端之间建立通信信道,利用所述通信信道传递本地学习模型更新和全局更新模型的更新信息。
进一步地,在每个客户端设备中部署待训练的本地学习模型,作为目标学习模型,包括:
调取所述客户端设备的学习模型需求;
控制所述客户端设备根据其对应的学习模型需求向数据库中调取与所述学习模型需求对应的本地学习模型;
在每个客户端设备中布设与所述客户端设备对应的本地代理函数。
进一步地,利用所述本地代理函数对所述目标学习模型进行训练,获得完成训练的学习模型,包括:
在所述客户端设备加载全局模型的初始参数;
调取所述客户端设备的自身数据库的本地数据,并对所述本地数据进行预处理,获得预处理后的本地数据,并将预处理后的本地数据作为训练样本数据;
利用所述训练样本数据对客户端设备的本地学习模型进行训练,获得训练后的本地学习模型;
将完成训练的本地学习模型发送至服务器中。
进一步地,调取所述客户端设备的自身数据库的本地数据,并对所述本地数据进行预处理,包括:
提取所述客户端设备的自身数据库的本地数据;
提取所述本地数据中的异常数据值,并对所述异常数据值进行剔除;
利用所述异常数据值设置与每个异常数据值对应的填充数据,其中,所述填充数据通过如下公式获取:
Xt=[1+(Xe-Xp)/(Xp-C)]×Xp
其中,Xt表示异常数据值对应的填充数据;Xe表示异常数据值对应的数据值;Xp表示正常数据的数据平均值;C表示异常数据的标准差;
其中,对有时间序列特征的缺失数据进行填充时,采用如下算法:
步骤一:设需要填充的缺失列为M,Mij为列M中第i年第j月的值,I为列M中的总的年数,i为大于等于1且小于等于I的整数,则列M的年度调节系数为:
其中Ky为列M的年度调节系数,J为总的月份数;
步骤二:计算列M的月度调节系数,其计算公式如下:
其中Km为列M的月度调节系数;
步骤三:根据步骤一和步骤二计算需要填充的第p年第q月的值为:
其中Mpq为第p年第q月的填充值,Mp(q-1)为已知的第p年第q-1月的值,Mp(q+1)为已知的第p年第q+1月的值;
利用所述每个异常数据值对应的填充数据对异常数据值进行补位,获得完成数据填充的本地数据。
进一步地,控制服务器使用全局代理函数聚合所有客户端设备的本地模型的更新,生成全局更新模型,包括:
在服务器端构建全局代理函数,其中,所述全局代理函数采用聚合算法,包括但不限制于加权平均、FedAvg等方法;
利用所述全局代理函数聚合所有客户端设备的本地模型的更新,生成全局更新模型。
一种基于迭代代理的联邦学习加速系统,所述基于迭代代理的联邦学习加速系统包括:
目标学习模型获取模块,用于在每个客户端设备中部署待训练的本地学习模型,作为目标学习模型,其中,所述本地学习模型为神经网络模型;
模型训练模块,用于利用所述本地代理函数对所述目标学习模型进行训练,获得完成训练的学习模型;
全局更新控制模块,用于控制服务器使用全局代理函数聚合所有客户端设备的本地模型的更新,生成全局更新模型;
通信信道建立模块,用于在客户端和服务端之间建立通信信道,利用所述通信信道传递本地学习模型更新和全局更新模型的更新信息。
进一步地,所述目标学习模型获取模块包括:
学习模型需求调取模块,用于调取所述客户端设备的学习模型需求;
本地学习模型调取模块,用于控制所述客户端设备根据其对应的学习模型需求向数据库中调取与所述学习模型需求对应的本地学习模型;
本地代理函数布设模块,用于在每个客户端设备中布设与所述客户端设备对应的本地代理函数。
进一步地,所述模型训练模块包括:
初始参数加载模块,用于在所述客户端设备加载全局模型的初始参数;
训练样本数据获取模块,用于调取所述客户端设备的自身数据库的本地数据,并对所述本地数据进行预处理,获得预处理后的本地数据,并将预处理后的本地数据作为训练样本数据;
模型训练执行模块,用于利用所述训练样本数据对客户端设备的本地学习模型进行训练,获得训练后的本地学习模型;
模型发送模块,用于将完成训练的本地学习模型发送至服务器中。
进一步地,所述训练样本数据获取模块包括:
本地数据提取执行模块,用于提取所述客户端设备的自身数据库的本地数据;
异常数据剔除模块,用于提取所述本地数据中的异常数据值,并对所述异常数据值进行剔除;
填充数据设置模块,用于利用所述异常数据值设置与每个异常数据值对应的填充数据,其中,所述填充数据通过如下公式获取:
Xt=[1+(Xe-Xp)/(Xp-C)]×Xp
其中,Xt表示异常数据值对应的填充数据;Xe表示异常数据值对应的数据值;Xp表示正常数据的数据平均值;C表示异常数据的标准差;其中,对有时间序列特征的缺失数据进行填充时,采用如下算法:
步骤一:设需要填充的缺失列为M,Mij为列M中第i年第j月的值,I为列M中的总的年数,i为大于等于1且小于等于I的整数,则列M的年度调节系数为:
其中Ky为列M的年度调节系数,J为总的月份数;
步骤二:计算列M的月度调节系数,其计算公式如下:
其中Km为列M的月度调节系数;
步骤三:根据步骤一和步骤二计算需要填充的第p年第q月的值为:
其中Mpq为第p年第q月的填充值,Mp(q-1)为已知的第p年第q-1月的值,Mp(q+1)为已知的第p年第q+1月的值;
补位执行模块,用于利用所述每个异常数据值对应的填充数据对异常数据值进行补位,获得完成数据填充的本地数据。
进一步地,所述全局更新控制模块包括:
全局代理函数构建模块,用于在服务器端构建全局代理函数,其中,所述全局代理函数采用聚合算法,包括但不限制于加权平均、FedAvg等方法;
全局更新模型生成模块,用于利用所述全局代理函数聚合所有客户端设备的本地模型的更新,生成全局更新模型。
本发明有益效果:
本发明提出了一种基于迭代代理的联邦学习加速方法和系统从客户端角度出发构建一个本地代理函数去近视代替本地训练的目标,然后通过这些本地代理函数发送到服务器,服务器围绕当前解决方案构建全局代理函数,并通过最小化该代理进行更新。本发明提出了一种基于迭代代理的联邦学习加速方法和系统相比一般的基于模型迭代的FL方法,模型训练收敛更快,通讯轮数更少,极大降低了训练成本,加速了FL模型的训练。
附图说明
图1为本发明所述方法的流程图;
图2为本发明所述系统的系统框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例提出了一种基于迭代代理的联邦学习加速方法,如图1所示,所述基于迭代代理的联邦学习加速方法包括:
S1、在每个客户端设备中部署待训练的本地学习模型,作为目标学习模型,其中,所述本地学习模型为神经网络模型;
S2、利用所述本地代理函数对所述目标学习模型进行训练,获得完成训练的学习模型;
S3、控制服务器使用全局代理函数聚合所有客户端设备的本地模型的更新,生成全局更新模型;
S4、在客户端和服务端之间建立通信信道,利用所述通信信道传递本地学习模型更新和全局更新模型的更新信息。
上述技术方案的工作原理为:部署本地学习模型:首先,在每个客户端设备中部署一个本地学习模型,本实施例的本地学习模型是一个神经网络模型,用于在本地客户端设备上进行训练。
本地代理函数训练:在每个客户端设备上,使用本地代理函数对目标学习模型进行训练。本实施例的代理函数可能用于改进模型的训练过程,例如采用联邦学习算法来训练模型。在这一步骤后,每个客户端设备都会得到一个完成训练的本地学习模型。
全局代理函数聚合:服务器控制全局代理函数,它的作用是聚合所有客户端设备的本地模型的更新。本实施例的全局代理函数可能采用联邦学习的聚合方法,例如加权平均或其他方法,来生成全局更新模型。
通信信道传递更新信息:客户端和服务器之间建立通信信道,通过本实施例的通信信道传递本地学习模型的更新以及全局更新模型的更新信息。这样,客户端将本地训练得到的模型参数更新传输给服务器,服务器将全局更新模型传输给客户端,以便在每个客户端上进行下一轮的训练。
上述技术方案的效果为:通过在每个客户端设备上进行本地训练,然后使用全局代理函数来聚合本地模型的更新,本实施例的方法实现了联邦学习。联邦学习允许在保护用户数据隐私的同时,进行模型训练,因为模型参数不离开本地设备。通过建立通信信道,实现了客户端和服务器之间的模型参数传输,从而实现了分布式模型训练。这可以加速模型训练,特别是在大规模数据集和分布式环境下。引入代理函数来训练本地模型,可能有助于提高模型训练的效率和性能。总的来说,本实施例的技术方案的主要目标是加速联邦学习过程,同时保护用户数据的隐私,并且通过使用代理函数来改进模型训练过程,提高模型性能。
本发明的一个实施例,在每个客户端设备中部署待训练的本地学习模型,作为目标学习模型,包括:
S101、调取所述客户端设备的学习模型需求;
S102、控制所述客户端设备根据其对应的学习模型需求向数据库中调取与所述学习模型需求对应的本地学习模型;
S103、在每个客户端设备中布设与所述客户端设备对应的本地代理函数。
上述技术方案的工作原理为:调取学习模型需求(S101):首先,客户端设备会调取其所需的学习模型,这是为了满足特定任务或应用的需求。学习模型需求可能包括模型类型、模型架构、超参数设置等信息。
从数据库中获取本地学习模型(S102):为了满足学习模型需求,客户端设备会向数据库中查询并获取与其需求相匹配的本地学习模型。这些本地学习模型可能是预先训练好的、特定于任务的模型,或者是根据需求动态生成的。
部署本地代理函数(S103):在每个客户端设备上,本地代理函数会与获取的本地学习模型一起部署。本地代理函数的作用是监督和控制本地模型的训练过程,可能包括模型初始化、超参数调整、训练策略等。代理函数的目的是在本地设备上调整和改进模型的性能,以满足特定任务的需求。
上述技术方案的效果为:定制化模型部署:通过允许客户端设备调取特定的学习模型需求并从数据库中获取匹配的本地学习模型,可以实现定制化的模型部署。这有助于满足不同应用场景的需求,提高模型的适应性。
本地代理函数控制:通过部署本地代理函数,客户端设备可以在本地控制和改进模型的训练过程,以提高模型性能。这可以根据具体任务的需求来优化模型。
分散学习和模型服务:客户端设备可以独立执行模型训练,而不需要集中式的模型训练服务器。这降低了通信开销和隐私风险,并支持分布式学习和模型服务。
总的来说,本实施例的技术方案旨在实现高度可定制的本地学习模型部署,通过本地代理函数的控制来改进模型训练过程,满足不同任务的需求,同时降低通信开销和维护模型的复杂性。
本发明的一个实施例,利用所述本地代理函数对所述目标学习模型进行训练,获得完成训练的学习模型,包括:
S201、在所述客户端设备加载全局模型的初始参数;
S202、调取所述客户端设备的自身数据库的本地数据,并对所述本地数据进行预处理,获得预处理后的本地数据,并将预处理后的本地数据作为训练样本数据;
S203、利用所述训练样本数据对客户端设备的本地学习模型进行训练,获得训练后的本地学习模型;
S204、将完成训练的本地学习模型发送至服务器中。
上述技术方案的工作原理为:加载全局模型的初始参数(S201):客户端设备首先加载全局模型的初始参数,这是开始训练的起点。这些初始参数是由服务器提供的,用于初始化本地学习模型。
预处理本地数据(S202):客户端设备从自身数据库中调取本地数据,并对这些数据进行预处理。预处理可能包括数据清洗、标准化、特征工程等,以确保数据适合用于模型训练。这些预处理后的本地数据将用作训练样本数据。
本地模型训练(S203):客户端设备使用预处理后的本地数据对本地学习模型进行训练。这涉及使用机器学习算法(如神经网络训练)来优化模型参数,以使其适应本地数据。在训练过程中,本地代理函数可能会控制训练策略、学习率等参数,以改进模型的性能。
发送本地学习模型(S204):一旦完成训练,客户端设备将本地学习模型的参数或更新发送至服务器。这可以通过通信信道实现,以便服务器能够聚合所有客户端设备的本地模型更新,从而生成全局更新模型。
上述技术方案的效果为:分布式模型训练:通过在客户端设备上进行本地模型训练,本实施例的方法实现了分布式模型训练。每个客户端独立训练自己的本地模型,从而降低了服务器的计算负担和通信开销。
数据隐私保护:本地数据在客户端设备上进行预处理和训练,不需要离开设备,从而保护了数据的隐私。只有模型参数或更新被发送至服务器,而不是原始数据。
模型个性化:每个客户端设备可以根据其本地数据的特性和需求,训练自己的本地学习模型,从而实现个性化的模型定制。
总的来说,本实施例的技术方案支持分布式模型训练,保护数据隐私,并允许个性化模型训练,从而提高了模型的性能和适应性。
本发明的一个实施例,调取所述客户端设备的自身数据库的本地数据,并对所述本地数据进行预处理,包括:
S2021、提取所述客户端设备的自身数据库的本地数据;
S2022、提取所述本地数据中的异常数据值,并对所述异常数据值进行剔除;
S2023、利用所述异常数据值设置与每个异常数据值对应的填充数据,其中,所述填充数据通过如下公式获取:
Xt=[1+(Xe-Xp)/(Xp-C)]×Xp
其中,Xt表示异常数据值对应的填充数据;Xe表示异常数据值对应的数据值;Xp表示正常数据的数据平均值;C表示异常数据的标准差;由于并不是所有的数据都适用上述方法进行数据填充,例如明显有时间序列特征的数据,例如在某个时间段内如2008至2028年经济数据是持续增长的,假如2009年经济数据缺失,若用上述方法可能出现2009年的数据大于2010年数据的情况,在持续增长的前提下此方法填充的数据显然是错误的。错误的数据不仅会影响到模型的训练,还可能会对后续模型的应用带来严重不良后果,因此为了避免上述错误数据的发生,在对有时间序列特征的缺失数据进行填充时,采用如下算法:
步骤一:设需要填充的缺失列为M,Mij为列M中第i年第j月的值,I为列M中的总的年数,i为大于等于1且小于等于I的整数,则列M的年度调节系数为:
其中Ky为列M的年度调节系数,J为总的月份数。
步骤二:计算列M的月度调节系数,其计算公式如下:
其中Km为列M的月度调节系数。
步骤三:根据步骤一和步骤二计算需要填充的第p年第q月的值为:
其中Mpq为第p年第q月的填充值,Mp(q-1)为已知的第p年第q-1月的值,Mp(q+1)为已知的第p年第q+1月的值。
该算法根据已知数据的年度变化情况及月度变化情况,根据年度变化规律和月度变化规律对缺失的具体年月数据进行填充,确保了填充的数据的准确性,避免了一遍缺失值填充方法对时间序列类数据填充的较大误差对数据准确性的破坏,为后续模型训练提供了准确的数据依据,为模型的应用提供了前提条件
S2024、利用所述每个异常数据值对应的填充数据对异常数据值进行补位,获得完成数据填充的本地数据。
上述技术方案的工作原理为:提取本地数据(S2021):首先,客户端设备会从其自身数据库中提取本地数据。这些数据是用于模型训练的原始数据。
剔除异常数据值(S2022):在这一步骤,客户端设备会检测本地数据中的异常数据值,并将其剔除。异常数据值可能是由于测量错误、设备故障或其他原因引起的不准确或异常数值。
填充异常数据值(S2023):对于被剔除的异常数据值,客户端设备使用一种填充策略来替代这些值。填充数据的计算基于异常数据值本身(Xe)、正常数据的平均值(Xp),以及异常数据的标准差(C)。填充数据的计算公式为Xt=[1+(Xe-Xp)/(Xp-C)]×Xp。本实施例的公式计算出一个填充值,用于替代异常数据值。
数据填充(S2024):利用计算出的填充数据,客户端设备对异常数据值进行填充,从而得到经过数据填充的本地数据。本实施例的过程确保了数据的完整性和一致性,使得模型训练更加稳定和可靠。
上述技术方案的效果为:数据质量提高:通过剔除异常数据值和填充它们,本实施例的方法可以提高本地数据的质量,减少由于异常值引起的干扰,从而提高模型训练的准确性。
数据一致性:数据填充过程确保了数据的一致性,使得模型训练时可以使用完整和一致的数据集,避免数据缺失或异常值对模型的负面影响。
数据平滑:填充数据的计算公式考虑了异常数据值与正常数据的统计特性,因此填充后的数据能够更好地与正常数据保持一致,减少了数据的突变。
总的来说,本实施例的技术方案旨在提高本地数据的质量和一致性,通过剔除和填充异常数据值,从而提高模型训练的稳定性和性能。
本发明的一个实施例,控制服务器使用全局代理函数聚合所有客户端设备的本地模型的更新,生成全局更新模型,包括:
S301、在服务器端构建全局代理函数,其中,所述全局代理函数采用聚合算法,包括但不限制于加权平均、FedAvg等方法;
S302、利用所述全局代理函数聚合所有客户端设备的本地模型的更新,生成全局更新模型。
上述技术方案的工作原理为:构建全局代理函数(S301):在服务器端,构建一个全局代理函数,本实施例的代理函数的目的是使用特定的聚合算法来整合来自所有客户端设备的本地模型的更新。本实施例的聚合算法可以采用不同的策略,例如加权平均、FedAvg(联邦平均)等,根据具体应用场景和需求选择。
聚合本地模型的更新(S302):服务器使用全局代理函数来聚合所有客户端设备的本地模型的更新。这涉及计算每个客户端设备的本地模型参数的权重,以决定如何组合这些参数以生成全局更新模型。本实施例的过程可以定期执行,以逐步改进全局模型。
上述技术方案的效果为:模型聚合:使用全局代理函数,服务器能够聚合来自多个客户端设备的本地模型的更新。这种模型聚合可以帮助服务器生成更具代表性的全局更新模型,从而提高模型的性能和准确性。
数据隐私保护:因为本地模型的参数更新被聚合在服务器端,不需要原始数据离开客户端设备,因此数据隐私得到了保护。这对于敏感数据的处理尤为重要。
分布式训练:全局代理函数的使用支持分布式模型训练,允许多个客户端设备并行参与训练,减轻了服务器的计算负担。
灵活性:通过选择不同的聚合算法,可以根据具体需求和应用场景来调整模型的训练策略,从而实现更好的性能和效果。
总的来说,本实施例的技术方案的主要目标是支持联邦学习中的模型参数聚合,以生成全局更新模型,同时保护数据隐私,提高模型性能,并支持分布式训练。这对于许多分散数据的应用场景非常有用。
本发明实施例提出了一种基于迭代代理的联邦学习加速系统,如图2所示,所述基于迭代代理的联邦学习加速系统包括:
目标学习模型获取模块,用于在每个客户端设备中部署待训练的本地学习模型,作为目标学习模型,其中,所述本地学习模型为神经网络模型;
模型训练模块,用于利用所述本地代理函数对所述目标学习模型进行训练,获得完成训练的学习模型;
全局更新控制模块,用于控制服务器使用全局代理函数聚合所有客户端设备的本地模型的更新,生成全局更新模型;
通信信道建立模块,用于在客户端和服务端之间建立通信信道,利用所述通信信道传递本地学习模型更新和全局更新模型的更新信息。
上述技术方案的工作原理为:部署本地学习模型:首先,在每个客户端设备中部署一个本地学习模型,本实施例的本地学习模型是一个神经网络模型,用于在本地客户端设备上进行训练。
本地代理函数训练:在每个客户端设备上,使用本地代理函数对目标学习模型进行训练。本实施例的代理函数可能用于改进模型的训练过程,例如采用联邦学习算法来训练模型。在这一步骤后,每个客户端设备都会得到一个完成训练的本地学习模型。
全局代理函数聚合:服务器控制全局代理函数,它的作用是聚合所有客户端设备的本地模型的更新。本实施例的全局代理函数可能采用联邦学习的聚合方法,例如加权平均或其他方法,来生成全局更新模型。
通信信道传递更新信息:客户端和服务器之间建立通信信道,通过本实施例的通信信道传递本地学习模型的更新以及全局更新模型的更新信息。这样,客户端将本地训练得到的模型参数更新传输给服务器,服务器将全局更新模型传输给客户端,以便在每个客户端上进行下一轮的训练。
上述技术方案的效果为:通过在每个客户端设备上进行本地训练,然后使用全局代理函数来聚合本地模型的更新,本实施例的方法实现了联邦学习。联邦学习允许在保护用户数据隐私的同时,进行模型训练,因为模型参数不离开本地设备。通过建立通信信道,实现了客户端和服务器之间的模型参数传输,从而实现了分布式模型训练。这可以加速模型训练,特别是在大规模数据集和分布式环境下。引入代理函数来训练本地模型,可能有助于提高模型训练的效率和性能。总的来说,本实施例的技术方案的主要目标是加速联邦学习过程,同时保护用户数据的隐私,并且通过使用代理函数来改进模型训练过程,提高模型性能。
本发明的一个实施例,所述目标学习模型获取模块包括:
学习模型需求调取模块,用于调取所述客户端设备的学习模型需求;
本地学习模型调取模块,用于控制所述客户端设备根据其对应的学习模型需求向数据库中调取与所述学习模型需求对应的本地学习模型;
本地代理函数布设模块,用于在每个客户端设备中布设与所述客户端设备对应的本地代理函数。
上述技术方案的工作原理为:首先,客户端设备会调取其所需的学习模型,这是为了满足特定任务或应用的需求。学习模型需求可能包括模型类型、模型架构、超参数设置等信息。
为了满足学习模型需求,客户端设备会向数据库中查询并获取与其需求相匹配的本地学习模型。这些本地学习模型可能是预先训练好的、特定于任务的模型,或者是根据需求动态生成的。
在每个客户端设备上,本地代理函数会与获取的本地学习模型一起部署。本地代理函数的作用是监督和控制本地模型的训练过程,可能包括模型初始化、超参数调整、训练策略等。代理函数的目的是在本地设备上调整和改进模型的性能,以满足特定任务的需求。
上述技术方案的效果为:定制化模型部署:通过允许客户端设备调取特定的学习模型需求并从数据库中获取匹配的本地学习模型,可以实现定制化的模型部署。这有助于满足不同应用场景的需求,提高模型的适应性。
本地代理函数控制:通过部署本地代理函数,客户端设备可以在本地控制和改进模型的训练过程,以提高模型性能。这可以根据具体任务的需求来优化模型。
分散学习和模型服务:客户端设备可以独立执行模型训练,而不需要集中式的模型训练服务器。这降低了通信开销和隐私风险,并支持分布式学习和模型服务。
总的来说,本实施例的技术方案旨在实现高度可定制的本地学习模型部署,通过本地代理函数的控制来改进模型训练过程,满足不同任务的需求,同时降低通信开销和维护模型的复杂性。
本发明的一个实施例,所述模型训练模块包括:
初始参数加载模块,用于在所述客户端设备加载全局模型的初始参数;
训练样本数据获取模块,用于调取所述客户端设备的自身数据库的本地数据,并对所述本地数据进行预处理,获得预处理后的本地数据,并将预处理后的本地数据作为训练样本数据;
模型训练执行模块,用于利用所述训练样本数据对客户端设备的本地学习模型进行训练,获得训练后的本地学习模型;
模型发送模块,用于将完成训练的本地学习模型发送至服务器中。
上述技术方案的工作原理为:客户端设备首先加载全局模型的初始参数,这是开始训练的起点。这些初始参数是由服务器提供的,用于初始化本地学习模型。
客户端设备从自身数据库中调取本地数据,并对这些数据进行预处理。预处理可能包括数据清洗、标准化、特征工程等,以确保数据适合用于模型训练。这些预处理后的本地数据将用作训练样本数据。
客户端设备使用预处理后的本地数据对本地学习模型进行训练。这涉及使用机器学习算法(如神经网络训练)来优化模型参数,以使其适应本地数据。在训练过程中,本地代理函数可能会控制训练策略、学习率等参数,以改进模型的性能。
一旦完成训练,客户端设备将本地学习模型的参数或更新发送至服务器。这可以通过通信信道实现,以便服务器能够聚合所有客户端设备的本地模型更新,从而生成全局更新模型。
上述技术方案的效果为:分布式模型训练:通过在客户端设备上进行本地模型训练,本实施例的方法实现了分布式模型训练。每个客户端独立训练自己的本地模型,从而降低了服务器的计算负担和通信开销。
数据隐私保护:本地数据在客户端设备上进行预处理和训练,不需要离开设备,从而保护了数据的隐私。只有模型参数或更新被发送至服务器,而不是原始数据。
模型个性化:每个客户端设备可以根据其本地数据的特性和需求,训练自己的本地学习模型,从而实现个性化的模型定制。
总的来说,本实施例的技术方案支持分布式模型训练,保护数据隐私,并允许个性化模型训练,从而提高了模型的性能和适应性。
本发明的一个实施例,所述训练样本数据获取模块包括:
本地数据提取执行模块,用于提取所述客户端设备的自身数据库的本地数据;
异常数据剔除模块,用于提取所述本地数据中的异常数据值,并对所述异常数据值进行剔除;
填充数据设置模块,用于利用所述异常数据值设置与每个异常数据值对应的填充数据,其中,所述填充数据通过如下公式获取:
Xt=[1+(Xe-Xp)/(Xp-C)]×Xp
其中,Xt表示异常数据值对应的填充数据;Xe表示异常数据值对应的数据值;Xp表示正常数据的数据平均值;C表示异常数据的标准差;由于并不是所有的数据都适用上述方法进行数据填充,例如明显有时间序列特征的数据,例如在某个时间段内如2008至2028年经济数据是持续增长的,假如2009年经济数据缺失,若用上述方法可能出现2009年的数据大于2010年数据的情况,在持续增长的前提下此方法填充的数据显然是错误的。错误的数据不仅会影响到模型的训练,还可能会对后续模型的应用带来严重不良后果,因此为了避免上述错误数据的发生,在对有时间序列特征的缺失数据进行填充时,采用如下算法:
步骤一:设需要填充的缺失列为M,Mij为列M中第i年第j月的值,I为列M中的总的年数,i为大于等于1且小于等于I的整数,则列M的年度调节系数为:
其中Ky为列M的年度调节系数,J为总的月份数。
步骤二:计算列M的月度调节系数,其计算公式如下:
其中Km为列M的月度调节系数。
步骤三:根据步骤一和步骤二计算需要填充的第p年第q月的值为:
其中Mpq为第p年第q月的填充值,Mp(q-1)为已知的第p年第q-1月的值,Mp(q+1)为已知的第p年第q+1月的值。
该算法根据已知数据的年度变化情况及月度变化情况,根据年度变化规律和月度变化规律对缺失的具体年月数据进行填充,确保了填充的数据的准确性,避免了一遍缺失值填充方法对时间序列类数据填充的较大误差对数据准确性的破坏,为后续模型训练提供了准确的数据依据,为模型的应用提供了前提条件
补位执行模块,用于利用所述每个异常数据值对应的填充数据对异常数据值进行补位,获得完成数据填充的本地数据。
上述技术方案的工作原理为:首先,客户端设备会从其自身数据库中提取本地数据。这些数据是用于模型训练的原始数据。
在这一步骤,客户端设备会检测本地数据中的异常数据值,并将其剔除。异常数据值可能是由于测量错误、设备故障或其他原因引起的不准确或异常数值。
对于被剔除的异常数据值,客户端设备使用一种填充策略来替代这些值。填充数据的计算基于异常数据值本身(Xe)、正常数据的平均值(Xp),以及异常数据的标准差(C)。填充数据的计算公式为Xt=[1+(Xe-Xp)/(Xp-C)]×Xp。本实施例的公式计算出一个填充值,用于替代异常数据值。
利用计算出的填充数据,客户端设备对异常数据值进行填充,从而得到经过数据填充的本地数据。本实施例的过程确保了数据的完整性和一致性,使得模型训练更加稳定和可靠。
上述技术方案的效果为:数据质量提高:通过剔除异常数据值和填充它们,本实施例的方法可以提高本地数据的质量,减少由于异常值引起的干扰,从而提高模型训练的准确性。
数据一致性:数据填充过程确保了数据的一致性,使得模型训练时可以使用完整和一致的数据集,避免数据缺失或异常值对模型的负面影响。
数据平滑:填充数据的计算公式考虑了异常数据值与正常数据的统计特性,因此填充后的数据能够更好地与正常数据保持一致,减少了数据的突变。
总的来说,本实施例的技术方案旨在提高本地数据的质量和一致性,通过剔除和填充异常数据值,从而提高模型训练的稳定性和性能。
本发明的一个实施例,所述全局更新控制模块包括:
全局代理函数构建模块,用于在服务器端构建全局代理函数,其中,所述全局代理函数采用聚合算法,包括但不限制于加权平均、FedAvg等方法;
全局更新模型生成模块,用于利用所述全局代理函数聚合所有客户端设备的本地模型的更新,生成全局更新模型。
上述技术方案的工作原理为:在服务器端,构建一个全局代理函数,本实施例的代理函数的目的是使用特定的聚合算法来整合来自所有客户端设备的本地模型的更新。本实施例的聚合算法可以采用不同的策略,例如加权平均、FedAvg(联邦平均)等,根据具体应用场景和需求选择。
服务器使用全局代理函数来聚合所有客户端设备的本地模型的更新。这涉及计算每个客户端设备的本地模型参数的权重,以决定如何组合这些参数以生成全局更新模型。本实施例的过程可以定期执行,以逐步改进全局模型。
上述技术方案的效果为:模型聚合:使用全局代理函数,服务器能够聚合来自多个客户端设备的本地模型的更新。这种模型聚合可以帮助服务器生成更具代表性的全局更新模型,从而提高模型的性能和准确性。
数据隐私保护:因为本地模型的参数更新被聚合在服务器端,不需要原始数据离开客户端设备,因此数据隐私得到了保护。这对于敏感数据的处理尤为重要。
分布式训练:全局代理函数的使用支持分布式模型训练,允许多个客户端设备并行参与训练,减轻了服务器的计算负担。
灵活性:通过选择不同的聚合算法,可以根据具体需求和应用场景来调整模型的训练策略,从而实现更好的性能和效果。
总的来说,本实施例的技术方案的主要目标是支持联邦学习中的模型参数聚合,以生成全局更新模型,同时保护数据隐私,提高模型性能,并支持分布式训练。这对于许多分散数据的应用场景非常有用。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于迭代代理的联邦学习加速方法,其特征在于,所述基于迭代代理的联邦学习加速方法包括:
在每个客户端设备中部署待训练的本地学习模型,作为目标学习模型,其中,所述本地学习模型为神经网络模型;
利用所述本地代理函数对所述目标学习模型进行训练,获得完成训练的学习模型;
控制服务器使用全局代理函数聚合所有客户端设备的本地模型的更新,生成全局更新模型;
在客户端和服务端之间建立通信信道,利用所述通信信道传递本地学习模型更新和全局更新模型的更新信息。
2.根据权利要求1所述基于迭代代理的联邦学习加速方法,其特征在于,在每个客户端设备中部署待训练的本地学习模型,作为目标学习模型,包括:
调取所述客户端设备的学习模型需求;
控制所述客户端设备根据其对应的学习模型需求向数据库中调取与所述学习模型需求对应的本地学习模型;
在每个客户端设备中布设与所述客户端设备对应的本地代理函数。
3.根据权利要求1所述基于迭代代理的联邦学习加速方法,其特征在于,利用所述本地代理函数对所述目标学习模型进行训练,获得完成训练的学习模型,包括:
在所述客户端设备加载全局模型的初始参数;
调取所述客户端设备的自身数据库的本地数据,并对所述本地数据进行预处理,获得预处理后的本地数据,并将预处理后的本地数据作为训练样本数据;
利用所述训练样本数据对客户端设备的本地学习模型进行训练,获得训练后的本地学习模型;
将完成训练的本地学习模型发送至服务器中。
4.根据权利要求3所述基于迭代代理的联邦学习加速方法,其特征在于,调取所述客户端设备的自身数据库的本地数据,并对所述本地数据进行预处理,包括:
提取所述客户端设备的自身数据库的本地数据;
提取所述本地数据中的异常数据值,并对所述异常数据值进行剔除;
利用所述异常数据值设置与每个异常数据值对应的填充数据,其中,所述填充数据通过如下公式获取:
Xt=[1+(Xe-Xp)/(Xp-C)]×Xp
其中,Xt表示异常数据值对应的填充数据;Xe表示异常数据值对应的数据值;Xp表示正常数据的数据平均值;C表示异常数据的标准差;其中,对有时间序列特征的缺失数据进行填充时,采用如下算法:
步骤一:设需要填充的缺失列为M,Mij为列M中第i年第j月的值,I为列M中的总的年数,i为大于等于1且小于等于I的整数,则列M的年度调节系数为:
其中Ky为列M的年度调节系数,J为总的月份数;
步骤二:计算列M的月度调节系数,其计算公式如下:
其中Km为列M的月度调节系数;
步骤三:根据步骤一和步骤二计算需要填充的第p年第q月的值为:
其中Mpq为第p年第q月的填充值,Mp(q-1)为已知的第p年第q-1月的值,Mp(q+1)为已知的第p年第q+1月的值;
利用所述每个异常数据值对应的填充数据对异常数据值进行补位,获得完成数据填充的本地数据。
5.根据权利要求1所述基于迭代代理的联邦学习加速方法,其特征在于,控制服务器使用全局代理函数聚合所有客户端设备的本地模型的更新,生成全局更新模型,包括:
在服务器端构建全局代理函数;
利用所述全局代理函数聚合所有客户端设备的本地模型的更新,生成全局更新模型。
6.一种基于迭代代理的联邦学习加速系统,其特征在于,所述基于迭代代理的联邦学习加速系统包括:
目标学习模型获取模块,用于在每个客户端设备中部署待训练的本地学习模型,作为目标学习模型,其中,所述本地学习模型为神经网络模型;
模型训练模块,用于利用所述本地代理函数对所述目标学习模型进行训练,获得完成训练的学习模型;
全局更新控制模块,用于控制服务器使用全局代理函数聚合所有客户端设备的本地模型的更新,生成全局更新模型;
通信信道建立模块,用于在客户端和服务端之间建立通信信道,利用所述通信信道传递本地学习模型更新和全局更新模型的更新信息。
7.根据权利要求6所述基于迭代代理的联邦学习加速系统,其特征在于,所述目标学习模型获取模块包括:
学习模型需求调取模块,用于调取所述客户端设备的学习模型需求;
本地学习模型调取模块,用于控制所述客户端设备根据其对应的学习模型需求向数据库中调取与所述学习模型需求对应的本地学习模型;
本地代理函数布设模块,用于在每个客户端设备中布设与所述客户端设备对应的本地代理函数。
8.根据权利要求6所述基于迭代代理的联邦学习加速系统,其特征在于,所述模型训练模块包括:
初始参数加载模块,用于在所述客户端设备加载全局模型的初始参数;
训练样本数据获取模块,用于调取所述客户端设备的自身数据库的本地数据,并对所述本地数据进行预处理,获得预处理后的本地数据,并将预处理后的本地数据作为训练样本数据;
模型训练执行模块,用于利用所述训练样本数据对客户端设备的本地学习模型进行训练,获得训练后的本地学习模型;
模型发送模块,用于将完成训练的本地学习模型发送至服务器中。
9.根据权利要求8所述基于迭代代理的联邦学习加速系统,其特征在于,所述训练样本数据获取模块包括:
本地数据提取执行模块,用于提取所述客户端设备的自身数据库的本地数据;
异常数据剔除模块,用于提取所述本地数据中的异常数据值,并对所述异常数据值进行剔除;
填充数据设置模块,用于利用所述异常数据值设置与每个异常数据值对应的填充数据,其中,所述填充数据通过如下公式获取:
Xt=[1+(Xe-Xp)/(Xp-C)]×Xp
其中,Xt表示异常数据值对应的填充数据;Xe表示异常数据值对应的数据值;Xp表示正常数据的数据平均值;C表示异常数据的标准差;其中,对有时间序列特征的缺失数据进行填充时,采用如下算法:
步骤一:设需要填充的缺失列为M,Mij为列M中第i年第j月的值,I为列M中的总的年数,i为大于等于1且小于等于I的整数,则列M的年度调节系数为:
其中Ky为列M的年度调节系数,J为总的月份数;
步骤二:计算列M的月度调节系数,其计算公式如下:
其中Km为列M的月度调节系数;
步骤三:根据步骤一和步骤二计算需要填充的第p年第q月的值为:
其中Mpq为第p年第q月的填充值,Mp(q-1)为已知的第p年第q-1月的值,Mp(q+1)为已知的第p年第q+1月的值;
补位执行模块,用于利用所述每个异常数据值对应的填充数据对异常数据值进行补位,获得完成数据填充的本地数据。
10.根据权利要求6所述基于迭代代理的联邦学习加速系统,其特征在于,所述全局更新控制模块包括:
全局代理函数构建模块,用于在服务器端构建全局代理函数;
全局更新模型生成模块,用于利用所述全局代理函数聚合所有客户端设备的本地模型的更新,生成全局更新模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311619196.8A CN117634592A (zh) | 2023-11-29 | 2023-11-29 | 一种基于迭代代理的联邦学习加速方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311619196.8A CN117634592A (zh) | 2023-11-29 | 2023-11-29 | 一种基于迭代代理的联邦学习加速方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117634592A true CN117634592A (zh) | 2024-03-01 |
Family
ID=90026465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311619196.8A Pending CN117634592A (zh) | 2023-11-29 | 2023-11-29 | 一种基于迭代代理的联邦学习加速方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117634592A (zh) |
-
2023
- 2023-11-29 CN CN202311619196.8A patent/CN117634592A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019118460A1 (en) | Irrigation system control with predictive water balance capabilities | |
US20070021948A1 (en) | Variable rate prescription generation using heterogenous prescription sources with learned weighting factors | |
CN114265631B (zh) | 一种基于联邦元学习的移动边缘计算智能卸载方法及装置 | |
CN106684885B (zh) | 基于多场景分析的风电机组配电网无功优化方法 | |
CN108427986A (zh) | 一种生产线电机故障预测方法及装置 | |
CN112818588B (zh) | 一种电力系统的最优潮流计算方法、装置及存储介质 | |
CN101390024A (zh) | 运转控制方法、运转控制装置和运转控制系统 | |
CN114553718B (zh) | 一种基于自注意力机制的网络流量矩阵预测方法 | |
CN112990488A (zh) | 一种基于机器异构性的联邦学习方法 | |
CN114118634B (zh) | 一种土壤水分预测方法和装置 | |
CN110763245A (zh) | 一种基于流式计算的地图创建方法及其系统 | |
CN110135627B (zh) | 水资源优化方法及装置 | |
CN107944076A (zh) | 一种设备部署方案获取方法及装置 | |
CN114336632A (zh) | 一种基于模型信息辅助深度学习校正交流潮流的方法 | |
CN117634592A (zh) | 一种基于迭代代理的联邦学习加速方法和系统 | |
CN111415261B (zh) | 银行系统的流控阈值动态更新的控制方法、系统和装置 | |
CN112329995A (zh) | 分布式储能集群的优化调度方法、装置和计算机设备 | |
CN116581786A (zh) | 一种分散式电网电压振荡抑制装置投切方法 | |
CN115081619A (zh) | 一种面向异构集群加速分布式训练的方法及系统 | |
CN113922413B (zh) | 基于动态事件触发协议的孤岛微电网分布式二级控制方法 | |
CN109298934A (zh) | 心跳周期调整方法、装置及系统 | |
CN114912627A (zh) | 推荐模型训练方法、系统、计算机设备及存储介质 | |
CN115220340A (zh) | 一种新型事件触发动态补偿器控制协议的设计方法 | |
CN106407001A (zh) | 基于区域匹配算法的图形化编辑系统 | |
CN110674143A (zh) | 一种免耕机作业信息监测系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |