Anomaly detection in distributed split learning environment

EP4736006A1Pending Publication Date: 2026-05-06TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Filing Date
2023-11-02
Publication Date
2026-05-06

AI Technical Summary

Technical Problem

In distributed split learning environments, anomaly detection is challenging due to distributed input data across multiple computation nodes, leading to inconsistent anomaly detection across use cases and inefficiencies in training separate ML models, which are costly in terms of computation, communication, and storage.

Method used

A method is implemented where a first node in a distributed split learning environment identifies anomalies by comparing input data with reconstructed data samples, sending activation outputs to a second node for validation, and updating thresholds or model parameters based on detected anomalies, allowing for collaborative anomaly detection and reduced computational and memory requirements.

Benefits of technology

This approach enables effective anomaly detection considering both ML model accuracy and input data quality, reducing unnecessary data removal and computational costs by sharing a common ML model for anomaly detection and task estimation, thereby improving overall model performance and resource efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure SE2023051109_02012025_PF_FP_ABST
    Figure SE2023051109_02012025_PF_FP_ABST
Patent Text Reader

Abstract

A computer-implemented method is provided performed by a first node in a distributed split learning environment for anomaly detection. The method includes identifying (1100) a first indication of whether a data sample from input data contains an anomaly; sending (1102) to a second node an output of an activation function from a first portion of a machine learning (ML) model; receiving (1104) a second indication that indicates whether the anomaly is detected at the second node as well; and performing (1106) one of (i) exclude the data sample from input data to the first node and output of the second node when the anomaly is detected at the second node as well, followed by updating a threshold in a comparator at the first node, and (ii) update parameters of the ML model for a task when the second indication indicates that the anomaly is not detected at the second node.
Need to check novelty before this filing date? Find Prior Art

Description

Anomaly Detection In Distributed Split Learning EnvironmentTECHNICAL FIELD

[0001] The present disclosure relates generally to computer-implemented methods performed by a first node in a distributed split learning environment for collaborative anomaly detection, where the distributed split learning environment includes a machine learning (ML) model.BACKGROUND

[0002] Artificial intelligence (Al) architecture in sixth generation (6G) networks may be described as having four main components: machine learning (ML) operations (Ops) (e.g., intelligence anywhere when beneficial), DataOps, Zero-touch, and Al as a service (AlaaS). In MLOps, there may be a need for efficient ML model management as the number of ML models for different tasks grow exponentially. For example, it may be important to simplify and reduce the number of managed ML models as much as possible while still sustaining ML model accuracy. In addition, 6G architecture is forecasted to include split architecture with distributed network elements. There may be a need for ML model generalization mechanisms applicable for a distributed network architecture.

[0003] Split learning can leverage a split neural network that is a distributed deep learning technique, which can train deep neural networks over multiple data sources without sharing raw labeled data directly. In split learning, a deep neural network can be split into multiple partitions, each of which can be trained on a different client. In forward propagation, each client can train a partial neural network up to its last layer, which may be referred to as a cut layer. The outputs at the cut layers from the clients can be sent to the server and used to train the rest of the network. In backward propagation, gradients are back propagated from a cut layer until the cut layer in server sends back to clients to complete the back propagation. This process can be continued back and forth to complete forward and backward propagations to train the distributed deep neural networks without sharing raw data of clients. The process can be done either by all clients feeding into the server in parallel or in sequence.

[0004] In a split learning setting, a client can have orthogonal or overlapping input features, without having to have labels. An example use case in a fifth generation (5G) core network includes where each function handles certain features of a dataset related to the radio, network, end device (e.g., user equipment (UE)), meta data related to the user context, and quality of experience (QoE). Using split learning, each function in the core network may join the training by transferring its local model encoded output (which may be referred to as “smashed feature values”)to a server without sending raw data. Split learning also can perform training in a sequential fashion when collaborating clients have the same set of input features, which may yield advantages over federated learning, for example when the ML models have a large size.SUMMARY

[0005] There currently exist certain challenges. Training separate ML models may be costly including, for example, regarding computation, communication, storage, model management, etc. Moreover, in a decentralized or distributed split neural network setting that include a head model and a tail model, anomaly detection may be a challenge because, for example, input data can be distributed over multiple computation nodes; and in some cases, an anomaly detected at the input data does not necessarily impact the overall results of a prediction. Thus, anomaly detection may be lacking that is performed both from a input raw data quality perspective and a ML model efficacy perspective. Moreover, when there are multiple use cases, an abnormal accuracy detected for one use case may not be detected for another use case which may indicate that the reason for lack of detection may not be due to a shared encoder model (e.g., a head model in a split ML model architecture) responsible for input data feature extraction, but may be due to the use case tail model itself (e.g., a decoder and / or classifier of regressor ML model in the split ML model architecture) . Looking at both perspectives also may avoid unnecessary input data removal at the head model that receives input data.

[0006] Certain aspects of the disclosure and their embodiments may provide solutions to these or other challenges.

[0007] Some embodiments provide a computer-implemented method performed by a first node in a distributed split learning environment for anomaly detection. The distributed split learning environment comprises a ML model comprising at least a first portion and a second portion at the first node and at least a third portion at a second node. The method comprises identifying a first indication that indicates whether a data sample from the input data contains an anomaly based on comparing (i) the data sample input to the first portion of the ML model of the first node with (ii) an output comprising a reconstruction of the data sample from the second portion of the ML model of the first node. The method further comprises sending to the second node an output of an activation function from the first portion of the ML model that defines the output from the second portion of the ML model of the first node when the data sample is input to the first portion of the ML model of the first node. The method further comprises, based on the output of the activation function, receiving from a second node a second indication that indicates whether the second node detected that the data sample contains the anomaly. The method furthercomprises performing one of (i) exclude the data sample from the input data to the first node and from the output of the second node when the second indication indicates that the anomaly is detected at the second node, followed by updating a threshold in a comparator at the first node, and (ii) update parameters of the ML model for a task when the second indication indicates that the anomaly is not detected at the second node.

[0008] Other embodiments provide a computer-implemented method performed by a second node in a distributed split learning environment for anomaly detection. The distributed split learning environment comprises a ML model comprising at least a first portion and a second portion at a first node and a third portion at the second node. The method comprises receiving from the first node an output of an activation function that defines an output of the first node when a data sample is input to the first node. The activation is based on a first indication of the first node that indicates whether the data sample from the input data contains an anomaly based on comparing (i) the data sample input to the first portion of the ML model of the first node with (ii) an output comprising a reconstruction of the data sample from the second portion of the ML model of the first node. The method further comprises, based on the output of the activation function, calculating a second loss comprising a difference between an accuracy of the third portion of the ML model and an expected accuracy of the third portion of the ML model based on a historical accuracy or a trajectory of accuracy. The method further comprises identifying whether the anomaly is detected at the second node based on a value of the second loss; and sending a second indication to the first node that indicates whether the second node detected that the data sample contains the anomaly.

[0009] Other embodiments provide a first node. The first node is in a distributed split learning environment for anomaly detection. The first node comprises a first portion a ML model; a second portion of the ML model; at least one processor; at least one memory connected to the at least one processor and storing program code that is executed by the at least one processor to perform operations. The operations comprise to identify a first indication that indicates whether a data sample from input data contains an anomaly based on comparing (i) the data sample input to the first portion of the ML model of the first node with (ii) an output including a reconstruction of the data sample from the second portion of the ML model of the first node. The operations further comprise to send to a second node an output of an activation function from the first portion of the ML model that defines the output from the second portion of the ML model of the first node when the data sample is input to the first portion of the ML model of the first node. The operations further comprise, based on the output of the activation function, to receive from a second node a second indication that indicates whether the second node detected that the data sample containsthe anomaly. The operations further comprise to perform one of (i) exclude the data sample from the input data to the first node and from the output of the second node when the second indication indicates that the anomaly is detected at the second node, followed by updating a threshold in a comparator at the first node, and (ii) to update parameters of the ML model for a task when the second indication indicates that the anomaly is not detected at the second node.

[0010] Some embodiments provide a computer program comprising program code to be executed by at least one processor of a first node comprising a first portion a ML model and a second portion of the ML model. Execution of the program code causes the first node to perform operations. The operations comprise to identify a first indication that indicates whether a data sample from input data contains an anomaly based on comparing (i) the data sample input to the first portion of the ML model of the first node with (ii) an output including a reconstruction of the data sample from the second portion of the ML model of the first node. The operations further comprise to send to a second node an output of an activation function from the first portion of the ML model that defines the output from the second portion of the ML model of the first node when the data sample is input to the first portion of the ML model of the first node. The operations further comprise, based on the output of the activation function, to receive from a second node a second indication that indicates whether the second node detected that the data sample contains the anomaly. The operations further comprise to perform one of (i) exclude the data sample from the input data to the first node and from the output of the second node when the second indication indicates that the anomaly is detected at the second node, followed by updating a threshold in a comparator at the first node, and (ii) to update parameters of the ML model for a task when the second indication indicates that the anomaly is not detected at the second node.

[0011] Other embodiments provide a computer program product comprising a non-transitory storage medium including program code to be executed by at least one processor of a first node comprising a first portion a ML model and a second portion of the ML model. Execution of the program code causes the first node to perform operations. The operations comprise to identify a first indication that indicates whether a data sample from input data contains an anomaly based on comparing (i) the data sample input to the first portion of the ML model of the first node with (ii) an output including a reconstruction of the data sample from the second portion of the ML model of the first node. The operations further comprise to send to a second node an output of an activation function from the first portion of the ML model that defines the output from the second portion of the ML model of the first node when the data sample is input to the first portion of the ML model of the first node. The operations further comprise, based on the output of the activation function, to receive from a second node a second indication that indicates whether the second nodedetected that the data sample contains the anomaly. The operations further comprise to perform one of (i) exclude the data sample from the input data to the first node and from the output of the second node when the second indication indicates that the anomaly is detected at the second node, followed by updating a threshold in a comparator at the first node, and (ii) to update parameters of the ML model for a task when the second indication indicates that the anomaly is not detected at the second node.

[0012] Still other embodiments provide a second node in a distributed split learning environment for anomaly detection. The second node comprises a third portion of a ML model; at least one processor; at least one memory connected to the at least one processor and storing program code that is executed by the at least one processor to perform operations. The operations comprise to receive from the first node an output of an activation function that defines an output of the first node when a data sample is input to the first node. The activation is based on a first indication of the first node that indicates whether the data sample from the input data contains an anomaly based on comparing (i) the data sample input to the first portion of the ML model of the first node with (ii) an output comprising a reconstruction of the data sample from the second portion of the ML model of the first node. The operations further comprise, based on the output of the activation function, calculate a second loss comprising a difference between an accuracy of the third portion of the ML model and an expected accuracy of the third portion of the ML model based on a historical accuracy or a trajectory of accuracy. The operations further comprise to identify whether the anomaly is detected at the second node based on a value of the second loss; and to send a second indication to the first node that indicates whether the second node detected that the data sample contains the anomaly.

[0013] Other embodiments provide a computer program comprising program code to be executed by at least one processor of a second node comprising a third portion a ML model. Execution of the program code causes the second node to perform operations. The operations comprise to receive from the first node an output of an activation function that defines an output of the first node when a data sample is input to the first node. The activation is based on a first indication of the first node that indicates whether the data sample from the input data contains an anomaly based on comparing (i) the data sample input to the first portion of the ML model of the first node with (ii) an output comprising a reconstruction of the data sample from the second portion of the ML model of the first node. The operations further comprise, based on the output of the activation function calculate a second loss comprising a difference between an accuracy of at least the third portion of the ML model and an expected accuracy of at least the third portion of the ML model based on a historical accuracy or a trajectory of accuracy. The operations furthercomprise to identify whether the anomaly is detected at the second node based on a value of the second loss; and to send a second indication to the first node that indicates whether the second node detected that the data sample contains the anomaly.

[0014] Other embodiments provide a computer program product comprising a non-transitory storage medium including program code to be executed by at least one processor of a second node comprising a third portion a ML model. Execution of the program code causes the second node to perform operations. The operations comprise to receive from the first node an output of an activation function that defines an output of the first node when a data sample is input to the first node. The activation is based on a first indication of the first node that indicates whether the data sample from the input data contains an anomaly based on comparing (i) the data sample input to the first portion of the ML model of the first node with (ii) an output comprising a reconstruction of the data sample from the second portion of the ML model of the first node. The operations further comprise, based on the output of the activation function, calculate a second loss comprising a difference between an accuracy of the third portion of the ML model and an expected accuracy of the third portion of the ML model based on a historical accuracy or a trajectory of accuracy. The operations further comprise to identify whether the anomaly is detected at the second node based on a value of the second loss; and to send a second indication to the first node that indicates whether the second node detected that the data sample contains the anomaly.

