Data importance based iterative learning process

By allowing the iterative learning process to adapt based on the availability of important training data, the proposed method addresses inefficiencies in decentralized machine learning systems, reducing resource usage and improving learning efficiency.

WO2025108573A1PCT designated stage expired Publication Date: 2025-05-30TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2024/050295
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-24
Filing Date
2024-01-08
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

Existing iterative learning processes in decentralized machine learning systems, such as federated learning, face inefficiencies due to the costly transmission of model updates, especially when client nodes do not have important training data or updates to convey.

Method used

The proposed method involves a coordinator node that receives indications of data importance from client nodes and selects training process parameters accordingly, allowing the iterative learning process to adapt based on the availability of important training data.

Benefits of technology

This approach reduces overhead in training machine learning models by ensuring that model updates are transmitted only when important training data is available, thereby optimizing resource usage and improving learning efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024050295_30052025_PF_FP_ABST
    Figure EP2024050295_30052025_PF_FP_ABST
Patent Text Reader

Abstract

There is provided techniques for coordinating an iterative learning process for client nodes. A method is performed by a coordinator node. The method comprises receiving indications from the client nodes of data importance of training data made available to the client nodes at a future point in time for training a machine learning model. The method comprises selecting training process parameters for an iteration of the iterative learning process at a current point in time and / or said future point in time in accordance with the indications received. The method comprises transmitting the selected training process parameters to the client nodes.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] DATA IMPORTANCE BASED ITERATIVE LEARNING PROCESS

[0002] TECHNICAL FIELD

[0003] Embodiments presented herein relate to a method, a coordinator node, a computer program, and a computer program product for coordinating an iterative learning process for agent nodes. Embodiments presented herein further relate to a method, a client node, a computer program, and a computer program product for performing the iterative learning process.

[0004] BACKGROUND

[0005] The increasing concerns for data privacy have motivated the consideration of collaborative machine learning systems with decentralized data where pieces of training data are stored and processed locally by edge user devices, such as user equipment. Federated learning is one non-limiting example of a decentralized learning topology, where multiple (possible very large number of) agents, for example implemented in user equipment, participate in training a shared global learning model by exchanging model updates with a centralized parameter server, for example implemented in a network node.

[0006] Federated learning is an iterative process where each global iteration, often referred to as communication round, is divided into three phases: In a first phase the parameter server sends the current model parameter vector to all participating agents. In a second phase each of the agents performs one or several steps of a stochastic gradient descent (SGD) procedure on its own training data based on the current model parameter vector and obtains a model update. In a third phase the model updates from all agents are sent to the parameter server, which aggregates the received model updates and updates the parameter vector for the next iteration based on the model updates according to some aggregation rule. The first phase is then entered again but with the updated parameter vector as the current model parameter vector. This is illustrated in Fig. 1. Fig. 1 is a schematic diagram illustrating a communication network 100a. The communication network 100a could be a third generation (3G) telecommunications network, a fourth generation (4G) telecommunications network, a fifth (5G) telecommunications network, a sixth (6G) telecommunications network, or any further development of telecommunication networks, and support any 3GPP telecommunications standard. The communication network 100a comprises a coordinator node 200 implementing the parameter server and N client nodes 300a, 300b, 300n, 300N. Client node(s), or simply client(s), are sometimes also referred to as agent node(s), or agent(s). The coordinator node 200 might be provided in a network node 110. Examples of network nodes 110 are (radio) access network nodes, radio base stations, base transceiver stations, Node Bs (NBs), evolved Node Bs (eNBs), gNBs, access points, access nodes, and integrated access and backhaul nodes. The coordinator node may also be implemented as a vitrtual node in a cloud environment or as a number of coordinated virtual and / or physical nodes in a distributed network architecture. Each of the client nodes 300a:300N might be provided in a respective user equipment 120a, 120b, 120n, 120N. Examples of user equipment 120a:120N are wireless devices, mobile stations, mobile phones, handsets, wireless local loop phones, smartphones, laptop computers, tablet computers, network equipped sensors, network equipped vehicles, and so-called Internet of Things devices. The client nodes 300a:300N communicate with the coordinator node 200 over wireless links 130 established between the network node 110 and the user equipment 120a: 120N. Here each client node 300a:300N has its own local training data but does not share this data with the parameter server. Instead, only updates to the model are shared, and subsequently aggregated by the coordinator node 200. In further details, Federated learing is an iterative process where each global iteration, often referred to as iteration round, is divided into three phases: In a first phase the coordinator node 200 sends the current model parameter vector to all participating client nodes 300a:300N. In a second phase each of the client nodes 300a:300N performs one or several steps of an SGD procedure on its own training data based on the current model parameter vector and obtains a model update. In a third phase the model updates from all client nodes 300a:300N are sent to the coordinator node 200, which aggregates the received model updates and updates the parameter vector for the next iteration based on the model updates according to some aggregation rule. The first phase is then entered again but with the updated parameter vector as the current model parameter vector.

[0007] However, there could be some scenarios where a centralized parameter server is unavailable or where, for other reasons, the use of a centralized parameter server could, or should, be avoided. A distributed learning process can then be used instead of a federated learning process. This requires all client nodes 300a:300N to have their own instance of the learning model. Similar to in the federated learning setup, each agent has its own private training data. The client nodes 300a:300N are operatively connected to each other according to a connectivity graph, such that each client node 300a:300N has a number of neighboring client nodes 300a:300N. Further, a central authority, is configured to coordinate the learning activity among the client nodes 300a:300N. This is illustrated in Fig. 2. Fig. 2 is a schematic diagram illustrating a communication network 100b similar to communication network 100a. However, in contast to the communication network 100a, the network node 110 is provided with a coordinator node 200 implementing a central authority, not a parameter server. Alternaively, the coordinator node 200 implementing the central authority could be provided in a user equipment 120c instead of a network node 110. The client nodes 300a:300N communicate with each other over wireless links 140a, 140b, 140c, 140n, 140N established between the user equipment 120a: 120N. The client nodes 300a:300N also communicate with the coordinator node 200 over wireless links 130 established between the network node 110 (or user equipment 120c) and the user equipment 120a: 120N. This could represent a scenario where the communication links between the client nodes 300a:300N have high capacity (e.g. facilitated by millimeter wave or Terahertz communications) whereas the communication links between the client nodes 300a:300N and the network node 110 have small bandwidth (e.g. facilitated through a sub-6 GHz cellular network or similar). This could be the case where the client nodes 300a:300N are distributed among several cells in a cellular network, and / or where the client nodes 300a:300N are phycally very close to each other. In such scenarios, it is desirable to carry out the model update communication via device-to-device links between the client nodes 300a:300N and use the connections to the central authority only to coordinate the transmissions and for control signaling. In short, one itertion of the iterative process might encompass the following actions. Firstly, the client nodes 300a:300N broadcast their current estimate of the learning model to their neighboring client nodes 300a:300N. Secondly, each agent performs a consensus update, substantially averaging its own local model estimate with those received from its neighboring client nodes 300a:300N. Thirdly, each agent computes a local model update, based on its own private training data. This takes place, for example, using standard stochastic gradient optimization methods. Subsequently, each agent updates its model parameter estimate by adding this model update. Each round these actions might be referred to as a global iteration (to differentiate between iterations performed by each agent within one such global iteration). Several global iterations are performed sequentially, until a convergence criterion is met.

[0008] WO 2023 / 274526 A1 relates to an apparatus, a method, and a computer program for providing a report to a central node when at least one reporting criterion is met and selecting a distributed node for a training process for training a federated learning model based on the report.

[0009] US 2022 / 0101204 A1 relate to wireless communication and to techniques and apparatuses for machine learning component update reporting in federated learning..

[0010] Regardless if a federated learning process or a distributed learning process is used, the transmission of model updates is costly in terms of radio resources and energy consumption. Model updates might be transmitted even if the client nodes 300a:300N do not have important training data or any important updates to convey.

[0011] Hence, there is still a need for an improved iterative learning process.

[0012] SUMMARY

[0013] An object of embodiments herein is to address the above issues.

[0014] A particular object is to enable the iterative learning process to take into account the availability of important training data at the agent entities.

[0015] According to a first aspect there is presented a method for coordinating an iterative learning process for client nodes. The method is performed by a coordinator node. The method comprises receiving indications from the client nodes of data importance of training data made available to the client nodes at a future point in time for training a machine learning model. The method comprises selecting training process parameters for an iteration of the iterative learning process at a current point in time and / or the future point in time in accordance with the indications received. The method comprises transmitting the selected training process parameters to the client nodes.

