WO2022121026A1 - Collaborative learning method that updates central party, storage medium, terminal and system - Google Patents

Collaborative learning method that updates central party, storage medium, terminal and system Download PDF

Info

Publication number
WO2022121026A1
WO2022121026A1 PCT/CN2020/140757 CN2020140757W WO2022121026A1 WO 2022121026 A1 WO2022121026 A1 WO 2022121026A1 CN 2020140757 W CN2020140757 W CN 2020140757W WO 2022121026 A1 WO2022121026 A1 WO 2022121026A1
Authority
WO
WIPO (PCT)
Prior art keywords
central server
task
model
data provider
cooperative learning
Prior art date
Application number
PCT/CN2020/140757
Other languages
French (fr)
Chinese (zh)
Inventor
戴晶帼
杨旭
陈�光
苏新铎
叶鹏
Original Assignee
广州广电运通金融电子股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 广州广电运通金融电子股份有限公司 filed Critical 广州广电运通金融电子股份有限公司
Publication of WO2022121026A1 publication Critical patent/WO2022121026A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Definitions

  • the invention relates to multi-party data joint processing, in particular to a cooperative learning method, a storage medium, a terminal and a system for dynamically updating a central party.
  • the central server needs to collect a large amount of user data for training the neural network model (referred to as the model), but due to the large network communication overhead of data transmission, user data ownership and user data privacy issues , user data for deep learning is often difficult to obtain.
  • the model the neural network model
  • federated learning which is an emerging machine learning framework, which adopts another way of training machine learning models: in one round of training, each A user uses its private data to train a local model, and then uploads the parameters of the local model to the central server. The central server fuses the parameters of all users to generate the parameters of the global model, and then sends the parameters of the global model to the user. The global model parameters update the local model, and so on for several rounds of training until the global model converges, and the training ends.
  • federated (machine) learning is an emerging distributed machine learning paradigm in which various computing entities (mobile/edge devices, institutions across geographies) are coordinated at a central server (e.g., a service provider) jointly train a machine learning model.
  • Federated learning reduces the privacy risks and data transfer costs of traditional centralized machine learning because the data always resides locally on the computing entity.
  • federated learning has received extensive attention from academia and industry in recent years, and has become a new trend in the development and application of machine learning.
  • federated learning can enable multiple users to jointly train machine learning models and complete specified learning tasks, such as image classification, text prediction, etc., without leaving the user's private training data locally.
  • a model training in federated learning usually includes multiple iteration rounds, and each iteration round includes four steps of model distribution, model calculation, model aggregation and model update (may include entity selection step when the number of computational entities is large) .
  • Model distribution means that the central server distributes the latest model to each participating node; model calculation means that the participating nodes obtain the model update amount or gradient after calculating based on the latest model and local data; model aggregation means that the participating nodes aggregate the calculated model update amount or gradient to Central server; model update means that the central server updates the global model according to the aggregated model update amount or gradient.
  • the model training process repeats the above four steps continuously until the global model converges (that is, the accuracy of the model on the standard test set reaches an ideal value).
  • the model distribution and model aggregation in the above steps generally adopts the Hub-and-spoke mode.
  • the central server acts as the only model distributor and aggregator. Periodically generate a large number of model communications with participating nodes.
  • the central server and each participating node are usually distributed across regions, and the network between them is part of the cross-domain public network, which has the characteristics of limited bandwidth and heterogeneous dynamics. Therefore, the communication overhead caused by frequent and large model communication is the main bottleneck of federated learning training efficiency.
  • the purpose of the present invention is to provide a cooperative learning method, a readable storage medium, a terminal and a system for dynamically updating the center side, which can solve the above problems.
  • a cooperative learning method for dynamically updating the central party includes the following steps:
  • Each data provider in S1 is ready, and the task initiator initiates the task
  • Each data provider of S2 provides the data used in the cooperative learning task, and obtains the currently available data provider through the network connection status;
  • S4 selects the optimal data provider as the central server by comparing the performance of the data provider, and runs the central program;
  • the S5 central server establishes connections with all available data providers, that is, clients.
  • step S6 judges whether the current task is in the initial state of the task, if yes, the cooperative learning task starts, and the flow proceeds to step S7a; if not, it is currently in the cooperative task progressing state, and the flow proceeds to step S7b;
  • the task flow is as follows: 7a1) The central server initializes the model parameters; 7a2) The central server distributes the model to the clients; 7a3) Each client uses its local data for model training; 7a4) Each client will train The completed model is encrypted and sent to the central server, and the model is aggregated in the central server; after the aggregation is completed, the current model information is saved and sent to the public space, the stability of the central server is predicted, and the process goes to step S8;
  • the state task process of the central server includes: 7b1) judging whether the current central server is updated; 7b2) if it is, the central server of the previous round of tasks is abnormal, and the model information is read from the public space on the newly selected optimal central server, Resume the cooperative learning task; if not, the abnormal risk of the central server has been eliminated at this time, and the cooperative learning task continues; 7b3) After one model aggregation is completed, determine whether the cooperative learning task stop condition is met, and if the stop condition is met, enter the process step S9, if the stop condition is not met, predict the stability of the central server, and enter the process step S8;
  • S8 predicts the stability of the central server. If the system is unstable and the central server is abnormal, the current round of tasks is terminated and the process returns to step S2. The central server is re-selected and transferred to S7a; if the system is stable, the cooperative learning task continues, and the process Go to S7b, repeat the above process until the task stop condition is met, and enter flow step S9;
  • the indicators in step S3 include computing power, bandwidth, and memory.
  • a probability graph model is used to analyze the reliability of the central server to predict its stability.
  • the present invention also provides a computer-readable storage medium on which computer instructions are stored, and when the computer instructions are executed, the steps of the aforementioned method are performed.
  • the present invention also provides a terminal, including a memory and a processor, the memory stores a registered picture and a computer instruction that can be run on the processor, and the processor executes the method of the foregoing method when the processor runs the computer instruction. step.
  • the present invention also provides a cooperative learning system based on the dynamic update center.
  • the center server of the system is telecommunicationly connected with each data provider, and the aforementioned steps are executed.
  • the system includes:
  • the data provider determination module determines the available data provider through the network connection status
  • the performance evaluation module evaluates the performance of the data provider through parameters such as computing power, bandwidth, and memory;
  • the optimal module independently selects the optimal data provider in the network as the central server and runs the central program;
  • the central server establishes connections with all available data providers, namely clients;
  • Dynamically update the learning module determine whether to enter the cooperative learning task or the central server update through the initial state, if so, start the cooperative learning task and predict the risk of the central server; Abort until the task ends.
  • this solution provides a method for quickly selecting the optimal data provider in participating in cooperative learning tasks as the central server when the central server is down, which can be quickly connected, so that model training can be performed. Keep running.
  • FIG. 1 is a flow chart of the cooperative learning method of the dynamic update center of the present invention.
  • system means for distinguishing different components, elements, parts, parts or assemblies at different levels.
  • device means for converting signals into signals.
  • unit means for converting signals into signals.
  • module means for converting signals into signals.
  • a large amount of information data is flooded in various industries such as economy, culture, education, medical care, and public management.
  • Data processing and analysis such as data analysis, data mining, and trend forecasting are widely used in more and more scenarios.
  • data cooperation multiple data owners can obtain better data processing results.
  • more accurate model parameters can be obtained through multi-way cooperative learning.
  • the method of dynamically updating the cooperative learning of the central party can be applied to a scenario in which all parties cooperate to train a machine learning model for use by multiple parties under the condition of ensuring data security of all parties.
  • multiple data parties have their own data, and they want to jointly use each other's data for unified modeling (eg, classification models, linear regression models, logistic regression models, etc.), but do not want their own data (especially privacy data) were leaked.
  • Internet savings institution A has a batch of user data
  • bank B has another batch of user data.
  • the training sample set determined based on the user data of A and B can be trained to obtain a machine learning model with better performance.
  • Both A and B are willing to participate in model training through each other's user data, but for some reasons A and B do not want their user data information to be leaked, or at least do not want to let the other party know their user data information.
  • cooperative learning can be performed using a federated learning approach.
  • Federated Learning can carry out efficient machine learning among multiple parties or computing nodes. Federated learning enables multi-party data to perform model training without the local training samples, and only transfers the trained model or calculates the gradient, which protects the privacy of the training samples held by all parties.
  • federated learning is often used in situations where the model is computationally intensive and has many parameters.
  • the pressure of communication transmission is relatively large. Therefore, in the scenario of federated learning, it is often necessary to adopt a certain method to reduce the communication pressure during the transmission process.
  • the cooperative learning task judgment (including model gradient values or model parameters obtained by training) updated by the central server may be used for compression.
  • the training of the client model can be uninterrupted and retraining is not required, thereby reducing the communication pressure.
  • the risk prediction is carried out for the abnormal situation of the central server to ensure the stability of the model.
  • a cooperative learning method for dynamically updating the central party includes the following steps.
  • Each data provider in S1 is ready, and the task initiator initiates the task.
  • Each data provider of S2 provides the data used in the cooperative learning task, and obtains the currently available data provider through the network connection status.
  • S3 evaluates its current performance against available data providers through metrics.
  • S4 selects the optimal data provider as the central server by comparing the performance of the data provider to run the central program.
  • the S5 central server establishes connections with all available data providers, that is, clients.
  • step S6 judges whether the current task is in the task initial state, and if so, the cooperative learning task starts, and the flow goes to step S7a. If not, it is currently in a cooperative task progress state, and the flow proceeds to step S7b.
  • the central server distributes the model to the client.
  • Each client uses its local data for model training.
  • Each client encrypts the trained model and sends it to the central server, where the model is aggregated. After the aggregation is completed, the current model information is saved and sent to the public space, the stability of the central server is predicted, and the process goes to step S8.
  • the status task process of the S7b central server includes:
  • S8 predicts the stability of the central server. If the system is unstable and the central server is abnormal, the current round of tasks is terminated and the process returns to step S2, where the central server is reselected and the process goes to S7a. If the system is stable and the cooperative learning task continues, the flow goes to S7b, the above process is repeated until the task stop condition is satisfied, and the flow goes to step S9.
  • the indicators in step S3 include computing power, bandwidth, and memory.
  • step S7a the standard for model parameter initialization is conventional requirements:
  • Normalized Glorot initialization - glorot_uniform, Glorot uniform initializer also known as Xavier uniform initializer.
  • b Normalized kaiming initialization - he_uniform, He uniform variance scaling initializer.
  • BN is to change the input data distribution into Gaussian distribution, which can ensure that the input of each layer of neural network maintains the same distribution. As the number of network layers increases, the distribution gradually shifts, and the reason for the slow convergence is that the overall distribution approaches the upper and lower limits of the value range of the nonlinear function. This causes the gradient to vanish during backpropagation.
  • BN is to forcibly pull the distribution of the input value of any neuron in each layer of neural network back to a standard normal distribution with a mean of 0 and a variance of 1 by means of normalization, so that the activation input value falls into the more sensitive area of the nonlinear function. It can make the gradient larger, the learning convergence speed is fast, and the convergence speed can be greatly accelerated. Scale and Shift act on ⁇ and ⁇ . ⁇ and ⁇ are learned parameters that make the standard normal distribution taller/fatder and skewed left and right.
  • step S8 the reliability of the central server is analyzed by using a probabilistic graphical model to predict its stability.
  • the probabilistic graphical model is a general term for a class of models that express probabilistic correlations in graphical patterns.
  • the probabilistic graphical model combines the knowledge of probability theory and graph theory, and uses graphs to represent the joint probability distribution of variables related to the model.
  • Common probabilistic graphical models include Bayesian network, Markov network and Hidden Markov network, and any model can be used in this scheme.
  • the present invention also provides a computer-readable storage medium on which computer instructions are stored, and when the computer instructions are executed, the steps of the aforementioned method are performed.
  • a computer-readable storage medium on which computer instructions are stored, and when the computer instructions are executed, the steps of the aforementioned method are performed.
  • Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Flash Memory or other memory technology, Compact Disc Read Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, Magnetic tape cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
  • computer-readable media does not include transitory computer-readable media, such as modulated data signals and carrier waves.
  • the present invention also provides a terminal, including a memory and a processor, the memory stores data provider information and computer instructions that can be executed on the processor, and the processor executes the aforementioned computer instructions when the processor executes the computer instructions. steps of the method. Wherein, for the method, please refer to the detailed introduction in the foregoing part, and details are not repeated here.
  • a cooperative learning system based on a dynamic update center the system is used to make the center server telecommunication connection with each data provider, and the system includes:
  • the data provider determination module determines the available data provider through the network connection status
  • the performance evaluation module evaluates the performance of the data provider through parameters such as computing power, bandwidth, and memory;
  • the optimal module independently selects the optimal data provider in the network as the central server and runs the central program;
  • the central server establishes connections with all available data providers, namely clients.
  • Dynamically update the learning module determine whether to enter the cooperative learning task or the central server update through the initial state, if so, start the cooperative learning task and predict the risk of the central server; Abort until the task ends.
  • the key point of the present invention is the updated cooperative learning task state of the central server.
  • This part mainly runs steps S7a and S7b in the pre-procedure method.
  • the client model training will not be interrupted, and there is no need to restart Training, and can ensure the rapid update of the central server and the rapid recovery after an exception, until the learning task is completed.
  • the systems and modules thereof described in one or more implementations of this specification can be implemented in a variety of ways.
  • the system and its modules may be implemented in hardware, software, or a combination of software and hardware.
  • the hardware part can be realized by using dedicated logic;
  • the software part can be stored in a memory and executed by a suitable instruction execution system, such as a microprocessor or specially designed hardware.
  • a suitable instruction execution system such as a microprocessor or specially designed hardware.
  • the methods and systems described above may be implemented using computer-executable instructions and/or embodied in processor control code, for example on a carrier medium such as a disk, CD or DVD-ROM, such as a read-only memory (firmware) ) or a data carrier such as an optical or electronic signal carrier.
  • the system and its modules of the present application can not only be implemented by hardware circuits such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc. , can also be implemented by, for example, software executed by various types of processors, and can also be implemented by a combination of the above-mentioned hardware circuits and software (eg, firmware).
  • aspects of this application may be illustrated and described in several patentable categories or situations, including any new and useful process, machine, product, or combination of matter, or combinations of them. of any new and useful improvements. Accordingly, various aspects of the present application may be performed entirely in hardware, entirely in software (including firmware, resident software, microcode, etc.), or in a combination of hardware and software.
  • the above hardware or software may be referred to as a "data block”, “module”, “engine”, “unit”, “component” or “system”.
  • aspects of the present application may be embodied as a computer product comprising computer readable program code embodied in one or more computer readable media.
  • a computer storage medium may contain a propagated data signal with the computer program code embodied therein, for example, on baseband or as part of a carrier wave.
  • the propagating signal may take a variety of manifestations, including electromagnetic, optical, etc., or a suitable combination.
  • Computer storage media can be any computer-readable media other than computer-readable storage media that can communicate, propagate, or transmit a program for use by coupling to an instruction execution system, apparatus, or device.
  • Program code on a computer storage medium may be transmitted over any suitable medium, including radio, cable, fiber optic cable, RF, or the like, or a combination of any of the foregoing.
  • the computer program coding required for the operation of the various parts of this application may be written in any one or more programming languages, including object-oriented programming languages such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python etc., conventional procedural programming languages such as C language, VisualBasic, Fortran2003, Perl, COBOL2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages, etc.
  • the program code may run entirely on the user's computer, or as a stand-alone software package on the user's computer, or partly on the user's computer and partly on a remote computer, or entirely on the remote computer or processing device.
  • the remote computer can be connected to the user's computer through any network, such as a local area network (LAN) or wide area network (WAN), or to an external computer (eg, through the Internet), or in a cloud computing environment, or as a service Use eg software as a service (SaaS).
  • LAN local area network
  • WAN wide area network
  • SaaS software as a service
  • the embodiments of the present application may be provided as methods, apparatuses, systems or computer program products. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
  • computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.