[0015] Certain embodiments may provide one or more of the following technical advantages. Based on anomaly detection in a distributed split learning environment, anomaly detection may be performed considering both ML model accuracy and input data. Further, based on anomaly decision making operations between first (e.g., head) and second (e.g., tail) portions of a ML model in a first node and / or second node, an anomalous sample can be excluded from a second node(s) using the collaboratively trained ML model. Moreover, anomaly detection and task estimation ML models can share the common ML model that is jointly trained by both tasks. As a consequence, computation and / or memory requirements may be reduced.BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The accompanying drawings, which are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this application, illustrate certain non- limiting embodiments of the present disclosure. In the drawings:

[0017] Figure 1 is a schematic diagram illustrating an example of an open radio access network (O-RAN) architecture according to some embodiments;

[0018] Figure 2 is a signalling diagram of operations of an example during an inference phase according to some embodiments;

[0019] Figure 3 is a schematic diagram of a split model architecture for anomaly detection and classification / regression tasks according to some embodiments;

[0020] Figure 4 is a plot of empirical data according to some embodiments;

[0021] Figure 5 is a schematic diagram of an architecture for sequential collaborative split learning according to some embodiments;

[0022] Figure 6 is a schematic diagram illustrating a flow of operations according to some embodiments;

[0023] Figure 7 is a schematic diagram of an example a network data analytics function (NWDAF) architecture according to some embodiments;

[0024] Figures 8A-8B is a sequence diagram for an example NWDAF implementation according to some embodiments;

[0025] Figure 9 is a schematic diagram of an example O-RAN implementation according to some embodiments;

[0026] Figure 10 is a sequence diagram for an example O-RAN implementation according to some embodiments;

[0027] Figure 11-13 are flowcharts illustrating operations of a first node according to some embodiments;

[0028] Figure 14-16 are flowcharts illustrating operations of a second node according to some embodiments;

[0029] Figure 17 is a block diagram of a communication system according with some embodiments;

[0030] Figure 18 is a block diagram of a first node according to some embodiments;

[0031] Figure 19 is a block diagram of second node according to some embodiments; and

[0032] Figure 20 is a block diagram of a virtualization environment according to some embodiments.DETAILED DESCRIPTION

[0033] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art, in which examples of embodiments of the present disclosure are shown. Inventive concepts may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, theseembodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present disclosure to those skilled in the art. It should also be noted that these embodiments are not mutually exclusive. Components from one embodiment may be tacitly assumed to be present / used in another embodiment.

[0034] One example where split learning may be applicable is the collaboration of a network that includes a head portion of a ML model and an application server (App) that includes a tail portion of the ML model during training. In a video streaming scenario, for example, a network can have inference data including observations and dataset (X) related to network slice load, throughput, and latency at the network layer; while the application server can have inference data including observations (y) related to artifacts at an end-user client such as a stalling event, playout bitrate, playout video resolution, video codec, etc. This example includes a constraint that these datasets X, y are sensitive and may not be easily shareable between the network and the application server due to reasons such as privacy and / or high volume of the datasets X and / or y.

[0035] There exist certain challenges. Training separate ML models may be costly including, for example, regarding computation, communication, storage, model management, etc. Figure 1 is a schematic drawing illustrating an example of an O-RAN architecture that include a non-real time radio interface control (non-real-time-RIC) 100, an open distributed unit (O-DU) 104, and a near-real time RIC (e.g., inference host) 106. Training separate ML models in this example O- RAN architecture can yield a combinatorial explosions of ML models. A data access platform 112 is included in this example that provides relevant input datasets to different rApps and xApps, including rApp X 102 (traffic forecast), xApp Y 108 (network slicing), and xApp Z 110 (scheduling).

[0036] In one approach, a split learning ML model architecture may be used in a health domain to perform two tasks simultaneously: namely, classification and generation of a sensitive dataset. Both of the two tasks may reuse a common encoder that functions as a head neural network that extracts features and sends the corresponding activations to both classification and generator heads.

[0037] In a decentralized or distributed split neural network setting, including in a health domain for example, anomaly detection may be a challenge because, for example, input observations X and y can be distributed over multiple computation nodes. In some cases, an anomaly detected at the data does not necessarily impact the overall results of a prediction. Thus, anomaly detection may be lacking that is performed both from a input raw data quality perspective and a ML model efficacy perspective (e.g., ML model accuracy). Looking at both perspectives may be important when an encoder, for example, also serves multiple use cases simultaneously ina collaborative split learning setup. When there are multiple use cases, an abnormal accuracy detected for one use case may not be detected for another use case which may indicate that the reason for lack of detection may not be due to the shared encoder model responsible for input feature extraction, but may be due to the use case tail model itself. Looking at both perspectives also may avoid unnecessary input data removal at the head model.

[0038] Moreover, training two different ML models, one for anomaly detection and another for a task at hand, may be redundant and costly (e.g., storage, computation, sustainability, etc.). Thus, it may be beneficial to build fewer ML models that can serve different purposes.

[0039] Certain aspects of the disclosure and their embodiments may provide solutions to these or other challenges. Examples of the present disclosure include combining two ML models, at least partially, in one ML model and performing learning on both anomaly detection and task sharing with the same ML model (e.g., the same neural network model), simultaneously for example.

[0040] As used herein, the term “local node” is interchangeable with the term “first node” and refers to a common node that serves multiple different nodes (also referred to herein as second nodes or remote nodes). The local node can include both an encoder (e.g., the local head of a neural network ML model) and a decoder (e.g., the local tail of the neural network), and a remote node can include a remote tail of the neural network, such as a classifier or a regressor (e.g., the end portion (e.g., last few layers) of the neural network).

[0041] As used herein, the term “anomaly” refers to an aberration, fault, deviation, abnormality, error, deficiency, etc.

[0042] For example, referring to Figure 1, given the possibility that some rApps and / or xApps may use exactly the same input dataset (e.g., X input dataset), it may be beneficial to have one common input data checkpoint, such as an autoencoder ML model, at a data access platform 112 for example, to perform anomaly detection on the X input dataset (shown as data A, B, C from common data repository 114 in Figure 1, where xApp Z 110, xAppY 108, and rApp X 102 each use data A (enrichment information); xApp Z 110 and O-DU 104 each use data B (key performance metrics (KPMs)); and xApp Z 110 and xApp Y 108 each use data C (slicing profile)). Moreover, doing so for multiple different xApps and / or rApps may reduce redundancy, computation overhead, and memory and storage requirements for additional anomaly detection models. Additionally, the example split architecture in Figure 1 may allow training of an anomaly detector at the data access platform 112 (e.g., an autoencoder model) jointly by multiple different rApps and / or xApps.

[0043] Examples of the present disclosure include a split learning architecture that includes a neural network model that includes an encoder, a decoder, and a comparator function at the output of the decoder. Additionally, the examples may enable collaboration of multiple different use cases (e.g., latency, jitter, throughput, secondary carrier prediction, etc.) that are potentially implemented as rApps and / or xApps in O-RAN or network functions in NWDAF, as discussed further herein. An anomaly detection ML model as well as a task prediction ML model may benefit from collaborative learning, as well as between other use cases (e.g., including rApps / xApps in O-RAN and network functions in NWDAF). For example, by collaboration, a client(s) may learn yet unseen observations from other clients.

[0044] In one example, operations are provided for an automated clean data batch selection in a collaborative training environment that can avoid selecting abnormal data samples from input data (e.g., from input video data) at the client side that may affect the overall global ML model. In this example, an automated data batch selector includes a mechanism deployed at a client(s) and the server. The ML model in this example is a neural network (e.g., an autoencoder) at the client(s) that detects an anomaly / anomalies at observed data without needing a separate neural network anomaly detector. Additionally, the server has a mechanism that detects an abnormal weight update depending on the observation at the accuracy. This feedback is included since an anomaly detected at the data level may not impact the overall ML model training performance. Thus, this example may enable improved selection of input data samples both from ML model efficacy (e.g., accuracy) and data quality perspectives.

[0045] Figure 2 is a signalling diagram of operations of an example during an inference phase. Figure 2 show an example message flow during an inference phase among a first node 200 that includes a local head 200a of a neural network and a local tail 200b of the neural network and a second node 202 that includes a remote tail of the neural network. The local head 200a includes an encoder, the local tail 200b includes a decoder having a comparator function at the output of the decoder. In operation 204, local head 200a of first node 200 selects a data sample having a sample identifier, id (e.g., index A).

[0046] In operation 206, the encoder of the local head 200a performs a forward pass to obtain an output of an activation function.

[0047] The encoder of local head 200a, in operation 208, sends the output of the activation function to the decoder of local tail 200b.

[0048] In operation 210, the decoder of local tail 200b reconstructs the data sample for the sample id based in the output of the activation function; and in operation 212, the decoder detects whether an anomaly is present for the decoded / reconstructed output of the data sample of thedecoder having the sample id (e.g., index A). If an anomaly is not detected, training continues as normal. In operation 214, the decoder 200b of local node 200 tags the sample id where the anomaly is detected as an abnormal.

[0049] If an anomaly is detected, in operation 216, the encoder 200a of local node 200 tags the sample id where the anomaly is detected as abnormal (e.g., with an anomaly flag that is equal to True); and, in operation 218, the encoder 200a of local node 200 sends the same output of the activation function to the remote tail of the second node 202 (e.g., to a classifier or regressor).

[0050] In operation 220, the remote tail at second node 202 performs a forward pass using the output of the activation function received from local head 200a of local node 200. The remote tail at second node 202, in operation 222, computes a loss of the remote tail model based on the output of the remote tail model versus an actual value.

[0051] The remote tail of second node 202, in operation 224, performs anomaly detection on the loss value (e.g., based on the expected loss from the previous round and the current round), and detects whether or not the computed loss is an anomaly or not.

[0052] In operation 226, the remote tail of the second node 202 sends back to the local head 200a of local node 200 a message that includes an indication (e.g., anomaly flag is equal to True) of whether or not to exclude the data sample having the sample id. If the indication is to exclude the data sample, in operation 228, local head 200a of local node 200 excludes the data sample having the sample id (e.g., index A).

[0053] Thus, with the feedback from the remote tail of second node 202, anomaly detection may be improved at the client (e.g., local node 200).

[0054] In operation 230, local head 200a selects a data sample having the sample id (e.g., index A). In operation 232, the encoder of the local head 200a performs a forward pass to obtain an output of the activation function. In operation 234, the encoder of local head 200a sends the output of the activation function to the decoder of local tail 200b.

[0055] In operation 236, the decoder of local tail 200b reconstructs the data sample for the sample id based in the output of the activation function; and in operation 238, the decoder detects that the anomaly is not present for the decoded / reconstructed output of the decoder having the sample id (e.g., index A). In operation 240, the decoder 200b of local node 200 tags the sample id where the anomaly was not detected.

[0056] In operation 242, the encoder 200a of local node 200 tags the sample id where the anomaly was not detected (e.g., with an anomaly flag that is equal to False); and, in operation 244, the encoder 200a of local node 200 sends the same output of the activation function to the remote tail of the second node 202 (e.g., to a classifier or regressor).

[0057] In operation 246, the remote tail at second node 202 computes a loss of the remote tail model based on the output of the remote tail model versus an actual value. The remote tail of second node 202, in operation 248, performs anomaly detection on the loss value (e.g., based on the expected loss from the previous round and the current round), and detects whether or not the computed loss is an anomaly or not.

[0058] In operation 250, the remote tail of the second node 202 sends back to the local head 200a of local node 200 a message that includes an indication (e.g., anomaly flag is equal to False) and gradients. In operation 252, the remote tail of the second node updates parameters (e.g., weights(loss)) of the third portion of the ML model.

[0059] In operation 254, the local head 200a of local node 200 updates parameters (e.g., weights(gradients)) of the first portion of the ML model. In operation 256, the local head 200a of local node 200 sends to the local tail 200b of the local node 200 updated parameters (e.g., weights).

[0060] In a further example, an local head 200a is an encoder neural network ML model that can be trained with multiple remote nodes 202 (e.g., multiple classifier or regressor tail neural network ML models) jointly and collaboratively.

[0061] In yet a further example, a threshold is learned at the local node 200 with respect to the feedback from the remote node(s) 202. A client / local node 200 can have a reinforcement learning (RL) model to learn and readjust a threshold theta, of anomalies. For example, False if theta<IX’-XI else True.

[0062] Input for adjusting the theta can be a reward, e.g., an anomaly flag at the remote node(s) 202, such that if an anomaly is detected at the local tail 200b but not at the remote node 202, then then the reward can be set to -1, for example; or vice-versa, that is, if an anomaly detected at the local tail 200b agrees with the anomaly detector at the remote tail of the second node 202, then the reward can be set to +1, for example. This way, theta may be improved over the iterations, and an amount of disagreements can be reduced over the iterations.