[0016] According to a second aspect there is presented a coordinator node for coordinating an iterative learning process for client nodes. The coordinator node comprises processing circuitry. The processing circuitry is configured to cause the coordinator node to receive indications from the client nodes of data importance of training data made available to the client nodes at a future point in time for training a machine learning model. The processing circuitry is configured to cause the coordinator node to select training process parameters for an iteration of the iterative learning process at a current point in time and / or the future point in time in accordance with the indications received. The processing circuitry is configured to cause the coordinator node to transmit the selected training process parameters to the client nodes.

[0017] According to a third aspect there is presented a coordinator node for coordinating an iterative learning process for client nodes. The coordinator node comprises a receive module configured to receive indications from the client nodes of data importance of training data made available to the client nodes at a future point in time for training a machine learning model. The coordinator node comprises a select module configured to select training process parameters for an iteration of the iterative learning process at a current point in time and / or the future point in time in accordance with the indications received. The coordinator node comprises a transmit module configured to transmit the selected training process parameters to the client nodes.

[0018] According to a fourth aspect there is presented a computer program for coordinating an iterative learning process for client nodes. The computer program comprises computer code which, when run on processing circuitry of a coordinator node, causes the coordinator node to perform actions. One action comprises the coordinator node to receive indications from the client nodes of data importance of training data made available to the client nodes at a future point in time for training a machine learning model. One action comprises the coordinator node to select training process parameters for an iteration of the iterative learning process at a current point in time and / or the future point in time in accordance with the indications received. One action comprises the coordinator node to transmit the selected training process parameters to the client nodes.

[0019] According to a fifth aspect there is presented a method for performing an iterative learning process. The method is performed by an client node. The method comprises obtaining a data importance of training data made available to the client node at a future point in time for training a machine learning model. The method comprises transmitting an indication of the data importance to a coordinator node. The method comprises receiving training process parameters from the coordinator node. The method comprises selectively participating in an iteration of the iterative learning process at a current point in time and / or the future point in time in accordance with the received training process parameters.

[0020] According to a sixth aspect there is presented a client node for performing an iterative learning process. The client node comprises processing circuitry. The processing circuitry is configured to cause the client node to obtain a data importance of training data made available to the client node at a future point in time for training a machine learning model. The processing circuitry is configured to cause the client node to transmit an indication of the data importance to a coordinator node. The processing circuitry is configured to cause the client node to receive training process parameters from the coordinator node. The processing circuitry is configured to cause the client node to selectively participate in an iteration of the iterative learning process at a current point in time and / or the future point in time in accordance with the received training process parameters.

[0021] According to a seventh aspect there is presented a client node for performing an iterative learning process. The client node comprises an obtain module configured to obtain a data importance of training data made available to the client node at a future point in time for training a machine learning model. The client node comprises a transmit module configured to transmit an indication of the data importance to a coordinator node. The client node comprises a receive module configured to a receive module configured to receive training process parameters from the coordinator node. The client node comprises a participate module configured to selectively participate in an iteration of the iterative learning process at a current point in time and / or the future point in time in accordance with the received training process parameters.

[0022] According to an eighth aspect there is presented a computer program for performing an iterative learning process. The computer program comprises computer code which, when run on processing circuitry of a client node, causes the client node to perform actions. One action comprises the client node to obtain a data importance of training data made available to the client node at a future point in time for training a machine learning model. One action comprises the client node to transmit an indication of the data importance to a coordinator node. One action comprises the client node to receive training process parameters from the coordinator node. One action comprises the client node to selectively participate in an iteration of the iterative learning process at a current point in time and / or the future point in time in accordance with the received training process parameters.

[0023] According to a ninth aspect there is presented a computer program product comprising a computer program according to at least one of the fourth aspect and the eighth aspect and a computer readable storage medium on which the computer program is stored. The computer readable storage medium could be a non-transitory computer readable storage medium.

[0024] Advantageously, these aspects do not suffer from the above issues.

[0025] Advantageously, these aspects enable the iterative learning process to be adaptive based on the availability of important training data at the agent entities.

[0026] Advantageously, these aspects enable the overhead related to training a model using federated learning as well as distributed learning to be reduced. The overhead can be reduced by the client nodes reporting information indicating some future point in time when important training data will be available at an client node. Including this information enables the coordinator node to adapt how and when to start a next iteration of the iterative learning process. Other objectives, features and advantages of the enclosed embodiments will be apparent from the following detailed disclosure, from the attached dependent claims as well as from the drawings.

[0027] Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to "a / an / the element, apparatus, component, means, module, step, etc." are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, module, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.

[0028] BRIEF DESCRIPTION OF THE DRAWINGS

[0029] The inventive concept is now described, by way of example, with reference to the accompanying drawings, in which:

[0030] Figs. 1 and 2 are schematic diagrams illustrating communication networks according to embodiments;

[0031] Figs. 3 and 4 are flowcharts of methods according to embodiments;

[0032] Fig. 5 is a signaling diagram of a method according to an embodiment;

[0033] Fig. 6 is a schematic diagram showing functional units of a coordinator node according to an embodiment;

[0034] Fig. 7 is a schematic diagram showing functional modules of a coordinator node according to an embodiment;

[0035] Fig. 8 is a schematic diagram showing functional units of a client node according to an embodiment;

[0036] Fig. 9 is a schematic diagram showing functional modules of a client node according to an embodiment;

[0037] Fig. 10 shows one example of a computer program product comprising computer readable means according to an embodiment;

[0038] Fig. 11 is a schematic diagram illustrating a telecommunication network connected via an intermediate network to a host computer in accordance with some embodiments; and

[0039] Fig. 12 is a schematic diagram illustrating host computer communicating via a radio base station with a terminal device over a partially wireless connection in accordance with some embodiments.

[0040] DETAILED DESCRIPTION

[0041] The inventive concept will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the inventive concept are shown. This inventive concept may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the inventive concept to those skilled in the art. Like numbers refer to like elements throughout the description. Any step or feature illustrated by dashed lines should be regarded as optional.

[0042] The wording that a certain data item, piece of information, etc. is obtained by a first device should be construed as that data item or piece of information being retrieved, fetched, received, or otherwise made available to the first device. For example, the data item or piece of information might either be pushed to the first device from a second device or pulled by the first device from a second device. Further, in order for the first device to obtain the data item or piece of information, the first device might be configured to perform a series of operations, possible including interaction with the second device. Such operations, or interactions, might involve a message exchange comprising any of a request message for the data item or piece of information, a response message comprising the data item or piece of information, and an acknowledge message of the data item or piece of information. The request message might be omitted if the data item or piece of information is neither explicitly nor implicitly requested by the first device.

[0043] The wording that a certain data item, piece of information, etc. is provided by a first device to a second device should be construed as that data item or piece of information being sent or otherwise made available to the second device by the first device. For example, the data item or piece of information might either be pushed to the second device from the first device or pulled by the second device from the first device. Further, in order for the first device to provide the data item or piece of information to the second device, the first device and the second device might be configured to perform a series of operations in order to interact with each other. Such operations, or interaction, might involve a message exchange comprising any of a request message for the data item or piece of information, a response message comprising the data item or piece of information, and an acknowledge message of the data item or piece of information. The request message might be omitted if the data item or piece of information is neither explicitly nor implicitly requested by the second device.

[0044] Further, when herein referring to that certain data item, piece of information, etc. is transmitted "to” or "towards” a certain entity, e.g. any type of node, such as a client node or is "received from” a certain entity, this is considered to also comprise scenarios where such a data item, piece of information, etc. is transmitted via one or more intermediate network entities.

[0045] As disclosed above, regardless if a federated learning process or a distributed learning process is used, the transmission of model updates is costly in terms of radio resources and energy consumption. Model updates might be transmitted even if the client nodes 300a:300N do not have important training data or any important updates to convey. For example, the training data importance for one of the client nodes 300a:300N might fluctuate (such as temporarily increase and / or temporarily decrease) during an iterative learning process due to a continuous ongoing data collection. As an illustrative example, consider an iterative learning process pertaining to the training of an object recognition model using a camera network, where each client node 300a:300N is equipped with a camera. More important data becomes available during the training process, e.g., when new objects appear in front of the camera (and conversely, less imortnat data might be available if an existing object disappears). In case such important data becomes available only at the end of the iterative learning process, the iterative learning process might need to be restarted to also include the new data for the object recognition model to be accurate. Thus, radio resources and energy as consumed until the important data became available are wasted. In other words, a machine learning model trained using an iterative learning process should ideally be trained only after all the important data has been made available to the client nodes 300a:300N.

