Federal learning method and device and storage medium
By dynamically adjusting the complexity of the federated learning model according to the training time of the star-ground nodes in the aggregation server, the problems of federated learning efficiency and privacy protection in the star-ground fusion scenario are solved, and efficient data processing and resource conservation are achieved.
Patent Information
- Application Number
- CN202311302931.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-09
- Publication Date
- 2025-04-11
AI Technical Summary
The existing horizontal federated learning scheme is not suitable for satellite-ground fusion scenarios. Due to the characteristics of satellite node resource constraints and network instability, it is difficult to achieve efficient data processing and privacy protection in satellite-ground fusion scenarios.
By dynamically adjusting the complexity of the federated learning model in the aggregation server, and adjusting it according to the training duration of ground nodes and satellite nodes in each round of training, ensuring the adaptability and efficiency of the model in the satellite-ground fusion scenario.
It realizes better data processing efficiency of the federated learning model in the satellite-ground fusion scenario, and saves the occupancy of satellite resources, ensuring data privacy protection.
Smart Images

Figure CN119808984A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of wireless communication technology, and in particular to a federated learning method, device and storage medium. Background Art
[0002] With the rapid growth of data sources, distributed machine learning is seen as one of the solutions to large-scale data processing problems. Horizontal federated learning is a distributed machine learning method that adapts to situations where data sets have large overlaps in user characteristics but few user overlaps. By building a machine learning model based on multi-device distributed data sets, it can effectively prevent privacy data leakage.
[0003] Regarding horizontal federated learning in satellite-ground fusion scenarios, due to the limited satellite node resources and unstable network, the existing horizontal federated learning solutions for ground networks are not suitable for satellite-ground fusion scenarios. Summary of the invention
[0004] In response to the problems existing in the prior art, the present application provides a federated learning method, device and storage medium.
[0005] In a first aspect, the present application provides a federated learning method, applied to an aggregation server, comprising:
[0006] In each round of training of the federated learning model, the training duration of the nodes participating in the training is obtained. The nodes participating in the training include ground nodes and satellite nodes.
[0007] Determine the target model complexity based on the training time of the nodes participating in the training and the model complexity of the training;
[0008] Perform model aggregation based on the complexity of the target model to obtain a global model;
[0009] The global model is distributed to the nodes participating in the training so that the nodes participating in the training can carry out the next round of training.
[0010] In some embodiments, determining the target model complexity based on the training duration of the nodes participating in the training in the current round of training and the model complexity of the current round of training includes:
[0011] Based on the acquired training duration of each ground node in the current round of training, a first duration is determined; based on the acquired training duration of each satellite node in the current round of training, a second duration is determined;
[0012] The target model complexity is determined based on the first duration, the second duration, and the model complexity of this round of training.
[0013] In some embodiments, determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes:
[0014] In R*T t <T s ≤T t In the case of comparison T s and T max ;
[0015] If T s ≤T max , then determine C out =C in ;
[0016] If T s >T max , then determine C out =C in / (T s / T max );
[0017] Among them, R is the preset dynamic adjustment parameter, T t Indicates the first duration, T s Indicates the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Indicates the complexity of the target model.
[0018] In some embodiments, determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes:
[0019] In T s ≤R*T t In the case of comparison T s and T max ;
[0020] If T s ≤T max , then determine C out =C in *(R*T t / T s );
[0021] If T s >T max , then reduce the current model complexity for the nodes participating in the training to re-train this round, and set R to the minimum value in the value range, re-obtain the training time of the nodes participating in the training in this round of training, and then re-determine the target model complexity based on the training time of the nodes participating in the training in this round of training and the model complexity of this round of training;
[0022] Among them, R is the preset dynamic adjustment parameter, T t Indicates the first duration, T s Indicates the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Indicates the complexity of the target model.
[0023] In some embodiments, determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes:
[0024] In T s ≥T t In the case of comparison T s and T max ;
[0025] If T s ≤T max , then determine C out =C in / (T t / T s );
[0026] If T s >T max , then according to T t and T max Compare the results between them and determine the complexity of the target model;
[0027] Among them, T t Indicates the first duration, T s Indicates the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Indicates the complexity of the target model.
[0028] In some embodiments, according to T t and T max The comparison results between them determine the complexity of the target model, including:
[0029] If T t ≤T max , then determine C out =C in / (T s / T max );
[0030] If T t >T max, the current model complexity is reduced for the nodes participating in the training to re-train in this round, and then the training time of the nodes participating in the training in this round of training is re-obtained, and the target model complexity is re-determined based on the training time of the nodes participating in the training in this round of training and the model complexity of this round of training.
[0031] In some embodiments, the first duration is equal to the sum of the training durations of the acquired ground nodes in the current round of training; the second duration is equal to the sum of the training durations of the acquired satellite nodes in the current round of training.
[0032] In a second aspect, the present application also provides an aggregation server, including a memory, a transceiver, and a processor;
[0033] A memory for storing a computer program; a transceiver for transmitting and receiving data under the control of the processor; and a processor for reading the computer program in the memory and performing the following operations:
[0034] In each round of training of the federated learning model, the training duration of the nodes participating in the training is obtained. The nodes participating in the training include ground nodes and satellite nodes.
[0035] Determine the target model complexity based on the training time of the nodes participating in the training and the model complexity of the training;
[0036] Perform model aggregation based on the complexity of the target model to obtain a global model;
[0037] The global model is distributed to the nodes participating in the training so that the nodes participating in the training can carry out the next round of training.
[0038] In some embodiments, determining the target model complexity based on the training duration of the nodes participating in the training in the current round of training and the model complexity of the current round of training includes:
[0039] Based on the acquired training duration of each ground node in the current round of training, a first duration is determined; based on the acquired training duration of each satellite node in the current round of training, a second duration is determined;
[0040] The target model complexity is determined based on the first duration, the second duration, and the model complexity of this round of training.
[0041] In some embodiments, determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes:
[0042] In R*T t <T s ≤T t In the case of comparison T s and T max ;
[0043] If T s ≤T max , then determine C out =C in ;
[0044] If T s >T max , then determine C out =C in / (T s / T max );
[0045] Among them, R is the preset dynamic adjustment parameter, T t Indicates the first duration, T s Indicates the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Indicates the complexity of the target model.
[0046] In some embodiments, determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes:
[0047] In T s ≤R*T t In the case of comparison T s and T max ;
[0048] If T s ≤T max , then determine C out =C in *(R*T t / T s );
[0049] If T s >T max , then reduce the current model complexity for the nodes participating in the training to re-train this round, and set R to the minimum value in the value range, re-obtain the training time of the nodes participating in the training in this round of training, and then re-determine the target model complexity based on the training time of the nodes participating in the training in this round of training and the model complexity of this round of training;
[0050] Among them, R is the preset dynamic adjustment parameter, T t Indicates the first duration, T s Indicates the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Indicates the complexity of the target model.
[0051] In some embodiments, determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes:
[0052] In T s ≥T t In the case of comparison T s and T max ;
[0053] If T s ≤T max , then determine C out =C in / (T t / T s );
[0054] If T s >T max , then according to T t and T max Compare the results between them and determine the complexity of the target model;
[0055] Among them, T t Indicates the first duration, T s Indicates the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Indicates the complexity of the target model.
[0056] In some embodiments, according to T t and T max The comparison results between them determine the complexity of the target model, including:
[0057] If T t ≤T max , then determine C out =C in / (T s / T max );
[0058] If T t >T max , the current model complexity is reduced for the nodes participating in the training to re-train in this round, and then the training time of the nodes participating in the training in this round of training is re-obtained, and the target model complexity is re-determined based on the training time of the nodes participating in the training in this round of training and the model complexity of this round of training.
[0059] In some embodiments, the first duration is equal to the sum of the training durations of the acquired ground nodes in the current round of training; the second duration is equal to the sum of the training durations of the acquired satellite nodes in the current round of training.
[0060] In a third aspect, the present application also provides a federated learning device, including:
[0061] An acquisition unit is used to obtain the training time of the nodes participating in the training in each round of training of the federated learning model. The nodes participating in the training include ground nodes and satellite nodes.
[0062] A determination unit, used to determine the target model complexity based on the training time of the nodes participating in the training in this round of training and the model complexity of this round of training;
[0063] Aggregation unit, used to aggregate models based on the complexity of the target model to obtain a global model;
[0064] The distribution unit is used to distribute the global model to the nodes participating in the training so that the nodes participating in the training can perform the next round of training.
[0065] In some embodiments, determining the target model complexity based on the training duration of the nodes participating in the training in the current round of training and the model complexity of the current round of training includes:
[0066] Based on the acquired training duration of each ground node in the current round of training, a first duration is determined; based on the acquired training duration of each satellite node in the current round of training, a second duration is determined;
[0067] The target model complexity is determined based on the first duration, the second duration, and the model complexity of this round of training.
[0068] In some embodiments, determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes:
[0069] In R*T t <T s ≤T t In the case of comparison T s and T max ;
[0070] If T s ≤T max , then determine C out =C in ;
[0071] If T s >T max , then determine C out =C in / (T s / T max );
[0072] Among them, R is the preset dynamic adjustment parameter, T tIndicates the first duration, T s Indicates the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Indicates the complexity of the target model.
[0073] In some embodiments, determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes:
[0074] In T s ≤R*T t In the case of comparison T s and T max ;
[0075] If T s ≤T max , then determine C out =C in *(R*T t / T s );
[0076] If T s >T max , then reduce the current model complexity for the nodes participating in the training to re-train this round, and set R to the minimum value in the value range, re-obtain the training time of the nodes participating in the training in this round of training, and then re-determine the target model complexity based on the training time of the nodes participating in the training in this round of training and the model complexity of this round of training;
[0077] Among them, R is the preset dynamic adjustment parameter, T t Indicates the first duration, T s Indicates the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Indicates the complexity of the target model.
[0078] In some embodiments, determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes:
[0079] In T s ≥T t In the case of comparison T s and T max ;
[0080] If T s ≤T max , then determine C out =C in / (T t / Ts );
[0081] If T s >T max , then according to T t and T max Compare the results between them and determine the complexity of the target model;
[0082] Among them, T t Indicates the first duration, T s Indicates the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Indicates the complexity of the target model.
[0083] In some embodiments, according to T t and T max The comparison results between them determine the complexity of the target model, including:
[0084] If T t ≤T max , then determine C out =C in / (T s / T max );
[0085] If T t >T max , the current model complexity is reduced for the nodes participating in the training to re-train in this round, and then the training time of the nodes participating in the training in this round of training is re-obtained, and the target model complexity is re-determined based on the training time of the nodes participating in the training in this round of training and the model complexity of this round of training.
[0086] In some embodiments, the first duration is equal to the sum of the training durations of the acquired ground nodes in the current round of training; the second duration is equal to the sum of the training durations of the acquired satellite nodes in the current round of training.
[0087] In a fourth aspect, the present application further provides a non-transitory readable storage medium, wherein the non-transitory readable storage medium stores a computer program, and the computer program is used to enable a processor to execute the federated learning method described in the first aspect as described above.
[0088] In a fifth aspect, the present application further provides a communication device, in which a computer program is stored, and the computer program is used to enable the communication device to execute the federated learning method described in the first aspect as described above.
[0089] In a sixth aspect, the present application also provides a processor-readable storage medium, wherein the processor-readable storage medium stores a computer program, and the computer program is used to enable the processor to execute the federated learning method described in the first aspect as described above.
[0090] In a seventh aspect, the present application further provides a chip product, wherein a computer program is stored in the chip product, and the computer program is used to enable the chip product to execute the federated learning method described in the first aspect as described above.
[0091] The federated learning method, device and storage medium provided in the present application enable the aggregation server to dynamically adjust the model complexity based on the training duration of each node in each round of training to adapt to the characteristics of limited satellite node resources and unstable network in the satellite-ground fusion scenario, so that the federated learning model can achieve better data processing efficiency as a whole in the satellite-ground fusion scenario and save satellite resource occupancy. BRIEF DESCRIPTION OF THE DRAWINGS
[0092] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the following is a brief introduction to the drawings required for use in the embodiments or the related technical descriptions. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0093] Figure 1 A flowchart of a federated learning method provided in an embodiment of the present application;
[0094] Figure 2 An example diagram of a horizontal federated learning framework structure in a satellite-ground fusion network provided in an embodiment of the present application;
[0095] Figure 3 A flowchart for implementing the federated learning method provided in the embodiment of the present application;
[0096] Figure 4 A node synchronization flow chart provided for an embodiment of the present application;
[0097] Figure 5 A schematic diagram of the structure of the aggregation server provided in the embodiment of the present application;
[0098] Figure 6 A schematic diagram of the structure of a federated learning device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0099] In the embodiments of the present application, the term "and / or" describes the association relationship of the associated objects, indicating that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the associated objects before and after are in an "or" relationship.
[0100] In the embodiments of the present application, the term "plurality" refers to two or more than two, and other quantifiers are similar.
[0101] In the embodiments of the present application, the terms "first", "second", etc. are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described here, and the objects distinguished by "first" and "second" are generally of the same type, and the number of objects is not limited. For example, the first object can be one or more.
[0102] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0103] Traditionally, data collected by terminal devices needs to be uploaded and processed centrally in cloud-based data centers. With the rapid growth of data sources, distributed machine learning is seen as one of the solutions to large-scale data processing problems. Distributed machine learning mainly relies on the computing and storage capabilities of terminal devices and edge servers to achieve parallel training of distributed data. However, computational offloading and data processing in edge servers still involve the transmission of sensitive data, especially security data used to detect distributed denial of service (DDoS) attacks, which may cause users to worry about privacy and even violate privacy laws. Federated learning aims to solve such problems by building machine learning models based on multi-device distributed datasets while preventing data leakage. Under this framework, each data partition corresponds to a subset of data samples collected from one or more users, and participating devices do not need to send original data for processing, but only need to send updated model parameters for aggregation.
[0104] Horizontal federated learning is a learning method that adapts to situations where data sets have large overlaps in user features but less overlap in users. In this way, data with the same user features but different users can be extracted to train neural networks. In this system, multiple data centers perform model learning with the support of high-performance aggregation servers. Each participant trains the model locally and calculates its gradient, and then sends the gradient to the aggregation server through network encryption technology. After receiving the data from each participant, the aggregation server can perform secure aggregation without decryption and feedback to each participant to achieve gradient updates of the local model.
[0105] Compared with ground networks, satellite networks have limited resources, relatively low processor performance, unstable networks, etc. The traditional horizontal federated learning solution for ground networks is not suitable for satellite-ground fusion scenarios. Therefore, this application provides a horizontal federated learning solution to build a machine learning model based on multi-device distributed data sets, and dynamically control the complexity of the federated learning model during the training process to achieve better data processing efficiency and prevent data leakage.
[0106] The horizontal federated learning solution provided in this application can be used for the training of abnormal intrusion detection algorithms in the satellite-ground fusion architecture. In the satellite-ground fusion architecture, an intrusion detection network system based on horizontal federated learning is used to solve the problem of completing malicious traffic identification and privacy protection in the 6G ubiquitous network under the conditions of limited resources and high satellite network data privacy requirements.
[0107] Figure 1 A schematic diagram of a federated learning method provided in an embodiment of the present application, which can be applied to an aggregation server, such as Figure 1 As shown, the method comprises the following steps:
[0108] Step 100: In each round of training of the federated learning model, the training duration of the nodes participating in the training in this round of training is obtained, and the nodes participating in the training include ground nodes and satellite nodes.
[0109] Specifically, in the federated learning framework of the satellite-ground fusion scenario, it includes an aggregation server and multiple nodes participating in the training (also referred to as participating nodes, training nodes or participants, etc.). These nodes participating in the training include ground nodes (i.e. nodes located on the ground) and satellite nodes (i.e. nodes located on satellites). The nodes participating in the training (hereinafter referred to as nodes) can be terminal devices, network devices, data centers, servers, etc. This application does not limit the specific form of the nodes.
[0110] In some embodiments, a ground data center may serve as an aggregation server.
[0111] Multiple nodes use local data sets to train local models, and aggregate the model updates of each node through the aggregation server to maintain an up-to-date global model. In the training data preparation stage, the training data can be divided horizontally into multiple data sets. The data in each data set has the same features and different user identities (Identity, ID). The divided data sets are used to train the horizontal federated learning model.
[0112] Due to the huge differences in computing power and performance between ground nodes and satellite nodes, in an embodiment of the present application, the aggregation server can obtain the training time of each node in each round of training, and dynamically control the complexity of the federated learning model according to the training time of each node.
[0113] In some embodiments, after completing a round of training, each node can report its own training time in this round of training to the aggregation server. For example, it can be reported to the aggregation server together with the model parameters obtained through training, or reported to the aggregation server separately, or reported to the aggregation server in other ways. This application does not make any specific restrictions here.
[0114] Step 101: Determine the target model complexity based on the training duration of the nodes participating in the training in this round of training and the model complexity of this round of training.
[0115] Specifically, in each round of training, after the aggregation server obtains the training time of each node in this round of training, it can determine the target model complexity based on the obtained training time of these nodes and the model complexity of this round of training. The target model complexity is used by the aggregation server to perform model aggregation in this round of training, and the target model complexity is also the initial model complexity of the next round of training.
[0116] Step 102: Perform model aggregation based on the target model complexity to obtain a global model.
[0117] Specifically, after the aggregation server determines the target model complexity, it can perform model aggregation based on the target model complexity to obtain a global model. The algorithm used for model aggregation can adopt the existing model aggregation algorithm, which will not be described here. The difference between this application and the model aggregation process in the existing federated learning is that if the determined target model complexity is different from the model complexity of this round of training, this application needs to adjust the complexity of the aggregation model according to the determined target model complexity during the model aggregation stage, so that the complexity of the aggregated global model is the target model complexity.
[0118] In some embodiments, the aggregation server may first adjust the complexity of the model according to the target model complexity, such as increasing or decreasing the complexity of the model. The specific method used is not limited here, and reference may be made to various existing methods for adjusting model complexity. Then, the aggregation server calculates the global model using an aggregation algorithm based on the model parameters sent by each node.
[0119] Step 103: Distribute the global model to the nodes participating in the training, so that the nodes participating in the training can perform the next round of training.
[0120] Specifically, after obtaining the global model, the aggregation server can send the global model back to each node for use in the next round of training.
[0121] The federated learning method provided in the embodiment of the present application can enable the aggregation server to dynamically adjust the model complexity based on the training duration of each node in each round of training to adapt to the characteristics of limited satellite node resources and unstable network in the satellite-ground fusion scenario, so that the federated learning model can achieve better data processing efficiency as a whole in the satellite-ground fusion scenario and save satellite resource occupancy.
[0122] In some embodiments, determining the target model complexity based on the training duration of the nodes participating in the training in the current round of training and the model complexity of the current round of training includes:
[0123] Based on the acquired training duration of each ground node in the current round of training, a first duration is determined; based on the acquired training duration of each satellite node in the current round of training, a second duration is determined;
[0124] The target model complexity is determined based on the first duration, the second duration, and the model complexity of this round of training.
[0125] Specifically, after the aggregation server obtains the training duration of the ground nodes and satellite nodes in this round of training, it can determine the first duration based on the obtained training duration of the ground nodes in this round of training, and determine the second duration based on the obtained training duration of the satellite nodes in this round of training.
[0126] In some embodiments, the first duration may be equal to the sum of the training durations of the acquired ground nodes in the current round of training; the second duration may be equal to the sum of the training durations of the acquired satellite nodes in the current round of training.
[0127] Then, the aggregation server may determine the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training.
[0128] In some embodiments, determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes:
[0129] In R*Tt <T s ≤T t In the case of comparison T s and T max ;
[0130] If T s ≤T max , then determine C out =C in ;
[0131] If T s >T max , then determine C out =C in / (T s / T max );
[0132] Among them, R is the preset dynamic adjustment parameter, T t Indicates the first duration, T s Indicates the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Indicates the complexity of the target model.
[0133] Specifically, R is a dynamically adjusted parameter that can be dynamically changed to balance the problem of unstable computing resources of satellite nodes. In some embodiments, a value range can be preset for R, such as R∈[0.6,0.8], and the value of R at the beginning of training can be the maximum value of the value range.
[0134] In addition, you can also preset a duration as T max , the T max A suitable value may be set based on experience, test results or other methods, and this application does not limit the specific circumstances.
[0135] In determining the first duration T t and the second duration T s After that, the aggregation server can determine the first duration T t and the second duration T s If R*T t <T s ≤T t , then compare T s and T max The size of the target model is determined based on the comparison results. out .
[0136] For example, if T s ≤T max , then determine C out =C in, that is, the model complexity does not change when the model is aggregated in this round of training.
[0137] If T s >T max , then determine C out =C in / (T s / T max ), that is, the model complexity needs to be reduced when performing model aggregation in this round of training.
[0138] In some embodiments, determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes:
[0139] In T s ≤R*T t In the case of comparison T s and T max ;
[0140] If T s ≤T max , then determine C out =C in *(R*T t / T s );
[0141] If T s >T max , then reduce the current model complexity for the nodes participating in the training to re-train this round, and set R to the minimum value in the value range, re-obtain the training time of the nodes participating in the training in this round of training, and then re-determine the target model complexity based on the training time of the nodes participating in the training in this round of training and the model complexity of this round of training;
[0142] Among them, R is the preset dynamic adjustment parameter, T t Indicates the first duration, T s Indicates the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Indicates the complexity of the target model.
[0143] Specifically, when determining the first time length T t and the second duration T s After that, the aggregation server can determine the first duration T t and the second duration T s If T s ≤R*T t , then compare T s and T max The size of the target model is determined based on the comparison results.out .
[0144] For example, if T s ≤T max , then determine C out =C in *(R*T t / T s ), that is, the model complexity needs to be increased when performing model aggregation in this round of training.
[0145] If T s >T max , the aggregation server can reduce the current model complexity so that each node can re-perform the current round of training according to the reduced model complexity. In some embodiments, the step size or value can be adjusted according to the preset complexity to reduce the current model complexity, or the current model complexity can be reduced by other preset methods.
[0146] After each node re-trains this round according to the reduced model complexity, the aggregation server re-obtains the training duration of the ground node and satellite node re-training, and then re-determines T t and T s , and then based on the new T t 、New T s , and the new C in (i.e. the reduced model complexity), determine C out At this time, the aggregation server determines T s and R*T t The size relationship between them is that R is no longer the initial R value, but the minimum value in the value range of R, such as R = 0.6.
[0147] In some embodiments, determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes:
[0148] In T s ≥T t In the case of comparison T s and T max ;
[0149] If T s ≤T max , then determine C out =C in / (T t / T s );
[0150] If T s >T max , then according to T t and T maxCompare the results between them and determine the complexity of the target model;
[0151] Among them, T t Indicates the first duration, T s Indicates the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Indicates the complexity of the target model.
[0152] Specifically, when determining the first time length T t and the second duration T s After that, the aggregation server can determine the first duration T t and the second duration T s If T s ≥T t , then compare T first s and T max size.
[0153] If T s ≤T max , then determine C out =C in / (T t / T s ), that is, the model complexity needs to be increased when performing model aggregation in this round of training.
[0154] If T s >T max , then further compare T t and T max , according to T t and T max The comparison results between them are used to determine the complexity of the target model.
[0155] In some embodiments, according to T t and T max The comparison results between them determine the complexity of the target model, including:
[0156] If T t ≤T max , then determine C out =C in / (T s / T max );
[0157] If T t >T max, the current model complexity is reduced for the nodes participating in the training to re-train in this round, and then the training time of the nodes participating in the training in this round of training is re-obtained, and the target model complexity is re-determined based on the training time of the nodes participating in the training in this round of training and the model complexity of this round of training.
[0158] For example, if T t ≤T max , then determine C out =C in / (T s / T max ), that is, the model complexity needs to be reduced when performing model aggregation in this round of training.
[0159] If T t >T max , the aggregation server can reduce the current model complexity so that each node can re-train this round according to the reduced model complexity. The aggregation server then re-obtains the training time of the ground nodes and satellite nodes, and then re-determines T t and T s , and then based on the new T t 、New T s , and the new C in (i.e. the reduced model complexity), determine C out In this case, the aggregation server determines T s and R*T t The size relationship between them, where R is still the value of C determined last time out The R value at that time, for example, last time it was R=0.8, this time it is still R=0.8.
[0160] The following describes the methods provided in the above embodiments of the present application by using examples of specific application scenarios.
[0161] Figure 2 The following is an example diagram of the horizontal federated learning framework structure under the satellite-ground fusion network provided in the embodiment of the present application, such as Figure 2 As shown, in this example, the ground data center serves as an aggregation server, and forms a federated learning network with two satellite nodes and two ground nodes. The two satellite nodes and two ground nodes are nodes participating in training in the federated learning network. The satellite nodes are located on the satellite, and the ground nodes are located on the ground. These nodes participating in training can be terminal devices, network devices, data centers, servers, etc., which are not specifically limited here. Under the horizontal federated learning mechanism, the two satellite nodes and two ground nodes use local data sets to perform local model training, and the aggregation server aggregates the model updates of each node to maintain an up-to-date global model.
[0162] Figure 3The implementation flow chart of the federated learning method provided in the embodiment of the present application is as follows: Figure 3 As shown, the process mainly includes the following steps:
[0163] 1. Training data preparation: Divide the training data into data sets horizontally, each of which has the same features but different user IDs. Use these divided data sets to train the neural network.
[0164] 1.1. Let X be the feature space, Y be the label control, and I be the sample ID (user ID). The three together constitute the training data set (X, Y, I). The characteristics of each data set used in the horizontal federated learning in this example can be expressed as: X i =X j , Y i =Y j , I i ≠I j , where i and j are the codes of any two samples in a data set.
[0165] 2. Local model training: Each node uses local data to train the model independently. Satellite node 1, satellite node 2, ground node 1, and ground node 2 use the horizontally divided original training data set to perform preliminary training, establish a federated learning model, and record the training time of satellite node 1 Satellite Node 2 Training Time And record the training time of ground node 1 Ground node 2 training time
[0166] 3. Node synchronization: Because the computing power and performance of satellite nodes are much smaller than those of ground nodes, it is necessary to improve the model training complexity according to the node training time, so that the training time of satellite nodes and ground nodes can be synchronized as much as possible, so that the federated learning model can achieve better data processing efficiency as a whole. The node synchronization process is shown in Figure 4 ,The figure mainly shows the process of the following step 3.2 “Comparing training time and ,synchronizing computation complexity”.
[0167] 3.1. Initialization parameter input: The training time of the ground node and satellite node is T t and T s , the satellite node training duration (i.e., the second duration) is the sum of the satellite node 1 and satellite node 2 training durations: The ground node training time (i.e. the first duration) is the sum of the training durations of ground node 1 and ground node 2: The preset maximum single training time is recorded as T max , let the complexity of the original federated learning model be C in, let R be the dynamic adjustment parameter, R∈[0.6,0.8], R is taken as 0.8 for the first run, and the five parameters mentioned above are used as input.
[0168] 3.2. Comparison of training time and synchronization of computational complexity: When the training time of the node is sent to the aggregation server, the T t and T s .
[0169] 3.2.1 When R*T t <T s ≤T t , compared with T s and T max .
[0170] 3.2.1.1 When T s ≤T max , the target model complexity C out =C in .
[0171] 3.2.1.2 When T s >T max , the target model complexity C out =C in / (T s / T max ).
[0172] 3.2.2 When T s ≤R*T t , compared with T s and T max .
[0173] 3.2.2.1. When T s ≤T max , the target model complexity C out =C in *(R*T t / T s ).
[0174] 3.2.2.2 When T s >T max , reduce the complexity of the model, return to 3.1 to re-obtain T t and T s , and re-execute 3.2, and set the value of R to 0.6, until the target model complexity C is determined out .
[0175] 3.2.3 When T t ≤T s , compared with T s and T max .
[0176] 3.2.3.1. When T s ≤T max , the target model complexity C out =C in / (T t / T s ).
[0177] 3.2.3.2 When T s >T max , compared with T t and T max .
[0178] 3.2.3.2.1. When T t ≤T max , the target model complexity C out =C in / (T s / T max ).
[0179] 3.2.3.2.2 When T t >T max , reduce the complexity of the model, return to 3.1 to re-obtain T t and T s , and re-execute 3.2 until the target model complexity C is determined out .
[0180] 4. Model sharing: Once all nodes complete their training cycles, they send their respective model parameters to the aggregation server, which can be done through the satellite-to-ground communication link. The aggregation server determines the target model complexity C out Perform model aggregation training.
[0181] 5. Model aggregation: The aggregation server collects all models and uses the aggregation algorithm to calculate the global model.
[0182] 6. Global model distribution: The aggregation server sends the global model back to satellite node 1, satellite node 2, ground node 1, and ground node 2 for use in the next round of training.
[0183] 7. Iterative update: Repeat steps 2 to 6 until the predetermined number of training rounds is reached or other stopping conditions are met.
[0184] The methods and devices provided in the various embodiments of the present application are based on the same application concept. Since the methods and devices solve problems based on similar principles, the implementation of the devices and methods can refer to each other, and the repeated parts will not be repeated.
[0185] Figure 5 A schematic diagram of the structure of the aggregation server provided in the embodiment of the present application, such as Figure 5As shown, the aggregation server includes a memory 520, a transceiver 510 and a processor 500; wherein the processor 500 and the memory 520 may also be arranged physically separately.
[0186] The memory 520 is used to store computer programs; the transceiver 510 is used to send and receive data under the control of the processor 500.
[0187] Specifically, the transceiver 510 is used to receive and send data under the control of the processor 500 .
[0188] Among them, Figure 5 In the embodiment, the bus architecture may include any number of interconnected buses and bridges, specifically linking various circuits of one or more processors represented by processor 500 and memory represented by memory 520. The bus architecture may also link various other circuits such as peripherals, voltage regulators, and power management circuits, which are well known in the art and are therefore not further described in this application. The bus interface provides an interface. The transceiver 510 may be a plurality of components, namely, a transmitter and a receiver, providing a unit for communicating with various other devices on a transmission medium, which may include a wireless channel, a wired channel, an optical cable, and other transmission media.
[0189] The processor 500 is responsible for managing the bus architecture and general processing, and the memory 520 can store data used by the processor 500 when performing operations.
[0190] The processor 500 may be a central processing unit (CPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or a complex programmable logic device (CPLD). The processor may also adopt a multi-core architecture.
[0191] The processor 500 calls the computer program stored in the memory 520 to execute any of the methods provided in the embodiments of the present application according to the obtained executable instructions, for example: in each round of training of the federated learning model, the training time of the nodes participating in the training in this round of training is obtained, and the nodes participating in the training include ground nodes and satellite nodes; based on the training time of the nodes participating in the training in this round of training and the model complexity of this round of training, the target model complexity is determined; based on the target model complexity, model aggregation is performed to obtain a global model; and the global model is distributed to the nodes participating in the training for the nodes participating in the training to perform the next round of training.
[0192] In some embodiments, determining the target model complexity based on the training duration of the nodes participating in the training in the current round of training and the model complexity of the current round of training includes:
[0193] Based on the acquired training duration of each ground node in the current round of training, a first duration is determined; based on the acquired training duration of each satellite node in the current round of training, a second duration is determined;
[0194] The target model complexity is determined based on the first duration, the second duration, and the model complexity of this round of training.
[0195] In some embodiments, determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes:
[0196] In R*T t <T s ≤T t In the case of comparison T s and T max ;
[0197] If T s ≤T max , then determine C out =C in ;
[0198] If T s >T max , then determine C out =C in / (T s / T max );
[0199] Among them, R is the preset dynamic adjustment parameter, T t Indicates the first duration, T s Indicates the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Indicates the complexity of the target model.
[0200] In some embodiments, determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes:
[0201] In T s ≤R*T t In the case of comparison T s and T max ;
[0202] If T s ≤T max , then determine Cout =C in *(R*T t / T s );
[0203] If T s >T max , then reduce the current model complexity for the nodes participating in the training to re-train this round, and set R to the minimum value in the value range, re-obtain the training time of the nodes participating in the training in this round of training, and then re-determine the target model complexity based on the training time of the nodes participating in the training in this round of training and the model complexity of this round of training;
[0204] Among them, R is the preset dynamic adjustment parameter, T t Indicates the first duration, T s Indicates the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Indicates the complexity of the target model.
[0205] In some embodiments, determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes:
[0206] In T s ≥T t In the case of comparison T s and T max ;
[0207] If T s ≤T max , then determine C out =C in / (T t / T s );
[0208] If T s >T max , then according to T t and T max Compare the results between them and determine the complexity of the target model;
[0209] Among them, T t Indicates the first duration, T s Indicates the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Indicates the complexity of the target model.
[0210] In some embodiments, according to T t and T maxThe comparison results between them determine the complexity of the target model, including:
[0211] If T t ≤T max , then determine C out =C in / (T s / T max );
[0212] If T t >T max , the current model complexity is reduced for the nodes participating in the training to re-train in this round, and then the training time of the nodes participating in the training in this round of training is re-obtained, and the target model complexity is re-determined based on the training time of the nodes participating in the training in this round of training and the model complexity of this round of training.
[0213] In some embodiments, the first duration is equal to the sum of the training durations of the acquired ground nodes in the current round of training; the second duration is equal to the sum of the training durations of the acquired satellite nodes in the current round of training.
[0214] It should be noted here that the above-mentioned aggregation server provided in the embodiment of the present application can implement all the method steps implemented in the above-mentioned method embodiment, and can achieve the same technical effect. The parts and beneficial effects of this embodiment that are the same as those in the method embodiment will not be described in detail here.
[0215] Figure 6 A schematic diagram of the structure of the federated learning device provided in the embodiment of the present application is shown in FIG. Figure 6 As shown, the device comprises:
[0216] An acquisition unit 600 is used to acquire the training time of the nodes participating in the training in each round of training of the federated learning model, where the nodes participating in the training include ground nodes and satellite nodes;
[0217] A determination unit 610 is used to determine the target model complexity based on the training duration of the nodes participating in the training in this round of training and the model complexity of this round of training;
[0218] Aggregation unit 620, used for performing model aggregation based on the complexity of the target model to obtain a global model;
[0219] The distribution unit 630 is used to distribute the global model to the nodes participating in the training, so that the nodes participating in the training can perform the next round of training.
[0220] In some embodiments, determining the target model complexity based on the training duration of the nodes participating in the training in the current round of training and the model complexity of the current round of training includes:
[0221] Based on the acquired training duration of each ground node in the current round of training, a first duration is determined; based on the acquired training duration of each satellite node in the current round of training, a second duration is determined;
[0222] The target model complexity is determined based on the first duration, the second duration, and the model complexity of this round of training.
[0223] In some embodiments, determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes:
[0224] In R*T t <T s ≤T t In the case of comparison T s and T max ;
[0225] If T s ≤T max , then determine C out =C in ;
[0226] If T s >T max , then determine C out =C in / (T s / T max );
[0227] Among them, R is the preset dynamic adjustment parameter, T t Indicates the first duration, T s Indicates the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Indicates the complexity of the target model.
[0228] In some embodiments, determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes:
[0229] In T s ≤R*T t In the case of comparison T s and T max ;
[0230] If T s ≤T max , then determine C out =C in *(R*T t / T s );
[0231] If Ts >T max , then reduce the current model complexity for the nodes participating in the training to re-train this round, and set R to the minimum value in the value range, re-obtain the training time of the nodes participating in the training in this round of training, and then re-determine the target model complexity based on the training time of the nodes participating in the training in this round of training and the model complexity of this round of training;
[0232] Among them, R is the preset dynamic adjustment parameter, T t Indicates the first duration, T s Indicates the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Indicates the complexity of the target model.
[0233] In some embodiments, determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes:
[0234] In T s ≥T t In the case of comparison T s and T max ;
[0235] If T s ≤T max , then determine C out =C in / (T t / T s );
[0236] If T s >T max , then according to T t and T max Compare the results between them and determine the complexity of the target model;
[0237] Among them, T t Indicates the first duration, T s Indicates the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Indicates the complexity of the target model.
[0238] In some embodiments, according to T t and T max The comparison results between them determine the complexity of the target model, including:
[0239] If T t ≤T max , then determine C out=C in / (T s / T max );
[0240] If T t >T max , the current model complexity is reduced for the nodes participating in the training to re-train in this round, and then the training time of the nodes participating in the training in this round of training is re-obtained, and the target model complexity is re-determined based on the training time of the nodes participating in the training in this round of training and the model complexity of this round of training.
[0241] In some embodiments, the first duration is equal to the sum of the training durations of the acquired ground nodes in the current round of training; the second duration is equal to the sum of the training durations of the acquired satellite nodes in the current round of training.
[0242] It should be noted that the division of units in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. In addition, each functional unit in each embodiment of the present application may be integrated into a processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0243] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a processor-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) or a processor (processor) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), disk or optical disk and other media that can store program codes.
[0244] It should be noted here that the above-mentioned device provided in the embodiment of the present application can implement all the method steps implemented in the above-mentioned method embodiment, and can achieve the same technical effect. The parts and beneficial effects of this embodiment that are the same as those in the method embodiment will not be described in detail here.
[0245] On the other hand, an embodiment of the present application further provides a non-transitory readable storage medium, wherein the non-transitory readable storage medium stores a computer program, and the computer program is used to enable a processor to execute the federated learning method provided in the above embodiments.
[0246] It should be noted here that the non-transitory readable storage medium provided in the embodiment of the present application can implement all the method steps implemented in the above-mentioned method embodiment and can achieve the same technical effect. The parts and beneficial effects of this embodiment that are the same as those in the method embodiment will not be described in detail here.
[0247] The non-transitory readable storage medium can be any available medium or data storage device that can be accessed by a computer, including but not limited to magnetic storage (such as floppy disks, hard disks, magnetic tapes, magneto-optical disks (MO), etc.), optical storage (such as CD, DVD, BD, HVD, etc.), and semiconductor storage (such as ROM, EPROM, EEPROM, non-volatile memory (NANDFLASH), solid-state drive (SSD)), etc.
[0248] The technical solution provided in the embodiment of the present application can be applicable to a variety of systems, especially 5G systems or 6G systems. For example, the applicable system can be a global system of mobile communication (GSM) system, a code division multiple access (CDMA) system, a wideband code division multiple access (WCDMA) general packet radio service (GPRS) system, a long term evolution (LTE) system, a LTE frequency division duplex (FDD) system, a LTE time division duplex (TDD) system, an advanced long term evolution (LTE-A) system, a universal mobile telecommunication system (UMTS), a world-wide interoperability for microwave access (WiMAX) system, a 5G new air interface (NR) system, etc. These various systems include terminal equipment and network equipment. The system may also include a core network part, such as an evolved packet system (EPS), a 5G system (5GS), etc.
[0249] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) that contain computer-usable program code.
[0250] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer executable instructions. These computer executable instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0251] These processor executable instructions may also be stored in a processor readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the processor readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0252] These processor-executable instructions may also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0253] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A federated learning method, characterized in that: Applicable to aggregation servers, including: In each round of training of the federated learning model, the training duration of the nodes participating in the training in the current round of training is obtained, wherein the nodes participating in the training include ground nodes and satellite nodes; Determine the target model complexity based on the training duration of the nodes participating in the training in this round of training and the model complexity of this round of training; Perform model aggregation based on the complexity of the target model to obtain a global model; The global model is distributed to the nodes participating in the training, so that the nodes participating in the training can perform the next round of training.
2. The federated learning method according to claim 1, characterized in that: The determining of the target model complexity based on the training duration of the nodes participating in the training in the current round of training and the model complexity of the current round of training includes: Determine a first duration based on the acquired training duration of each of the ground nodes in the current round of training; determine a second duration based on the acquired training duration of each of the satellite nodes in the current round of training; The target model complexity is determined based on the first duration, the second duration, and the model complexity of this round of training.
3. The federated learning method according to claim 2, characterized in that: The determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes: In R*T t <T s ≤T t In the case of comparison T s and T max ; If T s ≤T max , then determine C out =C in ; If T s >T max , then determine C out =C in / (T s / T max ); Among them, R is the preset dynamic adjustment parameter, T t represents the first duration, T s represents the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Represents the complexity of the target model.
4. The federated learning method according to claim 2, characterized in that: The determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes: In T s ≤R*T t In the case of comparison T s and T max ; If T s ≤T max , then determine C out =C in *(R*T t / T s ); If T s >T max , then reduce the current model complexity for the nodes participating in the training to re-perform the current round of training, and set R to the minimum value in the value range, re-obtain the training time of the nodes participating in the training in the current round of training, and then re-determine the target model complexity based on the training time of the nodes participating in the training in the current round of training and the model complexity of the current round of training; Among them, R is the preset dynamic adjustment parameter, T t represents the first duration, T s represents the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Represents the complexity of the target model.
5. The federated learning method according to claim 2, characterized in that: The determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes: In T s ≥T t In the case of comparison T s and T max ; If T s ≤T max , then determine C out =C in / (T t / T s ); If T s >T max , then according to T t and T max Compare the results between them and determine the complexity of the target model; Among them, T t represents the first duration, T s represents the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Represents the complexity of the target model.
6. The federated learning method according to claim 5, characterized in that: According to T t and T max The comparison results between them determine the complexity of the target model, including: If T t ≤T max , then determine C out =C in / (T s / T max ); If T t >T max , then reduce the current model complexity for the nodes participating in the training to re-perform this round of training, then re-obtain the training time of the nodes participating in the training in this round of training, and re-determine the target model complexity based on the training time of the nodes participating in the training in this round of training and the model complexity of this round of training.
7. The federated learning method according to any one of claims 2 to 6, characterized in that: The first duration is equal to the sum of the training durations of the acquired ground nodes in this round of training; the second duration is equal to the sum of the training durations of the acquired satellite nodes in this round of training.
8. An aggregation server, characterized in that: Including memory, transceiver, processor; Memory for storing computer programs; a transceiver, configured to transmit and receive data under the control of the processor; and a processor, configured to read the computer program in the memory and perform the following operations: In each round of training of the federated learning model, the training duration of the nodes participating in the training in the current round of training is obtained, wherein the nodes participating in the training include ground nodes and satellite nodes; Determine the target model complexity based on the training duration of the nodes participating in the training in this round of training and the model complexity of this round of training; Perform model aggregation based on the complexity of the target model to obtain a global model; The global model is distributed to the nodes participating in the training, so that the nodes participating in the training can perform the next round of training.
9. The aggregation server according to claim 8, characterized in that: The determining of the target model complexity based on the training duration of the nodes participating in the training in the current round of training and the model complexity of the current round of training includes: Determine a first duration based on the acquired training duration of each of the ground nodes in the current round of training; determine a second duration based on the acquired training duration of each of the satellite nodes in the current round of training; The target model complexity is determined based on the first duration, the second duration, and the model complexity of this round of training.
10. The aggregation server according to claim 9, characterized in that: The determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes: In R*T t <T s ≤T t In the case of comparison T s and T max ; If T s ≤T max , then determine C out =C in ; If T s >T max , then determine C out =C in / (T s / T max ); Among them, R is the preset dynamic adjustment parameter, T t represents the first duration, T s represents the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Represents the complexity of the target model.
11. The aggregation server according to claim 9, characterized in that: The determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes: In T s ≤R*T t In the case of comparison T s and T max ; If T s ≤T max , then determine C out =C in *(R*T t / T s ); If T s >T max , then reduce the current model complexity for the nodes participating in the training to re-perform the current round of training, and set R to the minimum value in the value range, re-obtain the training time of the nodes participating in the training in the current round of training, and then re-determine the target model complexity based on the training time of the nodes participating in the training in the current round of training and the model complexity of the current round of training; Among them, R is the preset dynamic adjustment parameter, T t represents the first duration, T s represents the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Represents the complexity of the target model.
12. The aggregation server according to claim 9, characterized in that: The determining the target model complexity based on the first duration, the second duration, and the model complexity of the current round of training includes: In T s ≥T t In the case of comparison T s and T max ; If T s ≤T max , then determine C out =C in / (T t / T s ); If T s >T max , then according to T t and T max Compare the results between them and determine the complexity of the target model; Among them, T t represents the first duration, T s represents the second duration, T max is the preset maximum single training duration, C in Indicates the model complexity of this round of training, C out Represents the complexity of the target model.
13. The aggregation server according to claim 12, characterized in that: According to T t and T max The comparison results between them determine the complexity of the target model, including: If T t ≤T max , then determine C out =C in / (T s / T max ); If T t >T max , then reduce the current model complexity for the nodes participating in the training to re-perform this round of training, then re-obtain the training time of the nodes participating in the training in this round of training, and re-determine the target model complexity based on the training time of the nodes participating in the training in this round of training and the model complexity of this round of training.
14. The aggregation server according to any one of claims 9 to 13, characterized in that: The first duration is equal to the sum of the training durations of the acquired ground nodes in this round of training; the second duration is equal to the sum of the training durations of the acquired satellite nodes in this round of training.
15. A federated learning device, characterized in that: include: An acquisition unit, used to acquire, in each round of training of the federated learning model, the training duration of the nodes participating in the training in the current round of training, wherein the nodes participating in the training include ground nodes and satellite nodes; A determination unit, used to determine the target model complexity based on the training duration of the nodes participating in the training in this round of training and the model complexity of this round of training; An aggregation unit, used for performing model aggregation based on the complexity of the target model to obtain a global model; A distribution unit is used to distribute the global model to the nodes participating in the training, so that the nodes participating in the training can perform the next round of training.
16. A non-transitory readable storage medium, characterized in that: The non-transitory readable storage medium stores a computer program, and the computer program is used to enable a processor to execute the method according to any one of claims 1 to 7.