Abstract

A collaborative learning method that dynamically updates a central party, a storage medium, a terminal and a system. The system comprises a data provider determination module, a performance evaluation module, a preference module which, according to a performance evaluation, independently selects the best data provider in a network to act as a central server and run a central program; a communication transmission module; and a dynamic updating learning module which, according to an initial status, determines whether to access a collaborative learning task or update the central server; if yes, the collaborative learning task is started and the risk for the central server is predicted; if not, the the central server is accessed for updating, and it is determined whether the collaborative learning task is continued, recovered or stopped until the task ends. Compared to the prior art, the present solution provides a method in which when a central server crashes, an optimal data provider is rapidly selected from among participating training tasks as the central server, which allows for rapid linking so that the collaborative learning can operate continuously.

Description

更新中心方的合作式学习方法、存储介质、终端和系统Update the cooperative learning method, storage medium, terminal and system of the central side 技术领域technical field
本发明涉及多方数据联合处理,具体涉及一种动态更新中心方的合作式学习方法、存储介质、终端和系统。The invention relates to multi-party data joint processing, in particular to a cooperative learning method, a storage medium, a terminal and a system for dynamically updating a central party.
背景技术Background technique
在传统的集中式深度学习中,中心服务器需要收集大量的用户数据用于训练神经网络模型(简称模型),但是由于数据传输的网络通信开销较大、用户数据归属权以及用户数据隐私性等问题,用于进行深度学习的用户数据往往难以获取。In traditional centralized deep learning, the central server needs to collect a large amount of user data for training the neural network model (referred to as the model), but due to the large network communication overhead of data transmission, user data ownership and user data privacy issues , user data for deep learning is often difficult to obtain.
现有技术中也出现了一些解决上述问题的解决方式,如联邦学习,联邦学习是一种新兴的机器学习框架,其采取了另一种训练机器学习模型的方式:在一轮训练中,每一个用户利用其私有数据训练本地模型,然后将本地模型的参数上传至中心服务器,由中心服务器将所有用户的参数进行融合生成全局模型的参数,再将全局模型的参数下发至用户,用户根据全局模型参数对本地模型进行更新,如此循环若干轮训练直至全局模型收敛,训练结束。There are also some solutions to the above problems in the prior art, such as federated learning, which is an emerging machine learning framework, which adopts another way of training machine learning models: in one round of training, each A user uses its private data to train a local model, and then uploads the parameters of the local model to the central server. The central server fuses the parameters of all users to generate the parameters of the global model, and then sends the parameters of the global model to the user. The global model parameters update the local model, and so on for several rounds of training until the global model converges, and the training ends.
综上,联邦(机器)学习作为一种新兴的分布式机器学习范式,在该范式下,各个计算实体(移动/边缘设备、跨地域的机构)在中心服务器(例如,服务提供商)的协调下共同训练一个机器学习模型。由于数据始终驻留在计算实体本地,联邦学习降低了传统集中式机器学习的隐私风险和数据转移成本。作为一种新型的人工智能基础技术,联邦学习近几年已经得到学术界和工业界的广泛关注,成为机器学习发展和应用的新趋势。To sum up, federated (machine) learning is an emerging distributed machine learning paradigm in which various computing entities (mobile/edge devices, institutions across geographies) are coordinated at a central server (e.g., a service provider) jointly train a machine learning model. Federated learning reduces the privacy risks and data transfer costs of traditional centralized machine learning because the data always resides locally on the computing entity. As a new type of artificial intelligence basic technology, federated learning has received extensive attention from academia and industry in recent years, and has become a new trend in the development and application of machine learning.
基于这种技术,联邦学习能够在用户的私有训练数据不离开本地的前提下实现多个用户共同进行机器学习模型训练,完成指定的学习任务,如:图像分类、文本预测等,解决了传统的集中式机器学习中用户数据难以获取的问题。Based on this technology, federated learning can enable multiple users to jointly train machine learning models and complete specified learning tasks, such as image classification, text prediction, etc., without leaving the user's private training data locally. The problem of difficult access to user data in centralized machine learning.
但是,在联邦学习中也存在着一些安全隐患。一旦中心服务器宕机,则需要重头再来,进行各方训练,再集合数据至新的中心服务器,这样,成本高,时间长。具体的,联邦学习中一次模型训练通常包含多个迭代轮次,每一个迭代轮次包含模型分发、模型计算、模型聚合和模型更新四个步骤(当计算实体数量大时可能包含实体选择步骤)。模型分发指中心服务器将最新模型分发给各个参与节点;模型计算指参与节点依据最新模型和本地数据计算后获得模型更新量或梯度;模型聚合指参与节点将计算后的模型更新量或梯度汇聚到中心服务器;模型更新指中心服务器依据聚合后的模型更新量或梯度更新全局模型。模型训练过程不断重复以上四个步骤,直至全局模型收敛(即该模型在标准测试集的精度达到理想值)。在已有联邦学习框架(例如TensorFlow Federated、FATE)中,上述步骤中的模型分发与模型聚合普遍采用Hub-and-spoke模式,在该模式下,中心服务器作为唯一的模型分发者和聚合者,与参与节点间周期性的产生大量的模型通信。在实际的部署环境中,中心服务器和各个参与节点通常是跨地域分布的,它们之间的网络是跨域公共网络的一部分,具有带宽受限、异构动态等特点。因而,频繁且大量的模型通信产生的通信开销是联邦学习训练效率的主要瓶颈。However, there are also some security risks in federated learning. Once the central server goes down, it is necessary to start all over again, conduct training for all parties, and then collect data to the new central server, which is costly and time-consuming. Specifically, a model training in federated learning usually includes multiple iteration rounds, and each iteration round includes four steps of model distribution, model calculation, model aggregation and model update (may include entity selection step when the number of computational entities is large) . Model distribution means that the central server distributes the latest model to each participating node; model calculation means that the participating nodes obtain the model update amount or gradient after calculating based on the latest model and local data; model aggregation means that the participating nodes aggregate the calculated model update amount or gradient to Central server; model update means that the central server updates the global model according to the aggregated model update amount or gradient. The model training process repeats the above four steps continuously until the global model converges (that is, the accuracy of the model on the standard test set reaches an ideal value). In the existing federated learning frameworks (such as TensorFlow Federated, FATE), the model distribution and model aggregation in the above steps generally adopts the Hub-and-spoke mode. In this mode, the central server acts as the only model distributor and aggregator. Periodically generate a large number of model communications with participating nodes. In the actual deployment environment, the central server and each participating node are usually distributed across regions, and the network between them is part of the cross-domain public network, which has the characteristics of limited bandwidth and heterogeneous dynamics. Therefore, the communication overhead caused by frequent and large model communication is the main bottleneck of federated learning training efficiency.
由此可见,一般是从通信高效的算法层面研究压缩方法来降低模型通信的数据量,但是这些方法可能会导致模型质量降低。而对于中心服务, 宕机情况下难于快速选取参与合作式学习任务中的最优数据提供方,不能快速衔接,导致合作式学习的模型聚合无法继续运行,这是目前急需解决的问题。It can be seen that compression methods are generally studied from the level of efficient communication algorithms to reduce the amount of data in model communication, but these methods may reduce the quality of the model. As for the central service, it is difficult to quickly select the optimal data provider to participate in the cooperative learning task in the case of downtime, and it cannot be quickly connected, so that the model aggregation of cooperative learning cannot continue to run, which is an urgent problem to be solved at present.
发明内容SUMMARY OF THE INVENTION
为了克服现有技术的不足,本发明的目的在于提供一种动态更新中心方的合作式学习方法、可读存储介质、终端和系统,其能解决上述问题。In order to overcome the deficiencies of the prior art, the purpose of the present invention is to provide a cooperative learning method, a readable storage medium, a terminal and a system for dynamically updating the center side, which can solve the above problems.
一种动态更新中心方的合作式学习方法,方法包括以下步骤:A cooperative learning method for dynamically updating the central party, the method includes the following steps:
S1各数据提供方准备就绪,任务发起方发起任务;Each data provider in S1 is ready, and the task initiator initiates the task;
S2各数据提供方提供合作式学习任务中使用的数据,通过网络连接状态获得当前可用的数据提供方;Each data provider of S2 provides the data used in the cooperative learning task, and obtains the currently available data provider through the network connection status;
S3对可用的数据提供方通过指标评估其当前性能;S3 evaluates the current performance of available data providers through metrics;
S4通过比较数据提供方的性能选择最优数据提供方作为中心服务器,运行中心程序;S4 selects the optimal data provider as the central server by comparing the performance of the data provider, and runs the central program;
S5中心服务器与所有可用数据提供方、即客户端建立连接。The S5 central server establishes connections with all available data providers, that is, clients.
S6判断当前任务是否处于任务初始状态,若是,合作式学习任务开始,流程转入步骤S7a;若否,则当前处于合作式任务进行状态,流程转入步骤S7b;S6 judges whether the current task is in the initial state of the task, if yes, the cooperative learning task starts, and the flow proceeds to step S7a; if not, it is currently in the cooperative task progressing state, and the flow proceeds to step S7b;
S7a合作式学习任务开始后,任务流程如下:7a1)中心服务器初始化模型参数;7a2)中心服务器向客户端分发模型;7a3)各客户端使用其本地数据进行模型训练;7a4)各客户端将训练完成的模型加密发送给中心服务器,在中心服务器进行模型聚合;聚合完成后保存本次模型信息并发送至公共空间,对中心服务器的稳定性进行预测并进入流程步骤S8;S7a After the cooperative learning task starts, the task flow is as follows: 7a1) The central server initializes the model parameters; 7a2) The central server distributes the model to the clients; 7a3) Each client uses its local data for model training; 7a4) Each client will train The completed model is encrypted and sent to the central server, and the model is aggregated in the central server; after the aggregation is completed, the current model information is saved and sent to the public space, the stability of the central server is predicted, and the process goes to step S8;
S7b中心服务器进行状态任务流程包括:7b1)判断当前中心服务器是否进行更新;7b2)若是,前一轮任务的中心服务器发生异常,在新选择的最优中心服务器上从公共空间读取模型信息,恢复合作式学习任务;若否,此时中心服务器异常风险已被排除,合作式学习任务继续;7b3)一次模型聚合完成后判断是否满足合作式学习任务停止条件,若满足停止条件,进入流程步骤S9,若不满足停止条件,对中心服务器的稳定性进行预测,进入流程步骤S8;S7b the state task process of the central server includes: 7b1) judging whether the current central server is updated; 7b2) if it is, the central server of the previous round of tasks is abnormal, and the model information is read from the public space on the newly selected optimal central server, Resume the cooperative learning task; if not, the abnormal risk of the central server has been eliminated at this time, and the cooperative learning task continues; 7b3) After one model aggregation is completed, determine whether the cooperative learning task stop condition is met, and if the stop condition is met, enter the process step S9, if the stop condition is not met, predict the stability of the central server, and enter the process step S8;
S8对中心服务器的稳定性进行预测,若系统不稳定,中心服务器异常,中止本轮任务并回到流程步骤S2,重新选择中心服务器并转入S7a;若系统稳定,合作式学习任务继续,流程转入S7b,重复上述过程直至满足任务停止条件,进入流程步骤S9;S8 predicts the stability of the central server. If the system is unstable and the central server is abnormal, the current round of tasks is terminated and the process returns to step S2. The central server is re-selected and transferred to S7a; if the system is stable, the cooperative learning task continues, and the process Go to S7b, repeat the above process until the task stop condition is met, and enter flow step S9;
S9满足任务停止条件,任务结束。S9 satisfies the task stop condition, and the task ends.
优选的,步骤S3中的指标包括算力、带宽、内存。Preferably, the indicators in step S3 include computing power, bandwidth, and memory.
优选的,在步骤S8中,使用概率图模型对中心服务器可靠性分析以实现对其稳定性预测。Preferably, in step S8, a probability graph model is used to analyze the reliability of the central server to predict its stability.
本发明还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行前述方法的步骤。The present invention also provides a computer-readable storage medium on which computer instructions are stored, and when the computer instructions are executed, the steps of the aforementioned method are performed.
本发明还提供了一种终端,包括存储器和处理器,所述存储器上储存有注册图片和能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行前述方法的步骤。The present invention also provides a terminal, including a memory and a processor, the memory stores a registered picture and a computer instruction that can be run on the processor, and the processor executes the method of the foregoing method when the processor runs the computer instruction. step.
本发明还提供了一种基于动态更新中心方的合作式学习系统,系统的中心服务器与各数据提供方电讯连接,并运行前述的步骤,系统包括:The present invention also provides a cooperative learning system based on the dynamic update center. The center server of the system is telecommunicationly connected with each data provider, and the aforementioned steps are executed. The system includes:
数据提供方确定模块,通过网络连接状态确定可用数据提供方;The data provider determination module determines the available data provider through the network connection status;
性能评估模块,通过算力、带宽、内存等参数评估数据提供方的性能;The performance evaluation module evaluates the performance of the data provider through parameters such as computing power, bandwidth, and memory;
优选模块,根据评估性能自主选择网路中最优数据提供方作为中心服务器并运行中心程序;The optimal module, according to the evaluation performance, independently selects the optimal data provider in the network as the central server and runs the central program;
通信传输模块,中心服务器与所有可用数据提供方、即客户端建立连接;Communication transmission module, the central server establishes connections with all available data providers, namely clients;
动态更新学习模块,通过初始状态判断进入合作式学习任务还是中心服务器更新,若是,开始合作式学习任务并预测中心服务器风险;若否,则进入中心服务器更新,判断合作式学习任务继续、恢复或中止,直至任务结束。Dynamically update the learning module, determine whether to enter the cooperative learning task or the central server update through the initial state, if so, start the cooperative learning task and predict the risk of the central server; Abort until the task ends.
相比现有技术,本发明的有益效果在于:本方案提供了中心服务器宕机情况下快速选取参与合作式学习任务中最优数据提供方为中心服务器的方法,能快速衔接,以便模型训练可以继续运行。Compared with the prior art, the beneficial effect of the present invention is that: this solution provides a method for quickly selecting the optimal data provider in participating in cooperative learning tasks as the central server when the central server is down, which can be quickly connected, so that model training can be performed. Keep running.
附图说明Description of drawings
图1为本发明动态更新中心方的合作式学习方法流程图。FIG. 1 is a flow chart of the cooperative learning method of the dynamic update center of the present invention.
具体实施方式Detailed ways
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。In order to make the purposes, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments These are some embodiments of the present invention, but not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the protection scope of the present invention.
应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。It should be understood that "system", "device", "unit" and/or "module" as used in this specification is a method used to distinguish different components, elements, parts, parts or assemblies at different levels. However, other words may be replaced by other expressions if they serve the same purpose.
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。As shown in the specification and claims, unless the context clearly dictates otherwise, the words "a", "an", "an" and/or "the" are not intended to be specific in the singular and may include the plural. Generally speaking, the terms "comprising" and "comprising" only imply that the clearly identified steps and elements are included, and these steps and elements do not constitute an exclusive list, and the method or apparatus may also include other steps or elements.
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。Flowcharts are used in this specification to illustrate operations performed by a system according to an embodiment of this specification. It should be understood that the preceding or following operations are not necessarily performed in the exact order. Instead, the various steps can be processed in reverse order or simultaneously. At the same time, other actions can be added to these procedures, or a step or steps can be removed from these procedures.
在经济、文化、教育、医疗、公共管理等各行各业充斥的大量信息数据,对其进行例如数据分析、数据挖掘、以及趋势预测等的数据处理分析在越来越多场景中得到广泛应用。其中,通过数据合作的方式可以使多个数据拥有方获得更好的数据处理结果。例如,可以通过多方合作式学习来获得更为准确的模型参数。A large amount of information data is flooded in various industries such as economy, culture, education, medical care, and public management. Data processing and analysis such as data analysis, data mining, and trend forecasting are widely used in more and more scenarios. Among them, through data cooperation, multiple data owners can obtain better data processing results. For example, more accurate model parameters can be obtained through multi-way cooperative learning.
在一些实施例中,动态更新中心方的合作式学习的方法可以应用于在保证各方数据安全的情况下,各方协同训练机器学习模型供多方使用的场景。在这个场景中,多个数据方拥有自己的数据,他们想共同使用彼此的数据来统一建模(例如,分类模型、线性回归模型、逻辑回归模型等),但并不想各自的数据(尤其是隐私数据)被泄露。例如,互联网储蓄机构 A拥有一批用户数据,银行B拥有另一批用户数据,基于A和B的用户数据确定的训练样本集可以训练得到性能更好的机器学习模型。A和B都愿意通过彼此的用户数据共同参与模型训练,但因为一些原因A和B不愿意自己的用户数据信息遭到泄露,或者至少不愿意让对方知道自己的用户数据信息。In some embodiments, the method of dynamically updating the cooperative learning of the central party can be applied to a scenario in which all parties cooperate to train a machine learning model for use by multiple parties under the condition of ensuring data security of all parties. In this scenario, multiple data parties have their own data, and they want to jointly use each other's data for unified modeling (eg, classification models, linear regression models, logistic regression models, etc.), but do not want their own data (especially privacy data) were leaked. For example, Internet savings institution A has a batch of user data, and bank B has another batch of user data. The training sample set determined based on the user data of A and B can be trained to obtain a machine learning model with better performance. Both A and B are willing to participate in model training through each other's user data, but for some reasons A and B do not want their user data information to be leaked, or at least do not want to let the other party know their user data information.
在一些实施例中,可以采用联邦学习的方法进行合作式学习。联邦学习(Federated Learning)可以在多参与方或多计算节点之间开展高效率的机器学习。联邦学习可以使得多方数据在训练样本不出本地的情况下进行模型训练,只传递训练好的模型或者是计算梯度,这使得各方持有的训练样本的隐私性得到了保护。In some embodiments, cooperative learning can be performed using a federated learning approach. Federated Learning can carry out efficient machine learning among multiple parties or computing nodes. Federated learning enables multi-party data to perform model training without the local training samples, and only transfers the trained model or calculates the gradient, which protects the privacy of the training samples held by all parties.
在一些实施例中,联邦学习常应用于模型计算量大、参数多的情况。在该场景的实施例中,由于联邦学习过程中数据传输量大,因而通讯传输的压力较大。因此,在采用联邦学习的场景中,往往需要采用一定的方法降低传输过程中的通讯压力。In some embodiments, federated learning is often used in situations where the model is computationally intensive and has many parameters. In the embodiment of this scenario, due to the large amount of data transmission in the federated learning process, the pressure of communication transmission is relatively large. Therefore, in the scenario of federated learning, it is often necessary to adopt a certain method to reduce the communication pressure during the transmission process.
在本说明书的一些实施例中,模型进行每一次迭代更新的过程中,可以采用中心服务器更新的合作式学习任务判断(包括训练得到的模型梯度值或模型参数)进行压缩。具体地,通过更新后的任务恢复及继续,可以使得客户端模型训练不中断,无需重新训练,从而降低通讯压力。同时,对中心服务器出现异常的情况进行风险预测,保证了模型的稳定性。In some embodiments of this specification, during each iterative update of the model, the cooperative learning task judgment (including model gradient values or model parameters obtained by training) updated by the central server may be used for compression. Specifically, by restoring and continuing the updated task, the training of the client model can be uninterrupted and retraining is not required, thereby reducing the communication pressure. At the same time, the risk prediction is carried out for the abnormal situation of the central server to ensure the stability of the model.
第一实施例first embodiment
一种动态更新中心方的合作式学习方法,方法包括以下步骤。A cooperative learning method for dynamically updating the central party, the method includes the following steps.
S1各数据提供方准备就绪,任务发起方发起任务。Each data provider in S1 is ready, and the task initiator initiates the task.
S2各数据提供方提供合作式学习任务中使用的数据,通过网络连接状态获得当前可用的数据提供方。Each data provider of S2 provides the data used in the cooperative learning task, and obtains the currently available data provider through the network connection status.
S3对可用的数据提供方通过指标评估其当前性能。S3 evaluates its current performance against available data providers through metrics.
S4通过比较数据提供方的性能选择最优数据提供方作为中心服务器,运行中心程序。S4 selects the optimal data provider as the central server by comparing the performance of the data provider to run the central program.
S5中心服务器与所有可用数据提供方、即客户端建立连接。The S5 central server establishes connections with all available data providers, that is, clients.
S6判断当前任务是否处于任务初始状态,若是,合作式学习任务开始,流程转入步骤S7a。若否,则当前处于合作式任务进行状态,流程转入步骤S7b。S6 judges whether the current task is in the task initial state, and if so, the cooperative learning task starts, and the flow goes to step S7a. If not, it is currently in a cooperative task progress state, and the flow proceeds to step S7b.
S7a合作式学习任务开始后,任务流程如下:After the S7a cooperative learning task starts, the task flow is as follows:
7a1)中心服务器初始化模型参数。例如:在使用网络net数据前,中心服务器需要初始化模型参数,如线性回归模型中的权重和偏差。从MXNet导入init模块。该模块提供了模型参数初始化的各种方法。这里的init是initializer的缩写形式。通过init.Normal(sigma=0.01)指定权重参数每个元素将在初始化时随机采样于均值为0、标准差为0.01的正态分布。偏差参数默认会初始化为零。7a1) The central server initializes model parameters. For example, before using the network data, the central server needs to initialize the model parameters, such as the weights and biases in the linear regression model. Import the init module from MXNet. This module provides various methods for initializing model parameters. Here init is the abbreviated form of initializer. Specify the weight parameter by init.Normal(sigma=0.01) Each element will be randomly sampled from a normal distribution with mean 0 and standard deviation 0.01 during initialization. The bias parameter is initialized to zero by default.
7a2)中心服务器向客户端分发模型。7a2) The central server distributes the model to the client.
7a3)各客户端使用其本地数据进行模型训练。7a3) Each client uses its local data for model training.
7a4)各客户端将训练完成的模型加密发送给中心服务器,在中心服务器进行模型聚合。聚合完成后保存本次模型信息并发送至公共空间,对中心服务器的稳定性进行预测并进入流程步骤S8。7a4) Each client encrypts the trained model and sends it to the central server, where the model is aggregated. After the aggregation is completed, the current model information is saved and sent to the public space, the stability of the central server is predicted, and the process goes to step S8.
S7b中心服务器进行状态任务流程包括:The status task process of the S7b central server includes:
7b1)判断当前中心服务器是否进行更新。7b1) Determine whether the current central server is updated.
7b2)若是,前一轮任务的中心服务器发生异常,在新选择的最优中心服务器上从公共空间读取模型信息,恢复合作式学习任务。若否,此时中心服务器异常风险已被排除,合作式学习任务继续。7b2) If the central server of the previous round of tasks is abnormal, the model information is read from the public space on the newly selected optimal central server, and the cooperative learning task is resumed. If not, the abnormal risk of the central server has been eliminated at this time, and the cooperative learning task continues.
7b3)一次模型聚合完成后判断是否满足合作式学习任务停止条件,若满足停止条件,进入流程步骤S9,若不满足停止条件,对中心服务器的稳定性进行预测,进入流程步骤S8。7b3) After one model aggregation is completed, judge whether the cooperative learning task stop condition is met. If the stop condition is met, go to process step S9, if the stop condition is not met, predict the stability of the central server and go to process step S8.
S8对中心服务器的稳定性进行预测,若系统不稳定,中心服务器异常,中止本轮任务并回到流程步骤S2,重新选择中心服务器并转入S7a。若系统稳定,合作式学习任务继续,流程转入S7b,重复上述过程直至满足任务停止条件,进入流程步骤S9。S8 predicts the stability of the central server. If the system is unstable and the central server is abnormal, the current round of tasks is terminated and the process returns to step S2, where the central server is reselected and the process goes to S7a. If the system is stable and the cooperative learning task continues, the flow goes to S7b, the above process is repeated until the task stop condition is satisfied, and the flow goes to step S9.
S9满足任务停止条件,任务结束。S9 satisfies the task stop condition, and the task ends.
其中,步骤S3中的指标包括算力、带宽、内存。The indicators in step S3 include computing power, bandwidth, and memory.
进一步的,在步骤S7a中,模型参数初始化采用标准为常规要求:Further, in step S7a, the standard for model parameter initialization is conventional requirements:
(1)参数不能全部初始化为0,也不能全部初始化同一个值;(1) The parameters cannot all be initialized to 0, nor can they all be initialized to the same value;
(2)最好保证参数初始化的均值为0,正负交错,正负参数大致上数量相等。(2) It is best to ensure that the mean value of parameter initialization is 0, the positive and negative parameters are interleaved, and the positive and negative parameters are roughly equal in number.
常见的几种初始化方法是按照“正态分布随机初始化——对应为normal”和按照“均匀分布随机初始化——对应为uniform”,不再赘述,此外还有如:Several common initialization methods are "random initialization according to normal distribution - corresponding to normal" and "random initialization according to uniform distribution - corresponding to uniform", which will not be repeated, in addition to:
①正态化的Glorot初始化——glorot_normal,其采用Glorot正态分布初始化器,也称为Xavier正态分布初始化器。它从以0为中心, 标准差为stddev=sqrt(2/(fan_in+fan_out))的截断正态分布中抽取样本,其中fan_in是权值张量中的输入单位的数量,fan_out是权值张量中的输出单位的数量。标准化的Glorot初始化——glorot_uniform,Glorot均匀分布初始化器,也称为Xavier均匀分布初始化器。它从[-limit,limit]中的均匀分布中抽取样本,其中limit是sqrt(6/(fan_in+fan_out)),fan_in是权值张量中的输入单位的数量,fan_out是权值张量中的输出单位的数量。①Normalized Glorot initialization - glorot_normal, which uses the Glorot normal distribution initializer, also known as the Xavier normal distribution initializer. It draws samples from a truncated normal distribution centered at 0 and with standard deviation stddev=sqrt(2/(fan_in+fan_out)), where fan_in is the number of input units in the weight tensor and fan_out is the output in the weight tensor the number of units. Normalized Glorot initialization - glorot_uniform, Glorot uniform initializer, also known as Xavier uniform initializer. It draws samples from a uniform distribution in [-limit, limit], where limit is sqrt(6/(fan_in+fan_out)), fan_in is the number of input units in the weights tensor, and fan_out is the number of output units in the weights tensor quantity.
②Kaiming初始化,也称之为he初始化,也称之为msra初始化:a正态化的kaiming初始化——he_normal He正态分布初始化器。它从以0为中心,标准差为stddev=sqrt(2/fan_in)的截断正态分布中抽取样本,其中fan_in是权值张量中的输入单位的数量,在keras中的实现为keras.initializers.he_normal(seed=None)。b标准化化的kaiming初始化——he_uniform,He均匀方差缩放初始化器。它从[-limit,limit]中的均匀分布中抽取样本,其中limit是sqrt(6/fan_in),其中fan_in是权值张量中的输入单位的数量。keras.initializers.he_uniform(seed=None)。② Kaiming initialization, also known as he initialization, also known as msra initialization: a normalized kaiming initialization - he_normal He normal distribution initializer. It draws samples from a truncated normal distribution centered at 0 and standard deviation stddev=sqrt(2/fan_in), where fan_in is the number of input units in the weight tensor, implemented in keras as keras.initializers.he_normal (seed=None). b Normalized kaiming initialization - he_uniform, He uniform variance scaling initializer. It draws samples from a uniform distribution in [-limit, limit], where limit is sqrt(6/fan_in), where fan_in is the number of input units in the weights tensor. keras.initializers.he_uniform(seed=None).
③lecun初始化,a标准化的kaiming初始化——lecun_uniform,LeCun均匀初始化器keras.initializers.lecun_uniform(seed=None)。它从[-limit,limit]中的均匀分布中抽取样本,其中limit是sqrt(3/fan_in),fan_in是权值张量中的输入单位的数量。b正态化的kaiming初始化——lecun_normal,LeCun正态分布初始化器keras.initializers.lecun_normal(seed=None)。它从以0为中心,标准差为stddev=sqrt(1/fan_in)的截断正态分布中抽取样本,其中 fan_in是权值张量中的输入单位的数量。③lecun initialization, a standardized kaiming initialization - lecun_uniform, LeCun uniform initializer keras.initializers.lecun_uniform (seed=None). It draws samples from a uniform distribution in [-limit, limit], where limit is sqrt(3/fan_in) and fan_in is the number of input units in the weights tensor. b Normalized kaiming initialization -- lecun_normal, LeCun normal distribution initializer keras.initializers.lecun_normal(seed=None). It draws samples from a truncated normal distribution centered at 0 with standard deviation stddev=sqrt(1/fan_in), where fan_in is the number of input units in the weight tensor.
④Batch Normalization,BN是将输入的数据分布变成高斯分布,这样可以保证每一层神经网络的输入保持相同分布。随着网络层数的增加,分布逐渐发生偏移,之所以收敛慢,是因为整体分布往非线性函数取值区间的上下限靠近。这会导致反向传播时梯度消失。BN就是通过规范化的手段,把每层神经网络任意神经元这个输入值的分布强行拉回到均值0方差1的标准正态分布,使得激活输入值落入非线性函数中比较敏感的区域。可以让梯度变大,学习收敛速度快,能大大加快收敛速度。Scale and Shift作用γ和β。γ和β是学习到的参数,他们可以让标准正态分布变得更高/更胖和向左右偏移。④Batch Normalization, BN is to change the input data distribution into Gaussian distribution, which can ensure that the input of each layer of neural network maintains the same distribution. As the number of network layers increases, the distribution gradually shifts, and the reason for the slow convergence is that the overall distribution approaches the upper and lower limits of the value range of the nonlinear function. This causes the gradient to vanish during backpropagation. BN is to forcibly pull the distribution of the input value of any neuron in each layer of neural network back to a standard normal distribution with a mean of 0 and a variance of 1 by means of normalization, so that the activation input value falls into the more sensitive area of the nonlinear function. It can make the gradient larger, the learning convergence speed is fast, and the convergence speed can be greatly accelerated. Scale and Shift act on γ and β. γ and β are learned parameters that make the standard normal distribution taller/fatder and skewed left and right.
在步骤S8中,使用概率图模型对中心服务器可靠性分析以实现对其稳定性预测。其中,概率图模型是一类用图形模式表达基于概率相关关系的模型的总称。概率图模型结合概率论与图论的知识,利用图来表示与模型有关的变量的联合概率分布。常见的概率图模型包括贝叶斯网络、马尔可夫网络和隐马尔可夫网络,本方案可以采用任一模型即可。In step S8, the reliability of the central server is analyzed by using a probabilistic graphical model to predict its stability. Among them, the probabilistic graphical model is a general term for a class of models that express probabilistic correlations in graphical patterns. The probabilistic graphical model combines the knowledge of probability theory and graph theory, and uses graphs to represent the joint probability distribution of variables related to the model. Common probabilistic graphical models include Bayesian network, Markov network and Hidden Markov network, and any model can be used in this scheme.
第二实施例Second Embodiment
本发明还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行前述方法的步骤。其中,所述方法请参见前述部分的详细介绍,此处不再赘述。The present invention also provides a computer-readable storage medium on which computer instructions are stored, and when the computer instructions are executed, the steps of the aforementioned method are performed. Wherein, for the method, please refer to the detailed introduction in the foregoing part, and details are not repeated here.
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,计算机可读介质包括永久性和非永久性、可移动和非 可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。Those of ordinary skill in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing relevant hardware through a program, and the program can be stored in a computer-readable storage medium, and the computer-readable medium includes a permanent Persistent and non-permanent, removable and non-removable media can be implemented by any method or technology for information storage. Information may be computer readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Flash Memory or other memory technology, Compact Disc Read Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, Magnetic tape cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media, such as modulated data signals and carrier waves.
第三实施例Third Embodiment
本发明还提供了一种终端,包括存储器和处理器,所述存储器上储存有数据提供方信息和能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行前述方法的步骤。其中,所述方法请参见前述部分的详细介绍,此处不再赘述。The present invention also provides a terminal, including a memory and a processor, the memory stores data provider information and computer instructions that can be executed on the processor, and the processor executes the aforementioned computer instructions when the processor executes the computer instructions. steps of the method. Wherein, for the method, please refer to the detailed introduction in the foregoing part, and details are not repeated here.
第四实施例Fourth Embodiment
一种基于动态更新中心方的合作式学习系统,所述系统用于使得中心服务器与各数据提供方电讯连接,系统包括:A cooperative learning system based on a dynamic update center, the system is used to make the center server telecommunication connection with each data provider, and the system includes:
数据提供方确定模块,通过网络连接状态确定可用数据提供方;The data provider determination module determines the available data provider through the network connection status;
性能评估模块,通过算力、带宽、内存等参数评估数据提供方的性能;The performance evaluation module evaluates the performance of the data provider through parameters such as computing power, bandwidth, and memory;
优选模块,根据评估性能自主选择网路中最优数据提供方作为中心服务器并运行中心程序;The optimal module, according to the evaluation performance, independently selects the optimal data provider in the network as the central server and runs the central program;
通信传输模块,中心服务器与所有可用数据提供方、即客户端建立连接。Communication transmission module, the central server establishes connections with all available data providers, namely clients.
动态更新学习模块,通过初始状态判断进入合作式学习任务还是中心服务器更新,若是,开始合作式学习任务并预测中心服务器风险;若否,则进入中心服务器更新,判断合作式学习任务继续、恢复或中止,直至任务结束。Dynamically update the learning module, determine whether to enter the cooperative learning task or the central server update through the initial state, if so, start the cooperative learning task and predict the risk of the central server; Abort until the task ends.
本发明的重点即中心服务器更新后的合作式学习任务状态,该部分主要运行前序方法中的步骤S7a及步骤S7b,系统在执行上述方法的过程中,客户端模型训练不会中断,无需重新训练,且能保证中心服务器的快速更新及异常后的快速恢复,直至完成学习任务。The key point of the present invention is the updated cooperative learning task state of the central server. This part mainly runs steps S7a and S7b in the pre-procedure method. During the process of the system executing the above method, the client model training will not be interrupted, and there is no need to restart Training, and can ensure the rapid update of the central server and the rapid recovery after an exception, until the learning task is completed.
当理解,本说明书一个或多个实施中的所述系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本申请的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。It is to be understood that the systems and modules thereof described in one or more implementations of this specification can be implemented in a variety of ways. For example, in some embodiments, the system and its modules may be implemented in hardware, software, or a combination of software and hardware. Wherein, the hardware part can be realized by using dedicated logic; the software part can be stored in a memory and executed by a suitable instruction execution system, such as a microprocessor or specially designed hardware. Those skilled in the art will appreciate that the methods and systems described above may be implemented using computer-executable instructions and/or embodied in processor control code, for example on a carrier medium such as a disk, CD or DVD-ROM, such as a read-only memory (firmware) ) or a data carrier such as an optical or electronic signal carrier. The system and its modules of the present application can not only be implemented by hardware circuits such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc. , can also be implemented by, for example, software executed by various types of processors, and can also be implemented by a combination of the above-mentioned hardware circuits and software (eg, firmware).
需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。It should be noted that different embodiments may have different beneficial effects, and in different embodiments, the possible beneficial effects may be any one or a combination of the above, or any other possible beneficial effects.
需要注意的是,以上对于处理设备及其模块的描述,仅为描述方便,并不能把本申请限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。It should be noted that the above description of the processing device and its modules is only for convenience of description, and does not limit the present application to the scope of the illustrated embodiments. It can be understood that for those skilled in the art, after understanding the principle of the system, various modules may be combined arbitrarily, or a subsystem may be formed to connect with other modules without departing from the principle.
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。The basic concept has been described above. Obviously, for those skilled in the art, the above detailed disclosure is only an example, and does not constitute a limitation to the present application. Although not explicitly described herein, various modifications, improvements, and corrections to this application may occur to those skilled in the art. Such modifications, improvements, and corrections are suggested in this application, so such modifications, improvements, and corrections still fall within the spirit and scope of the exemplary embodiments of this application.
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。Meanwhile, the present application uses specific words to describe the embodiments of the present application. Such as "one embodiment," "an embodiment," and/or "some embodiments" means a certain feature, structure, or characteristic associated with at least one embodiment of the present application. Therefore, it should be emphasized and noted that two or more references to "an embodiment" or "one embodiment" or "an alternative embodiment" in various places in this specification are not necessarily referring to the same embodiment . Furthermore, certain features, structures or characteristics of the one or more embodiments of the present application may be combined as appropriate.
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻 软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。Furthermore, those skilled in the art will appreciate that aspects of this application may be illustrated and described in several patentable categories or situations, including any new and useful process, machine, product, or combination of matter, or combinations of them. of any new and useful improvements. Accordingly, various aspects of the present application may be performed entirely in hardware, entirely in software (including firmware, resident software, microcode, etc.), or in a combination of hardware and software. The above hardware or software may be referred to as a "data block", "module", "engine", "unit", "component" or "system". Furthermore, aspects of the present application may be embodied as a computer product comprising computer readable program code embodied in one or more computer readable media.
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。A computer storage medium may contain a propagated data signal with the computer program code embodied therein, for example, on baseband or as part of a carrier wave. The propagating signal may take a variety of manifestations, including electromagnetic, optical, etc., or a suitable combination. Computer storage media can be any computer-readable media other than computer-readable storage media that can communicate, propagate, or transmit a program for use by coupling to an instruction execution system, apparatus, or device. Program code on a computer storage medium may be transmitted over any suitable medium, including radio, cable, fiber optic cable, RF, or the like, or a combination of any of the foregoing.
本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。The computer program coding required for the operation of the various parts of this application may be written in any one or more programming languages, including object-oriented programming languages such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python etc., conventional procedural programming languages such as C language, VisualBasic, Fortran2003, Perl, COBOL2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages, etc. The program code may run entirely on the user's computer, or as a stand-alone software package on the user's computer, or partly on the user's computer and partly on a remote computer, or entirely on the remote computer or processing device. In the latter case, the remote computer can be connected to the user's computer through any network, such as a local area network (LAN) or wide area network (WAN), or to an external computer (eg, through the Internet), or in a cloud computing environment, or as a service Use eg software as a service (SaaS).
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、 数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。In addition, unless explicitly stated in the claims, the order of processing elements and sequences described in the present application, the use of numbers and letters, or the use of other names are not intended to limit the order of the procedures and methods of the present application. While the foregoing disclosure discusses by way of various examples some embodiments of the invention that are presently believed to be useful, it is to be understood that such details are for purposes of illustration only and that the appended claims are not limited to the disclosed embodiments, but rather The requirements are intended to cover all modifications and equivalent combinations falling within the spirit and scope of the embodiments of the present application. For example, although the system components described above may be implemented by hardware devices, they may also be implemented by software-only solutions, such as installing the described systems on existing processing devices or mobile devices.
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。Similarly, it should be noted that, in order to simplify the expressions disclosed in the present application and thus help the understanding of one or more embodiments of the invention, in the foregoing description of the embodiments of the present application, various features are sometimes combined into one embodiment, in the drawings or descriptions thereof. However, this method of disclosure does not imply that the subject matter of the application requires more features than those mentioned in the claims. Indeed, there are fewer features of an embodiment than all of the features of a single embodiment disclosed above.
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。Some examples use numbers to describe quantities of ingredients and attributes, it should be understood that such numbers used to describe the examples, in some examples, use the modifiers "about", "approximately" or "substantially" to retouch. Unless stated otherwise, "about", "approximately" or "substantially" means that a variation of ±20% is allowed for the stated number. Accordingly, in some embodiments, the numerical parameters set forth in the specification and claims are approximations that can vary depending upon the desired characteristics of individual embodiments. In some embodiments, the numerical parameters should take into account the specified significant digits and use a general digit reservation method. Notwithstanding that the numerical fields and parameters used in some embodiments of the present application to confirm the breadth of their ranges are approximations, in particular embodiments such numerical values are set as precisely as practicable.
针对本申请引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本申请 作为参考。与本申请内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本申请中的)也除外。需要说明的是,如果本申请附属材料中的描述、定义、和/或术语的使用与本申请所述内容有不一致或冲突的地方,以本申请的描述、定义和/或术语的使用为准。Each patent, patent application, patent application publication, and other material, such as articles, books, specifications, publications, documents, etc., cited in this application is hereby incorporated by reference in its entirety. Application history documents that are inconsistent with or conflict with the content of this application are excluded, as are documents (currently or hereafter appended to this application) that limit the broadest scope of the claims of this application. It should be noted that, if there is any inconsistency or conflict between the descriptions, definitions and/or terms used in the attached materials of this application and the content of this application, the descriptions, definitions and/or terms used in this application shall prevail .
最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其他的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。Finally, it should be understood that the embodiments described in the present application are only used to illustrate the principles of the embodiments of the present application. Other variations are also possible within the scope of this application. Accordingly, by way of example and not limitation, alternative configurations of embodiments of the present application may be considered consistent with the teachings of the present application. Accordingly, the embodiments of the present application are not limited to the embodiments expressly introduced and described in the present application.
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。It should also be noted that the terms "comprising", "comprising" or any other variation thereof are intended to encompass a non-exclusive inclusion such that a process, method, article or device comprising a series of elements includes not only those elements, but also Other elements not expressly listed, or inherent to such a process, method, article of manufacture or apparatus are also included. Without further limitation, an element qualified by the phrase "comprising a..." does not preclude the presence of additional identical elements in the process, method, article of manufacture or device that includes the element.
本领域技术人员应明白,本申请的实施例可提供为方法、装置、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。It will be appreciated by those skilled in the art that the embodiments of the present application may be provided as methods, apparatuses, systems or computer program products. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修 改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, but not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that it can still be The technical solutions described in the foregoing embodiments are modified, or some technical features thereof are equivalently replaced; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims (6)

  1. 一种动态更新中心方的合作式学习方法,其特征在于,方法包括以下步骤:A cooperative learning method for dynamically updating a central party, characterized in that the method comprises the following steps:
    S1各数据提供方准备就绪,任务发起方发起任务;Each data provider in S1 is ready, and the task initiator initiates the task;
    S2各数据提供方提供合作式学习任务中使用的数据,通过网络连接状态获得当前可用的数据提供方;Each data provider of S2 provides the data used in the cooperative learning task, and obtains the currently available data provider through the network connection status;
    S3对可用的数据提供方通过指标评估其当前性能;S3 evaluates the current performance of available data providers through metrics;
    S4通过比较数据提供方的性能选择最优数据提供方作为中心服务器,运行中心程序;S4 selects the optimal data provider as the central server by comparing the performance of the data provider, and runs the central program;
    S5中心服务器与所有可用数据提供方、即客户端建立连接。The S5 central server establishes connections with all available data providers, that is, clients.
    S6判断当前任务是否处于任务初始状态,若是,合作式学习任务开始,流程转入步骤S7a;若否,则当前处于合作式任务进行状态,流程转入步骤S7b;S6 judges whether the current task is in the initial state of the task, if yes, the cooperative learning task starts, and the flow proceeds to step S7a; if not, it is currently in the cooperative task progressing state, and the flow proceeds to step S7b;
    S7a合作式学习任务开始后,任务流程如下:7a1)中心服务器初始化模型参数;7a2)中心服务器向客户端分发模型;7a3)各客户端使用其本地数据进行模型训练;7a4)各客户端将训练完成的模型加密发送给中心服务器,在中心服务器进行模型聚合;聚合完成后保存本次模型信息并发送至公共空间,对中心服务器的稳定性进行预测并进入流程步骤S8;S7a After the cooperative learning task starts, the task flow is as follows: 7a1) The central server initializes the model parameters; 7a2) The central server distributes the model to the clients; 7a3) Each client uses its local data for model training; 7a4) Each client will train The completed model is encrypted and sent to the central server, and the model is aggregated in the central server; after the aggregation is completed, the current model information is saved and sent to the public space, the stability of the central server is predicted, and the process goes to step S8;
    S7b中心服务器进行状态任务流程包括:7b1)判断当前中心服务器是否进行更新;7b2)若是,前一轮任务的中心服务器发生异常,在新选择的最优中心服务器上从公共空间读取模型信息,恢复合作式学习任务;若否,此时中心服务器异常风险已被排除,合作式学习任务继续;7b3)一次模型聚合完成后判断是否满足合作式学习任务停止条件,若满足停止条件,进 入流程步骤S9,若不满足停止条件,对中心服务器的稳定性进行预测,进入流程步骤S8;S7b the state task process of the central server includes: 7b1) judging whether the current central server is updated; 7b2) if it is, the central server of the previous round of tasks is abnormal, and the model information is read from the public space on the newly selected optimal central server, Resume the cooperative learning task; if not, the abnormal risk of the central server has been eliminated at this time, and the cooperative learning task continues; 7b3) After one model aggregation is completed, determine whether the cooperative learning task stop condition is met, and if the stop condition is met, enter the process step S9, if the stop condition is not met, predict the stability of the central server, and enter the process step S8;
    S8对中心服务器的稳定性进行预测,若系统不稳定,中心服务器异常,中止本轮任务并回到流程步骤S2,重新选择中心服务器并转入S7a;若系统稳定,合作式学习任务继续,流程转入S7b,重复上述过程直至满足任务停止条件,进入流程步骤S9;S8 predicts the stability of the central server. If the system is unstable and the central server is abnormal, the current round of tasks is terminated and the process returns to step S2. The central server is re-selected and transferred to S7a; if the system is stable, the cooperative learning task continues, and the process Go to S7b, repeat the above process until the task stop condition is met, and enter flow step S9;
    S9满足任务停止条件,任务结束。S9 satisfies the task stop condition, and the task ends.
  2. 根据权利要求1所述的方法,其特征在于:步骤S3中的指标包括算力、带宽、内存。The method according to claim 1, wherein the indicators in step S3 include computing power, bandwidth, and memory.
  3. 根据权利要求1所述的方法,其特征在于:在步骤S8中,使用概率图模型对中心服务器可靠性分析以实现对其稳定性预测。The method according to claim 1, characterized in that: in step S8, a probability graph model is used to analyze the reliability of the central server to realize its stability prediction.
  4. 一种计算机可读存储介质,其上存储有计算机指令,其特征在于:所述计算机指令运行时执行权利要求1-3任一项所述方法的步骤。A computer-readable storage medium on which computer instructions are stored, characterized in that: when the computer instructions are executed, the steps of the method according to any one of claims 1-3 are executed.
  5. 一种终端,包括存储器和处理器,其特征在于:所述存储器上储存有数据提供方信息和能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行权利要求1-3任一项所述方法的步骤。A terminal, comprising a memory and a processor, characterized in that: the memory stores data provider information and computer instructions that can be run on the processor, and the processor executes the claims when running the computer instructions Steps of any one of the methods 1-3.
  6. 一种基于动态更新中心方的合作式学习系统,系统的中心服务器与各数据提供方电讯连接,并运行权利要求1-3任一项所述方法的步骤,其特征在于:系统包括:A cooperative learning system based on a dynamic update center, wherein the center server of the system is telecommunicationly connected with each data provider, and runs the steps of the method described in any one of claims 1-3, wherein the system comprises:
    数据提供方确定模块,通过网络连接状态确定可用数据提供方;The data provider determination module determines the available data provider through the network connection status;
    性能评估模块,通过算力、带宽、内存等参数评估数据提供方的性能;The performance evaluation module evaluates the performance of the data provider through parameters such as computing power, bandwidth, and memory;
    优选模块,根据评估性能自主选择网路中最优数据提供方作为中心服 务器并运行中心程序;The preferred module, according to the evaluation performance, independently selects the optimal data provider in the network as the central server and runs the central program;
    通信传输模块,中心服务器与所有可用数据提供方、即客户端建立连接;Communication transmission module, the central server establishes connections with all available data providers, namely clients;
    动态更新学习模块,通过初始状态判断进入合作式学习任务还是中心服务器更新,若是,开始合作式学习任务并预测中心服务器风险;若否,则进入中心服务器更新,判断合作式学习任务继续、恢复或中止,直至任务结束。Dynamically update the learning module, determine whether to enter the cooperative learning task or the central server update through the initial state, if so, start the cooperative learning task and predict the risk of the central server; Abort until the task ends.