[0046] The embodiments disclosed herein therefore relate to techniques for coordinating an iterative learning process for client nodes 300a: 300N and for performing the iterative learning process. In order to obtain such techniques there is provided a coordinator node 200, a method performed by the coordinator node 200, a computer program product comprising code, for example in the form of a computer program, that when run on processing circuitry of the coordinator node 200, causes the coordinator node 200 to perform the method. In order to obtain such techniques there is further provided a client node 300n, a method performed by the client node 300n, and a computer program product comprising code, for example in the form of a computer program, that when run on processing circuitry of the client node 300n, causes the client node 300n to perform the method.

[0047] In some embodiments, the coordinator node 200 is provided in a network node 110 or a user equipment 120c, and each of the client nodes 300a:300N is provided in a respective user equipment 120a: 120N. In some embodiments, the client nodes 300a:300N are provided in a distributed computing architecture, as in Fig. 1 or Fig. 2.

[0048] According to at least some of the herein disclosed embodiments, the coordinator node 200 configures training process parameters of an learning process based on information as received from the client nodes 300a: 300N of the expected importance of each client node's 300a:300N data importance at some future time instant.

[0049] Reference is now made to Fig. 3 illustrating a method for coordinating an iterative learning process for client nodes 300a:300N as performed by the coordinator node 200 according to an embodiment.

[0050] S106: The coordinator node 200 receives indications from the client nodes 300a:300N of data importance of training data made available to the client nodes 300a:300N at a future point in time for training a machine learning model. Examples of data importance, and how data importance can be predicted or determined, will be disclosed below.

[0051] S108: The coordinator node 200 selects training process parameters for an iteration of the iterative learning process at a current point in time and / or the future point in time in accordance with the indications received. Non-limiting example of training process parameters for a federated learning process are (I) when to start a federated learning iteration, (ii) in which iteration to start include a certain client node 300a:300N, and (ill) when to no longer include a certain client node 300a:300N in the federated learning process. Non-limiting example of training process parameters for a distributed learning process are (I) when in time an client node 300a:300N should start its training, (ii) when in time an client node 300a:300N is to broadcast its model, and (ill) a transmission order of the client nodes 300a:300N. Hence, not all client nodes 300a:300N are necessary included to participate in each iteration of the iterative learning process.

[0052] S110: The coordinator node 200 transmits the selected training process parameters to the client nodes 300a:300N.

[0053] Embodiments relating to further details of coordinating an iterative learning process for client nodes 300a:300N as performed by the coordinator node 200 will now be disclosed with continued reference to Fig. 3.

[0054] As will be further disclosed below, the client nodes 300a:300N might report their capabilities to predict the data importance. Therefore, in some embodiments, the coordinator node 200 is configured to perform (optional) step S102.

[0055] S102: The coordinator node 200 receives indications from the client nodes 300a:300N of capabilities of the client nodes 300a:300N to predict the data importance.

[0056] Examples of such capabilities will be disclosed below.

[0057] As disclosed above, the coordinator node 200 in step S106 receives indications from the client nodes 300a:300N of data importance of training data made available to the client nodes 300a:300N. In some aspects, the client nodes 300a:300N provide such an indication to the coordinator node 200 upon the coordinator node 200 having instructed the client nodes 300a:300N to do so. That is, in some embodiments, the coordinator node 200 is configured to perform (optional) step S104.

[0058] S104: The coordinator node 200 transmits instructions to the client nodes 300a:300N for the client nodes 300a:300N to report the indications of the data importance.

[0059] The client nodes 300a:300N can be instructed to either periodically report the indications of the data importance or to report the indications of the data importance when a reporting triggering condition is fulfilled.

[0060] The training parameters might include information about the architecture of the machine learning model, such as the size, and / or the number and type of layers, of the the machine learning model, activation functions of the machine learning model, hyperparameters related to the training process, such as number of epochs, batch size, optimizer, learning rate, momentum and early stopping criteria. Moreover, the training parameters might be negotiable between the coordinator node 200 and the client nodes 300a:300N. For example, the coordinator node 200 might set an array of different training parameter options and the client nodes 300a:300N might select, or at least suggest, training parameters from that array depending on their compute capabilities, memory capabilities, battery status etc.

[0061] Aspects relating to where the iterative learning process is a federated iterative learning process and multiple client nodes 300a: 300N participate in the federated learning process will be disclosed next.

[0062] In some aspects, the coordinator node 200 determines to postpone the iterative learning process until auxiliary sensor data is available at at least some of the client nodes 300a:300N that indicates that an important event will take place and that important training data will be available at some future point in time. Alternatively, if the iterative learning process is already ongoing, the coordinator node 200 could etermine to abort or paus the iterative learning process until that point in time.

[0063] As noted above, for a federated learning process the training process parameters could indicate (I) when to start a federated learning iteration, (II) in which iteration to start include a certain client node 300a:300N, and (ill) when to no longer include a certain client node 300a:300N in the federated learning process. Therefore, in some embodiments where the iterative learning process is a federated iterative learning process, the training process parameters could pertain to any or any combination of: an indication of a start time for a next iteration of the iterative learning process in which the client nodes 300a:300N are to participate, a first iteration of the iterative learning process in which the client nodes 300a:300N are to, at least temporarily, start their participation in the iterative learning process, a last iteration of the iterative learning process in which the client nodes 300a:300N are to, at least temporarily, end their participation in the iterative learning process, a time interval during which the iterative learning process is paused. For example, if the auxiliary sensor data indicates that important data will be available at an client node A1 at time and at another client node A2 at time t2, where t2> the coordinator node 200 could determine to start the iterative learning process at time t2. The coordinator node 200 could also instruct client node A1 to store its training data until time t2so that important data (from the time interval [t1;t2]) at client node A1 is not discarded.

[0064] In some embodiments, the client nodes 300a: 300N are grouped into different data importance groups, and the coordinator node 200 selects different training process parameters for the data importance groups for training the machine learning model. For example, in case multiple client nodes 300a:300N are participating in an iterative learning process, the coordinator node 200 could select a subset of only those client nodes that are expecting important data in the next time interval to participate in the next iteration of the iterative learning process. Therefore, in some embodiments, only the client nodes 300a: 300N in the data importance groups for which the data importance is higher than a threshold value are to, according to the selected training process parameters, participate in the iteration of the iterative learning process at the future point in time. Aspects relating to where the iterative learning process is a distributed iterative learning process and multiple client nodes 300a: 300N participate in the federated learning process will be disclosed next.

[0065] As noted above, for a distributed learning process the training process parameters could indicate (I) when in time an client node 300a:300N should start its training, (ii) when in time an client node 300a:300N is to broadcast its model, and (ill) a transmission order of the client nodes 300a:300N. Therefore, in some embodiments where the iterative learning process is_a distributed iterative learning process, the training process parameters could pertain to any or any combination of: an indication of a start time for a next iteration of the iterative learning process in which the client nodes 300a:300N are to participate, an order in which the client nodes 300a:300N are to transmit their local model parameter vector in the next iteration.

[0066] In some aspects, the coordinator node 200 configures the client nodes 300a:300N with a threshold detailing when the client nodes 300a:300N should train and / or broadcast the model, for example only when importance is higher than threshold. That is, in some mbodiments, the iterative learning process is a distributed iterative learning process, and the training process parameters pertains to a threshold value, and the client nodes 300a:300N are only to participate in the iteration of the iterative learning process at the future point in time when their data importance is higher than the threshold value.

[0067] Aspects relying on use of a threshold value also enable that during periods ot time where e.g. radio resources may be particularly scarce, dynamically adjusting the threshold value can also be used as a means to control when and to what extent the iterative learning process should be performed.

[0068] In some aspects, the coordinator node 200 instructs the client nodes 300a:300N to adjust their clock frequencies, oversee their memory allocation, pre-empt their queue of other tasks such that all processing capabilities, etc. of the agent nodes 300a:300N will be dedicated to training the model using the soon-to-arrive important training data. That is, in some embodiments, the training process parameters pertain to any or any combination of: adjustment of a clock frequency, allocating memory for training data of the iterative learning process, pre-empting data queues in time for the iteration of the iterative learning process at the future point in time.

[0069] In some aspects, the coordinator node 200 instructs the client nodes 300a:300N to store the training data until a certain point in time. That is, in some embodiments, the training process parameters instruct the client nodes 300a:300N to store their training data of the iterative learning process at least until a next iteration of the iterative learning process in which the client nodes 300a:300N are to participate.

[0070] In some aspects, the coordinator node 200 takes part in the iterative learning process. This could for example be the case where the coordinator node 200 is a parameter server in a federated iterative learning process. Therefore, in some embodiments, the coordinator node 200 is configured to perform (optional) step S112. S112: The coordinator node 200 participates in an iteration of the iterative learning process at the current point in time and / or the future point in time in accordance with the training process parameters.