[0063] Examples of the present disclosure include operations for a split learning environment (where observations and target variables are placed at different local and remote nodes) to collaboratively train a joint global ML model. The local and remote nodes can train two ML models simultaneously with a shared common head ML model (e.g., an encoder). The two ML models include (i) a ML model for a task at hand (e.g., key performance indicator (KPI) estimation / prediction), and (ii) an anomaly detection ML model. Anomaly detection is performed both on a data sample at the local head of a local node (where input X is located) as well as on model accuracy at the tail of a remote node (where the labels y are located). The anomaly detectorhelps to detect an anomalous data sample(s) in a dataset, and to notify a second node that includes the remote tail that also performs anomaly detection based on a loss score.

[0064] Once an anomaly has been detected in a single client, this information, can be propagated to other client(s) to exclude any data sample from the other client(s) related to a sample ID for the anomaly, even if that anomaly was not detected locally at the other client(s). This may happen, for example, in a parallel split learning environment where all clients perform training on the same sample ID (or time interval) but with different features. The exclusion of the data sample can avoid “poisoning” of the global ML model. In a sequential split learning environment, an anomaly detected at a few remote nodes (among many other remote nodes, for example) may avoid unnecessarily removing a batch of data as the anomaly may not be due to X but rather may be due to y. Hence, decoupling the anomaly detector at input X and output target y can help to modularize the anomaly detection and with troubleshooting. Moreover, examples of the present disclosure can help to perform this operation without sending raw data in between nodes.

[0065] Early detection of anomalous data samples in training may help to avoid the use of ML model degradation collaboratively from both input raw data and based on the ML model efficacy. As a consequence, a costly (e.g., with respect to energy, communication, and computation) retraining procedure may be avoided.

[0066] Split learning can have several advantages. When certain clients lack capability to perform training, such clients can offload computation to other client. The lack of capability can be related to battery level, central processing unit (CPU) utilization, available memory and storage, available bandwidth, etc. In cases when labels cannot be shared from a server to a client(s), the client(s) can still perform collaborative split learning to update and improve its local model parameters. A sequential transfer of ML models over a split learning environment may allow the client(s) not to train its ML model from scratch, thus, allowing head room for saving resources with respect to computation, memory, and energy.

[0067] Moreover, based on anomaly detection in a distributed split learning environment, one or more of the following technical advantages may be provided. The anomaly detection may be performed considering both ML model accuracy and an input attribute set (where no client has access to both input and output attributes simultaneously). Further, based on anomaly decision making operations between first (e.g., head) and second (e.g., tail) portions of a ML model, an anomalous sample id(s) can be removed from other nodes (e.g., client(s)) using the collaboratively trained ML model. Moreover, anomaly detection and task estimation ML models (e.g., neural network based ML models) share a common ML model (e.g., an encoder) that is jointly trained by both tasks. As a consequence, computation and / or memory requirements may be reduced.

[0068] Anomaly detection in split learning can include the following. In one example, an anomaly can be detected by employing a semi-supervised learning mechanism, for example, a split autoencoder, where a local node 200 includes both a local autoencoder (AE) and also a local head neural network portion of a split neural network. With one forward pass in the local node 200, the local node 200 can both reconstruct its own features and in parallel provide the activations from its bottleneck layer to a local tail 200b of local node 200. The loss computed at the local tail node 300b, using ground truth labels is used to perform backward propagation until the cut layer and the gradient is shared to the local head 200a of local node 200. In conventional split learning, these gradients are used in backward propagation at a head node alone. In contrast, in this example of an autoencoder local head 200a setup, the reconstruction loss that was calculated at the local tail 200b of local node 200 is also added. Thus, the encoder ML model is trained in a way that it serves both as an autoencoder ML model and as the head node of the collaborative split learning environment.

[0069] A benefit of this setup may include that a high reconstruction loss detected at the local autoencoder 200a can be used as an indication for an anomaly. This indication can be sent to a server node 202. If the server node 202 also detects that actual accuracy at a round deviated significantly from the expected accuracy, the server node 202 can instruct the client 200 to resample data and send updated activations. If the client 200 did not detect an anomaly but the server node 202 did detect an anomaly, then then the client 200 also can update its anomaly detection threshold based on feedback received from the server 202 in order to improve flagging of the anomalies in the future.

[0070] In another example, split learning occurs between an encoder, a decoder, and classifier / regressor neural networks. Figure 3 is a schematic diagram of a split model architecture for anomaly detection and classification / regression tasks according to this example. This split model architecture includes local node 200, which includes an encoder 200a and a decoder 200b, and a remote node 202 that includes a classifier or regressor ML model. In this example, a forward pass propagation is performed with respect to an input dataset X at the encoder 200a of local node 200. Encoder 200a sends activations at its last cut layer to both the decoder 200b (local tail) of local node 200 and the remote node 202 (that includes the classifier or regressor). The output of the decoder 200b is the reconstructed X, (that is, X’); while the output of the remote tail node 202 is the estimated class label probability, y’, for the task (or use case). At the decoder 200b, a reconstruction loss, recon_loss, is computed with the mean squared error (MSE)(X,X’); and at the remote tail node 202, a classification loss (cross_entropy_loss(y,y’)) or a regressor loss (mean_squared_error(y,y’)) is calculated, depending on whether the task is a classification orregression task. Backward propagation is performed with the mean of the reconstruction loss and the classification or regressor loss.

[0071] Figure 4 is a plot of empirical data showing that, after a few iterative training steps including forward and backward propagation, the loss decreases and the ML model converges. Figure 4 was generated from experiments performed with different weights in the loss functions. Overall loss for one use case = loss = (alpha*estimation_loss) + (1 -alpha) *reconstruction_loss. The weights of the loss values (binary class prediction and autoencoder reconstruction) are shown at the top of Figure 4, namely alpha was set to 0.2 for the binary class prediction loss. Thus, 1- alpha was 0.8 for the reconstruction loss.

[0072] In the experiments, once the ML model was trained, the autoencoder and split class estimation model were tested with unseen data samples as follows:• Test on unexpected outlier value: torch.tensor(np.ones(sample_x.shape)).float() : reconstruction loss: 0.48• Test on expected normal value : trainX.float().mean(axis=0).reshape(l,-l) : reconstruction loss: 0.021

[0073] A data sample that was the mean value of the training set (e.g., expected input value) yielded a low loss value of 0.021; whereas a data sample that was padded with all 1’s (that is, an outlier potentially erroneous sample) yielded a high loss value of 0.48. The high level of loss can then be used to detect an anomaly at the local node 200 based on the input data samples, X.

[0074] A technical advantage of this approach may include that it reuses the local head encoder node 200 for both an anomaly detection task with the local node 200 (e.g., with an autoencoder and decoder) and an estimation task with the remote node 202 (e.g., with a classifier or regressor); and it does so in one forward pass over all ML models. As a consequence, efficiency may be improved.

[0075] In another example, sequential collaborative split learning with more than one remote node is performed. Figure 5 is a schematic diagram of an architecture for sequential collaborative split learning according to this example. This architecture includes local node 200, which includes an encoder 200a and a decoder 200b, and at least three remote nodes 202a, 202b, 202n that respectively include a classifier or regressor ML model. In this example, training of sequential split learning with remote nodes 202a, 202b, 202 is performed. For an architecture such as that illustrated in Figure 5, local nodes are referred to herein as “clients”. For client n in range (0,N) (referred to below as client 200), for a number of rounds, R, the following operations are performed:1. Clientn 200 receives the ML model from clientn-i2. Clientn encoder ML model 200a does forward-pass and sends the activations to its local decoder 200b.3. Clientn encoder ML model 200a sends the same activations also to a remote node 202a (classifier or regressor).4. Remote node 202a ML model does a forward pass on the received activations, and computes cross entropy loss.5. The decoder 200b does a forward pass on the received activations, and computes the mean squared error loss at the output of the decoder 200b.6. The remote node 202a performs backward propagation and obtains the gradients at the cut layer.7. The decoder 200b performs backward propagation and obtains the gradients at the cut layer.8. The two gradients are merged and then sent to the common local encoder 200a.9. The ML model is sent to remote node clientn+i (e.g., to remote node 202b).

[0076] Detection of an anomaly includes a decision on whether or not a data sample contains an anomaly. The decision depends on the output of two ML models:• The decoder model at the local node outputs an amount of loss between the input data sample (x) and the reconstructed data sample (x’). It is noted that it is non-trivial to define a threshold that flags whether an input data sample is an anomaly or not as this decision is based on a threshold value. The threshold can be adjusted via a pre-training phase and, additionally, can be fine-tuned and maintained with the feedback received from multiple remote nodes (e.g., classifiers / regressors).• The remote model outputs the difference between the accuracy at a particular round and the expected accuracy based on historical accuracy / round trajectory.

[0077] Threshold values for classifying whether or not an input data sample is an anomaly or not can be learned via the feedback received from the remote node ML model. If a sample is flagged at the local node as an anomaly, and is not flagged as an anomaly in the remote node, this indicates that there was a difference (e.g., significant difference) in the input, but the input was not significantly effecting the convergence of the training.

[0078] Examples of the present disclosure include a split learning environment where the ML model input attributes are located at different computation nodes than where the labels are located. An example use case includes a surveillance camera observing a particular geographical area and collecting input data, X. When there is an incident, a ground truth label, y, is located at the authority (not accessible by the camera), while the input raw video data captured by the camera is not shareddirectly to the authority and, rather, is only shared in the form of activations due to potential privacy reasons.

