Methods, apparatuses, and systems for federated learning
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2023-09-11
- Publication Date
- 2026-07-29
AI Technical Summary
Current federated learning (FL) schemes do not consider the layer-specific sensitivity of machine learning models to channel quality, leading to errors and disruptions during training due to noise and limited network resources.
The method involves an server network entity (SNE) that sends a machine learning model to client network entities (CNEs) and identifies layers with sensitivity less than a maximum threshold based on channel quality, allowing only those layers to be updated and aggregated for the global model.
This approach improves the accuracy and robustness of the machine learning model by selectively handling sensitive layers based on channel quality, reducing errors and optimizing resource usage in communication networks.
Smart Images

Figure CN2023117973_20032025_PF_FP_ABST
Abstract
Description
Methods, Apparatuses, and Systems for Federated LearningTECHNICAL FIELD
[0001] The present disclosure generally relates to communication networks, and more particularly to methods, apparatuses, and systems for channel-aware layer-wise federated learning in communication networks.BACKGROUND
[0002] Federated learning (FL) is a form of decentralized machine learning wherein multiple entities in a network collaborate to train a machine learning (ML) model without exchanging the training data respective to each entity. FL may be orchestrated and managed by a single network entity known as a server network entity (SNE) , which may, for example, be a central server or network base station. The other, collaborating entities may be known as client network entities (CNEs) , which may receive directions from the SNE and may each have respective datasets that can be used to train the ML model. CNEs could include, for example, user equipment such as mobile phones, laptop computers, smart watches, autonomous cars, or internet-of-things (IoT) devices. CNEs may further be organizations such as banks or hospitals. The ML model to be trained may comprise multiple layers that can, for example, generate predictions or identify patterns from input data. One area of application for FL is in network communications, where the ML model may be used at various levels, such as the operation support system, business support system, physical layer, and medium access control layer. At these levels, an ML model can be used, for example, towards predicting or classifying traffic, predicting content popularity, scheduling network resources, beamforming, and detecting signals.
[0003] In a typical FL arrangement for training an ML model, an SNE may first send the model, namely the model weights and biases, to each CNE through communication channels. Each CNE may then train the ML model on its respective local dataset and return its locally trained ML model to the SNE. The SNE may then aggregate the locally trained ML models to produce an updated, global ML model. Aggregation can be done through federated averaging, wherein the collection of model parameters from each CNE may be averaged. Cycles of sharing the global ML model, locally training it, returning the locally trained versions, and updating the global ML model may repeat to improve the model’s accuracy and may only conclude once a convergence criterion is met.
[0004] By leveraging broad pools of training data, FL can improve the accuracy of ML models. At the same time, FL maintains data privacy and ownership by keeping the training data at each CNE. This is particularly important for applications with sensitive data, such as those involving health data, where preserving the privacy of patient data is essential. However, FL can be limited by the communication channels through which the models are sent. Noise in a channel can distort the model data, and limited network bandwidth or CNE computing power can disrupt training. Some layers within an ML model can be more sensitive to such noise and disruptions than other layers, making them more prone to introducing errors during training. Current FL schemes do not consider this layer-specific sensitivity but instead treat the model as a black box. Thus, the weaknesses of individual layers of a model can hinder the training of the whole model and limit the efficacy of FL.
[0005] Therefore, improvements in FL are desirable.
[0006] This background information is provided to reveal information believed by the applicant to be of possible relevance to the disclosure of the present invention. No admission is necessarily intended, nor should be construed, that any of the preceding information constitutes prior art against the disclosure of the present invention.SUMMARY
[0007] An object of embodiments of the present disclosure is to provide improvements in FL.
[0008] A first aspect of the present disclosure is to provide a method for FL that considers channel quality and the sensitivity of ML model layers to channel quality. The method may be performed by an SNE coupled to a plurality of CNEs through a respective plurality of communication channels each having a respective channel quality. Each CNE of the plurality of CNEs may have a respective training dataset. The method may comprise: sending a same ML model to each CNE of the plurality of CNEs for training with the respective training dataset, the ML model including a plurality of layers each having a respective sensitivity to the respective channel quality; identifying, for each CNE of the plurality of CNEs, in accordance with the respective channel quality and in accordance with the sensitivity of each layer of the ML model, one or more layers of the ML model, wherein the sensitivity of each of the one or more layers is less than a maximum sensitivity threshold corresponding to the respective channel quality; obtaining from each CNE of the plurality of CNEs, one or more groups of trained model parameters, wherein each group of trained model parameters corresponds to one of the one or more layers of the plurality of layers; and updating the ML model in accordance with the one or more groups of trained model parameters obtained from each CNE of the plurality of CNEs. In some embodiments, the method may be repeated for one or more repetitions.
[0009] In some embodiments of the first aspect, the method may further comprise: by the SNE, obtaining a respective pilot signal from each CNE of the plurality of CNEs; and determining, for each CNE of the plurality of CNEs, the respective channel quality in accordance with the respective pilot signal. In some embodiments, the pilot signal may be a null data packet.
[0010] In some embodiments of the first aspect, the updating the ML model in accordance with the one or more groups of trained model parameters obtained from each CNE of the plurality of CNEs may include determining one or more average model parameters each defined by a respective average over corresponding trained model parameters of the one or more groups of trained model parameters from each CNE of the plurality of CNEs.
[0011] In some embodiments of the first aspect, the channel quality of each communication channel of the plurality of communication channels may depend from a measure of noise in the respective communication channel. In some embodiments, the measure of noise in the respective communication channel may be a signal-to-noise ratio. In some other embodiments, the channel quality of each communication channel of the plurality of communication channels may depend from a measure of at least one of available bandwidth and delay for the respective communication channel.
[0012] In some embodiments of the first aspect, the SNE may be one of a base station or a central server. In some embodiments, at least one CNE of the plurality of CNEs may be one of a user equipment or an internet-of-things device. In some embodiments, at least one communication channel of the plurality of communication channels may be a wireless communication channel.
[0013] A second aspect of the present disclosure is to provide another method for FL that considers channel quality and the sensitivity of ML model layers to channel quality. The method may be performed by a CNE coupled to an SNE through a communication channel having a channel quality. The CNE may have a training dataset. The method may comprise: receiving a machine learning (ML) model from the SNE, the ML model including a plurality of layers each having a respective sensitivity to the channel quality; training the ML model in accordance with the training dataset; and sending one or more groups of trained model parameters, the one or more groups of trained model parameters corresponding to one or more layers of the plurality of layers identified by the SNE in accordance with the channel quality and the sensitivity of each layer of the plurality of layers, the sensitivity of each of the one or more layers being less than a maximum sensitivity threshold corresponding to the channel quality. In some embodiments, the method may be repeated for one or more repetitions. In some further embodiments, the method may further comprise, by the CNE: identifying, in accordance with the one or more layers of the plurality of layers, one or more remaining layers of the plurality of layers to be kept at the CNE, the one or more remaining layers excluding the one or more layers of the plurality of layers, each of the one or more remaining layers having a respective group of trained model parameters; and for at least one repetition of the one or more repetitions, modifying the ML model with each respective group of trained model parameters of the one or more remaining layers.
[0014] In some embodiments of the second aspect, training the ML model in accordance with the training dataset may include generating, for each layer of the plurality of layers, a respective group of trained model parameters.
[0015] In some embodiments of the second aspect, the method may further comprise, by the CNE, sending a pilot signal to the SNE. In some embodiments, the pilot signal may be a null data packet.
[0016] In some embodiments of the second aspect, the channel quality of the communication channel may depend from a measure of noise in the communication channel. In some embodiments, the measure of noise in the communication channel may be a signal-to-noise ratio. In some other embodiments, the channel quality of the communication channel may depend from a measure of at least one of available bandwidth and delay for the communication channel.
[0017] In some embodiments of the second aspect, the SNE may be one of a network base station or a central server. In some embodiments, the CNE may be one of a user equipment or an internet-of-things device. In some embodiments, the communication channel may be a wireless communication channel.
[0018] A third aspect of the present disclosure is to provide a communication network. The network may comprise a plurality of CNEs each having a respective training dataset, and an SNE coupled to the plurality of CNEs through a respective plurality of communication channels each having a respective channel quality. The SNE may be configured to: send a same ML model to each CNE of the plurality of CNEs for training with the respective training dataset, the ML model including a plurality of layers each having a respective sensitivity to the respective channel quality; identify, for each CNE of the plurality of CNEs, in accordance with the respective channel quality and in accordance with the sensitivity of each layer of the ML model, one or more layers of the ML model, wherein the sensitivity of each of the one or more layers is less than a maximum sensitivity threshold corresponding to the respective channel quality; obtain from each CNE of the plurality of CNEs, one or more groups of trained model parameters, wherein each group of trained model parameters corresponds to one of the one or more layers of the plurality of layers; and update the ML model in accordance with the one or more groups of trained model parameters obtained from each CNE of the plurality of CNEs.
[0019] In some embodiments of the third aspect, the SNE may be further configured to: obtain a respective pilot signal from each CNE of the plurality of CNEs; and determine, for each CNE of the plurality of CNEs, the respective channel quality in accordance with the respective pilot signal.
[0020] In some embodiments of the third aspect, each CNE of the plurality of CNEs may be configured to: receive the ML model from the SNE; train the ML model in accordance with the respective training dataset; and send the respective one or more groups of trained model parameters to the SNE. In some embodiments, each CNE of the plurality of CNEs may be further configured to: identify, in accordance with the respective one or more layers of the plurality of layers, a respective one or more remaining layers of the plurality of layers to be kept, the one or more remaining layers excluding the respective one or more layers of the plurality of layers, each of the one or more remaining layers having a respective group of trained model parameters; and modify the ML model with each respective group of trained model parameters of the one or more remaining layers.
[0021] A fourth aspect of the present disclosure is to provide an electronic device comprising a processor coupled to tangible, non-transitory processor-readable memory, the memory having stored thereon instructions to be executed by the processor to implement the method of the first aspect or the second aspect. Some embodiments of the fourth aspect may further provide the embodied variations of the first and second aspects.
[0022] A fifth aspect of the present disclosure is to provide a non-transitory processor-readable memory having stored thereon instructions to be executed by a processor to implement the method of the first aspect or the second aspect. Some embodiments of the fifth aspect may further provide the embodied variations of the first and second aspects.
[0023] A sixth aspect of the present disclosure is to provide a computer program comprising instructions to be executed by a computer to implement the method of the first aspect or the second aspect. Some embodiments of the sixth aspect may further provide the embodied variations of the first and second aspects.
[0024] Embodiments have been described above in conjunction with aspects of the disclosure of the present invention upon which they can be implemented. Those skilled in the art will appreciate that embodiments may be implemented in conjunction with the aspect with which they are described but may also be implemented with other embodiments of that aspect.
[0025] When embodiments are mutually exclusive, or are incompatible with each other, it will be apparent to those skilled in the art. Some embodiments may be described in relation to one aspect, but may also be applicable to other aspects, as will be apparent to those of skill in the art.BRIEF DESCRIPTION OF THE DRAWINGS
[0026] FIG. 1 shows a typical arrangement for FL where embodiments of the present disclosure may be implemented.
[0027] FIG. 2A shows an ML model according to example typical of the disclosure of the.
[0028] FIG. 2B shows an ML model according to embodiments of the present disclosure.
[0029] FIG. 3 shows a flowchart of a method for FL according to an embodiment of the present disclosure.
[0030] FIG. 4A shows an example of an SNE sending an ML model to CNEs, according to embodiments of the present disclosure.
[0031] FIG. 4B shows an example of CNEs sending trained model parameters to an SNE, according to embodiments of the present disclosure.
[0032] FIG. 5 shows a flowchart of a method for FL according to an embodiment of the present disclosure.
[0033] FIG. 6A shows an example of an SNE re-sending an ML model to CNEs, according to embodiments of the present disclosure.
[0034] FIG. 6B shows an example of a CNE modifying an ML model with unsent layers, according to embodiments of the present disclosure.
[0035] FIG. 7 shows a call-flow process for FL, according to embodiments of the present disclosure.
[0036] FIG. 8 shows an apparatus for FL, according to embodiments of the present disclosure.
[0037] FIG. 9 shows a schematic of an embodiment of an electronic device that may implement all or part of the methods and features of the present disclosure.
[0038] It will be noted that throughout the appended drawings, like features are identified by like reference numerals.DETAILED DESCRIPTION
[0039] To improve FL, embodiments of the present disclosure are generally directed towards considering channel quality when training ML models. Some embodiments may evaluate the quality of each communication channel that connects (i.e., “couples” ) a CNE to an SNE and may determine which layers of a locally trained model should be passed to the SNE and incorporated into a global model. To consider dynamic changes in each channel, the quality of each channel may be evaluated for each round of training. In some further embodiments, the layers of a locally trained model that are not passed to the SNE may be used towards a successive round of local training at the respective CNE.
[0040] The present disclosure sets forth various embodiments via the use of block diagrams, flowcharts, and examples. Insofar as such block diagrams, flowcharts, and examples contain one or more functions and / or operations, it will be understood by a person skilled in the art that each function and / or operation within such block diagrams, flowcharts, and examples can be implemented, individually or collectively, by a wide range of hardware, software, firmware, or combination thereof. The terms in each of the following sets may be used interchangeably throughout the disclosure: model parameters and weights and biases; and communication channel and link.
[0041] FIG. 1 shows a typical network arrangement for FL where embodiments according to the present disclosure may be implemented. An SNE 100 may be connected to a plurality of CNEs 101 through corresponding communication channels 102. The SNE 100 and CNEs 101 may collaborate towards training an ML model. The ML model and parameters associated with layers thereof may be sent between the network entities by the communication channels 102. The SNE 100 may direct or orchestrate FL with the CNEs 101. Examples of an SNE may include a central server, a cloud server, or a network base station. Examples of CNEs 101 may include user equipment such as mobile phones, laptop computers, smart watches, autonomous cars, or IoT devices. Each communication channel 102 may include, for example, physical links (e.g., ethernet or optical cables) and / or wireless links (e.g., radiowave or microwave) . Each communication channel 102 may further be of a particular quality (i.e., channel quality) , which may, for example, be defined by a suitable measure of noise in the communication channel 102. An example measure of noise could be a signal-to-noise ratio. The channel quality may be defined by other communication parameters, such as a measure of an available bandwidth or delay.
[0042] FIG. 2A shows an ML model 200 according to schemes for FL. the ML model 200 may be viewed as a ‘black box’ that can generate an output 201 from input data 202. With this view, FL may not consider the structure of the ML model 200, which may include disregarding any layers or parameters thereof. FIG. 2B shows an ML model 200 according to FL as implemented according to embodiments of the present disclosure. In contrast with FIG. 2A, FIG. 2B shows the structure of the ML model 200, which may be considered by embodiments of the present disclosure. The ML model 200 may comprise a plurality of layers 203, each of which may have a group of model parameters 204, such as weights and biases, associated with it. Each layer 203 may prescribe processing that transforms the input data 202 through a mathematical expression according to the model parameters 204.
[0043] When training an ML model 200, such as the one depicted in FIG. 2B, some layers 203 may be more sensitive to error than other layers 203. Such errors can be introduced by noise or disruptions in a communication channel when sending the ML model 200 or its model parameters 204 thereby. Thus, different layers 203 of an ML model 200 can have different sensitivity to channel quality. Considering this sensitivity to channel quality is important for mitigating the effects of error on training.
[0044] FIG. 3 shows a flowchart of a method for FL according to an embodiment of the present disclosure. At action 301, an SNE 100 may initialize an ML model 200 (i.e., the model) . The SNE 100 may be connected to a plurality of CNEs 101 through communication channels 102, as shown in FIG. 1. At action 302, the SNE 100 may send the same ML model 200 to each CNE 101 through the communication channel 102 respective to each CNE 101. This sending of the ML model 200 to each CNE 101 may comprise sending all the model parameters 204 to each CNE 101.
[0045] After receiving the ML model 200, each CNE 101 may then locally train it, at action 303. Local training may comprise, for example, forward propagating an input dataset 202 (i.e., a training dataset) through the ML model 200 and backpropagating the results to obtain updated model parameters 204 (i.e., trained model parameters) . Each CNE 101 may have a respective input dataset 202 that it uses for local training. Each input dataset 202 may have corresponding true labels or true values that can be used in backpropagation to update the ML model 200.
[0046] At action 304, the channel quality for each communication channel 102 may be assessed to determine whether all or some of the locally trained layers 203 of the respective CNE 101 should be sent to the SNE 100. The channel quality for each CNE 101 may be assessed to determine a respective maximum sensitivity threshold, against which the sensitivity of each layer 203 may be compared. For example, if the sensitivity of a particular layer 203 is less than the maximum sensitivity threshold for a CNE 101, that layer may be identified for sending to the SNE 100. Alternatively, the channel quality may be compared to a minimum quality threshold for each layer 203. For example, if the channel quality is above the minimum quality threshold for a particular layer 203, it may be determined that the layer 203 should be sent. The minimum quality threshold may be based on the sensitivity of that layer 203 to error. Either a minimum quality threshold or a maximum sensitivity threshold may be used to assess if the channel quality for a CNE 101 is sufficient for sending each of the locally trained layers 203. A person skilled in the art will appreciate that these thresholds have equivalent effects in determining which layers should be sent. If the channel quality for a CNE 101 is determined to be sufficient for all of the layers 203 for that CNE 101, all of the trained model parameters 204 for that CNE 101 may be sent to the SNE 100, per action 305. If, however, the channel quality is determined to be sufficient for only some of the layers 203 for a CNE 101, only the groups of trained model parameters 204 corresponding to those layers 203 may be sent to the SNE 100, per action 306. Each threshold may be predetermined and fixed or may be dynamic and based on analytics performed or obtained by any of the network entities. The sensitivity of each layer 203 may be determined beforehand and through any appropriate method. For example, the sensitivity of each layer 203 may be estimated through simulation of various channel conditions applied to each individual layer 203. The performance, such as the prediction accuracy, of the ML model 200 can then indicate the sensitivity of each layer 203. The channel quality may, for example, be assessed by the SNE 100 in accordance with a pilot signal that is sent from the respective CNE 101. The pilot signal may comprise a standard or predetermined signal that, upon transmission, can be inspected for errors. The pilot signal could, for example, be a null data packet. In assessing the layers 203, an index of layers may be generated for each CNE 101 that identifies which layers 203 should be sent to the SNE 100. Each index of layers may be generated by the SNE 100 and sent to the corresponding CNE 101.
[0047] After receiving the locally trained layers 203, as identified at action 304, for each CNE 101, the SNE 100 may aggregate the model parameters 204 of these layers to update the ML model 200. Aggregation may include federated averaging of the trained model parameters, wherein one or more average model parameters may be determined, with each average model parameter being defined by an average over corresponding trained model parameters 204 of the groups of trained model parameters obtained from each CNE 101. For example, a first CNE 101 and a second CNE 101 may each send a first group and a second group of trained model parameters corresponding to a first layer and a second layer; each trained model parameter of the first group from the first CNE 101 may be averaged with the corresponding trained model parameter of the first group from the second CNE 101, and each trained model parameter of the second group from the first CNE 101 may be averaged with the corresponding trained model parameter of the second group from the second CNE 101. The average model parameters may be incorporated into the ML model 200 to update it and create a new global model.
[0048] Actions 302 to 307 may constitute one round of training (i.e., an epoch or a “repetition” ) . Multiple rounds of training may be performed to improve the accuracy of the ML model 200. At action 308, a convergence criterion may be evaluated to determine whether another round of training should be initiated. The convergence criterion may, for example, be a threshold amount of error between results of the model and true labels, a threshold rate of change in such errors, or a threshold number of training rounds. Convergence may further be determined by monitoring a validation error, wherefor a subset of input data 202 is not used in training but is used for validating the model. In this case, convergence may be reached when the errors for the validation subset begin to diverge from changes associated with the errors of the training data or when the errors of the validation subset begin to increase. At action 308, more than one convergence criterion may be evaluated. If convergence has not been achieved, another round of training may begin through action 302. If convergence has been achieved, training of the ML model 200 may conclude, per action 309.
[0049] FIG. 4A shows an example of an SNE 100 sending an ML model 200 to a plurality of CNEs 101 through respective communication channels 102. The ML model 200 is being sent in accordance with action 302, as discussed in relation to FIG. 3. The ML model 200 is shown with multiple layers 203 that each have model parameters 204 associated with them. FIG. 4B, following the example of FIG. 4A, shows an example of locally trained layers 203 being sent to an SNE 100 from each CNE 101. The trained layers 203 are being sent in accordance with actions 304 to 306, as discussed in relation to FIG. 3. In this example, the trained layers 203 include layers that are more sensitive to error ( ‘sensitive layers’ 401; shown with a dashed line) than the remaining layers ( ‘less-sensitive layers’ 402; shown with a double line) . The example further includes two CNEs 101 (CNEs 403 and 404) that are connected to the SNE 100 through communication channels 102 with a higher channel quality ( ‘high-quality channels’ 405; shown with a solid line) than a remaining third channel ( ‘low-quality channel’ 406; shown with a dot-dash line) that connects a third CNE 101 (CNE 407) with the SNE 100. The high-quality channels 405 have a channel quality sufficient for sending the sensitive layers 401 and the less-sensitive layers 402. Therefore, CNE 403 and CNE 404 each send all of the trained layers 203 to the SNE 100. The channel quality of the low-quality channel 406 is not sufficient for sending the sensitive layers 401 but is still sufficient for sending the less-sensitive layers 402. Therefore, CNE 407 only sends the less-sensitive layers 402 to the SNE 100.
[0050] FIG. 5 shows a flowchart of a method for FL according to another embodiment of the present disclosure. Actions 301 to 309 of this method may proceed as discussed in relation to FIG. 3. However, once each CNE 101 has received the ML model 200 from the SNE 100, at action 302, each CNE 101 may then modify, at action 501, the ML model 200 with any trained layers 203 that were not sent to the SNE 100 in a previous round of training. Modifying the ML model 100 may include substituting some or all of its layers 203 with the corresponding unsent trained layers 203. Action 501 may be performed for every round of training for which there are previously unsent trained layers 203 at a CNE 101. After modifying the ML model 100, a CNE 101 may proceed to locally train the ML model 100, per action 303 as discussed in relation to FIG. 3. To enable modifications in future rounds, each CNE 101 may keep the trained layers 203 that are not sent to the SNE 100.
[0051] FIG. 6A shows an example of an SNE 100 sending an ML model 200 to a plurality of CNEs 101 (i.e., CNEs 403, 404, 407) through respective communication channels 102 for a second round of training. The example of FIG. 6A follows the example shown in FIG. 4B. The ML model 200 is being sent in accordance with action 302, as discussed in relation to FIG. 5. The ML model 200 is shown with multiple layers 203 that each have model parameters 204 associated with them. FIG. 6B shows an example of a CNE 101 modifying an ML model 200 received from an SNE 100. The ML model 200 is being modified in accordance with action 501, as discussed in relation to FIG. 5. The example of FIG. 6B follows the example shown in FIG. 6A. In a previous round, as discussed in relation to FIG. 4B, CNE 403 and CNE 404 sent all of their trained layers 203 to the SNE 100, whereas CNE 407 only sent some of its trained layers 203. In the example of FIG. 6A, CNE 404 modifies 601 the received ML model 200 with sensitive layers 401 that were not sent in the previous training round.
[0052] FIG. 7 shows a call-flow process for FL according to embodiments of the present disclosure. The call flow includes actions performed by and communications sent between an SNE 100 and a plurality of CNEs 101 in training an ML model 200. Each communication (message) may be sent through a communication channel 102 respective to each CNE 101. The process may begin with each CNE 101 sending a participation request 701 to the SNE 100 to participate in training the ML model 200. The SNE 100 may then authorize 702 the participation of each CNE 101 and send the same ML model 200 to each participating CNE 101. After receiving the ML 200, each participating CNE 101 may locally train 703 it. Each CNE 101 may then send a pilot signal 704 to the SNE 100 to estimate the quality of the respective communication channel 102 in the uplink direction. Upon receiving each pilot signal 704, the SNE 100 may estimate 705 the quality of the corresponding communication channel 102 by comparing the received pilot signal 704 against a predetermined expectation for the pilot signal 704. The SNE 100 may determine an index of layers 706 for each CNE 101 that identifies trained layers 203 that should be sent, based on the respective channel quality and the sensitivity of each layer 203 of the ML model 200. Each CNE 101 may then return the model parameters 204 of the trained layers 203 identified by the index of layers 706 to the SNE 100. The SNE 100 may aggregate 707 the model parameters 204 received from each CNE 101 and incorporate them into the ML model 200 to generate a new global model 708. The SNE 100 may initiate another round of training according to the above actions by sending the new global model 708 to each CNE 101. Training rounds may be repeated one or more time to improve the accuracy of the ML model 200.
[0053] Embodiments of the present disclosure may be implemented using electronics hardware, software, or a combination thereof. Some embodiments may be implemented by one or multiple computer processors executing program instructions stored in memory. Some embodiments may be implemented partially or fully in hardware, for example, using one or more field programmable gate arrays (FPGAs) or application specific integrated circuits (ASICs) to rapidly perform processing operations.
[0054] FIG. 8 shows an apparatus 800 for implementing, at least partly, methods for FL according to embodiments of the present disclosure. The apparatus may be located at a network element 810 of a communication network, such as a SNE 100 or a CNE 101. The apparatus may include a network interface 820 and processing electronics 830. The processing electronics 830 may include a computer processer executing program instructions stored in memory, or other electronics components such as digital circuitry, including, for example, FPGAs and ASICs. The network interface 820 may include an optical communication interface or radio communication interface, such as a transmitter and receiver. The apparatus 800 may include several functional components, each of which may be partially or fully implemented using the underlying network interface 820 and processing electronics 830. Examples of functional components may include modules for sending 840 ML model parameters, training 841 an ML model, assessing 842 communication channel quality, requesting 843 ML model layers, and aggregating 844 ML model parameters.
[0055] FIG. 9 is a schematic diagram of an electronic device 900 that may perform any or all of the operations of the above methods and features explicitly or implicitly described herein, according to different embodiments of the present disclosure. For example, a computer equipped with network functions may be configured as the electronic device 900. The electronic device 900 may be used as part of one or more of: an SNE 100, a CNE 101, a controller, a server, a base station, a processing device, etc.
[0056] As shown, the device includes a processor 910, such as a Central Processing Unit (CPU) or specialized processors such as a Graphics Processing Unit (GPU) or other such processor unit, memory 920, a network interface 930, and a bi-directional bus 940 to communicatively couple the components of electronic device 900. Electronic device 900 may also optionally include non-transitory mass storage 950, an I / O interface 960, and a transceiver 970. According to certain embodiments, any or all of the depicted elements may be utilized, or only a subset of the elements. Furthermore, the device 900 may contain multiple instances of certain elements, such as multiple processors, memories, or transceivers. In addition, elements of the hardware device may be directly coupled to other elements without the bi-directional bus. Additionally, or alternatively to a processor 910 and memory 920, other electronics, such as integrated circuits, may be employed for performing the required logical operations.
[0057] The memory 920 may include any type of non-transitory memory such as static random access memory (SRAM) , dynamic random access memory (DRAM) , synchronous DRAM (SDRAM) , read-only memory (ROM) , any combination of such, or the like. Memory 920 may include more than one type of memory, such as ROM for use at boot-up, and DRAM for program and data storage for use while executing programs. The mass storage element 950 may include any type of non-transitory storage device, such as a solid state drive, a hard disk drive, a magnetic disk drive, an optical disk drive, a USB drive, or any computer program product configured to store data and machine executable program code. According to certain embodiments, the memory 920 or mass storage 950 may have recorded thereon statements and instructions executable by the processor 910 for performing any of the aforementioned method operations described above. In some embodiments, mass storage 950 may be remote to the electronic device 900 and accessible through use of a network interface such as interface 930. In the embodiment of FIG. 9, mass storage 950 is distinct from memory 920 and may generally perform storage tasks compatible with higher latency but may generally provide lesser or no volatility. In some embodiments, mass storage 950 may be integrated with the memory 920.
[0058] Network interface 930 may include at least one of a wired network interface and a wireless network interface. The network interface 930 may include a wired network interface to connect to a communication network 980 and may also include a radio access network interface 990 for connecting to the communication network 980 or to other network elements over a radio link. The network interface 930 enables the electronic device 900 to communicate with remote entities such as those connected to the communication network 980.
[0059] The bi-directional bus 940 may be one or more of any type of several bus architectures, including a memory bus or memory controller, a peripheral bus, or a video bus.
[0060] It will be appreciated that, although specific embodiments of the technology have been described herein for purposes of illustration, various modifications may be made without departing from the scope of the technology. The specification and drawings are, accordingly, to be regarded simply as an illustration of the invention as defined by the appended claims, and are contemplated to cover any and all modifications, variations, combinations or equivalents that fall within the scope of the disclosure of the present invention. In particular, it is within the scope of the technology to provide a computer program product or program element, or a program storage or memory device such as a magnetic or optical wire, tape or disc, or the like, for storing signals readable by a machine, for controlling the operation of a computer according to the method of the technology and / or to structure some or all of its components in accordance with the system of the technology.
[0061] Acts associated with the method described herein may be implemented as coded instructions in a computer program product. In other words, the computer program product may be a computer-readable medium upon which software code may be recorded to execute the method when the computer program product is loaded into memory and executed on the microprocessor of the wireless communication device.
[0062] Further, each operation of the method may be executed on any computing device, such as a personal computer, server, PDA, or the like and pursuant to one or more, or a part of one or more, program elements, modules or objects generated from any programming language, such as C++, Java, or the like. In addition, each operation, or a file or object or the like implementing each said operation, may be executed by special purpose hardware or a circuit module designed for that purpose.
[0063] Embodiments of the present disclosure may be implemented by using hardware only or by using software and a universal hardware platform. Based on such understandings, the technical solution of the present disclosure may be embodied in the form of a software product. The software product may be stored in a non-volatile or non-transitory storage medium, which may be a compact disk read-only memory (CD-ROM) , USB flash disk, or a removable hard disk. The software product includes a number of instructions that enable a computer device (personal computer, server, or network device) to execute the methods provided in the embodiments of the present invention. For example, such an execution may correspond to a simulation of the logical operations as described herein. The software product may additionally or alternatively include a number of instructions that enable a computer device to execute operations for configuring or programming a digital logic apparatus in accordance with embodiments of the present disclosure.
[0064] The word “a” or “an” when used in conjunction with the term “comprising” or “including” in the claims and / or the specification may mean “one” , but it is also consistent with the meaning of “one or more” , “at least one” , and “one or more than one” unless the content clearly dictates otherwise. Similarly, the word “another” may mean at least a second or more unless the content clearly dictates otherwise.
[0065] The terms “coupled” , “coupling” or “connected” as used herein can have several different meanings depending on the context in which these terms are used. For example, as used herein, the terms coupled, coupling, or connected can indicate that two elements or devices are directly connected to one another or connected to one another through one or more intermediate elements or devices via a mechanical element depending on the particular context. The term “and / or” herein when used in association with a list of items means any one or more of the items comprising that list.
[0066] Although a combination of features is shown in the illustrated embodiments, not all of them need to be combined to realize the benefits of various embodiments of this disclosure. In other words, a system or method designed according to an embodiment of this disclosure will not necessarily include all features shown in any one of the Figures or all portions schematically shown in the Figures. Moreover, selected features of one example embodiment may be combined with selected features of other example embodiments.
[0067] Although the disclosure of the present invention has been described with reference to specific features and embodiments thereof, it is evident that various modifications and combinations can be made thereto without departing from the disclosure of the invention. The specification and drawings are, accordingly, to be regarded simply as an illustration of the invention as defined by the appended claims, and are contemplated to cover any and all modifications, variations, combinations or equivalents that fall within the scope of the disclosure of the present invention.
Claims
1.A method comprising,by a server network entity (SNE) coupled to a plurality of client network entities (CNEs) through a respective plurality of communication channels each having a respective channel quality, each CNE of the plurality of CNEs having a respective training dataset:sending a same machine learning (ML) model to each CNE of the plurality of CNEs for training with the respective training dataset, the ML model including a plurality of layers each having a respective sensitivity to the respective channel quality;identifying, for each CNE of the plurality of CNEs, in accordance with the respective channel quality and in accordance with the sensitivity of each layer of the ML model, one or more layers of the ML model, wherein the sensitivity of each of the one or more layers is less than a maximum sensitivity threshold corresponding to the respective channel quality;obtaining from each CNE of the plurality of CNEs, one or more groups of trained model parameters, wherein each group of trained model parameters corresponds to one of the one or more layers of the plurality of layers;andupdating the ML model in accordance with the one or more groups of trained model parameters obtained from each CNE of the plurality of CNEs.2.The method of claim 1 further comprising,by the SNE:obtaining a respective pilot signal from each CNE of the plurality of CNEs; anddetermining, for each CNE of the plurality of CNEs, the respective channel quality in accordance with the respective pilot signal.3.The method of any one of claims 1 or 2 wherein the method is repeated for one or more repetitions.4.The method of any one of claims 1 to 3 wherein, the updating the ML model in accordance with the one or more groups of trained model parameters obtained from each CNE of the plurality of CNEs includes determining one or more average model parameters each defined by a respective average over corresponding trained model parameters of the one or more groups of trained model parameters obtained from each CNE of the plurality of CNEs.5.The method of any one of claims 1 to 4 wherein the channel quality of each communication channel of the plurality of communication channels depends from a measure of noise in the respective communication channel.6.The method of claim 5 wherein the measure of noise in the respective communication channel is a signal-to-noise ratio.7.The method of any one of claims 1 to 4 wherein the channel quality of each communication channel of the plurality of communication channels depends from a measure of at least one of available bandwidth and delay for the respective communication channel.8.The method of any one of claims 1 to 7 wherein the SNE is one of a base station or a central server.9.The method of any one of claims 1 to 8 wherein at least one CNE of the plurality of CNEs is one of a user equipment or an internet-of-things device.10.The method of any one of claims 1 to 9 wherein at least one communication channel of the plurality of communication channels is a wireless communication channel.11.The method of claim 2 wherein the pilot signal is a null data packet.12.A method comprising,by a client network entity (CNE) coupled to a server network entity (SNE) through a communication channel having a channel quality, the CNE having a training dataset:receiving a machine learning (ML) model from the SNE, the ML model including a plurality of layers each having a respective sensitivity to the channel quality;training the ML model in accordance with the training dataset;andsending one or more groups of trained model parameters, the one or more groups of trained model parameters corresponding to one or more layers of the plurality of layers identified by the SNE in accordance with the channel quality and the sensitivity of each layer of the plurality of layers, the sensitivity of each of the one or more layers being less than a maximum sensitivity threshold corresponding to the channel quality.13.The method of claim 12 wherein the method is repeated for one or more repetitions.14.The method of claim 13 further comprising,by the CNE,identifying, in accordance with the one or more layers of the plurality of layers, one or more remaining layers of the plurality of layers to be kept at the CNE, the one or more remaining layers excluding the one or more layers of the plurality of layers, each of the one or more remaining layers having a respective group of trained model parameters;andfor at least one repetition of the one or more repetitions, modifying the ML model with each respective group of trained model parameters of the one or more remaining layers.15.The method of claim 12 wherein training the ML model in accordance with the training dataset includes generating, for each layer of the plurality of layers, a respective group of trained model parameters.16.The method of any one of claims 12 to 15 further comprising,by the CNE,sending a pilot signal to the SNE.17.The method of any one of claims 12 to 16 wherein the channel quality of the communication channel depends from a measure of noise in the communication channel.18.The method of claim 17 wherein the measure of noise in the communication channel is a signal-to-noise ratio.19.The method of any one of claims 12 to 16 wherein the channel quality of the communication channel depends from a measure of at least one of available bandwidth and delay for the communication channel.20.The method of any one of claims 12 to 19 wherein the SNE is one of a network base station or a central server.21.The method of any one of claims 12 to 20 wherein the CNE is one of a user equipment or an internet-of-things device.22.The method of any one of claims 12 to 21 wherein the communication channel is a wireless communication channel.23.The method of claim 16 wherein the pilot signal is a null data packet.24.A communication network comprising:a plurality of client network entities (CNEs) each having a respective training dataset; anda server network entity (SNE) coupled to the plurality of CNEs through a respective plurality of communication channels each having a respective channel quality, the SNE configured to:send a same machine learning (ML) model to each CNE of the plurality of CNEs for training with the respective training dataset, the ML model including a plurality of layers each having a respective sensitivity to the respective channel quality;identify, for each CNE of the plurality of CNEs, in accordance with the respective channel quality and in accordance with the sensitivity of each layer of the ML model, one or more layers of the ML model, wherein the sensitivity of each of the one or more layers is less than a maximum sensitivity threshold corresponding to the respective channel quality;obtain from each CNE of the plurality of CNEs, one or more groups of trained model parameters, wherein each group of trained model parameters corresponds to one of the one or more layers of the plurality of layers;andupdate the ML model in accordance with the one or more groups of trained model parameters obtained from each CNE of the plurality of CNEs.25.The communication network of claim 24 wherein the SNE is further configured to:obtain a respective pilot signal from each CNE of the plurality of CNEs; anddetermine, for each CNE of the plurality of CNEs, the respective channel quality in accordance with the respective pilot signal.26.The communication network of any one of claims 24 or 25 wherein each CNE of the plurality of CNEs is configured to:receive the ML model from the SNE;train the ML model in accordance with the respective training dataset;andsend the respective one or more groups of trained model parameters to the SNE.27.The communication network of any one of claims 24 to 26 wherein each CNE of the plurality of CNEs is configured to:identify, in accordance with the respective one or more layers of the plurality of layers, a respective one or more remaining layers of the plurality of layers to be kept, the one or more remaining layers excluding the respective one or more layers of the plurality of layers, each of the one or more remaining layers having a respective group of trained model parameters;andmodify the ML model with each respective group of trained model parameters of the one or more remaining layers.28.An electronic device comprising a processor coupled to non-transitory processor-readable memory, the memory having stored thereon instructions to be executed by the processor to implement the method of any one of claims 1 to 23.29.A non-transitory processor-readable memory having stored thereon instructions to be executed by a processor to implement the method of any one of claims 1 to 23.30.A computer program comprising instructions to be executed by a computer to implement the method of any one of claims 1 to 23.