[0071] In some examples, the iterative learning process pertains to a computational task to be performed by the client nodes 300a:300N for training the machine learning model. For each iteration round of the iterative learning process, a local model parameter vector with locally computed computational results is computed per each of the client nodes 300a: 300N based on its own local training data and at least one local model parameter vector received from at least one other of the client nodes 300a:300N or from a central parameter server. The locally computed computational results are updates of the machine learning model. For each iteration round of the iterative learning process, each of the client nodes 300a:300N is only to broadcast its local model parameter vector when indicated to do so in accordance with the training process parameters.

[0072] Reference is now made to Fig. 4 illustrating a method for performing an iterative learning process as performed by the client node 300n according to an embodiment.

[0073] S206: The client node 300n obtains a data importance of training data made available to the client node 300n at a future point in time. The training data is for training a machine learning model.

[0074] S208: The client node 300n transmits an indication of the data importance to the coordinator node 200.

[0075] S210: The client node 300n receives training process parameters from the coordinator node 200.

[0076] S212: The client node 300n selectively participates in an iteration of the iterative learning process at a current point in time and / or the future point in time in accordance with the received training process parameters.

[0077] Embodiments relating to further details of performing an iterative learning process as performed by the client node 300n will now be disclosed with continued reference to Fig. 4.

[0078] In some aspects, the client node 300n reports its capabilities to predict the data importance. Therefore, in some embodiments, the client node 300n is configured to perform (optional) step S202.

[0079] S202: The client node 300n transmits an indication to the coordinator node 200 of a capability of the client node 300n to predict the data importance.

[0080] As disclosed above, in some aspects the client node 300n transmits the indication in step S208 to the coordinator node 200 upon the coordinator node 200 having instructed the client node 300n to do so (as in above step S104). Therefore is, in some embodiments, the client node 300n is configured to perform (optional) step S204.

[0081] S204: The client node 300n receives instructions from the coordinator node 200 for the client node 300n to report the indication of the data importance. The client node 300n can be instructed to either periodically report the indication of the data importance or to report the indication of the data importance when a reporting triggereing condition is fulfilled.