[0079] Figure 6 is a schematic diagram illustrating a flow of operations of an example showing that when an anomaly is not detected at a local node 200, gradient computation and a weight update are performed, otherwise resampling is instructed. Local node 200 includes encoder 200a and decoder 200b, and remote nodes 202a- 202n (respectively include a classifier or regressor ML model. Encoder 200a sends activations to decoder 200b and to a remote node 202. Decoder 200b, in operation 600, does a forward pass on the received activations and determines whether an anomaly is detected or not. The result of the determination is provided to comparator 606. The classifier or regressor ML model of remote nodes 202a-202n also respectively perform a forward pass on the received activations and determine, in operations 602 and 604, whether an anomaly is detected or not. The results of the determinations are respectively provided to comparator 606. Comparator 606 compares the results to determine, in operation 608, whether an anomaly was detected or not. For example, if remote nodes 202a, 202b detects an anomaly, the flagged detected anomaly(ies) is compared with an anomaly flag received from local node 200a. If the flags indicate an anomaly, then the remote nodes 202a, 202n requests local node 200, in operation 624, to resample data. If the remote server 202a, for example, does not detect an anomaly, the training continue on other remote nodes (e.g., remote node 202n).

[0080] When an anomaly is not detected, in operation 610, remotes node 202a computes a gradient and, in operation 612, the gradient is used to perform a weight update. The gradient from operation is provided to local node 200. In operation 614, local node 200 computes a gradient. The gradient is used in operation 616 for the local node to perform a weight update; and in operation 624, resampling is instructed.

[0081] When an anomaly is detected, a retrain request is provided to local node 200. In operation 618, local node 200 update a threshold value for identifying an anomaly. In operation 620, the sample id for the detected anomaly is blacklisted and the anomaly is excluded from the input data. In operation 622, samples that include the anomaly are regrouped. Operation 620 is also followed by operation 624 where resampling is instructed.

[0082] An implementation includes a cloud implementation that includes an encoder neural network model 200a (also referred to as a head portion); and a decoder 200b that reconstructs an input dataset. A comparator 606 is connected to the output of the decoder 200b and computes the distance between the generated (reconstructed) output, X’, and the original input data, X. Then, based on a predefined distance, a threshold value is set. The comparator 206 outputs whether ornot an anomaly is detected based on the threshold value. Optionally, the comparator 606 can be implemented at a classifier or regressor ML model as well if anomaly labels are available.

[0083] Another implementation includes a NWDAF architecture as illustrated in the example in Figure 7. Figure 7 includes an encoder neural network model 200a (also referred to as a head portion); and a decoder 200b that reconstructs an input dataset. Decoder 200b has a comparator 606 (e.g., a comparator function) function at the output of the decoder. In this example, comparator 606 is also implemented at a classifier or regressor ML model of remote node 202 as well. Encoder 200a can be implemented as a server model training logical function (MTLF) A where a joined encoder function can be trained jointly with other decentralized MTLF instances B-N that respectively have the task of estimating different KPIs.

[0084] In a NWDAF implementation, encoders 200a and decoders 200b can reside within the MTLF clients 200 as they are the main premise for training. Encoder MTLF 200a sends the encoded output (that is, output of the encoder) of the input feature values to MTLF tail client 200b, where NWDAF requests MTLF to continue performing a forward pass operation on the received activations. This helps the clients (input data owners) to detect anomalous data samples collaboratively with the other input data owner clients. It is noted that the anomaly detection encoder 200a (local head) serves as both an encoding component of a local autoencoder and as the encoding component for the remote classifier (or regressor) 202. This may be beneficial in resource constraint devices since it does not necessitate training a separate ML model for anomaly detection purposes and, thus, does not necessitate extra storage and / or computation requirements. Additionally, joined training may help the functions to obtain new representations of anomaly observations and, thus, may help the anomaly detection of local functions that have access to limited datasets.

[0085] Figures 8A-8B is a sequence diagram for an example NWDAF implementation. When a new network function subscribes for and discover analytics via a network repository function (NRF) 800 (as defined, for example, in Third Generation Partnership Project (3GPP) TS 23.502, V18.1.1) in operations 1 and 2, MTLF server 202a initiates a collaborative training with a client 200a (encoder MTLF).

[0086] In operation 3, second node 202a, sends a forward pass request to MTLF local encoder 200a. In response, in operation 4, MTLF local encoder 200a, sends an acknowledgement (ACK) to second node 202a.

[0087] In operations 5 - 7, MTLF local encoder 200a fetches model weights from second node 202a, second node 202n, and model repository 802, respectively.

[0088] In operations 8 and 9, MTLF local encoder 200a discovers data from analytics data repository function (ADRF) 804 and data collection coordination function (DCCF) 806.

[0089] In operations 10-16, MTLF local encoder 200a performs a forward pass, in accordance with forward pass operations discussed herein.

[0090] Next, in operation 17, MTLF local encoder 200a sends activations together with an anomaly flag to MTLF server 202a.

[0091] In operations 18 and 19, MTLF server 202a either requests data from analytics data repository function (ADRF) 804 and data collection coordination function (DCCF) 806 that matches an analytics id of the first MTLF client 200a, or requests data from another MTLF server (e.g., MTLF server 202n) based on the records in NRF 800. In such sequential split learning, there is no need to send a sample key.

[0092] A sample key is used to align the data samples collected from different MTLF’s if the split learning is performed in a parallel setting. This way, the clients can align on the same samples and do not keep the data rows with anomaly samples that correspond to the same sample key.

[0093] MTLF server 202a continues on a forward pass in operations 20-22 in accordance with forward pass operations discussed herein. In operation 23, MTLF server 202a detects an anomaly and compares it with the anomaly flag received from MTLF local encoder 200a.

[0094] If both flags indicate an anomaly, then MTLF server 202a, in operation 24, requests MTLF client 200a to repeat the forward pass without the detected anomalous sample. In operations 25-29, MTLF client 200a retrains in accordance with training operations discussed herein. In operations 30-33, MTLF local encoder 200a performs a forward pass, in accordance with forward pass operations discussed herein. In operation 34, MTLF client 200a sends the activations and the new anomaly flag to MTLF server 202a.

[0095] In operations 35-37, MTLF server 202a performs a forward pass in accordance with forward pass operations discussed herein.

[0096] If the MTLF server 202a does not detect an anomaly as shown in operation 38, the training continues in operations 39-51 on other MTLF clients 202n in accordance with training operations discussed herein.

[0097] If an anomaly is detected at MTLF server 202n, the corresponding sample id with detected anomaly is marked. This is used as input to fine tune the anomaly detection threshold via regularize added to the loss function, such that the loss function forcefully weights a particular sample as error.

[0098] Once the ML model is trained, the NWDAF communicates with an Analytical Logical Function (anLF) to serve the jointly trained ML model.

[0099] Another implementation includes an O-RAN implementation as illustrated in the example in Figure 9. Figure 9 includes an encoder neural network model 200a (head portion); and a decoder 200b that reconstructs an input dataset received at the encoder 200a from a data access platform (e.g., a centralized common server). Decoder 200b has a comparator 606 (e.g., a comparator function) function at the output of the decoder. In this example, comparator 606 is also implemented at a classifier or regressor ML model of remote node 202 as well. The output of the encoder 200a is simultaneously sent to multiple classifier or regressor ML models 202 (e.g., use case ML models). A joint loss function is used to obtain a global encoder ML model.

[0100] In the O-RAN architecture shown in this example, the encoder ML model 200a can reside at a data access platform 112 or RIC 100, 106; and the rApps 102 or xApps 108, 110 of Figure 1 can have their individual decentralized ML models personalized for different tasks while simultaneously being trained with the autoencoder 200a, 200b.

[0101] Figure 10 is a sequence diagram for an example O-RAN implementation. This example follows the same sequence as shown previously discussed with respect to Figures 8A- 8B for the NWDAF based example with the main exception that, in this example, a non-real time RIC 1002 creates the global autoencoder 200a, 200b on demand to introduce dynamically a process that removes outliers for different rApps. Specifically, in this example, rAppl 202 is trained jointly with the autoencoder 200a, 200b and, thus, teaches the autoencoder 200a, 200b to distinguish normal from anomalous samples.

[0102] In operation 1, RAN 1004, requests data collection from a collector node 1000. In operation 2, collector node 1000 retrieves the requested data from non-real time RIC 1002.

[0103] A workflow is performed in operations 3-21 for collaborative anomaly detection assisted ML model training in a split learning environment.

[0104] In operation 3, non-real time RIC 1002 initiates a forward pass where non-real time RIC 1002 creates the global autoencoder 200a, 200b of first node 200 on demand to introduce dynamically a process that removes outliers for rApp 1 202.

[0105] In operation 4, encoder 200a sends an output of an activation function to decoder 200b.

[0106] In operation 5, the decoder 200b reconstructs the data for the sample based in the output of the activation function, and the decoder 200b detects whether an anomaly is present for the decoded / reconstructed output of the decoder. If an anomaly is not detected, training continues as normal. If an anomaly is detected, the decoder 200b tags the sample id where the anomaly is detected as abnormal.

[0107] In operation 6, decoder 200b sends the anomaly flag to encoder 200a.

[0108] In operation 7, encoder 200a sends the output of the activation function to rAppl 202.

[0109] In operations 8 and 9, rAppl 202 performs a forward pass using the output of the activation function and detects whether an anomaly is present based on a loss computation as described herein. If an anomaly is not detected, training continues as normal. If an anomaly is detected, rAppl 202 flags that an anomaly was detected.

[0110] In operation 10, rAppl sends the anomaly flag to encoder 200a.

[0111] In operation 11, encoder 200a selects new data (e.g., removes the sample flagged as an anomaly).

[0112] In operation 12, encoder 200a initiates a forward pass for the new data.

[0113] In operations 13-18, encoder 200a and rAppl 202 perform the same operations for the new data as in operations 6-10 but does not detect an anomaly.

[0114] In operation 18, rAppl 202 sends the encoder 200a a message that includes an indication (e.g., anomaly flag is equal to False) and gradients.

[0115] In operation 19, the rAppl 202 updates parameters (e.g., weights(loss)) of the third portion of the ML model; and in operation 20 sends the update to encoder 200a.

[0116] In operation 21, encoder 200a sends to decoder 200b the update (e.g., weights(loss)).

[0117] Referring to Figure 11, some embodiments herein are directed to a computer- implemented method performed by a first node in a distributed split learning environment for anomaly detection. The distributed split learning environment includes a ML model including at least a first portion and a second portion at the first node and at least a third portion at a second node. The method includes identifying (1100) a first indication that indicates whether a data sample from the input data contains an anomaly based on comparing (i) the data sample input to the first portion of the ML model of the first node with (ii) an output comprising a reconstruction of the data sample from the second portion of the ML model of the first node. The method further includes sending (1102) to the second node an output of an activation function from the first portion of the ML model that defines the output from the second portion of the ML model of the first node when the data sample is input to the first portion of the ML model of the first node. The method further includes, based on the output of the activation function, receiving (1104) from a second node a second indication that indicates whether the second node detected that the data sample contains the anomaly. The method further includes performing (1106) one of (i) exclude the data sample from the input data to the first node and from the output of the second node when the second indication indicates that the anomaly is detected at the second node, followed by updating a threshold in a comparator at the first node, and (ii) update parameters of the ML model for a task when the second indication indicates that the anomaly is not detected at the second node.

[0118] In some examples, depending on the activation function (such as ReLU) there may be no reason to send activation if there is nothing to send or a 0 may be sent (e.g., ReLU may remove any negative value and send a 0 instead). As such, in that case, the first node can let the second node assume that the activation function (e.g., ReLU) provided no activation.

[0119] Referring to Figure 12, in some embodiments, the second node comprises a plurality of second nodes, and sending (operation 1102), receiving (operation 1104), and performing (operation 1106) is repeated for respective data samples and respective second nodes in the plurality of second nodes; and the method further includes assigning (operation 1204) a rank to the respective data samples based on the second indication received from the first node and the respective second nodes in the plurality of second nodes. Assigning a rank can indicate that the data sample is "unwanted", but can be reselected again at a later time when exploration of data samples is triggered.

[0120] Referring to Figure 12, in some embodiments, the method further includes resampling (1206) the input data when the anomaly is detected at the first node and the second node with the consideration of the rank of the respective data samples.

[0121] The comparing can include (i) computing a distance between the reconstruction of the data sample from the second portion of the ML model and the data sample to the first portion of the ML model, and (ii) based on the distance, setting a value of the threshold to identify whether the data sample from the input data contains an anomaly, and (iii) comparing the reconstruction of the data sample from the second portion of the ML model with the threshold value.

[0122] Updating parameters of the ML model for a task when the second indication indicates that the anomaly is not detected at the second node can include (i) calculating a first weight of a first loss of the second portion of the ML model, (ii) receiving the second indication from the second node that the anomaly is not detected at the second node, (iii) receiving a second weight from the second node based on a second loss calculated at the second node including a difference between an accuracy of the third portion of the ML model and an expected accuracy of the third portion of the ML model based on a historical accuracy or a trajectory of accuracy, and (iv) updating the ML model with the first weight and the second weight.

[0123] The first loss can include a reconstruction loss of the second portion of ML model and the second loss comprises at least one of a classification loss and a regressor loss.

[0124] In some embodiments, the second node includes a plurality of second nodes, and the method further includes, when the anomaly is detected at the first node and the second node, propagating (1208) an identifier for the data sample having the anomaly to the plurality of second nodes for multi-task learning to exclude data sample related to identifier.

[0125] In some embodiments, identifying (operation 1100 in Figure 11), sending (operation 1102 in Figure 11), receiving (operation 1104 in Figure 11), and performing exclude a data sample (operation 1106 in Figure 11) are performed in a forward propagation pass among the first and second portions of the first node and the second node, and the updating is performed in a backward propagation pass among the second node and the first node.

[0126] In further embodiments, the method further includes calculating (operation 1202 in Figure 12) a reconstruction loss of the second portion of the ML model with the data sample and the reconstruction of the data sample; and updating parameters of the ML model of the first node is performed in a backward propagation pass with the reconstruction loss and a loss of the third portion of the ML model from the second node.

[0127] In yet further embodiments, the distributed split learning environment further includes a plurality of respective third portions of the ML model at a plurality of respective second nodes, and the method further includes training (operation 1302 in Figure 13) the first portion of the ML model with the plurality of respective third portions of the ML model. In some embodiments, the ML model includes a neural network; sending to the second node an output of the activation function is performed in a forward propagation pass from the first portion of the ML model including a first number of layers to (i) the second portion of the ML model including a second number of layer and (ii) the second node including a third number of layers; and receiving from a second node a second indication that indicates whether the second node detected the data sample contains the anomaly is performed in a backward propagation pass wherein the second node obtains a second gradient at a last layer of the third number of layers.

[0128] Referring to Figure 13, in some embodiments, updating parameters of the ML model when the second indication indicates that the anomaly is not detected at the second node includes merging a first gradient and the second gradient, and the method further includes: receiving (1300) the ML model from the second node in a plurality of second nodes; performing (1304) a forward propagation pass on the output of the activation function with the second portion of the ML model; computing (1306) a loss at the output of the second portion of the ML model; performing (1308) a backward propagation pass with the second portion of the ML model to obtain the first gradient of a last layer of the second number of layers; and receiving (1310), at the first portion of the first node, a merged gradient including the first and the second gradients.

[0129] In some embodiments, the plurality of second nodes have a same task, and the method further includes sending (1312) the updated ML model to the second node in the plurality of second nodes.

[0130] The second portion of the ML model can include a decoder for anomaly detection and the third portion of the ML model can include at least one of a tail portion of the ML model for at least one of a classification task and a regression task.

[0131] The ML model can include a neural network, the first portion of the ML model can include a head portion of the neural network including a first number of layers of the neural network and an encoder, the second portion can include a first tail portion of the neural network including a second number of layers, and the third portion can include a second tail portion of the neural network including a third number of layers.

[0132] In some embodiments, the distributed split learning environment includes a cloud implementation, where the ML model includes a neural network, the first portion includes an encoder, the second portion includes a decoder, a comparator connected to the output of the decoder, and the third portion includes at least one of a classifier ML model and a regressor ML model for a task. The distributed split learning environment can further include a second comparator connected to the output of the third portion of the ML model.

[0133] In some embodiments, the distributed split learning environment includes a NWDAF implementation; the ML model includes a neural network; the first node includes a first MTLF client; the second node includes a second MTLF client; the first portion includes an encoder; the second portion includes a decoder; the third portion includes at least one of a classifier ML model and a regressor ML model for a task; and the comparator is connected to the output of the decoder and to the output of the at least one of a classifier ML model and a regressor ML model.

[0134] In some embodiments, the distributed split learning environment includes an O-RAN implementation; the ML model includes a neural network; the first portion includes an encoder; the second portion includes a decoder; the second node includes an rApp or an xApp; the third portion includes at least one of a classifier ML model and a regressor ML model for a task; and the comparator is connected to the output of the decoder and to the output of the at least one of a classifier ML model and a regressor ML model.

[0135] In some embodiments, the task includes a task in a telecommunications network.

[0136] Referring to Figure 14, some embodiments herein are directed to a computer- implemented method performed by a second node in a distributed split learning environment for anomaly detection. The distributed split learning environment includes a ML model including at least a first portion and a second portion at a first node and at least a third portion at the second node. The method includes receiving (1400) from the first node an output of an activation function that defines an output of the first node when a data sample is input to the first node. The activation is based on a first indication of the first node that indicates whether the data sample from the inputdata contains an anomaly based on comparing (i) the data sample input to the first portion of the ML model of the first node with (ii) an output including a reconstruction of the data sample from the second portion of the ML model of the first node. The method further includes, based on the output of the activation function, calculating (1402) a second loss including a difference between an accuracy of the third portion of the ML model and an expected accuracy of the third portion of the ML model based on a historical accuracy or a trajectory of accuracy. The method further includes identifying (1404) whether the anomaly is detected at the second node based on a value of the second loss; and sending (1406) a second indication to the first node that indicates whether the second node detected the data sample contains the anomaly.

[0137] Referring to Figure 15, in some embodiments, the method further includes updating (1500) parameters of the third portion of the ML model for a task when the second indication indicates that the anomaly is not detected at the second node.

[0138] The comparing can include (i) the first node computing a distance between the reconstruction of the data sample and the data sample input to the first portion of the ML model, and (ii) based on the distance, the first node setting a threshold value to identify whether the data sample contains an anomaly, and (iii) the first node comparing the reconstruction of the data sample with the threshold value.

[0139] Updating parameters of the third portion of the ML model can include (i) determining a second weight based on the second loss calculated at the second node including a difference between an accuracy of the third portion of the ML model and an expected accuracy of the third portion of the ML model based on a historical accuracy or a trajectory of accuracy, and (ii) updating the third portion of the ML model with the second weight.

[0140] In some embodiments, the further includes sending (1502) the second loss to the first node.

[0141] In further embodiments, the first node calculates a first weight of a first loss of the second portion of the ML model. The first loss includes a reconstruction loss of the second portion of ML model and the second loss includes at least one of a classification loss and a regressor loss.

[0142] In yet further embodiments, the second node includes a plurality of second nodes, and when the anomaly is detected at the first node and a respective second node from the plurality of second nodes, the respective second node sends to the first node the second indication that the respective second node detected that the data sample contains the anomaly.

[0143] In some embodiments, the distributed split learning environment further includes a plurality of respective third portions of the ML model at a plurality of respective second nodes,and the method further includes training (operation 1600 in Figure 16) the first portion of the ML model with the plurality of respective third portions of the ML model.

[0144] In further embodiments, the ML model includes a neural network; receiving from the first node an output of the activation function is performed in a forward propagation pass from the first portion of the ML model including a first number of layers to (i) the second portion of the ML model including a second number of layer and (ii) the second node including a third number of layers; and sending to the first node a second indication that indicates whether the second node detected that the data sample contains the anomaly is performed in a backward propagation pass wherein the second node obtains a second gradient at a last layer of the third number of layers.

[0145] In yet further embodiments, the method further includes receiving (operation 1602 in Figure 16) an updated ML model from the first node.

[0146] In some embodiments, the second portion of the ML model includes a decoder for anomaly detection and the third portion of the ML model includes at least one of a tail portion of the ML model for at least one of a classification task and a regression task.

[0147] In further embodiments, the ML model includes a neural network; the first portion of the ML model includes a head portion of the neural network including a first number of layers of the neural network and an encoder; the second portion includes a first tail portion of the neural network including a second number of layers; and the third portion includes a second tail portion of the neural network including a third number of layers.

[0148] In yet further embodiments, the distributed split learning environment includes a cloud implementation. The ML model includes a neural network; the first portion includes an encoder; the second portion includes a decoder; a comparator connected to the output of the decoder; and the third portion includes at least one of a classifier ML model and a regressor ML model for a task. The distributed split learning environment further includes a second comparator connected to the output of the third portion of the ML model.

[0149] In some embodiments, the distributed split learning environment includes a NWDAF implementation; the ML model includes a neural network; the first node includes a first MTLF client; the second node includes a second MTLF client; the first portion includes an encoder; the second portion includes a decoder; the third portion includes at least one of a classifier ML model and a regressor ML model for a task; and a comparator is connected to the output of the decoder and to the output of the at least one of a classifier ML model and a regressor ML model.

[0150] In further embodiments, the distributed split learning environment includes an O-RAN implementation; the ML model includes a neural network; the first portion includes an encoder; the second portion includes a decoder; the second node includes an rApp or an xApp; the thirdportion includes at least one of a classifier ML model and a regressor ML model for a task; and a comparator is connected to the output of the decoder and to the output of the at least one of a classifier ML model and a regressor ML model.

[0151] In some embodiments, the task includes a task in a telecommunications network.

[0152] In further embodiments, an output of the second node includes a probability for the task.

[0153] Figure 17 shows an example of a communication system (also referred to herein as a “communication network”) 1700 in accordance with some embodiments.

[0154] In the example, the communication system 1700 includes a telecommunication network 1702 that includes an access network 1704, such as a RAN, and a core network 1706, which includes one or more core network nodes 1708. The access network 1704 includes one or more access network nodes, such as network nodes 1710a and 1710b (one or more of which may be generally referred to as network nodes 1710), or any other similar 3GPP access node or non- 3GPP access point. The network nodes 1710 facilitate direct or indirect connection of user equipment (UE) (also referred to herein as “user device”), such as by connecting UEs 1712a, 1712b, 1712c, and 1712d (one or more of which may be generally referred to as UEs 1712) to the core network 1706 over one or more wireless connections. A first node (e.g., first node 200, 1800) can be a core network node 1708, a first MTLF client in a NWDAF in a communication system 1700, a non-real time RIC in an O-RAN, or another node comprising a first node in or for communication system 1700. A second node (e.g., second node 300, 1900) can be a core network node 1708, a second MTLF client in a NWDAF for a communication system 1700, a non-real time RIC in an O-RAN, or another node comprising a second node in or for communication system 1700.

[0155] Example wireless communications over a wireless connection include transmitting and / or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and / or other types of signals suitable for conveying information without the use of wires, cables, or other material conductors. Moreover, in different embodiments, the communication system 1700 may include any number of wired or wireless networks, network nodes, UEs, and / or any other components or systems that may facilitate or participate in the communication of data and / or signals whether via wired or wireless connections. The communication system 1700 may include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system.

[0156] The UEs 1712 may be any of a wide variety of communication devices, including wireless devices arranged, configured, and / or operable to communicate wirelessly with thenetwork nodes 1710 and other communication devices. Similarly, the network nodes 1710 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs 1712 and / or with other network nodes or equipment in the telecommunication network 1702 to enable and / or provide network access, such as wireless network access, and / or to perform other functions, such as administration in the telecommunication network 1702.

[0157] In the depicted example, the core network 1706 connects the network nodes 1710 to one or more hosts, such as host 1716. These connections may be direct or indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled to hosts. The core network 1706 includes one more core network nodes (e.g., core network node 1708) that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, and / or hosts, such that the descriptions thereof are generally applicable to the corresponding components of the core network node 1708. Example core network nodes include functions of one or more of a Mobile Switching Center (MSC), Mobility Management Entity (MME), Home Subscriber Server (HSS), Access and Mobility Management Function (AMF), Session Management Function (SMF), Authentication Server Function (AUSF), Subscription Identifier De-concealing function (SIDF), Unified Data Management (UDM), Security Edge Protection Proxy (SEPP), Network Exposure Function (NEF), and / or a User Plane Function (UPF).

[0158] The host 1716 may be under the ownership or control of a service provider other than an operator or provider of the access network 1704 and / or the telecommunication network 1702, and may be operated by the service provider or on behalf of the service provider. The host 1716 may host a variety of applications to provide one or more service. Examples of such applications include live and pre-recorded audio / video content, data collection services such as retrieving and compiling data on various ambient conditions detected by a plurality of UEs, analytics functionality, social media, functions for controlling or otherwise interacting with remote devices, functions for an alarm and surveillance center, or any other such function performed by a server.

[0159] As a whole, the communication system 1700 of Figure 17 enables connectivity between the UEs, network nodes, and hosts. In that sense, the communication system may be configured to operate according to predefined rules or procedures, such as specific standards that include, but are not limited to: Global System for Mobile Communications (GSM); Universal Mobile Telecommunications System (UMTS); Long Term Evolution (LTE), and / or other suitable 2G, 3G, 4G, 5G standards, or any applicable future generation standard (e.g., 6G); wireless local area network (WLAN) standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (WiFi); and / or any other appropriate wireless communication standard,such as the Worldwide Interoperability for Microwave Access (WiMax), Bluetooth, Z-Wave, Near Field Communication (NFC) ZigBee, LiFi, and / or any low-power wide-area network (LPWAN) standards such as LoRa and Sigfox.

[0160] In some examples, the telecommunication network 1702 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network 1702 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network 1702. For example, the telecommunications network 1702 may provide URLLC services to some UEs, while providing eMBB services to other UEs, and / or mMTC / Massive loT services to yet further UEs.

[0161] In some examples, the UEs 1712 are configured to transmit and / or receive information without direct human interaction. For instance, a UE may be designed to transmit information to the access network 1704 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network 1704. Additionally, a UE may be configured for operating in single- or multi-RAT or multi-standard mode. For example, a UE may operate with any one or combination of Wi-Fi, NR and LTE, i.e. being configured for multi-radio dual connectivity (MR-DC), such as E-UTRAN (Evolved-UMTS Terrestrial Radio Access Network) New Radio - Dual Connectivity (EN-DC).

[0162] In the example, the hub 1714 communicates with the access network 1704 to facilitate indirect communication between one or more UEs (e.g., UE 1712c and / or 1712d) and network nodes (e.g., network node 1710b). In some examples, the hub 1714 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub 1714 may be a broadband router enabling access to the core network 1706 for the UEs. As another example, the hub 1714 may be a controller that sends commands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes 1710, or by executable code, script, process, or other instructions in the hub 1714. As another example, the hub 1714 may be a data collector that acts as temporary storage for UE data and, in some embodiments, may perform analysis or other processing of the data. As another example, the hub 1714 may be a content source. For example, for a UE that is a VR headset, display, loudspeaker or other media delivery device, the hub 1714 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub 1714 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub 1714 acts as a proxy server or orchestrator for the UEs, in particular if one or more of the UEs are low energy loT devices.

[0163] The hub 1714 may have a constant / persistent or intermittent connection to the network node 1710b. The hub 1714 may also allow for a different communication scheme and / or schedule between the hub 1714 and UEs (e.g., UE 1712c and / or 1712d), and between the hub 1714 and the core network 1706. In other examples, the hub 1714 is connected to the core network 1706 and / or one or more UEs via a wired connection. Moreover, the hub 1714 may be configured to connect to an M2M service provider over the access network 1704 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes 1710 while still connected via the hub 1714 via a wired or wireless connection. In some embodiments, the hub 1714 may be a dedicated hub - that is, a hub whose primary function is to route communications to / from the UEs from / to the network node 1710b. In other embodiments, the hub 1714 may be a non-dedicated hub - that is, a device which is capable of operating to route communications between the UEs and network node 1710b, but which is additionally capable of operating as a communication start and / or end point for certain data channels.

[0164] Operations of a first node can be performed by the first node 1800 of Figure 18. Operations of the first node (implemented using the structure of Figure 18) have been discussed with reference to the flow charts of Figures 11-13 according to some embodiments of the present disclosure. Operations 1200-1206 from the flow chart of Figure 12 and operations 1300-1312 from the flow chart of Figure 13 may be optional with respect to some embodiments of first nodes and related methods. Modules may be stored in memory 1804, the first portion of the ML model 1810, the second portion of the ML model 1812, and / or the comparator 1814 of Figure 18, for example, and these modules may provide instructions so that when the instructions of a module are executed by respective first node processing circuitry 1802 (also referred to herein as at least one processor), first node 1800 performs respective operations of the flow charts of Figures 11- 13.

[0165] As shown in Figure 18, the first node 1800 includes processing circuitry 1802 that is operatively coupled to memory 1804, the first portion of the ML model 1810, the second portion of the ML model 1812, comparator 1814, and / or any other component, or any combination thereof. Certain first nodes may utilize all or a subset of the components shown in Figure 18. The level of integration between the components may vary from one first node to another first node. Further, certain first nodes may contain multiple instances of a component, such as multiple processors, memories, etc.

[0166] The processing circuitry 1802 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructions stored as machine-readable computer programs in the memory 1804, the first portion of the ML model1810, the second portion of the ML model 1812, and / or the comparator 1814. The processing circuitry 1802 may be implemented as one or more hardware- implemented state machines (e.g., in discrete logic, field-programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), etc.); programmable logic together with appropriate firmware; one or more stored computer programs, general-purpose processors, such as a microprocessor or digital signal processor (DSP), together with appropriate software; or any combination of the above. For example, the processing circuitry 1802 may include multiple central processing units (CPUs).