PCT/CN2020/140757 2020-12-10 2020-12-29 Collaborative learning method that updates central party, storage medium, terminal and system WO2022121026A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011455627.8A CN112686368A (en) 2020-12-10 2020-12-10 Cooperative learning method, storage medium, terminal and system for updating center side
CN202011455627.8 2020-12-10

Publications (1)

Publication Number Publication Date
WO2022121026A1 true WO2022121026A1 (en) 2022-06-16

Family

ID=75448915

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/140757 WO2022121026A1 (en) 2020-12-10 2020-12-29 Collaborative learning method that updates central party, storage medium, terminal and system

Country Status (2)

Country Link
CN (1) CN112686368A (en)
WO (1) WO2022121026A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116308965A (en) * 2023-05-24 2023-06-23 成都秦川物联网科技股份有限公司 Intelligent gas underground gas pipe network safety management method, internet of things system and device
CN117034000A (en) * 2023-03-22 2023-11-10 浙江明日数据智能有限公司 Modeling method and device for longitudinal federal learning, storage medium and electronic equipment

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114358316A (en) * 2022-01-14 2022-04-15 中国人民解放军总医院 Federal learning system and large-scale image training method and device thereof
CN114707430B (en) * 2022-06-02 2022-08-26 青岛鑫晟汇科技有限公司 Multi-user encryption based federated learning visualization system and method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109525411A (en) * 2017-09-19 2019-03-26 北京金山云网络技术有限公司 Network function component cluster, framework, control method, equipment and storage medium
CN110929880A (en) * 2019-11-12 2020-03-27 深圳前海微众银行股份有限公司 Method and device for federated learning and computer readable storage medium
CN111143173A (en) * 2020-01-02 2020-05-12 山东超越数控电子股份有限公司 Server fault monitoring method and system based on neural network
US20200219014A1 (en) * 2019-01-08 2020-07-09 International Business Machines Corporation Distributed learning using ensemble-based fusion
CN111538608A (en) * 2020-04-30 2020-08-14 深圳前海微众银行股份有限公司 Method for preventing terminal equipment from being down, terminal equipment and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111611610B (en) * 2020-04-12 2023-05-30 西安电子科技大学 Federal learning information processing method, system, storage medium, program, and terminal

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109525411A (en) * 2017-09-19 2019-03-26 北京金山云网络技术有限公司 Network function component cluster, framework, control method, equipment and storage medium
US20200219014A1 (en) * 2019-01-08 2020-07-09 International Business Machines Corporation Distributed learning using ensemble-based fusion
CN110929880A (en) * 2019-11-12 2020-03-27 深圳前海微众银行股份有限公司 Method and device for federated learning and computer readable storage medium
CN111143173A (en) * 2020-01-02 2020-05-12 山东超越数控电子股份有限公司 Server fault monitoring method and system based on neural network
CN111538608A (en) * 2020-04-30 2020-08-14 深圳前海微众银行股份有限公司 Method for preventing terminal equipment from being down, terminal equipment and storage medium

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117034000A (en) * 2023-03-22 2023-11-10 浙江明日数据智能有限公司 Modeling method and device for longitudinal federal learning, storage medium and electronic equipment
CN116308965A (en) * 2023-05-24 2023-06-23 成都秦川物联网科技股份有限公司 Intelligent gas underground gas pipe network safety management method, internet of things system and device
CN116308965B (en) * 2023-05-24 2023-08-04 成都秦川物联网科技股份有限公司 Intelligent gas underground gas pipe network safety management method, internet of things system and device
US11959777B2 (en) 2023-05-24 2024-04-16 Chengdu Qinchuan Iot Technology Co., Ltd. Methods and Internet of Things (IoT) systems for safety management of smart gas underground gas pipeline networks