[0082] In one example, the coordinator node 200 instructs the client nodes 300a:300N to periodically report the importance. The indication of the data importance as reported by the client node 300n might then comprise a vector of indicators {[t1;t2, t3, ... ]; [x1;x2, x3, ... ]} where each pair (tj, x() contains a time increment (relative to a current time) t(and an estimate of the importance of the data (%j) that will be available at time t(for the client node 300n.

[0083] In another example, the coordinator node 200 configures the client nodes 300a:300N with a triggering criterion for reporting the importance. For example, when an client node 300n has determined that some piece of important data x will be available at some future time t (relative to a current time), the client node 300n could evaluate a utility function f (x, t) and if this the evaluated value of the utility function exceeds some threshold, the client node 300n signals to the coordinator node 200 the values of x and t. The threshold can be either pre-determined or configured by the coordinator node 200, for example sent to the client nodes 300a:300N from the coordinator node 200 over a control channel.

[0084] Further aspects of the data importance will be disclosed next.

[0085] In general terms, there can be different types of data importance. In some examples, the data importance include the statistics of its response variable, and the number of data samples. In a heterogenous-data scenario a certain client node 300n might have access to very unique data, implying that this certain client node 300n should not be ignored in the learning process. As an example of an extreme case, consider a machine learning model pertaining to handwritten digit recognition and that 100 client nodes 300a:300N are participating in the iterative learning process. Assume that 99 of the client nodes 300a:300N have access to samples of the digits "0” to "8” but that only one of the client nodes 300a:300N has access to the digit "9”. This implies that the client node having access to the digit "9” has access to very unique data, implying that this client node should not be ignored in the learning process. In some examples, the coordinator node 200 instructs the client nodes 300a:300N how the client nodes 300a:300N shall calculate the data importance. An outlier data sample, i.e. a data sample deviating significantly from what is to be expected or from what has been observed in the past, may also be considered to be unique data. In another example, the data where the model has performed worse in previous time-instances can also be seen as important data, even though the client nodes have collected plenty of data in the previous time instances. In case of digit classification, the client nodes might have collected plenty of examples on the digit "0”, but the model might still provide bad classification performance for this digit, and hence the digit "0” is still considered as representing important data. In another example, the importance is based on the statistics of the inference data, that is the data used when performing model inference by the one or more client nodes. The coordinator node can obtain statisitcs of the typical input data seen during infernence by the client nodes and increase the importance of such data. To reduce the dimensionality of the statistics, methods such as Principal component analysis (PCA) could be used to provide an efficient way to store and report the statistics of the inference data. Another ways is for the client nodes to provide a K-means estimate of the typical data seen during inference (where each client node provides K data samples each to the coordinator node). Next, when the client nodes estimate the arrival of training data in a future time instance that is similar to the inference statistics (as indicated by the coordinator node), this data is labelled as high importance data.

[0086] In summary, in some embodiments, the data importance pertains to any, or any combination of: statistics of the training data made, statistics of the inference data made, number of available data samples in the training data made, cause of catastropihic forgetting when training the machine learning model.

[0087] In some embodiments, the data importance is obtained by being predicted, estimated, forecasted, or otherwise determined by the client nodes 300a:300N. In some aspects, the client nodes 300a:300N predict the data importance based on auxiliary sensor data. Such auxiliary sensor data might by the client nodes 300a:300N be obtained from physical sensors, such as cameras, microphones, thermometers, radar / lidar sensors, radiofrequency sensors, or the like. Therefore, in some embodiments, the data importance is predicted based on sensor data made available to the client node 300n, and the sensor data is collected from physical sensors. Further in this respect, predicting the data importance (as in step S206) might comprise any, or any combination of: predicting a change in the sensor data, or introduction of completely new sensor data, based on thus far observed sensor data, identify a pattern in thus far observed sensor data, wherein the change impacts the data importance, and wherein the pattern is compared to other patterns associated with different data importances.

[0088] In the case of a radiofrequency sensor, the client node 300n might monitor a specific frequency band (which could be different from the frequency band on which communications with other client nodes 300a:300N and / or the coordinator node 200 takes place) in order to foresee changes in the activity on a wireless channel. For example, the client node 300n might discover that in the monitored frequency band, the received power level suddenly changes. Based on this the client node 300n might infer that some important data will soon be available for the model learning. Spectrum sensing techniques could be leveraged for such measurements of the received power level. In case the user equipment 120a: 120N in which the client node 300a:300N is provided has multiple antennas, the received power level could be measured in the monitored frequency band as a function of angle-of- arrival (or some other parameterization of the beam space). The angle-of-arrival, or similar, could indicate that one or more transmitter devices are moving, which could indicate that important data will soon arrive at one of the client nodes 300a: 300N.

[0089] In the case of a radar sensor (which could be integrated into a communications transceiver), a sudden change of a radar signature, range or angle-of-arrival to a target could indicate the imminence of important training data. The radar could in turn be instructed to identify track objects and form a model for their movement, and only when they deviate from a trajectory predicted by this model, the client node 300n determines that important data is arriving. For example, suppose a radar tracks an object that moves along a straight line; the motion model estimated by the radar is then this straight line. If the target suddenly deviates from the line, the client node 300n could deem, i.e. predict, that important data is likely to soon become available.

[0090] In the case of a camera, the client node 300n could track the appearance and disappearance of particular objects in the video stream. If an object appears that has not been recognized before, that could trigger the client node 300n to declare that important data will soon become available. If an object moves along a trajectory that differs substantially from other trajectories seen in the past for that object, that could likewise trigger the client node 300n to declare that important data is forthcoming.

[0091] For any type of sensors, patterns can be identified by the client nodes 300n:300N as typical, that is, a pattern that has been obsereved many times before. If such patterns in the past have been found to correlate with important data becoming available, the detection of such a pattern can itself trigger the client nodes 300a:300N to signal that important data will be coming.

[0092] Aspects of the training process parameters have been disclosed above and apply also for the client nodes 300a:300N.

[0093] For example, as disclosed above, in some embodiments where the iterative learning process is a federated iterative learning process, the training process parameters could pertain to any or any combination of: an indication of a start time for a next iteration of the iterative learning process in which the client nodes 300a:300N are to participate, a first iteration of the iterative learning process in which the client nodes 300a:300N are to, at least temporarily, start their participation in the iterative learning process, a last iteration of the iterative learning process in which the client nodes 300a:300N are to, at least temporarily, end their participation in the iterative learning process, a time interval during which the iterative learning process is paused.

[0094] For example, as disclosed above, in some embodiments where the iterative learning process is_a distributed iterative learning process, the training process parameters could pertain to any or any combination of: an indication of a start time for a next iteration of the iterative learning process in which the client nodes 300a:300N are to participate, an order in which the client nodes 300a:300N are to transmit their local model parameter vector in the next iteration.

[0095] Further, for a distributed iterative learning process, the coordinator node 200 might configure a rule for when a given client node 300a:300N should start its training, when a given client node 300a:300N should broadcast the model, and / or or configuring the transmission order of the client nodes 300a:300N. For example, the coordinator node 200 could configure each of the client nodes 300a:300N with a threshold detailing when each of the client nodes 300a:300N should train and broadcast its model. For example, if the training data set importance for a future time-instance for a given client node 300a: 300N is above a threshold, the given client node 300a:300N should postpone its training and / or broadcast until that time instance. If the auxiliary input at an client nodes 300a:300N indicates that important training data will be available at some point in the future, the client node 300a:300N can refrain from sending model inputs until this training data has become available. The client node 300a:300N may further request (from the coordinator node 200) a scheduling grant to transmit its model update at a specific point in the future, namely the point in time indicated by the auxiliary input as the time when new and important training data will be available.

[0096] Upon receiving an indicator that important training data will soon arrive, the coordinator node 200 can instruct the client nodes 300a:300N to pre-empt their queue of other tasks such that all processing capabilities of the client nodes 300a:300N will be dedicated to training the model using the soon-to-arrive important training data. The coordinator node 200 can also instruct the client nodes 300a:300N to adjust their clock frequencies and or other activities in order to save battery energy, such that the client nodes 300a:300n can spend sufficient energy on processing the important data that will be arriving. The coordinator node 200 can further instruct the client nodes 300a:300N to oversee their memory allocation, and remove or offload anything from memory that is not urgently required to keep there, in order to make sure that the client nodes 300a:300N have enough memory available to process the anticipated important data, or store it temporarily in case processing capabilities are insufficient for immediate processing. Hence, in some embodiments, the training process parameters instruct the client node 300n to store its training data of the iterative learning process at least until a next iteration of the iterative learning process in which the client node 300n is to participate.

[0097] In some examples, the iterative learning process pertains to a computational task to be performed by the client node 300n for training the machine learning model. For each iteration round of the iterative learning process, a local model parameter vector with locally computed computational results is computed by the client node 300n based on its own local training data and at least one local model parameter vector received from at least one other client node 300n or from a central parameter server. The locally computed computational results are updates of the machine learning model. For each iteration round of the iterative learning process the client node 300n is only to broadcast its local model parameter vector when indicated to do so in accordance with the received training process parameters.

[0098] Further aspects of the data importance relating to catastrophic forgetting will be disclosed next.

[0099] In general terms, catastrophic forgetting is a technique to measure importance of data. Catastrophic forgetting occurs when a model loses its capability to associate an anterior data distribution when re-trained with a posterior data distribution. This can be due to the model's receptive capability (or neural architecture) but also due to the data distribution size which might supersede sample and distribution-wise that of the previous dataset. As such the model becomes forgetful and previous learnings are no longer preserved. One particular example for the coordinator node 200 to coordinate an iterative learning process for client nodes 300a:300N and for the client nodes 300a:300N to perform the iterative learning process based on at least some of the above disclosed examples will now be disclosed in detail with reference to the signaling diagram of Fig. 5.

[0100] S301 : The client nodes 300a:300N indicate to the coordinator node 200 their capability to predict data importance of training data for training a machine learning model.

[0101] S302: The coordinator node 200 requests the client nodes 300a:300N to report the indications of the data importance.

[0102] S303: The client nodes 300a:300N predict a data importance of training data made available to the client nodes 300a:300N at a future point in time for training the machine learning model.

[0103] S304: The client nodes 300a:300N transmit an indication of the data importance to the coordinator node 200.

[0104] S305: The coordinator node 200 selects training process parameters for an iteration of the iterative learning process at a current point in time and / or the future point in time in accordance with the indications received from the client nodes 300a:300N.

[0105] S306: The coordinator node 200 transmits the selected training process parameters to the client nodes 300a:300N.

[0106] S307: The client nodes 300a:300N (and the coordinator node 200) selectively participates in an iteration of the iterative learning process at the current point in time and / or the future point in time in accordance with the training process parameters.

[0107] The following test can be used to measure catastrophic forgetting at the client nodes 300a:300N but also how to address it by the coordinator node 200. In general terms, the test is based on setting up check-points between the client nodes 300a:300N and the coordinator node 200 to detect if the model can sustain knowledge of old training data.

[0108] Step 1 : M_old <- Train M_old with DS_anterior_train_set

[0109] Step 2: DS_validation <- DS_anterior_test_set U DS_posterior_test_set

[0110] Step 3: perf_old <- validate(M_old, DS_validation)

[0111] Step 4: if perf_old > t:

[0112] # new data is not important as old model can predict them

[0113] Step 4.1 : send_importance_to_coordinator_node() Step 5: else: # old model cannot account for new data

[0114] Step 5.1 : M_new <- train M_new with DS_posterior_train_set

[0115] Step 5.2: perf_new <- validate(M_new, DS_validation)

[0116] Step 5.3: f perf_new > t:

[0117] # new model can account for old and new data

[0118] # new data is not important but new model is important

[0119] Step 5.4: send_importance_to_coordinator_node()

[0120] Step 5.5: else:

[0121] # new model cannot account for old and / or new data

[0122] # catastrophic forgetting occurs

[0123] # new data is important

[0124] # new architecture I ensembling is needed

[0125] Step 5.5.1 : send_importance_to_coordinator_node()

[0126] Steps 1 -3 of the test relate to step S301 . The auxilary input in this context is the previously trained model (M_old) as provided by the coordinator node 200 and also the DS_validation dataset which is collected by the client nodes. In this case, the client nodes are tasked to identify if DS_val idation is important or not. This is achieved by checking how well that model predicts newly collected data.

[0127] Steps 4.1, 5.1 and 5.5.1. in the algorithm refer to message Step S304. Even though they appear at different points, they refer to the same information but with different context. In Step 4.1 the client nodes 300a:300N communicate the case where the new data is not important and the old model can be used to predict the new data and therefore the process ends here; There is no need for Steps S305-S307 to be peformed.

[0128] However, if the new data is important (and if the old model cannot account for the new data), in Step S305 the coordinator node 200 determines if a new model (M_new) combined with the old model (M_old) should be used in ensemble where the new model learns the new data and the old model is maintained to predict the old data (where for inference purposes both models are consulted thus getting the benefits of both) or if a new model M_NEW sufficies for both datasets. This is determined by sending a new model to the client nodes (in Step S306) and then the client nodes 300a:300N in Step S307) tests how well this models works with the old versus new data.

[0129] Two illustrative ecamples where the herein disclosed embodiments can be be applied will be disclosed next.

[0130] A first examples relates to training machine learning model in terms of an object recognition model using a camera network. Each client node 300a: 300N is equipped with a camera and an acoustic sensor (such as a microphone). During nominal operation, the camera is used for the training of the object recognition model. With auxiliary input, the microphone could be used to sense whether some important event is likely to occur in the near future. For example, if the client node 300a:300N via sounds received from the microphone detects that a person is approaching (e.g. making noise that can be identified as stemming from a human) then the client nodes 300a:300N can alert the coordinator node 200 that very likely soon the camera will have important data to share. The client nodes 300a:300N can then also, for example, request a scheduling grant (in addition to informing the coordinator node 200 that important data will soon arrive). In addition, the client nodes 300a:300N can refrain from transmitting any other model updates until the new, important data arrive.

[0131] A second examples relates to channel state information compression using autoencoders, e.g., for enhanced beamforming. An autoencoder is a type of neural network used to learn efficient data representations. The absolute values of the channel impulse response are compressed to a code, and the code is decoded to reconstruct the measured channel impulse response. In a beamforming context, the client nodes 300a:300N could report the code to the coordinator node 200, such that beamforming based on the decoded code can be performed at the network node 110. The autoencoder could be trained using an iterative federative learning process, where the coordinator node 200 is interested in receiving training data from client nodes 300a:300N with diverse datasets. For example, the coordinator node 200 might want to have samples both from client nodes 300a:300N provided in user equipment located indoors as well as in user equipment located outdoors. In case the coordinator node 200 has bad performance for client nodes provided in user equipment located indoors, the coordinator node 200 can increase the importance of collecting datasets from such client nodes. The herein disclosed embodiments could be used for example to allow the client nodes 300a:300N to indicate that they will be having such important data at a future time instant, using auxiliary sensor data (e.g. obtained from cameras or positioning systems) to indicate that the client nodes 300a:300N are likely to soon transition to an indoor environmnet. The coordinator node 200 can use this information to postpone the start of the iterative training process until the user equipment these client nodes 300a:300N are provided in are located indoors.

[0132] Fig. 6 schematically illustrates, in terms of a number of functional units, the components of a coordinator node 200 according to an embodiment. Processing circuitry 210 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product 1010a (as in Fig. 10), e.g. in the form of a storage medium 230. The processing circuitry 210 may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA).

[0133] Particularly, the processing circuitry 210 is configured to cause the coordinator node 200 to perform a set of operations, or steps, as disclosed above. For example, the storage medium 230 may store the set of operations, and the processing circuitry 210 may be configured to retrieve the set of operations from the storage medium 230 to cause the coordinator node 200 to perform the set of operations. The set of operations may be provided as a set of executable instructions. Thus the processing circuitry 210 is thereby arranged to execute methods as herein disclosed.

[0134] The storage medium 230 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.

[0135] The coordinator node 200 may further comprise a communications (comm.) interface 220 for communications with other entities, functions, nodes, and devices, such as the client nodes 300a:300N, either directly or indirectly. As such the communications interface 220 may comprise one or more transmitters and receivers, comprising analogue and digital components.

[0136] The processing circuitry 210 controls the general operation of the coordinator node 200 e.g. by sending data and control signals to the communications interface 220 and the storage medium 230, by receiving data and reports from the communications interface 220, and by retrieving data and instructions from the storage medium 230. Other components, as well as the related functionality, of the coordinator node 200 are omitted in order not to obscure the concepts presented herein.

[0137] Fig. 7 schematically illustrates, in terms of a number of functional modules, the components of a coordinator node 200 according to an embodiment. The coordinator node 200 of Fig. 7 comprises a number of functional modules; a receive module 210c configured to perform step S106, a select module 21 Od configured to perform step S108, and a tarnskit module 21 Oe configured to perform step S110. The coordinator node 200 of Fig. 7 may further comprise a number of optional functional modules, such as any of a receive module 210a configured to perform step S102, a transmit module 210b configured to perform step S104, and / or a participate module 21 Of configured to perform step S112. In general terms, each functional module 210a:21 Of may be implemented in hardware or in software. Preferably, one or more or all functional modules 210a:21 Of may be implemented by the processing circuitry 210, possibly in cooperation with the communications interface 220 and / or the storage medium 230. The processing circuitry 210 may thus be arranged to from the storage medium 230 fetch instructions as provided by a functional module 210a:21 Of and to execute these instructions, thereby performing any steps of the coordinator node 200 as disclosed herein.

[0138] The coordinator node 200 may be provided as a standalone device or as a part of at least one further device. For example, the coordinator node 200 may be provided in a node of the radio access network or in a node of the core network. Alternatively, functionality of the coordinator node 200 may be distributed between at least two devices, or nodes. These at least two nodes, or devices, may either be part of the same network part (such as the radio access network or the core network) or may be spread between at least two such network parts. In general terms, instructions that are required to be performed in real time may be performed in a device, or node, operatively closer to the cell than instructions that are not required to be performed in real time. A first portion of the instructions performed by the coordinator node 200 may be executed in a first device, and a second portion of the instructions performed by the coordinator node 200 may be executed in a second device; the herein disclosed embodiments are not limited to any particular number of devices on which the instructions performed by the coordinator node 200 may be executed. Hence, the methods according to the herein disclosed embodiments are suitable to be performed by a coordinator node 200 residing in a cloud computational environment. Therefore, although a single processing circuitry 210 is illustrated in Fig. 6 the processing circuitry 210 may be distributed among a plurality of devices, or nodes. The same applies to the functional modules 210a:21 Of of Fig. 7 and the computer program 1020a of Fig. 10.

[0139] Fig. 8 schematically illustrates, in terms of a number of functional units, the components of a client node 300n according to an embodiment. Processing circuitry 310 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product 1010b (as in Fig. 10), e.g. in the form of a storage medium 330. The processing circuitry 310 may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA).