[0167] In the example, the communication interface 1806 may be configured to provide an interface or interfaces to an input device, output device, one or more input and / or output devices, other first nodes, or second nodes. Examples of an output device include a display, a monitor, a printer, another output device, or any combination thereof. An input device may allow a user to capture information into the first node 1800. Examples of an input device include a touch- sensitive or presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a web camera, etc.), a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smartcard, and the like. The presence-sensitive display may include a capacitive or resistive touch sensor to sense input from a user. A sensor may be, for instance, a force sensor, an optical sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as an input device. For example, a Universal Serial Bus (USB) port may be used to provide an input device and an output device.

[0168] The memory 1804, the first portion of the ML model 1810, the second portion of the ML model 1812, and / or the comparator 1814 may be or be configured to include memory such as random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory 1804, the first portion of the ML model 1810, the second portion of the ML model 1812, and / or the comparator 1814 includes one or more application programs, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data. The memory 1804, the first portion of the ML model 1810, the second portion of the ML model 1812, and / or the comparator 1814 may store, for use by the first node 1800, any of a variety of various operating systems or combinations of operating systems.

[0169] The memory 1804, the first portion of the ML model 1810, the second portion of the ML model 1812, and / or the comparator 1814 may be configured to include a number of physical drive units, such as redundant array of independent disks (RAID), flash memory, USB flash drive,external hard disk drive, thumb drive, pen drive, key drive, high-density digital versatile disc (HD- DVD) optical disc drive, internal hard disk drive, Blu-Ray optical disc drive, holographic digital data storage (HDDS) optical disc drive, external mini-dual in-line memory module (DIMM), synchronous dynamic random access memory (SDRAM), external micro-DIMM SDRAM, smartcard memory such as tamper resistant module in the form of a universal integrated circuit card (UICC) including one or more subscriber identity modules (SIMs), such as a USIM and / or ISIM, other memory, or any combination thereof. The UICC may for example be an embedded UICC (eUICC), integrated UICC (iUICC) or a removable UICC commonly known as ‘SIM card.’ The memory 1804, the first portion of the ML model 1810, the second portion of the ML model 1812, and / or the comparator 1814 may allow the first node 1800 to access instructions, application programs and the like, stored on transitory or non-transitory memory media, to off-load data, or to upload data. An article of manufacture, such as one utilizing a communication system may be tangibly embodied as or in the memory 1804, the first portion of the ML model 1810, the second portion of the ML model 1812, and / or the comparator 1814 which may be or comprise a device- readable storage medium.

