Patent Description:
Machine learning has many applications including image recognition, speech recognition, traffic prediction, online fraud detection, etc. In recent years, machine learning has been proposed for applications in wireless networks such as, for example, channel estimation and resource allocation. One such application in a cellular communications network such as, e.g., a Third Generation Partnership Project (3GPP) New Radio (NR) or Long Term Evolution (LTE) network, is the use of machine learning for decisions related to secondary carrier handover or selection. Such a decision for a wireless communication device (e.g., a User Equipment (UE)) is made at the network side based on measurements reported by the wireless communication device. The periodicity at which these measurements are reported by the wireless communication device to the network might vary from, e.g., tens of milliseconds to more than hundreds of milliseconds.

One type of machine learning is federated machine learning. Federated machine learning is a type of machine learning that is particularly well-suited for machine learning (ML) models that train on large aggregations of data collected from multiple data sources. On such scenario is a ML model in a cellular communications network that is trained based on data collected at many wireless communication devices. One example of federated machine learning is described in <CIT> (hereinafter referred to as "the '<NUM> Application).

<FIG> illustrates a system <NUM> that implements federated machine learning. As illustrated, the system <NUM> includes a server <NUM> and multiple client devices <NUM>-<NUM> through <NUM>-ND, which are generally referred to herein collectively as client devices <NUM> and individually as a client device <NUM>. The server <NUM> includes a federated ML server function <NUM> and operates to generate a global ML model <NUM> as described below. Each client device <NUM> includes a federated ML client function <NUM>. During a training phase, the federated ML client function <NUM> operates to train a local ML model <NUM> based on local data <NUM>. The local data <NUM> is generally data that is available at the client device <NUM> such as, for example, measurements performed by the client device <NUM> and/or other data stored at the client device <NUM>. The federated ML client function <NUM> sends the local ML model <NUM> to the server <NUM>.

At the server <NUM>, the federated ML server function <NUM> aggregates the local ML models <NUM> received from the client devices <NUM> to provide the global ML model <NUM>. The federated ML server function <NUM> provides the global ML model <NUM> to the client devices <NUM>, and the client devices <NUM> then update their local ML models <NUM> based on the received global ML model <NUM> (e.g., the global ML <NUM> is stored as the new local ML models <NUM>). The federated ML client function <NUM> at each client device <NUM> then performs training of its local ML model <NUM> based on its local data <NUM> for the next training epoch and sends the resulting local ML model <NUM> (or an update relative to the last version of the local ML model <NUM> sent) to the server <NUM>. The training process continues in this manner until some predefined stopping criteria is reached.

One benefit of this federated machine learning approach is that the local data <NUM> remains private (i.e., is not shared with the server <NUM>), which is particularly desirable in a cellular communications network where the client devices <NUM> are wireless communication devices and the respective users desire to maintain the privacy of their data (e.g., their location data). Another benefit is that federated machine learning enables exchange of learnings among the client devices <NUM>. Additional benefits of federated machine learning is that it enables efficient signaling between the server <NUM> and the client devices <NUM> and it decreases data transfers since the information that is exchanged between the client devices <NUM> and the server <NUM> is the ML model information rather than the local user data.

One problem with conventional federated machine learning particularly when applied in a cellular communications system is that all training is done at the wireless communication devices based on their respective local data, but the network (e.g., base station) may have much more data that would help improve the performance of the ML model. For example, in a cellular communication network, the base station has information such as, e.g., throughput, load, interference information, etc., which could be used to improve training of the local ML models <NUM>. In other words, training of the local ML models <NUM> solely based on the respective local data <NUM> results in less than optimal performance. Further, even if performance could be improved by providing network data to the wireless communication devices to be used as input features for training the local ML models <NUM>, in many cases sharing of such network data with the wireless communication devices is not possible or at least undesirable (e.g., a network operator may not want to share detailed network information with the wireless communication devices).

One solution to this problem is disclosed in a non-published internal reference. The above-referenced non-published internal reference disclosed a machine learning scheme referred to as cascaded federated machine learning. As example of the solution described in the above-referenced non-published internal reference is illustrated in <FIG>. In particular, <FIG> illustrates a system <NUM> that implements cascaded federated machine learning. As illustrated, the system <NUM> includes a server <NUM> and multiple client devices <NUM>-<NUM> through <NUM>-ND, which are generally referred to herein collectively as client devices <NUM> and individually as a client device <NUM>. The server <NUM> includes a cascaded federated ML server function <NUM> and operates to generate a global ML model <NUM> and to train and use a network ML model <NUM>. The server <NUM> has access to global data <NUM>. The global data <NUM> is generally data available at the server <NUM> such as, e.g., measurements collected at the server <NUM> and/or network-related information. For example, for a cellular communication network where the server <NUM> is a base station, the global data <NUM> may include, e.g., base station identity, cell load, cell identity, etc. Each client device <NUM> includes a cascaded federated ML client function <NUM> that operates to train and use a local ML model <NUM>. The client device <NUM> has access to local data <NUM>. The local data <NUM> is generally data that is available at the client device <NUM> such as, for example, measurements performed by the client device <NUM> and/or other data stored at the client device <NUM>.

As discussed below, the cascaded federated server function <NUM> at the server <NUM> generates the global ML model <NUM> by aggregating the local ML models <NUM> received from the client devices <NUM>. The cascaded federated server function <NUM> trains the network ML model <NUM> to output a value(s) of a parameter(s) based on the global data <NUM> and values of the output parameter(s) of the local ML models <NUM> that are also received from the client devices <NUM>. The cascaded federated client function <NUM> at each client device <NUM> operates to train the local ML model <NUM> to output a value(s) for a parameter(s) related to the operation of the client devices <NUM>. For example, the parameter(s) output by the local ML model <NUM> may include a secondary carrier decision or selection. Note that the parameter(s) output by the network ML model <NUM> may be the same parameter(s) output by the local ML models <NUM> or some different parameter(s).

During training, for a particular training epoch, the cascaded federated ML client function <NUM> at each client device <NUM> operates to train the local ML model <NUM> based on the local data <NUM> and, if available, a value(s) of the output parameter(s) of the network ML model <NUM> received from the server <NUM>. The cascaded federated ML client function <NUM> sends, to the server <NUM>, the local ML model <NUM> as trained during this training epoch and the value(s) of the parameter(s) output by the local ML model <NUM> in response to the data (i.e., input features) provided to the local ML model <NUM> for the training epoch.

At the server <NUM>, the cascaded federated ML server function <NUM> aggregates the local ML models <NUM> received from the client devices <NUM> to provide the global ML model <NUM>. In addition, the cascaded federated ML server function <NUM> trains the network ML model <NUM> based on the global data <NUM> and the values of the output parameter(s) of the local ML models <NUM> received from the client devices <NUM>. The cascaded federated ML server function <NUM> provides the global ML model <NUM> and the output value(s) for the parameter(s) output by the network ML model <NUM> for the training epoch to the client devices <NUM>. The client devices <NUM> then update their local ML models <NUM> based on the received global ML model <NUM> (e.g., the global ML <NUM> is stored as the new local ML models <NUM>). The cascaded federated ML client function <NUM> at each client device <NUM> then performs training of its (new) local ML model <NUM> based on its local data <NUM> and the value(s) of the output parameter(s) of the network ML model <NUM> received from the server <NUM> for the next training epoch and sends the resulting local ML model <NUM> (or an update relative to the last version of the local ML model <NUM> sent) and value(s) of the output parameter(s) of the local ML model <NUM> to the server <NUM>. The training process continues in this manner until some predefined stopping criteria is reached.

One benefit of this cascaded federated machine learning approach relative to conventional federated machine learning is that the local ML models <NUM> are trained based on the value(s) of the output parameter(s) of the network ML model <NUM>. As a result, performance is improved while also avoiding the need to share the global data <NUM> with the client devices <NUM>.

In the cascaded federated machine learning solution of the above-referenced non-published internal reference, feedback from the server <NUM> to the client devices <NUM> to assist in training of the local ML models <NUM> is provided in the form of value(s) of the output parameter(s) of the network ML model <NUM>. However, there is a need to further improve the cascaded federated machine learning solution in terms of: (a) network footprint and (b) feedback formulation, automation, and optimization with small or not impact on privacy assuming the client devices <NUM> are not in a position to capture the inner workings of the distributions normalization. In other words, if each of the client devices <NUM> do not know the normalized distribution of the other client devices, then the privacy objective, on both shared models and data, can still be achieved.

Document <CIT> discloses efficient communication techniques for transmission of model updates within a federated machine learning framework.

Systems and methods are disclosed herein for enhanced feedback for cascaded federated machine learning. The invention is defined in the independent claims as appended. Advantageous features are set out in the dependent claims.

Like numbers refer to like elements throughout the detailed description.

Wireless Communication Device: One type of communication device is a wireless communication device, which may be any type of wireless device that has access to (i.e., is served by) a wireless network (e.g., a cellular Radio Access Network (RAN)). Some examples of a wireless communication device include, but are not limited to: a User Equipment device (UE) in a Third Generation Partnership Project (3GPP) network, a Machine Type Communication (MTC) device, and an Internet of Things (IoT) device.

Core Network Node: As used herein, a "core network node" is any type of node in a core network or any node that implements a core network function. Some examples of a core network node include, e.g., a Mobility Management Entity (MME), a Packet Data Network Gateway (P-GW), a Service Capability Exposure Function (SCEF), a Home Subscriber Server (HSS), or the like. Some other examples of a core network node include a node implementing a Access and Mobility Management Function (AMF), a User Plane Function (UPF), a Session Management Function (SMF), an Authentication Server Function (AUSF), a Network Slice Selection Function (NSSF), a Network Exposure Function (NEF), a Network Function (NF) Repository Function (NRF), a Policy Control Function (PCF), a Unified Data Management (UDM), or the like.

Cellular Network Node: As used herein, a "cellular network node" is any node that is either part of the RAN or the core network of a cellular communications network/system (i.e., either a radio access node or a core network node).

Client Device: As used herein, a "client device" refers to any device intended for accessing services via an access network (e.g., a wired or wireless access network, a Radio Access Network (RAN) of a cellular communications network, or the like) and configured to communicate over the access network. For instance, the client device may be, but is not limited to, a communication device such as, e.g., a wireless communication device. A client device is also referred to herein as a "client computing device.

Server: As used herein, a "server" or "server device" refers to equipment capable, configured, arranged, and/or operable to communicate directly or indirectly with a client device via an access network. As server is also referred to herein as a "server device" or "server computing device.

Systems and methods are disclosed herein that provide enhanced feedback in a cascaded federated machine learning system. As discussed below in detail, rather than providing a value(s) of an output parameter(s) of a network machine learning (ML) model as feedback to client devices, a server provides feedback about a hidden layer (i.e., a hidden neural network layer) in the network ML model. In one embodiment, the network ML model is a neural network that includes a modified auto-encoder and a decoder that outputs a value(s) for an output parameter(s) of the network ML model based on the output of the modified auto-encoder. The modified auto-encoder is trained based on an output of the decoder which represents an output of the network ML model, rather than based on an output of a decoder that attempts to recreate the input signal of the auto-encoder as is done for a conventional auto-decoder. In this embodiment, the hidden layer for which the feedback is provided to the client device is a hidden layer within the modified auto-encoder (e.g., a hidden layer that has a minimum number of neurons or a hidden layer that corresponds to an output of the modified auto-encoder). In another embodiment, the network ML model includes a Principal Component Analysis (PCA) agent and a decoder, where the decoder is implemented as a neural network. The hidden layer for which the feedback is provided to the client device is a hidden layer within the neural network (e.g., a hidden layer of the neural network that receives, as its input, an output of the PCA agent).

In some embodiment, quantization is applied to both the feedback and the local ML models to reduce the footprint on the network (i.e., to reduce the amount of information that is exchanged between the server and the client devices).

While not being limited to or by any particular advantage, some example advantages that may be provided by embodiments of the present disclosure are as follows. Embodiments disclosed herein may reduce the network footprint, in term of transferred data volume of the feedback and the local ML models to be aggregated at the server. Embodiments disclosed herein may improve ML model training at the client devices (e.g., feedback from the server to the client devices should improve training performance at the client devices). In other words, embodiments of the present disclosure manage to select nearly optimal feedback from the server to the client devices. Embodiments disclosed herein are automated, i.e., there is no need for an expert to select which feature to select as feedback. Embodiments of the present disclosure may also provide an advantage in that the feedback from the server to the client devices is already denoised, i.e., feedback of the information about the hidden layer of the modified auto-encoder or PCA agent results in denoising of the input information to the network ML model at the server prior to feedback to the client devices. Embodiments disclosed herein maintain privacy of the global/network data, assuming that the client devices are not in a position to reconstruct ground truth from the feedback due to lack of information about the normalization of the received distribution.

In this regard, <FIG> illustrates a system <NUM> that implements a cascaded federated machine learning framework with enhanced feedback in accordance with one example embodiment of the present disclosure. As illustrated, the system <NUM> includes a server <NUM> and multiple client devices <NUM>-<NUM> through <NUM>-ND, which are generally referred to herein collectively as client devices <NUM> and individually as a client device <NUM>. The server <NUM> includes a cascaded federated ML server function <NUM> that operates to generate a global ML model <NUM> and to train and use a network ML model <NUM> in accordance with the cascaded federated machine learning framework with enhanced feedback as disclosed herein. The server <NUM> has access to global data <NUM>. The global data <NUM> is generally data available at the server <NUM> such as, e.g., measurements collected at the server <NUM> and/or network-related information. Each client device <NUM> includes a cascaded federated ML client function <NUM> that operates to train and use a local ML model <NUM>. The client device <NUM> has access to local data <NUM>. The local data <NUM> is generally data that is available at the client device <NUM> such as, for example, measurements performed by the client device <NUM> and/or other data stored at the client device <NUM>.

As discussed below, the cascaded federated server function <NUM> at the server <NUM> generates the global ML model <NUM> by aggregating the local ML models <NUM> received from the client devices <NUM>. The cascaded federated server function <NUM> trains the network ML model <NUM> to output a value(s) of a parameter(s) based on the global data <NUM> and values of the output parameter(s) of the local ML models <NUM> that are also received from the client devices <NUM>. The cascaded federated client function <NUM> at each client device <NUM> operates to train the local ML model <NUM> to output a value(s) for a parameter(s) related to the operation of the client devices <NUM> based on the local data <NUM> and feedback information from the server <NUM>. For example, for embodiments in which the system <NUM> is a cellular communications system, the parameter(s) output by the local ML model <NUM> may include a parameter(s) related to the operation of the client device <NUM>, which is in this case a wireless communication device, in the cellular communications system such as, for example, Hybrid Automatic Repeat Request (HARQ) throughput of the wireless communication device. Note that the parameter(s) output by the network ML model <NUM> may be the same parameter(s) output by the local ML models <NUM> or some different parameter(s). For example, they may both be wireless communication device HARQ throughput.

Importantly, as compared to the cascaded federated machine learning framework disclosed in the above-referenced non-published internal reference, each cascaded federated machine learning client function <NUM> operates to train the respective local ML model <NUM> based on the local data <NUM> available at the client device <NUM> and feedback information from the server <NUM> about a hidden layer in the network ML model <NUM> rather than feedback of a value(s) of the output parameter(s) of the network ML model <NUM>. The feedback about the hidden layer in the network ML model <NUM> may be, for example, a value(s) output by neuron(s) in the hidden layer in the network ML model <NUM>.

During training, for a particular training epoch, the cascaded federated ML client function <NUM> at each client device <NUM> operates to train the local ML model <NUM> based on the local data <NUM> and, if available, feedback from the server <NUM> about a hidden layer of the network ML model <NUM>. The training of the local ML model <NUM> at each client device <NUM> for the training epoch can be performed in accordance with any machine learning training mechanism. For example, the local ML model <NUM>, as well as the global ML model <NUM>, may be a neural network, and training the local ML model <NUM> is done using any machine learning algorithm that is suitable for a neural network such as, for example, mini-batch stochastic gradient descent, deep learning, etc. One of ordinary skill in the art will appreciate that there are many different types of ML models and training procedures that can be used. The cascaded federated ML client function <NUM> sends, to the server <NUM>, the local ML model <NUM> as trained during this training epoch and a value(s) of the parameter(s) output by the local ML model <NUM> in response to data (i.e., input features) provided to the local ML model <NUM> for the training epoch. Note that the cascaded federated ML client function <NUM> may send the local ML model <NUM> to the server <NUM> by sending information needed by the server <NUM> to build the local ML model <NUM> (e.g., weights for all neurons in a neural network forming the local ML model <NUM>) or by sending an update (e.g., information that contains only the changed weights of the neurons in the neural network forming the local ML model <NUM>) that reflects only changes to the local ML model <NUM> relative to a prior version of the local ML model <NUM> sent by the cascaded federated ML client function <NUM> for the previous training epoch.

At the server <NUM>, the cascaded federated ML server function <NUM> aggregates the local ML models <NUM> received from the client devices <NUM> to provide the global ML model <NUM>. The details of the aggregation depend on the type of ML model used for the local ML models <NUM> and the global ML model <NUM>. In general, for each (trainable) parameter of the global ML model <NUM>, the parameter is an aggregation of respective parameters of the local ML models <NUM>. For example, in one example embodiment, the local ML models <NUM> and the global ML model <NUM> are neural networks having the same neural network structure (i.e., the same arrangement of interconnected neurons). Each neuron has a number of inputs, weights (which are the trainable parameters) for the respective inputs, and an activation function that provides the output of the neurons based on the weighted inputs. In this example embodiment, the aggregation is performed by, for each weight of each neuron in the global ML model <NUM>, computing the weight for that neuron in the global ML model <NUM> as the average (or some other combination such as, e.g., weighted average, median, etc.) of the weights of that neuron in the local ML models <NUM>. Again, it should be noted that the manner in which aggregation is performed can vary depending on the type of ML model used.

In addition, the cascaded federated ML server function <NUM> trains the network ML model <NUM> based on the global data <NUM> and the values of the output parameter(s) of the local ML models <NUM> received from the client devices <NUM>. The training of the I network ML model <NUM> for the training epoch can be performed in accordance with any machine learning training mechanism. For example, the network ML model <NUM> may be a neural network, and training the network ML model <NUM> is done using any machine learning algorithm that is suitable for a neural network such as, for example, mini-batch stochastic gradient descent, deep learning, etc. One of ordinary skill in the art will appreciate that there are many different types of ML models and training procedures that can be used.

The cascaded federated ML server function <NUM> provides the global ML model <NUM> and the feedback information to the client devices <NUM>. The global ML model <NUM> may be sent by sending information that (e.g., neuron weights in the case of a neural network) that characterizes the global ML model <NUM> or an update that reflects changes to the global ML model <NUM> relative to, e.g., the previous version of the global ML model <NUM> sent or the local ML model <NUM> sent by that particular client device <NUM>. Again, the feedback information is information about a hidden layer in the network ML model <NUM>. This feedback information may be, for example, an output value(s) output by the hidden layer of the network ML model <NUM> in response to the data (i.e., the global data <NUM> and the value(s) of the output parameter(s) of the local ML models <NUM> received from the client devices <NUM>) input to the network ML model <NUM> for the training epoch.

The client devices <NUM> then update their local ML models <NUM> based on the received global ML model <NUM> (e.g., the global ML <NUM> is stored as the new local ML models <NUM>). In one embodiment, this is done by storing the received global ML model <NUM> as the local ML model <NUM> at each fo the client devices <NUM>. For the next training epoch, the cascaded federated ML client function <NUM> at each client device <NUM> then performs training of its (new) local ML model <NUM> based on its local data <NUM> and the feedback information received from the server <NUM> and sends the resulting local ML model <NUM> (or an update relative to the last version of the local ML model <NUM> sent) and value(s) of the output parameter(s) of the local ML model <NUM> for this training epoch to the server <NUM>. The training process continues in this manner until some predefined stopping criteria is reached. The stopping criteria may be, for example, reaching a predefined maximum number of training epochs, reaching a desired performance criterion (e.g., accuracy is greater than a predefined threshold), or the like.

Note that a "training epoch" a period of time over which the training process has made one pass through a batch or mini-batch of the training dataset. In regard to the cascaded federated machine learning framework disclosed herein, a training epoch is the period of time over which the training process has made one pass through the training dataset for both the local ML models <NUM> and the network ML model <NUM>.

The system <NUM> may be any type of system. In one example embodiment, the system <NUM> is a cellular communications system (e.g., a 3GPP cellular communications system such as, e.g., a 5GS or EPS) in which the server <NUM> is a cellular network node (e.g., a radio access node such as, e.g., a base station) and the client devices <NUM> are wireless communication devices (e.g., UEs). As such, in the discussion below, some examples are given that are applicable to such an embodiment. In this context, in one embodiment, the output parameter of the network ML model <NUM> is a cellular network related parameter or a parameter related to the operation of the client devices <NUM> (as UEs) in a cellular network such as, e.g., UE HARQ throughput, Reference Signal Received Quality (RSRQ), precoding matrix, beamforming weights, cell throughput, or end-to-end delay (HARQ delay, PDCP delay, etc.). In one embodiment, the global data <NUM> used to train the network ML model <NUM> is data available to the cellular network node such as, e.g., UE identity (ID), cell ID, base station ID, cell ID, type of traffic, time of day (also referred to herein as period of the day), cell uplink throughput, cell downlink throughput, traffic type is video (i.e., a value that indicates whether or not the traffic is of the video type), cell location, or any combination of two or more of these parameters. Further, in one embodiment, the output parameter of the local ML model <NUM> is the same as the network parameter of the network ML model <NUM> (e.g., UE HARQ throughput), but it not limited thereto. In one embodiment, the local data <NUM> used to train the local ML model <NUM> includes data available to the wireless communication device such as, e.g., UE ID, cell ID, base station ID, carrier frequency, type of traffic, period of the day, traffic is video type, UE location (e.g., location of the UE, e.g., in terms of latitude, longitude, and altitude), or any combination of two or more of these parameters.

<FIG> illustrates an example of the local ML model <NUM> of the client device <NUM> in accordance with an embodiment of the present disclosure. Input features of the local ML model <NUM> include the feedback about the hidden layer of the network ML model <NUM> received from the server <NUM> and the local data <NUM>. The local ML model <NUM> outputs a value(s) for the output parameter(s) of the local ML model <NUM>. Again, while the output parameter(s) may be any desired parameter(s), in one example, the output parameter(s) are wireless communication device (e.g., UE) HARQ throughput.

<FIG> illustrates an example of the network ML model <NUM> in accordance with an embodiment of the present disclosure. Input features of the network ML model <NUM> include, in this example, the values of the output parameters of the local ML models <NUM> received from the client devices <NUM> and the global data <NUM>. The network ML model <NUM> outputs a value(s) for the output parameter(s) of the network ML model <NUM>. Again, while the output parameter(s) may be any desired parameter(s), in one example, the output parameter(s) are wireless communication device (e.g., UE) HARQ throughput.

<FIG> illustrates the network ML model <NUM> in more detail in accordance with one embodiment of the present disclosure. In this embodiment, the network ML model <NUM> is a neural network <NUM> that includes multiple neural network layers, which are also referred to herein as "layers. " More specifically, the neural network <NUM> includes an input layer <NUM>, one or more hidden layers <NUM>, and an output layer <NUM>. The input layer <NUM> includes multiple neurons that corresponds to respective input features, which are denoted as I<NUM> to IX (input features corresponding to the values of output parameters of the local ML models <NUM>) and IX+<NUM> to IX+Y (input features corresponding to the local data <NUM>). As shown in <FIG>, the feedback information provided to the client devices <NUM> for training of the local ML models <NUM> is information about one of the hidden layers <NUM> (e.g., the output value(s) of the neuron(s) in that hidden layer). In one embodiment, the hidden layer for which the feedback information is provided is the hidden layer from among the hidden layers <NUM> that has the minimum number of neurons (i.e., the hidden layer having the smallest number of neurons from among the hidden layers <NUM>). In one embodiment, the hidden layer for which the feedback information is provided has a single neuron. However, this is only an example. The number of neurons in the hidden layer for which the feedback information is provided may alternatively have more than one neuron.

<FIG> illustrates one embodiment of the neural network <NUM> forming the network ML model <NUM>. In this embodiment, the neural network <NUM> includes a modified auto-encoder <NUM> and a decoder <NUM>. The modified auto-encoder <NUM> is formed by the input layer <NUM> and a first subset of the hidden layers <NUM>, which is denoted in <FIG> as first hidden layers 604A. The decoder <NUM> is formed by a second subset of the hidden layers <NUM>, which is denoted in <FIG> as second hidden layers 604B, and the output layer <NUM>. The hidden layer adjoining the modified auto-encoder <NUM> and the decoder <NUM> is referred to herein as a compression point <NUM>. The compression point <NUM> is more specifically a last hidden layer from among the first hidden layers 604A as data propagates from the input layer <NUM> towards the decoder <NUM>. This compression point <NUM> is the hidden layer having the least number of neurons from among the hidden layers <NUM> in the neural network <NUM>. In operation, the modified auto-encoder <NUM> encodes, or compresses, the input features of the network ML model <NUM> to provide an encoded output, which is a denoised and compressed version of the input features of the network ML model <NUM>.

One example of the modified auto-encoder <NUM> is illustrated in <FIG>. As illustrated, in this example, the first hidden layers 604A in the modified auto-encoder <NUM> includes six hidden layers, which are denoted as hidden layers L1-L6. In this example, the first hidden layer L1 includes six neurons denoted as neurons N1L1-N6L1, the second hidden layer L2 includes five neurons denoted as neurons N1L2-N5L2, the third hidden layer L3 includes four neurons denoted as neurons N1L3-N6L3, the fourth hidden layer L4 includes three neurons denoted as neurons N1L4-N3L4, the fifth hidden layer L5 includes two neurons denoted as neurons N1L5-N2L5, and the sixth hidden layer L6 includes one neuron denoted as neuron N1L6. In this example, the sixth hidden layer L6 is the compression point <NUM>, and the feedback provided to the client devices <NUM> for training the local ML models <NUM> is feedback regarding the hidden layer L6 (e.g., the value(s) of the output(s) of the hidden layer L6).

As will be appreciated by those of ordinary skill in the art of machine learning a neural networks, the output (y) of a neuron can be defined as: <MAT> where "i" in an index of the "n" inputs of the neuron, xi is the i-th input of the neuron, wi is the weight assigned to the i-th input xi, and the function f( ) is a predefined activation function for the neuron. During training, the weights are adapted. In one embodiment, the weights of each neuron (e.g., each neuron in the neural network <NUM>) are quantized. In one embodiment, a Last Value Quantizer is used for quantizing weights. In one embodiment, the output of the activation function of each neuron is quantized. In one embodiment, the output of each neuron is quantized using a Moving Average Quantizer. When such quantization is used and the feedback information provided from the server <NUM> to the client devices <NUM> is the output(s) of the neuron(s) in a hidden layer of the neural network <NUM> as described herein, then the feedback information is also quantized. This quantization, in addition to the compression provided by the modified auto-encoder <NUM>, results in a small network footprint in terms of the amount of data and signaling needed to provide this feedback to the client devices <NUM>.

It should be noted that the modified auto-encoder <NUM> is "modified" as compared to a conventional auto-encoder. As will be understood by one of ordinary skill in the art, a conventional auto-encoder receives an input signal and outputs an encoded, or compressed, representation of the input signal. This encoded representation of the input signal is then passed through a decoder to provide an output signal. The conventional auto-encoder is trained to minimize the error between the output signal and the input signal. In other words, the conventional auto-encoder is trained based on the output signal of the decoder, where the output signal of the decoder is to match the input signal of the conventional auto-encoder. In contrast, the modified auto-encoder <NUM> and the decoder <NUM> are not trained to provide an output signal that matches an input signal. Rather, the modified auto-encoder <NUM> and the decoder <NUM> are trained such that the network ML model <NUM> accurately predicts, or estimates, the value(s) of the output parameter(s) of the network ML model <NUM> (e.g., wireless device HARQ throughput) for given values of the input features at the input layer <NUM> (e.g., for given wireless communication device identity, cell identity, cell load, wireless communication device location, etc.). In this manner, the modified auto-encoder <NUM> provides an automated low-footprint feedback in the cascaded federated machine learning framework.

<FIG> illustrates another embodiment of the network ML model <NUM>. In this embodiment, the network ML model <NUM> includes a PCA agent <NUM> and a decoder <NUM>. In general, the PCA agent <NUM> uses PCA to compress and denoise the data representing the input features of the network ML model <NUM>. The output of the PCA agent <NUM> is provided to the decoder <NUM>. In one embodiment, the decoder <NUM> is a neural network. The decoder <NUM> is trained such that the decoder <NUM> provides the desired output based on the compressed input features output by the PCA agent <NUM>. The feedback provided to the client devices <NUM> is, in one example, feedback regarding the hidden input layer of the neural network forming the decoder <NUM> (e.g., feedback regarding the compressed input features output by the PcA agent <NUM>). The dimension of the PCA output is similar to that of the modified auto-encoder compression point <NUM> (compression hidden layer number of neurons). Alternatively, in the PCA case, the wanted variance (i.e. <NUM>) can be used to calibrate the PCA agent <NUM>.

It should be noted that while the modified auto-encoder <NUM> and the PCA agent <NUM> are disclosed herein as functions or schemes used to compress the input features of the network ML model <NUM>, the present disclosure is not limited to the modified auto-encoder <NUM> and the PCA agent <NUM>. Others statistical or ML dimensionality reduction techniques can alternatively be used. It should also be noted that the modified auto-encoder <NUM> and the PCA agent <NUM> (or alternative statistical or ML dimensionality reduction technique) provides automated selection of a combination of the input features of the network ML model <NUM> to feed back to the client devices <NUM> in the form of the compressed data from the hidden layer. As such, manual selection of what input features to feed back to the client devices <NUM> by an expert is not needed.

<FIG> illustrates the operation of the system <NUM> during a training phase in accordance with one embodiment of the present disclosure. As illustrated, the client devices <NUM>-<NUM> through <NUM>-ND, and in particular the cascaded federated machine learning client functions <NUM>-<NUM> through <NUM>-ND, train their respective local ML models <NUM>-<NUM> through <NUM>-ND for a training epoch based on their local data <NUM>-<NUM> through <NUM>-ND and, if available, feedback information from the server <NUM> about a hidden layer of the network ML model <NUM>, as described above (steps <NUM>-<NUM> through <NUM>-ND). The client devices <NUM>-<NUM> through <NUM>-ND, and in particular the cascaded federated machine learning client functions <NUM>-<NUM> through <NUM>-ND, send their respective local ML models <NUM> for the training epoch and a value(s) of the output parameter(s) of their respective local ML models <NUM> for the training epoch to the server <NUM> (steps <NUM>-<NUM> through <NUM>-ND). Note that the value(s) of the output parameter(s) of the local ML model <NUM> of each client device <NUM> for the training epoch is the value(s) of the output parameter(s) output by the local ML model <NUM> responsive to the local data <NUM> and, if available, the feedback information received from the server <NUM> being input into the local ML model <NUM> for the training epoch.

At the server <NUM>, the server <NUM>, and more specifically the cascaded federated machine learning server function <NUM>, aggregates the local ML models <NUM>-<NUM> through <NUM>-ND for the training epoch to provide the global ML model <NUM> for the training epoch (step <NUM>). The server <NUM>, and more specifically the cascaded federated machine learning server function <NUM>, also trains the network ML model <NUM> for the training epoch based on the global data <NUM> and the values of the output parameters of the local ML models <NUM>-<NUM> through <NUM>-ND received from the client devices <NUM> (step <NUM>). The server <NUM>, and more specifically the cascaded federated machine learning server function <NUM>, sends the global ML model <NUM> and a value(s) of the output parameter(s) of the network ML model <NUM> for the training epoch to the client devices <NUM>-<NUM> through <NUM>-ND (steps <NUM>-<NUM> through <NUM>-ND). The value(s) of the output parameter(s) of the network ML model <NUM> of the training epoch is the value(s) of the output parameter(s) output by the network ML model <NUM> responsive to the global data <NUM> and the value(s) of the output parameter(s) of the local ML models <NUM> received from the client devices <NUM>.

The training process is then repeated for multiple training epochs, e.g., until a predefined stopping criterion is satisfied (step <NUM>). The stopping criterion may be, for example, a predefined maximum number of training epochs or reach a predefined performance or accuracy level for the local ML models <NUM>.

While not illustrated in the process of <FIG>, it should be noted that the global data <NUM> may be preprocessed prior to being input into the network ML model <NUM> for training in step <NUM>. Likewise, the local data <NUM> may be preprocessed prior to being input into the local ML model <NUM> in step <NUM>. Such preprocessing is well-known to those of ordinary skill in the art of machine learning. This preprocessing may include, for example:.

<FIG> is a schematic block diagram of the server <NUM> according to some embodiments of the present disclosure. Optional features are represented by dashed boxes. As illustrated, the server <NUM> includes one or more processors <NUM> (e.g., Central Processing Units (CPUs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), and/or the like), memory <NUM>, and one or more communication interfaces <NUM>. The one or more processors <NUM> are also referred to herein as processing circuitry. The communication interface(s) <NUM> include, in some embodiments, a wireless communication interface (e.g., a cellular radio interface including one or more radio units each including one or more transmitters and one or more receivers) and/or a wired communication interfaces (e.g., an Ethernet network interface). The one or more processors <NUM> operate to provide one or more functions of the server <NUM> as described herein. In some embodiments, the function(s) are implemented in software that is stored, e.g., in the memory <NUM> and executed by the one or more processors <NUM>.

<FIG> is a schematic block diagram that illustrates a virtualized embodiment of the server <NUM> according to some embodiments of the present disclosure. As used herein, a "virtualized" server is an implementation of the server <NUM> in which at least a portion of the functionality of the server <NUM> is implemented as a virtual component(s) (e.g., via a virtual machine(s) executing on a physical processing node(s) in a network(s)). As illustrated, in this example, the server <NUM> includes one or more processing nodes <NUM> coupled to or included as part of a network(s) <NUM>. If present, the control system <NUM> or the radio unit(s) are connected to the processing node(s) <NUM> via the network <NUM>. Each processing node <NUM> includes one or more processors <NUM> (e.g., CPUs, ASICs, FPGAs, and/or the like), memory <NUM>, and a network interface <NUM>.

In this example, functions <NUM> of the serer <NUM> described herein are implemented at the one or more processing nodes <NUM> or distributed across the two or more of the processing nodes <NUM> in any desired manner. In some particular embodiments, some or all of the functions <NUM> of the server <NUM> described herein are implemented as virtual components executed by one or more virtual machines implemented in a virtual environment(s) hosted by the processing node(s) <NUM>.

In some embodiments, a computer program including instructions which, when executed by at least one processor, causes the at least one processor to carry out the functionality of the server <NUM> or a node (e.g., a processing node <NUM>) implementing one or more of the functions <NUM> of the server <NUM> in a virtual environment according to any of the embodiments described herein is provided.

<FIG> is a schematic block diagram of the server <NUM> according to some other embodiments of the present disclosure. The server <NUM> includes one or more modules <NUM>, each of which is implemented in software. The module(s) <NUM> provide the functionality of the server <NUM> described herein. For example, the modules <NUM> may include separate modules for each step performed by the server <NUM> in <FIG> (e.g., a receiving module that performs the functions of the server <NUM> with respect to steps <NUM>-<NUM> through <NUM>-ND, an aggregating module that performs the functions of the server <NUM> with respect to the step <NUM>, a training module that performs the functions of the server <NUM> with respect to step <NUM>, and a transmitting module the performs the functions of the server <NUM> with respect to step <NUM>-<NUM> through <NUM>-ND).

<FIG> is a schematic block diagram of the client device <NUM> according to some embodiments of the present disclosure. Optional features are represented by dashed boxes. As illustrated, the client device <NUM> includes one or more processors <NUM> (e.g., Central Processing Units (CPUs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), and/or the like), memory <NUM>, and one or more communication interfaces <NUM>. The one or more processors <NUM> are also referred to herein as processing circuitry. The communication interface(s) <NUM> include, in some embodiments, a wireless communication interface (e.g., a cellular radio interface including one or more radio units each including one or more transmitters and one or more receivers) and/or a wired communication interfaces (e.g., an Ethernet network interface). The one or more processors <NUM> operate to provide one or more functions of the client device <NUM> as described herein. In some embodiments, the function(s) are implemented in software that is stored, e.g., in the memory <NUM> and executed by the one or more processors <NUM>.

In some embodiments, a computer program including instructions which, when executed by at least one processor, causes the at least one processor to carry out the functionality of the client device <NUM> according to any of the embodiments described herein is provided.

<FIG> is a schematic block diagram of the client device <NUM> according to some other embodiments of the present disclosure. The client device <NUM> includes one or more modules <NUM>, each of which is implemented in software. The module(s) <NUM> provide the functionality of the client device <NUM> described herein. For example, the modules <NUM> may include separate modules for each step performed by the client device <NUM> in <FIG> (e.g., a training module that performs the functions of the client device <NUM> with respect to step <NUM>, a transmitting module that performs the functions of the client device <NUM> with respect to the step <NUM>, and a receiving module the performs the functions of the client device <NUM> with respect to step <NUM>).

As discussed above, in one example embodiment, the system <NUM> of <FIG> is implemented in a cellular communications system. In this regard, <FIG> illustrates one example of a cellular communications system <NUM> in which embodiments of the present disclosure may be implemented. The cellular communications system <NUM> may be, for example, a 3GPP system such as, e.g., a <NUM> system (5GS) including a Next Generation RAN (NG-RAN) and a <NUM> Core (5GC) or an Evolved Packet System (EPS) including an Evolved Universal Terrestrial RAN (E-UTRAN) and a Evolved Packet Core (EPC). In this example, the RAN includes base stations <NUM>-<NUM> and <NUM>-<NUM>, which in the 5GS include NR base stations (gNBs) and optionally next generation eNBs (ng-eNBs) (e.g., LTE RAN nodes connected to the 5GC) and in the EPS include eNBs, controlling corresponding (macro) cells <NUM>-<NUM> and <NUM>-<NUM>. The base stations <NUM>-<NUM> and <NUM>-<NUM> are generally referred to herein collectively as base stations <NUM> and individually as base station <NUM>. Likewise, the (macro) cells <NUM>-<NUM> and <NUM>-<NUM> are generally referred to herein collectively as (macro) cells <NUM> and individually as (macro) cell <NUM>. The RAN may also include a number of low power nodes <NUM>-<NUM> through <NUM>-<NUM> controlling corresponding small cells <NUM>-<NUM> through <NUM>-<NUM>. The low power nodes <NUM>-<NUM> through <NUM>-<NUM> can be small base stations (such as pico or femto base stations) or Remote Radio Heads (RRHs), or the like. Notably, while not illustrated, one or more of the small cells <NUM>-<NUM> through <NUM>-<NUM> may alternatively be provided by the base stations <NUM>. The low power nodes <NUM>-<NUM> through <NUM>-<NUM> are generally referred to herein collectively as low power nodes <NUM> and individually as low power node <NUM>. Likewise, the small cells <NUM>-<NUM> through <NUM>-<NUM> are generally referred to herein collectively as small cells <NUM> and individually as small cell <NUM>. The cellular communications system <NUM> also includes a core network <NUM>, which in the <NUM> System (5GS) is referred to as the 5GC. The base stations <NUM> (and optionally the low power nodes <NUM>) are connected to the core network <NUM>.

In one example embodiment, the server <NUM> is or is implemented at a network node within the cellular communication system <NUM> such as, for example, within a base station <NUM>, and the client devices <NUM> correspond to at least some of the wireless communication devices <NUM>.

Claim 1:
A computer-implemented method of operation of a server (<NUM>) for cascaded federated machine learning, the method comprising:
for a training epoch:
receiving (<NUM>-<NUM> through <NUM><NUM>-ND), from each client device (<NUM>) of a plurality of client devices (<NUM>-<NUM> through <NUM>-ND):
a local machine learning, ML, model (<NUM>) for estimating one or more first parameters as trained at the client device (<NUM>) for the training epoch; and
an estimated value of each of the one or more first parameters output by the local ML model (<NUM>) at the client device (<NUM>) for the training epoch;
aggregating (<NUM>) the local ML models (<NUM>-<NUM> through <NUM><NUM>-ND) received from the plurality of client devices (<NUM>-<NUM> through <NUM>-ND) to provide a global ML model (<NUM>) for estimating the one or more first parameters;
training (<NUM>) a network ML model (<NUM>) based on:
the estimated values of each of the one or more parameters output by the local ML models (<NUM>) for the training epoch; and
global data (<NUM>) available at the server (<NUM>);
wherein the network ML model (<NUM>) comprises a neural network for estimating one or more second parameters; and
providing (<NUM>-<NUM> through <NUM><NUM>-ND), to each client device (<NUM>) of the plurality of client devices (<NUM>-<NUM> through <NUM>-ND):
the global ML model (<NUM>); and
feedback information related to one of a plurality of hidden neural network layers of the neural network comprised in the network ML model (<NUM>) for training the local ML
models (<NUM>) at the client device (<NUM>); and
repeating (<NUM>) the receiving, aggregating, training, and providing for one or more additional training epochs.