[0140] Particularly, the processing circuitry 310 is configured to cause the client node 300n to perform a set of operations, or steps, as disclosed above. For example, the storage medium 330 may store the set of operations, and the processing circuitry 310 may be configured to retrieve the set of operations from the storage medium 330 to cause the client node 300n to perform the set of operations. The set of operations may be provided as a set of executable instructions. Thus the processing circuitry 310 is thereby arranged to execute methods as herein disclosed.

[0141] The storage medium 330 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.

[0142] The client node 300n may further comprise a communications interface 320 for communications with other entities, functions, nodes, and devices, such as other client nodes 300a:300N and the coordinator node 200, either directly or indirectly. As such the communications interface 320 may comprise one or more transmitters and receivers, comprising analogue and digital components.

[0143] The processing circuitry 310 controls the general operation of the client node 300n e.g. by sending data and control signals to the communications interface 320 and the storage medium 330, by receiving data and reports from the communications interface 320, and by retrieving data and instructions from the storage medium 330.

[0144] Other components, as well as the related functionality, of the client node 300n are omitted in order not to obscure the concepts presented herein.

[0145] Fig. 9 schematically illustrates, in terms of a number of functional modules, the components of a client node 300n according to an embodiment. The client node 300n of Fig. 9 comprises a number of functional modules; an obtain module 310c configured to perform step S206, a transmit module 31 Od configured to perform step S208, a receive module 31 Oe configured to perform step S210, and a participate module 31 Of configured to perform step S212. The client node 300n of Fig. 9 may further comprise a number of optional functional modules, such as any of a transmit module 310a configured to perform step S202, and / or a receive module 310b configured to perform step S204. In general terms, each functional module 310a:31 Of may be implemented in hardware or in software. Preferably, one or more or all functional modules 310a:31 Of may be implemented by the processing circuitry 310, possibly in cooperation with the communications interface 320 and / or the storage medium 330. The processing circuitry 310 may thus be arranged to from the storage medium 330 fetch instructions as provided by a functional module 310a:31 Of and to execute these instructions, thereby performing any steps of the client node 300n as disclosed herein.

[0146] Fig. 10 shows one example of a computer program product 1010a, 1010b comprising computer readable means 1030. On this computer readable means 1030, a computer program 1020a can be stored, which computer program 1020a can cause the processing circuitry 210 and thereto operatively coupled entities and devices, such as the communications interface 220 and the storage medium 230, to execute methods according to embodiments described herein. The computer program 1020a and / or computer program product 1010a may thus provide means for performing any steps of the coordinator node 200 as herein disclosed. On this computer readable means 1030, a computer program 1020b can be stored, which computer program 1020b can cause the processing circuitry 310 and thereto operatively coupled entities and devices, such as the communications interface 320 and the storage medium 330, to execute methods according to embodiments described herein. The computer program 1020b and / or computer program product 1010b may thus provide means for performing any steps of the client node 300n as herein disclosed.

[0147] In the example of Fig. 10, the computer program product 1010a, 1010b is illustrated as an optical disc, such as a CD (compact disc) or a DVD (digital versatile disc) or a Blu-Ray disc. The computer program product 1010a, 1010b could also be embodied as a memory, such as a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or an electrically erasable programmable readonly memory (EEPROM) and more particularly as a non-volatile storage medium of a device in an external memory such as a USB (Universal Serial Bus) memory or a Flash memory, such as a compact Flash memory. Thus, while the computer program 1020a, 1020b is here schematically shown as a track on the depicted optical disk, the computer program 1020a, 1020b can be stored in any way which is suitable for the computer program product 1010a, 1010b. Fig. 11 is a schematic diagram illustrating a telecommunication network connected via an intermediate network 420 to a host computer 430 in accordance with some embodiments. In accordance with an embodiment, a communication system includes telecommunication network 410, such as a 3GPP-type cellular network, which comprises access network 411 , and core network 414. Access network 411 comprises a plurality of radio access network nodes 412a, 412b, 412c, such as NBs, eNBs, gNBs (each corresponding to the network node 110) or other types of wireless access points, each defining a corresponding coverage area, or cell, 413a, 413b, 413c. Each radio access network nodes 412a, 412b, 412c is connectable to core network 414 over a wired or wireless connection 415. A first UE 491 located in coverage area 413c is configured to wirelessly connect to, or be paged by, the corresponding network node 412c. A second UE 492 in coverage area 413a is wirelessly connectable to the corresponding network node 412a. While a plurality of UE 491, 492 are illustrated in this example, the disclosed embodiments are equally applicable to a situation where a sole UE is in the coverage area or where a sole terminal device is connecting to the corresponding network node 412. The UEs 491, 492 correspond to the user equipment 120a: 120N.