[0170] The processing circuitry 1802 may be configured to communicate with a network using the communication interface 1806. The communication interface 1806 may comprise one or more communication subsystems. The communication interface 1806 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another first node, a second node, edge node, cloud node, etc.). Each transceiver may include a transmitter and / or a receiver appropriate to provide network communications (e.g., optical, electrical, and so forth).

[0171] In the illustrated embodiment, communication functions of the communication interface 1806 may include cellular communication, Wi-Fi communication, LPWAN communication, data communication, voice communication, multimedia communication, short- range communications such as Bluetooth, near-field communication, location-based communication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof. Communications may be implemented according to one or more communication protocols and / or standards, such as IEEE 802.11, Code Division Multiplexing Access (CDMA), Wideband Code Division Multiple Access (WCDMA), GSM, LTE, New Radio (NR), UMTS, WiMax, Ethernet, transmission control protocol / intemet protocol (TCP / IP), synchronous optical networking (SONET), Asynchronous Transfer Mode (ATM), QUIC, Hypertext Transfer Protocol (HTTP), and so forth.

[0172] Operations of a second node can be performed by the second node 1900 of Figure 19. Operations of the second node (implemented using the structure of Figure 19) have been discussed with reference to the flow charts of Figures 14-16 according to some embodiments of the present disclosure. Operations 1500-1502 from the flow chart of Figure 15 and operations 1600-1602 from the flow chart of Figure 16 may be optional with respect to some embodiments of second nodes and related methods. Modules may be stored in memory 1904, the third portion of the ML model 1910, and / or the comparator 1912 of Figure 19, for example, and these modules may provide instructions so that when the instructions of a module are executed by respective second node processing circuitry 1892 (also referred to herein as at least one processor), second node 1900 performs respective operations of the flow charts of Figures 14-16.

[0173] As shown in Figure 19, the second node 1900 includes processing circuitry 1902 that is operatively coupled to memory 1904, the third portion of the ML model 1910, comparator 1912, and / or any other component, or any combination thereof. Certain second nodes may utilize all or a subset of the components shown in Figure 19. The level of integration between the components may vary from one second node to another second node. Further, certain second nodes may contain multiple instances of a component, such as multiple processors, memories, etc.

[0174] The processing circuitry 1902 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructions stored as machine-readable computer programs in the memory 1904, the third portion of the ML model 1910, and / or the comparator 1912. The processing circuitry 1902 may be implemented as one or more hardware-implemented state machines (e.g., in discrete logic, FPGAs), ASICs, etc.); programmable logic together with appropriate firmware; one or more stored computer programs, general-purpose processors, such as a microprocessor or DSP, together with appropriate software; or any combination of the above. For example, the processing circuitry 1902 may include multiple CPUs.

[0175] In the example, the communication interface 1806 may be configured to provide an interface or interfaces to an input device, output device, one or more input and / or output devices, other second nodes, or first nodes. Examples of an output device include a display, a monitor, a printer, another output device, or any combination thereof. An input device may allow a user to capture information into the second node 1900. Examples of an input device include a touch- sensitive or presence- sensitive display, a camera (e.g., a digital camera, a digital video camera, a web camera, etc.), a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smartcard, and the like. The presence- sensitive display may include a capacitive or resistive touch sensor to sense input from a user. A sensor may be, for instance, a force sensor, anoptical sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as an input device. For example, a Universal Serial Bus (USB) port may be used to provide an input device and an output device.

[0176] The memory 1904, the third portion of the ML model 1910, and / or the comparator 1912 may be or be configured to include memory such as RAM, ROM, PROM, EPROM, EEPROM, magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory 1904, the third portion of the ML model 1910, and / or the comparator 1912 includes one or more application programs, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data. The memory 1904, the third portion of the ML model 1910, and / or the comparator 1912 may store, for use by the second node 1900, any of a variety of various operating systems or combinations of operating systems.

[0177] The memory 1904, the third portion of the ML model 1910, and / or the comparator 1912 may be configured to include a number of physical drive units, such as RAID, flash memory, USB flash drive, external hard disk drive, thumb drive, pen drive, key drive, HD-DVD optical disc drive, internal hard disk drive, Blu-Ray optical disc drive, HDDS optical disc drive, external miniDIMM, SDRAM, external micro-DIMM SDRAM, smartcard memory such as tamper resistant module in the form of a UICC including one or more SIMs, such as a USIM and / or ISIM, other memory, or any combination thereof. The UICC may for example be an eUICC, iUICC or a removable UICC commonly known as ‘SIM card.’ The memory 1904, the third portion of the ML model 1910, and / or the comparator 1912 may allow the second node 1900 to access instructions, application programs and the like, stored on transitory or non-transitory memory media, to offload data, or to upload data. An article of manufacture, such as one utilizing a communication system may be tangibly embodied as or in the memory 1904, the third portion of the ML model 1910, and / or the comparator 1912 which may be or comprise a device-readable storage medium.

[0178] The processing circuitry 1902 may be configured to communicate with a network using the communication interface 1906. The communication interface 1906 may comprise one or more communication subsystems. The communication interface 1906 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another second node, a first node, edge node, cloud node, etc.). Each transceiver may include a transmitter and / or a receiver appropriate to provide network communications (e.g., optical, electrical, and so forth).

[0179] In the illustrated embodiment, communication functions of the communication interface 1906 may include cellular communication, Wi-Fi communication, LPWANcommunication, data communication, voice communication, multimedia communication, short- range communications such as Bluetooth, near-field communication, location-based communication such as the use of the GPS to determine a location, another like communication function, or any combination thereof. Communications may be implemented according to one or more communication protocols and / or standards, such as IEEE 802.11, CDMA, WCDMA, GSM, LTE, NR, UMTS, WiMax, Ethernet, TCP / IP, SONET, ATM, QUIC, HTTP, and so forth.

[0180] Although the nodes described herein may include the illustrated combination of hardware components, other embodiments may comprise nodes with different combinations of components. It is to be understood that these nodes may comprise any suitable combination of hardware and / or software needed to perform the tasks, features, functions and methods disclosed herein. Determining, calculating, obtaining or similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the node(s), and / or performing one or more operations based on the obtained information or converted information, and as a result of said processing making a determination. Moreover, while components are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, nodes may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components. For example, a communication interface may be configured to include any of the components described herein, and / or the functionality of the components may be partitioned between the processor and the communication interface. In another example, non- computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.

[0181] In certain embodiments, some or all of the functionality described herein may be provided by processing circuitry executing instructions stored on in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer- readable storage medium. In alternative embodiments, some or all of the functionality may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hard-wired manner. In any of those particular embodiments, whether executing instructions stored on a non-transitory computer-readable storage medium or not, the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the node(s) as a whole, and / or by end users and a wireless network generally.

[0182] In certain embodiments, a first node (200, 1800) is provided. The first node (200, 1800) is in a distributed split learning environment for collaborative anomaly detection. The first node includes a first portion a ML model (1810); a second portion of the ML model (1812); at least one processor (1802); at least one memory (1804) connected to the at least one processor (1802) and storing program code that is executed by the at least one processor to perform operations. The operations include to perform some or all of the functionality described herein.

[0183] In certain embodiments, a computer program including program code to be executed by at least one processor (1802) of a first node (200, 1800) including a first portion a ML model (1810) and a second portion of the ML model (1812), whereby execution of the program code causes the first node to perform operations. The operations include to perform some or all of the functionality described herein.

[0184] In certain embodiments, a computer program product including a non-transitory storage medium (1804) including program code to be executed by at least one processor (1802) of a first node (200, 1800) including a first portion a ML model and a second portion of the ML model, whereby execution of the program code causes the first node to perform operations. The operations include to perform some or all of the functionality described herein.

[0185] In certain embodiments, a second node (300, 1800) is provided. The second node (300, 1900) is in a distributed split learning environment for collaborative anomaly detection. The second node includes a third portion of a ML model (1910); at least one processor (1902); at least one memory (1904) connected to the at least one processor (1902) and storing program code that is executed by the at least one processor to perform operations. The operations include to perform some or all of the functionality described herein.

[0186] In certain embodiments, a computer program including program code to be executed by at least one processor (1902) of a second node (300, 1900) including a third portion a ML model (1910), whereby execution of the program code causes the second node to perform operations. The operations include to perform some or all of the functionality described herein.

[0187] In certain embodiments, a computer program product including a non-transitory storage medium (1904) including program code to be executed by at least one processor (1902) of a second node (300, 1900) including a third portion a ML model, whereby execution of the program code causes the second node to perform operations. The operations include to perform some or all of the functionality described herein.

[0188] Figure 20 is a block diagram illustrating a virtualization environment 2000 in which functions implemented by some embodiments may be virtualized. In the present context, virtualizing means creating virtual versions of apparatuses, nodes, or devices which may includevirtualizing hardware platforms, storage devices and networking resources. As used herein, virtualization can be applied to any node or device described herein, or components thereof, and relates to an implementation in which at least a portion of the functionality is implemented as one or more virtual components. Some or all of the functions described herein may be implemented as virtual components executed by one or more VMs implemented in one or more virtual environments 2000 hosted by one or more of hardware nodes, such as a hardware node that operates as a first node or a second, network node, UE, core network node, or host. Further, in embodiments in which the virtual node does not require radio connectivity (e.g., a core network node or host), then the node may be entirely virtualized.