Also Published As

Publication number Publication date
CN112686368A (en) 2021-04-20

Similar Documents

Publication Publication Date Title
WO2022121026A1 (en) Collaborative learning method that updates central party, storage medium, terminal and system
Shukla et al. An analytical model to minimize the latency in healthcare internet-of-things in fog computing environment
US20220129580A1 (en) Methods, apparatuses, and systems for updating service model based on privacy protection
US9594907B2 (en) Unauthorized activity detection and classification
CN115943394A (en) Method, device and system for secure longitudinal federal learning
US11822574B2 (en) System and method for providing an artificially-intelligent graph database
US11509687B2 (en) Detection of a malicious entity within a network
Ou et al. A homomorphic-encryption-based vertical federated learning scheme for rick management
US20220300618A1 (en) Privacy preserving cooperative learning in untrusted environments
CN111667267A (en) Block chain transaction risk identification method and device
CN115378988B (en) Data access abnormity detection and control method and device based on knowledge graph
CN112039702B (en) Model parameter training method and device based on federal learning and mutual learning
CN112668877B (en) Method and system for distributing object resource information by combining federal learning and reinforcement learning
Jules et al. Bayesian network, and probabilistic ontology driven trust model for sla management of cloud services
Bao et al. Federated learning in cloud-edge collaborative architecture: key technologies, applications and challenges
US20220240440A1 (en) Agricultural tool unit for rapid conversion of a combination seed drill having a trailed or fine-grain seed dispenser to an on-demand supply system and vice versa
Zhang et al. IgS-wBSRM: A time-aware Web Service QoS monitoring approach in dynamic environments
Morell et al. Dynamic and adaptive fault-tolerant asynchronous federated learning using volunteer edge devices
WO2023197453A1 (en) Fault diagnosis method and apparatus, device, and storage medium
Bordel et al. Securing Internet-of-Things systems through implicit and explicit reputation models
Wang et al. A dynamic trust model in internet of things
Wang et al. QoS prediction of web services based on reputation-aware network embedding
Kurupathi et al. Survey on federated learning towards privacy preserving AI
Xiong et al. A learning approach to QoS prediction via multi-dimensional context
Taylor et al. Reputation assessment: a review and unifying abstraction

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20964955

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20964955

Country of ref document: EP

Kind code of ref document: A1