[0148] Telecommunication network 410 is itself connected to host computer 430, which may be embodied in the hardware and / or software of a standalone server, a cloud-implemented server, a distributed server or as processing resources in a server farm. Host computer 430 may be under the ownership or control of a service provider, or may be operated by the service provider or on behalf of the service provider. Connections 421 and 422 between telecommunication network 410 and host computer 430 may extend directly from core network 414 to host computer 430 or may go via an optional intermediate network 420. Intermediate network 420 may be one of, or a combination of more than one of, a public, private or hosted network; intermediate network 420, if any, may be a backbone network or the Internet; in particular, intermediate network 420 may comprise two or more sub-networks (not shown).

[0149] The communication system of Fig. 11 as a whole enables connectivity between the connected UEs 491, 492 and host computer 430. The connectivity may be described as an over-the-top (OTT) connection 450. Host computer 430 and the connected UEs 491, 492 are configured to communicate data and / or signalling via OTT connection 450, using access network 411, core network 414, any intermediate network 420 and possible further infrastructure (not shown) as intermediaries. OTT connection 450 may be transparent in the sense that the participating communication devices through which OTT connection 450 passes are unaware of routing of uplink and downlink communications. For example, network node 412 may not or need not be informed about the past routing of an incoming downlink communication with data originating from host computer 430 to be forwarded (e.g., handed over) to a connected UE 491. Similarly, network node 412 need not be aware of the future routing of an outgoing uplink communication originating from the UE 491 towards the host computer 430.

[0150] Fig. 12 is a schematic diagram illustrating host computer communicating via a radio access network node with a UE over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with an embodiment, of the UE, radio access network node and host computer discussed in the preceding paragraphs will now be described with reference to Fig. 12. In communication system 500, host computer 510 comprises hardware 515 including communication interface 516 configured to set up and maintain a wired or wireless connection with an interface of a different communication device of communication system 500. Host computer 510 further comprises processing circuitry 518, which may have storage and / or processing capabilities. In particular, processing circuitry 518 may comprise one or more programmable processors, application-specific integrated circuits, field programmable gate arrays or combinations of these (not shown) adapted to execute instructions. Host computer 510 further comprises software 511, which is stored in or accessible by host computer 510 and executable by processing circuitry 518. Software 511 includes host application 512. Host application 512 may be operable to provide a service to a remote user, such as UE 530 connecting via OTT connection 550 terminating at UE 530 and host computer 510. The UE 530 corresponds to the user equipment 120a:120N. In providing the service to the remote user, host application 512 may provide user data which is transmitted using OTT connection 550.

[0151] Communication system 500 further includes radio access network node 520 provided in a telecommunication system and comprising hardware 525 enabling it to communicate with host computer 510 and with UE 530. The radio access network node 520 corresponds to the network node 110. Hardware 525 may include communication interface 526 for setting up and maintaining a wired or wireless connection with an interface of a different communication device of communication system 500, as well as radio interface 527 for setting up and maintaining at least wireless connection 570 with UE 530 located in a coverage area (not shown in Fig. 12) served by radio access network node 520. Communication interface 526 may be configured to facilitate connection 560 to host computer 510. Connection 560 may be direct or it may pass through a core network (not shown in Fig. 12) of the telecommunication system and / or through one or more intermediate networks outside the telecommunication system. In the embodiment shown, hardware 525 of radio access network node 520 further includes processing circuitry 528, which may comprise one or more programmable processors, applicationspecific integrated circuits, field programmable gate arrays or combinations of these (not shown) adapted to execute instructions. Radio access network node 520 further has software 521 stored internally or accessible via an external connection.

[0152] Communication system 500 further includes UE 530 already referred to. Its hardware 535 may include radio interface 537 configured to set up and maintain wireless connection 570 with a radio access network node serving a coverage area in which UE 530 is currently located. Hardware 535 of UE 530 further includes processing circuitry 538, which may comprise one or more programmable processors, application-specific integrated circuits, field programmable gate arrays or combinations of these (not shown) adapted to execute instructions. UE 530 further comprises software 531, which is stored in or accessible by UE 530 and executable by processing circuitry 538. Software 531 includes client application 532. Client application 532 may be operable to provide a service to a human or non-human user via UE 530, with the support of host computer 510. In host computer 510, an executing host application 512 may communicate with the executing client application 532 via OTT connection 550 terminating at UE 530 and host computer 510. In providing the service to the user, client application 532 may receive request data from host application 512 and provide user data in response to the request data. OTT connection 550 may transfer both the request data and the user data. Client application 532 may interact with the user to generate the user data that it provides.

[0153] It is noted that host computer 510, radio access network node 520 and UE 530 illustrated in Fig. 12 may be similar or identical to host computer 430, one of network nodes 412a, 412b, 412c and one of UEs 491, 492 of Fig. 11, respectively. This is to say, the inner workings of these entities may be as shown in Fig. 12 and independently, the surrounding network topology may be that of Fig. 11 .

[0154] In Fig. 12, OTT connection 550 has been drawn abstractly to illustrate the communication between host computer 510 and UE 530 via network node 520, without explicit reference to any intermediary devices and the precise routing of messages via these devices. Network infrastructure may determine the routing, which it may be configured to hide from UE 530 or from the service provider operating host computer 510, or both. While OTT connection 550 is active, the network infrastructure may further take decisions by which it dynamically changes the routing (e.g., on the basis of load balancing consideration or reconfiguration of the network).

[0155] Wireless connection 570 between UE 530 and radio access network node 520 is in accordance with the teachings of the embodiments described throughout this disclosure. One or more of the various embodiments improve the performance of OTT services provided to UE 530 using OTT connection 550, in which wireless connection 570 forms the last segment. More precisely, the teachings of these embodiments may reduce interference, due to improved classification ability of airborne UEs which can generate significant interference.

[0156] A measurement process may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring OTT connection 550 between host computer 510 and UE 530, in response to variations in the measurement results. The measurement process and / or the network functionality for reconfiguring OTT connection 550 may be implemented in software 511 and hardware 515 of host computer 510 or in software 531 and hardware 535 of UE 530, or both. In embodiments, sensors (not shown) may be deployed in or in association with communication devices through which OTT connection 550 passes; the sensors may participate in the measurement process by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software 511, 531 may compute or estimate the monitored quantities. The reconfiguring of OTT connection 550 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not affect network node 520, and it may be unknown or imperceptible to radio access network node 520. Such processs and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signalling facilitating host computer's 510 measurements of throughput, propagation times, latency and the like. The measurements may be implemented in that software 511 and 531 causes messages to be transmitted, in particular empty or 'dummy' messages, using OTT connection 550 while it monitors propagation times, errors etc.

[0157] The inventive concept has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the inventive concept, as defined by the appended patent claims.

Claims

CLAIMS1 . A method for coordinating an iterative learning process for client nodes (300a:300N), wherein the method is performed by a coordinator node (200), and wherein the method comprises: receiving (S106) indications from the client nodes (300a:300N) of data importance of training data made available to the client nodes (300a:300N) at a future point in time for training a machine learning model; selecting (S108) training process parameters for an iteration of the iterative learning process at a current point in time and / or said future point in time in accordance with the indications received; and transmitting (S110) the selected training process parameters to the client nodes (300a:300N).

2. The method according to claim 1 , wherein the method further comprises: receiving (S102) indications from the client nodes (300a:300N) of capabilities of the client nodes (300a:300N) to predict the data importance.

3. The method according to claim 1 or 2, wherein the method further comprises: transmitting (S104) instructions to the client nodes (300a:300N) for the client nodes (300a:300N) to report the indications of the data importance, wherein the client nodes (300a:300N) are instructed to either periodically report the indications of the data importance or to report the indications of the data importance when a reporting triggering condition is fulfilled.

4. The method according to any preceding claim, wherein the iterative learning process is a federated iterative learning process, and wherein the training process parameters pertain to any or any combination of: an indication of a start time for a next iteration of the iterative learning process in which the client nodes (300a:300N) are to participate, a first iteration of the iterative learning process in which the client nodes (300a:300N) are to, at least temporarily, start their participation in the iterative learning process, a last iteration of the iterative learning process in which the client nodes (300a:300N) are to, at least temporarily, end their participation in the iterative learning process, a time interval during which the iterative learning process is paused.