[0189] Applications 2002 (which may alternatively be called software instances, virtual appliances, network functions, virtual nodes, virtual network functions, etc.) are run in the virtualization environment 2000 to implement some of the features, functions, and / or benefits of some of the embodiments disclosed herein.

[0190] Hardware 2004 includes processing circuitry, memory that stores software and / or instructions executable by hardware processing circuitry, and / or other hardware devices as described herein, such as a communication interface, input / output interface, and so forth. Software may be executed by the processing circuitry to instantiate one or more virtualization layers 2006 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs 2008a and 2008b (one or more of which may be generally referred to as VMs 2008), and / or perform any of the functions, features and / or benefits described in relation with some embodiments described herein. The virtualization layer 2006 may present a virtual operating platform that appears like networking hardware to the VMs 2008.

[0191] The VMs 2008 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer 2006. Different embodiments of the instance of a virtual appliance 2002 may be implemented on one or more of VMs 2008, and the implementations may be made in different ways. Virtualization of the hardware is in some contexts referred to as network function virtualization (NFV). NFV may be used to consolidate many network equipment types onto industry standard high volume server hardware, physical switches, and physical storage, which can be located in data centers, and customer premise equipment.

[0192] In the context of NFV, a VM 2008 may be a software implementation of a physical machine that runs programs as if they were executing on a physical, non-virtualized machine. Each of the VMs 2008, and that part of hardware 2004 that executes that VM, be it hardware dedicated to that VM and / or hardware shared by that VM with others of the VMs, forms separate virtualnetwork elements. Still in the context of NFV, a virtual network function is responsible for handling specific network functions that run in one or more VMs 2008 on top of the hardware 2004 and corresponds to the application 2002.

[0193] Hardware 2004 may be implemented in a standalone node with generic or specific components. Hardware 2004 may implement some functions via virtualization. Alternatively, hardware 2004 may be part of a larger cluster of hardware where many hardware nodes work together and are managed via management and orchestration 2010, which, among others, oversees lifecycle management of applications 2002. In some embodiments, hardware 2004 is coupled to one or more radio units that each include one or more transmitters and one or more receivers that may be coupled to one or more antennas. Radio units may communicate directly with other hardware nodes via one or more appropriate network interfaces and may be used in combination with the virtual components to provide a virtual node with radio capabilities, such as a radio access node, base station, a first node, or a second node. In some embodiments, some signaling can be provided with the use of a control system 2012 which may alternatively be used for communication between hardware nodes and radio units.

[0194] Further definitions and embodiments are discussed below.

[0195] In the above-description of certain embodiments of the present disclosure, it is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present disclosure. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which concepts of the present disclosure belong. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.

[0196] When an element is referred to as being “connected”, “coupled”, “responsive”, or variants thereof to another element, it can be directly connected, coupled, or responsive to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected”, “directly coupled”, “directly responsive”, or variants thereof to another element, there are no intervening elements present. Like numbers refer to like elements throughout. Furthermore, “coupled”, “connected”, “responsive”, or variants thereof as used herein may include wirelessly coupled, connected, or responsive. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Well-known functions or constructions may not be described in detail for brevity and / orclarity. The term “and / or” (abbreviated “ / ”) includes any and all combinations of one or more of the associated listed items.

[0197] It will be understood that although the terms first, second, third, etc. may be used herein to describe various elements / operations, these elements / operations should not be limited by these terms. These terms are only used to distinguish one element / operation from another element / operation. Thus a first element / operation in some embodiments could be termed a second element / operation in other embodiments without departing from the teachings of concepts of the present disclosure. The same reference numerals or the same reference designators denote the same or similar elements throughout the specification.

[0198] As used herein, the terms “comprise”, “comprising”, “comprises”, “include”, “including”, “includes”, “have”, “has”, “having”, or variants thereof are open-ended, and include one or more stated features, integers, elements, steps, components, or functions but does not preclude the presence or addition of one or more other features, integers, elements, steps, components, functions, or groups thereof. Furthermore, as used herein, the common abbreviation “e.g.”, which derives from the Latin phrase “exempli gratia,” may be used to introduce or specify a general example or examples of a previously mentioned item, and is not intended to be limiting of such item. The common abbreviation “i.e.”, which derives from the Latin phrase “id est,” may be used to specify a particular item from a more general recitation.

[0199] Example embodiments are described herein with reference to block diagrams and / or flowchart illustrations of computer-implemented methods, apparatus (systems, nodes, and / or devices) and / or computer program products. It is understood that a block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, can be implemented by computer program instructions that are performed by one or more computer circuits. These computer program instructions may be provided to a processor circuit of a general purpose computer circuit, special purpose computer circuit, and / or other programmable data processing circuit to produce a machine, such that the instructions, which execute via the processor of the computer and / or other programmable data processing apparatus, transform and control transistors, values stored in memory locations, and other hardware components within such circuitry to implement the functions / acts specified in the block diagrams and / or flowchart block or blocks, and thereby create means (functionality) and / or structure for implementing the functions / acts specified in the block diagrams and / or flowchart block(s).

[0200] These computer program instructions may also be stored in a tangible computer- readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable mediumproduce an article of manufacture including instructions which implement the functions / acts specified in the block diagrams and / or flowchart block or blocks. Accordingly, embodiments of the present disclosure may be embodied in hardware and / or in software (including firmware, resident software, micro-code, etc.) that runs on a processor such as a digital signal processor, which may collectively be referred to as “circuitry,” “a module” or variants thereof.

[0201] It should also be noted that in some alternate implementations, the functions / acts noted in the blocks may occur out of the order noted in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality / acts involved. Moreover, the functionality of a given block of the flowcharts and / or block diagrams may be separated into multiple blocks and / or the functionality of two or more blocks of the flowcharts and / or block diagrams may be at least partially integrated. Finally, other blocks may be added / inserted between the blocks that are illustrated, and / or blocks / operations may be omitted without departing from the scope of the present disclosure. Moreover, although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows.

[0202] Many variations and modifications can be made to the embodiments without substantially departing from the principles of the present disclosure. All such variations and modifications are intended to be included herein within the scope of present disclosure. Accordingly, the above disclosed subject matter is to be considered illustrative, and not restrictive, and the examples of embodiments are intended to cover all such modifications, enhancements, and other embodiments, which fall within the spirit and scope of the present disclosure. Thus, to the maximum extent allowed by law, the scope of the present disclosure is to be determined by the broadest permissible interpretation of the present disclosure including the examples of embodiments and their equivalents, and shall not be restricted or limited by the foregoing detailed description.

Claims

Claims:

1. A computer-implemented method performed by a first node in a distributed split learning environment for anomaly detection, the distributed split learning environment comprising a machine learning, ML, model comprising at least a first portion and a second portion at the first node and at least a third portion at a second node, the method comprising: identifying (1100) a first indication that indicates whether a data sample from the input data contains an anomaly based on comparing (i) the data sample input to the first portion of the ML model of the first node with (ii) an output comprising a reconstruction of the data sample from the second portion of the ML model of the first node; sending (1102) to the second node an output of an activation function from the first portion of the ML model that defines the output from the second portion of the ML model of the first node when the data sample is input to the first portion of the ML model of the first node; based on the output of the activation function, receiving (1104) from a second node a second indication that indicates whether the second node detected that the data sample contains the anomaly; and performing (1106) one of (i) exclude the data sample from the input data to the first node and from the output of the second node when the second indication indicates that the anomaly is detected at the second node, followed by updating a threshold in a comparator at the first node, and (ii) update parameters of the ML model for a task when the second indication indicates that the anomaly is not detected at the second node.

2. The method of Claim 1, wherein second node comprises a plurality of second nodes, and at least the sending (1102), the receiving (1104), and the performing (1106) is repeated for respective data samples and respective second nodes in the plurality of second nodes, the method further comprising: assigning (1204) a rank to the respective data samples based on the second indication received from the first node and the respective second nodes in the plurality of secondary nodes.

3. The method of Claim 2, further comprising: resampling (1206) the input data when the anomaly is detected at the first node and the second node with the consideration of the rank of the respective data samples.

4. The method of any one of Claims 1 to 3, wherein the comparing comprises (i) computing a distance between the reconstruction of the data sample from the second portion of the ML model and the data sample to the first portion of the ML model, and (ii) based on the distance, setting a value of the threshold to identify whether the data sample from the input data contains an anomaly, and (iii) comparing the reconstruction of the data sample from the second portion of the ML model with the threshold value.

5. The method of any one of Claims 1 to 4, wherein the update parameters of the ML model for a task when the second indication indicates that the anomaly is not detected at the second node comprises (i) calculating a first weight of a first loss of the second portion of the ML model, (ii) receiving the second indication from the second node that the anomaly is not detected at the second node, (iii) receiving a second weight from the second node based on a second loss calculated at the second node comprising a difference between an accuracy of the third portion of the ML model and an expected accuracy of the third portion of the ML model based on a historical accuracy or a trajectory of accuracy, and (iv) updating the ML model with the first weight and the second weight.

6. The method of Claim 5, wherein the first loss comprises a reconstruction loss of the second portion of ML model and the second loss comprises at least one of a classification loss and a regressor loss.

7. The method of any of Claims 1 to 6, wherein the second node comprises a plurality of second nodes, and the method further comprises: when the anomaly is detected at the first node and the second node, propagating (1208) an identifier for the data sample having the anomaly to the plurality of second nodes for multi-task learning to exclude the data sample related to identifier.

8. The method of any one of Claims 1 to 7, wherein the identifying (1100), the sending (1102), the receiving (1104), and the performing (1106) exclude a data sample are performed in a forward propagation pass among the first and second portions of the first node and the second node, and the updating is performed in a backward propagation pass among the second node and the first node.

9. The method of any one of Claims 1 to 8, further comprising:calculating (1202) a reconstruction loss of the second portion of the ML model with the data sample and the reconstruction of the data sample, wherein the update parameters of the ML model of the first node is performed in a backward propagation pass with the reconstruction loss and a loss of the third portion of the ML model from the second node.

10. The method of any one of Claims 1 to 9, wherein the distributed split learning environment further comprises a plurality of respective third portions of the ML model at a plurality of respective second nodes, and the method further comprises: training (1302) the first portion of the ML model with the plurality of respective third portions of the ML model.

11. The method of Claim 10, wherein the ML model comprises a neural network, wherein the sending to the second node an output of the activation function is performed in a forward propagation pass from the first portion of the ML model comprising a first number of layers to (i) the second portion of the ML model comprising a second number of layer and (ii) the second node comprising a third number of layers, and wherein the receiving from the second node the second indication that indicates whether to remove the data sample from the input data is performed in a backward propagation pass wherein the second node obtains a second gradient at a last layer of the third number of layers.

12. The method of Claim 11, wherein the update parameters of the ML model when the second indication indicates that the anomaly is not detected at the second node comprises merging a first gradient and the second gradient, the method further comprising: receiving (1300) the ML model from the second node in a plurality of second nodes; performing (1304) a forward propagation pass on the output of the activation function with the second portion of the ML model; computing (1306) a loss at the output of the second portion of the ML model; performing (1308) a backward propagation pass with the second portion of the ML model to obtain the first gradient of a last layer of the second number of layers; and receiving (1310), at the first portion of the first node, a merged gradient comprising the first and the second gradients.

13. The method of Claim 12, wherein when the plurality of second nodes have a same task, the method further comprising:sending (1312) the updated ML model to the second node in the plurality of second nodes.

14. The method of any one of Claims 1 to 13, wherein the second portion of the ML model comprises a decoder for anomaly detection and the third portion of the ML model comprises at least one of a tail portion of the ML model for at least one of a classification task and a regression task.

15. The method of any one of Claims 1 to 14, wherein the ML model comprises a neural network, the first portion of the ML model comprises a head portion of the neural network comprising a first number of layers of the neural network and an encoder, the second portion comprises a first tail portion of the neural network comprising a second number of layers, and the third portion comprises a second tail portion of the neural network comprising a third number of layers.

16. The method of any one of Claims 1 to 15, wherein the distributed split learning environment comprises a cloud implementation, wherein the ML model comprises a neural network, the first portion comprises an encoder, the second portion comprises a decoder, a comparator connected to the output of the decoder, and the third portion comprises at least one of a classifier ML model and a regressor ML model for a task.

17. The method of Claim 16, wherein the distributed split learning environment further comprises a second comparator connected to the output of the third portion of the ML model.

18. The method of any one of Claims 1 to 17, wherein the distributed split learning environment comprises a network data analytics function, NWDAF, implementation, the ML model comprises a neural network, the first node comprises a first model training logical function, MTLF, client, the second node comprises a second MTLF client, the first portion comprises an encoder, the second portion comprises a decoder, the third portion comprises at least one of a classifier ML model and a regressor ML model for a task, andwherein the comparator is connected to the output of the decoder and to the output of the at least one of a classifier ML model and a regressor ML model.