5. The method according to any preceding claim, wherein the client nodes (300a:300N) are grouped into different data importance groups, and wherein the coordinator node (200) selects different training process parameters for the data importance groups for training the machine learning model.

6. The method according to claim 5, wherein only the client nodes (300a:300N) in the data importance groups for which the data importance is higher than a threshold value are to, according to the selected training process parameters, participate in the iteration of the iterative learning process at said future point in time.

7. The method according to any preceding claim, wherein the iterative learning process is a distributed iterative learning process, and wherein the training process parameters pertain to any or any combination of: an indication of a start time for a next iteration of the iterative learning process in which the client nodes (300a:300N) are to participate, an order in which the client nodes (300a:300N) are to transmit their local model parameter vector in the next iteration.

8. The method according to any preceding claim, wherein the iterative learning process is a distributed iterative learning process, and wherein the training process parameters pertains to a threshold value, and wherein the client nodes (300a:300N) only are to participate in the iteration of the iterative learning process at said future point in time when their data importance is higher than the threshold value.

9. The method according to any preceding claim, wherein the training process parameters pertain to any or any combination of: adjustment of a clock frequency, allocating memory for training data of the iterative learning process, pre-empting data queues in time for the iteration of the iterative learning process at said future point in time.

10. The method according to any preceding claim, wherein the training process parameters instruct the client nodes (300a:300N) to store their training data of the iterative learning process at least until a next iteration of the iterative learning process in which the client nodes (300a:300N) are to participate.11 . The method according to any preceding claim, wherein the method further comprises: participating (S112) in an iteration of the iterative learning process at said current point in time and / or said future point in time in accordance with the training process parameters.

12. The method according to any preceding claim, wherein the iterative learning process pertains to a computational task to be performed by the client nodes (300a:300N) for training the machine learning model, wherein, for each iteration round of the iterative learning process, a local model parameter vector with locally computed computational results is computed per each of the client nodes (300a:300N) based on its own local training data and at least one local model parameter vector received from at least one other of the client nodes (300a:300N) or from a central parameter server, wherein the locally computed computational results are updates of the machine learning model, and wherein for each iteration round of the iterative learning process each of the client nodes (300a:300N) is only to broadcast its local model parameter vector when indicated to do so in accordance with the training process parameters.

13. A method for performing an iterative learning process, wherein the method is performed by an client node (300n), and wherein the method comprises: obtaining (S206) a data importance of training data made available to the client node (300n) at a future point in time for training a machine learning model; transmitting (S208) an indication of the data importance to a coordinator node (200); receiving (S210) training process parameters from the coordinator node (200); and selectively participating (S212) in an iteration of the iterative learning process at a current point in time and / or said future point in time in accordance with the received training process parameters.

14. The method according to claim 13, wherein the method further comprises: transmitting (S202) an indication to the coordinator node (200) of a capability of the client node (300n) to predict the data importance.

15. The method according to claim 13 or 14, wherein the method further comprises: receiving (S204) instructions from the coordinator node (200) for the client node (300n) to report the indication of the data importance, wherein the client node (300n) is instructed to either periodically report the indication of the data importance or to report the indication of the data importance when a reporting triggereing condition is fulfilled.

16. The method according to any of claims 13 to 15, wherein the data importance pertains to any, or any combination of: statistics of the training data made, number of available data samples in the training data made, cause of catastropihic forgetting when training the machine learning model.

17. The method according to any of claims 13 to 16, wherein the data importance is obtained by being predicted by the client node (300n).

18. The method according to claim 17, wherein the data importance is predicted based on sensor data made available to the client node (300n), and wherein the sensor data is collected from physical sensors.

19. The method according to claim 18, wherein predicting the data importance comprises any, or any combination of: predicting a change in the sensor data based on thus far observed sensor data, identify a pattern in thus far observed sensor data, wherein the change impacts the data importance, and wherein the pattern is compared to other patterns associated with different data importances.

20. The method according to any of claims 13 to 19, wherein the training process parameters instruct the client node (300n) to store its training data of the iterative learning process at least until a next iteration of the iterative learning process in which the client node (300n) is to participate.21 . The method according to any of claims 13 to 20, wherein the iterative learning process pertains to a computational task to be performed by the client node (300n) for training the machine learning model, wherein, for each iteration round of the iterative learning process, a local model parameter vector with locally computed computational results is computed by the client node (300n) based on its own local training data and at least one local model parameter vector received from at least one other client node (300n) or from a central parameter server, wherein the locally computed computational results are updates of the machine learning model, wherein for each iteration round of the iterative learning process the client node (300n) is only to broadcast its local model parameter vector when indicated to do so in accordance with the received training process parameters.

22. The method according to any preceding claim, wherein the coordinator node (200) is provided in a network node (110) or a user equipment (120c), and each of the client nodes (300a:300N) is provided in a respective user equipment (120a: 120N).

23. The method according to any preceding claim, wherein the client nodes (300a:300N) are provided in a distributed computing architecture (100a, 100b).

24. A coordinator node (200) for coordinating an iterative learning process for client nodes (300a:300N), the coordinator node (200) comprising processing circuitry (210), the processing circuitry being configured to cause the coordinator node (200) to: receive indications from the client nodes (300a:300N) of data importance of training data made available to the client nodes (300a:300N) at a future point in time for training a machine learning model; select training process parameters for an iteration of the iterative learning process at a current point in time and / or said future point in time in accordance with the indications received; and transmit the selected training process parameters to the client nodes (300a:300N).

25. A coordinator node (200) for coordinating an iterative learning process for client nodes (300a:300N), the coordinator node (200) comprising:a receive module (210c) configured to receive indications from the client nodes (300a:300N) of data importance of training data made available to the client nodes (300a:300N) at a future point in time for training a machine learning model; a select module (21 Od) configured to select training process parameters for an iteration of the iterative learning process at a current point in time and / or said future point in time in accordance with the indications received; and a transmit module (21 Oe) configured to transmit the selected training process parameters to the client nodes (300a:300N).

26. The coordinator node (200) according to claim 23 or 24, further being configured to perform the method according to any of claims 2 to 12.

27. A client node (300n) for performing an iterative learning process, the client node (300n) comprising processing circuitry (310), the processing circuitry being configured to cause the client node (300n) to: obtain a data importance of training data made available to the client node (300n) at a future point in time for training a machine learning model; transmit an indication of the data importance to a coordinator node (200); receive training process parameters from the coordinator node (200); and selectively participate in an iteration of the iterative learning process at a current point in time and / or said future point in time in accordance with the received training process parameters.

28. A client node (300n) for performing an iterative learning process, the client node (300n) comprising: an obtain module (310c) configured to predict a data importance of training data made available to the client node (300n) at a future point in time for training a machine learning model; a transmit module (31 Od) configured to transmit an indication of the data importance to a coordinator node (200); a receive module (31 Oe) configured to a receive module (31 Oe) configured to receive training process parameters from the coordinator node (200); and a participate module (31 Of) configured to selectively participate in an iteration of the iterative learning process at a current point in time and / or said future point in time in accordance with the received training process parameters.

29. The client node (300n) according to claim 26 or 27, further being configured to perform the method according to any of claims 14 to 20.

30. A computer program (1020a) for coordinating an iterative learning process for client nodes (300a:300N), the computer program comprising computer code which, when run on processing circuitry (210) of a coordinator node (200), causes the coordinator node (200) to: receive (S106) indications from the client nodes (300a:300N) of data importance of training data made available to the client nodes (300a:300N) at a future point in time for training a machine learning model; select (S108) training process parameters for an iteration of the iterative learning process at a current point in time and / or said future point in time in accordance with the indications received; and transmit (S110) the selected training process parameters to the client nodes (300a:300N).31 . A computer program (1020b) for performing an iterative learning process, the computer program comprising computer code which, when run on processing circuitry (310) of a client node (300n), causes the client node (300n) to: obtain (S206) a data importance of training data made available to the client node (300n) at a future point in time for training a machine learning model; transmit (S208) an indication of the data importance to a coordinator node (200); receive (S210) training process parameters from the coordinator node (200); and selectively participate (S212) in an iteration of the iterative learning process at a current point in time and / or said future point in time in accordance with the received training process parameters.

32. A computer program product (1010a, 1010b) comprising a computer program (1020a, 1020b) according to at least one of claims 30 and 31, and a computer readable storage medium (1030) on which the computer program is stored.

Citation Information

Patent Citations

  • Machine learning component update reporting in federated learning

    US20220101204A1

  • Apparatus, method, and computer program

    WO2023274526A1

  • Methods and systems for decentralized federated learning

    US20220114475A1

  • Systems and methods for distributed learning for wireless edge dynamics

    US20230068386A1