19. The method of any one of Claims 1 to 17, wherein the distributed split learning environment comprises an open radio access network, O- RAN, implementation, the ML model comprises a neural network, the first portion comprises an encoder, the second portion comprises a decoder, the second node comprises an rApp or an xApp, the third portion comprises at least one of a classifier ML model and a regressor ML model for a task, and wherein the comparator is connected to the output of the decoder and to the output of the at least one of a classifier ML model and a regressor ML model.

20. The method of any one of Claims 1 to 19, wherein the task comprises a task in a telecommunications network.

21. A computer-implemented method performed by a second node in a distributed split learning environment for anomaly detection, the distributed split learning environment comprising a machine learning, ML, model comprising at least a first portion and a second portion at a first node and a third portion at the second node, the method comprising: receiving (1400) from the first node an output of an activation function that defines an output of the first node when a data sample is input to the first node, wherein the activation is based on a first indication of the first node that indicates whether the data sample from the input data contains an anomaly based on comparing (i) the data sample input to the first portion of the ML model of the first node with (ii) an output comprising a reconstruction of the data sample from the second portion of the ML model of the first node; based on the output of the activation function, calculating (1402) a second loss comprising a difference between an accuracy of the third portion of the ML model and an expected accuracy of the third portion of the ML model based on a historical accuracy or a trajectory of accuracy; identifying (1404) whether the anomaly is detected at the second node based on a value of the second loss; andsending (1406) a second indication to the first node that indicates whether the second node detected that the data sample contains the anomaly.

22. The method of Claim 21 , further comprising: updating (1500) parameters of the third portion of the ML model for a task when the second indication indicates that the anomaly is not detected at the second node.

23. The method of any one of Claims 21 to 22, wherein the comparing comprises (i) the first node computing a distance between the reconstruction of the data sample from the second portion of the ML model and the data sample input to the first portion of the ML model, and (ii) based on the distance, the first node setting a threshold value to identify whether the data sample from the input data contains an anomaly, and (iii) the first node comparing the reconstruction of the data sample from the second portion of the ML model with the threshold value.

24. The method of any one of Claims 22 to 23, wherein the update parameters of the third portion of the ML model comprises (i) determining a second weight based on the second loss calculated at the second node comprising a difference between an accuracy of the third portion of the ML model and an expected accuracy of the third portion of the ML model based on a historical accuracy or a trajectory of accuracy, and (ii) updating the third portion of the ML model with the second weight.

25. The method of any one of 21 to 24, further comprising: sending (1502) the second loss to the first node.

26. The method of any one of Claims 21 to 25, wherein the first node calculates a first weight of a first loss of the second portion of the ML model, wherein the first loss comprises a reconstruction loss of the second portion of ML model and the second loss comprises at least one of a classification loss and a regressor loss.

27. The method of any of Claims 21 to 26, wherein the second node comprises a plurality of second nodes, and when the anomaly is detected at the first node and a respective second node from the plurality of second nodes, the respective second node sends to the first node the second indication that the second node detected that the data sample contains the anomaly.

28. The method of any one of Claims 21 to 27, wherein the distributed split learning environment further comprises a plurality of respective third portions of the ML model at a plurality of respective second nodes, and the method further comprises: training (1600) the first portion of the ML model with the plurality of respective third portions of the ML model.

29. The method of Claim 28, wherein the ML model comprises a neural network, wherein the receiving from the first node an output of the activation function is performed in a forward propagation pass from the first portion of the ML model comprising a first number of layers to (i) the second portion of the ML model comprising a second number of layer and (ii) the second node comprising a third number of layers, and wherein the sending to the first node the second indication that indicates that the second node detected that the data sample contains the anomaly is performed in a backward propagation pass wherein the second node obtains a second gradient at a last layer of the third number of layers.

30. The method of any one of Claims 21 to 29, further comprising: receiving (1602) an updated ML model from the first node.

31. The method of any one of Claims 21 to 30, wherein the second portion of the ML model comprises a decoder for anomaly detection and the third portion of the ML model comprises at least one of a tail portion of the ML model for at least one of a classification task and a regression task.

32. The method of any one of Claims 21 to 31, wherein the ML model comprises a neural network, the first portion of the ML model comprises a head portion of the neural network comprising a first number of layers of the neural network and an encoder, the second portion comprises a first tail portion of the neural network comprising a second number of layers, and the third portion comprises a second tail portion of the neural network comprising a third number of layers.

33. The method of any one of Claims 21 to 32, wherein the distributed split learning environment comprises a cloud implementation, wherein the ML model comprises a neuralnetwork, the first portion comprises an encoder, the second portion comprises a decoder, a comparator connected to the output of the decoder, and the third portion comprises at least one of a classifier ML model and a regressor ML model for a task.

34. The method of Claim 33, wherein the distributed split learning environment further comprises a second comparator connected to the output of the third portion of the ML model.

35. The method of any one of Claims 21 to 34, wherein the distributed split learning environment comprises a network data analytics function, NWDAF, implementation, the ML model comprises a neural network, the first node comprises a first model training logical function, MTLF, client, the second node comprises a second MTLF client, the first portion comprises an encoder, the second portion comprises a decoder, the third portion comprises at least one of a classifier ML model and a regressor ML model for a task, and wherein a comparator is connected to the output of the decoder and to the output of the at least one of a classifier ML model and a regressor ML model.

36. The method of any one of Claims 21 to 34, wherein the distributed split learning environment comprises an open radio access network, O- RAN, implementation, the ML model comprises a neural network, the first portion comprises an encoder, the second portion comprises a decoder, the second node comprises an rApp or an xApp, the third portion comprises at least one of a classifier ML model and a regressor ML model for a task, and wherein a comparator is connected to the output of the decoder and to the output of the at least one of a classifier ML model and a regressor ML model.

37. The method of any one of Claims 21 to 36, wherein the task comprises a task in a telecommunications network.

38. The method of any one of Claims 21 to 37, wherein an output of the second node comprises a probability for the task.

39. A first node (200, 1800) in a distributed split learning environment for anomaly detection, the first node comprising: a first portion a machine learning, ML, model (1810); a second portion of the ML model (1812); at least one processor (1802); at least one memory (1804) connected to the at least one processor (1802) and storing program code that is executed by the at least one processor to perform operations comprising: identify a first indication that indicates whether a data sample from input data contains an anomaly based on comparing (i) the data sample input to the first portion of the ML model of the first node with (ii) an output comprising a reconstruction of the data sample from the second portion of the ML model of the first node; sending to a second node an output of an activation function from the first portion of the ML model that defines the output from the second portion of the ML model of the first node when the data sample is input to the first portion of the ML model of the first node; based on the output of the activation function, receive from a second node a second indication that indicates whether the second node detected that the data sample contains the anomaly; and perform one of (i) exclude the data sample from the input data to the first node and from the output of the second node when the second indication indicates that the anomaly is detected at the second node, followed by updating a threshold in a comparator at the first node, and (ii) update parameters of the ML model for a task when the second indication indicates that the anomaly is not detected at the second node.

40. The first node of Claim 39, wherein the at least one memory (1804) is connected to the at least one processor (1802) and stores program code that is executed by the at least one processor to perform operations according to any one of Claims 2 to 20.

41. A computer program comprising program code to be executed by at least one processor (1802) of a first node (200, 1800) comprising a first portion a machine learning, ML,model (1810) and a second portion of the ML model (1812), whereby execution of the program code causes the first node to perform operations comprising: identify a first indication that indicates whether a data sample from input data contains an anomaly based on comparing (i) the data sample input to the first portion of the ML model of the first node with (ii) an output comprising a reconstruction of the data sample from the second portion of the ML model of the first node; send to a second node an output of an activation function from the first portion of the ML model that defines the output from the second portion of the ML model of the first node when the data sample is input to the first portion of the ML model of the first node; based on the output of the activation function, receive from a second node a second indication that indicates whether the second node detected that the data sample contains the anomaly; and perform one of (i) exclude the data sample from the input data to the first node and from the output of the second node when the second indication indicates that the anomaly is detected at the second node, followed by update a threshold in a comparator at the first node, and (ii) update parameters of the ML model for a task when the second indication indicates that the anomaly is not detected at the second node.

42. The computer program of Claim 41, whereby execution of the program code causes the first node (200, 1800) to perform operations according to any of Claims 2 to 20.

43. A computer program product comprising a non- transitory storage medium (1804) including program code to be executed by at least one processor (1802) of a first node (200, 1800) comprising a first portion a machine learning, ML, model and a second portion of the ML model, whereby execution of the program code causes the first node to perform operations comprising: identify a first indication that indicates whether a data sample from input data contains an anomaly based on comparing (i) the data sample input to the first portion of the ML model of the first node with (ii) an output comprising a reconstruction of the data sample from the second portion of the ML model of the first node; send to a second node an output of an activation function from the first portion of the ML model that defines the output from the second portion of the ML model of the first node when the data sample is input to the first portion of the ML model of the first node;based on the output of the activation function, receive from a second node a second indication that indicates whether the second node detected that the data sample contains the anomaly; and perform one of (i) exclude the data sample from the input data to the first node and from the output of the second node when the second indication indicates that the anomaly is detected at the second node, followed by update a threshold in a comparator at the first node, and (ii) update parameters of the ML model for a task when the second indication indicates that the anomaly is not detected at the second node.

44. The computer program product of Claim 43, whereby execution of the program code causes the first node to perform operations according to any of Claims 2 to 20.

45. A second node (202, 1900) in a distributed split learning environment for anomaly detection, the second node comprising: a third portion of a machine learning, ML, model (1910); at least one processor (1902); at least one memory (1904) connected to the at least one processor (1902) and storing program code that is executed by the at least one processor to perform operations comprising: receive from a first node an output of an activation function that defines an output of the first node when a data sample is input to the first node, wherein the output of the activation function is based on a first indication of the first node that indicates whether the data sample from the input data contains an anomaly based on comparing (i) the data sample input to a first portion of the ML model of the first node with (ii) an output comprising a reconstruction of the data sample from a second portion of the ML model of the first node; based on the output of the activation function, calculate a second loss comprising a difference between an accuracy of the third portion of the ML model and an expected accuracy of the third portion of the ML model based on a historical accuracy or a trajectory of accuracy; identify whether the anomaly is detected at the second node based on a value of the second loss; and send a second indication to the first node that indicates whether the second node detected that the data sample contains the anomaly.

46. The second node of Claim 45, wherein the at least one memory (1904) is connected to the at least one processor (1902) and stores program code that is executed by the at least one processor to perform operations according to any one of Claims 22 to 38.

47. A computer program comprising program code to be executed by at least one processor (1902) of a second node (202, 1900) comprising a third portion a machine learning, ML, model (1910), whereby execution of the program code causes the second node to perform operations comprising: receive from a first node an output of an activation function that defines an output of the first node when a data sample is input to the first node, wherein the output of the activation function is based on a first indication of the first node that indicates whether the data sample from the input data contains an anomaly based on comparing (i) the data sample input to a first portion of the ML model of the first node with (ii) an output comprising a reconstruction of the data sample from a second portion of the ML model of the first node; based on the output of the activation function, calculate a second loss comprising a difference between an accuracy of the third portion of the ML model and an expected accuracy of the third portion of the ML model based on a historical accuracy or a trajectory of accuracy; identify whether the anomaly is detected at the second node based on a value of the second loss; and send a second indication to the first node that indicates whether the second node detected that the data sample contains the anomaly.

48. The computer program of Claim 47, whereby execution of the program code causes the second node (202, 1900) to perform operations according to any of Claims 22 to 38.

49. A computer program product comprising a non-transitory storage medium (1904) including program code to be executed by at least one processor (1902) of a second node (202, 1900) comprising a third portion a machine learning, ML, model, whereby execution of the program code causes the second node to perform operations comprising: receive from a fist node an output of an activation function that defines an output of the first node when a data sample is input to the first node, wherein the output of the activation function is based on a first indication of the first node that indicates whether the data sample from the input data contains an anomaly based on comparing (i) the data sample input to a firstportion of the ML model of the first node with (ii) an output comprising a reconstruction of the data sample from a second portion of the ML model of the first node; based on the output of the activation function, calculate a second loss comprising a difference between an accuracy of the third portion of the ML model and an expected accuracy of the third portion of the ML model based on a historical accuracy or a trajectory of accuracy; identify whether the anomaly is detected at the second node based on a value of the second loss; and send a second indication to the first node that indicates whether the second node detected that the data sample contains the anomaly.

50. The computer program product of Claim 49, whereby execution of the program code causes the second node to perform operations according to any of Claims 22 to 38.