Machine learning receiver
By coordinating data nodes and machine learning nodes in the communication network to generate consistent random bit sequences, the problem of insufficient model training data is solved, improving model performance and communication reliability, and enabling an efficient training and calibration process.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-23
- Publication Date
- 2026-04-10
AI Technical Summary
Existing machine learning models lack effective training data in communication networks, which prevents them from fully improving their performance, especially in channel estimation and equalization tasks, where existing technologies struggle to provide sufficient random bit sequences for training and calibrating models.
Through coordination between data nodes and machine learning nodes, random bit sequences are generated and sent, ensuring consistency among the random bit sequences generated by the nodes for use in machine learning model training and calibration. These sequences are directly mapped into symbols, omitting physical layer processing steps, and using signaling and pre-configuration processes to ensure data consistency and efficient resource utilization.
It enables efficient collection of training data in communication networks, supports the training and calibration of machine learning models, improves model performance and communication reliability, and reduces adverse effects on the network.
Smart Images

Figure CN121844334A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Examples of the present disclosure relate to machine learning (ML) receivers. Some relate to producing training data or calibration data for use by ML receivers. BACKGROUND
[0002] Receivers within a communications network can use ML models to improve the performance of the receiver. The ML models can be used for physical layer processing or for any other suitable function. For example, the ML models can be used to perform tasks such as channel estimation and equalisation. SUMMARY
[0003] According to various (but not necessarily all) examples of the present disclosure, there is provided a data node comprising means for: receiving, from a machine learning node, an indication of a capability to generate a random bit sequence; transmitting, to the machine learning node, one or more parameters for generating the random bit sequence, wherein the parameters conform to the indicated capability; and transmitting the random bit sequence, wherein the random bit sequence is generated in accordance with the transmitted parameters.
[0004] The one or more parameters can comprise at least one of: one or more random number generator algorithms; a seed for a random number generator; a length of the random bit sequence to be generated.
[0005] The random bit sequence can comprise training data for training a machine learning model in the machine learning node.
[0006] The random bit sequence can be transmitted on demand.
[0007] The random bit sequence can be transmitted using a pattern defined in the indicated capability.
[0008] The random bit sequence can be broadcast to two or more machine learning nodes.
[0009] The means can be for measuring resource usage during a time interval; and transmitting the random bit sequence if the resource usage is below a threshold.
[0010] The random bit sequence can be mapped directly to transmitted symbols.
[0011] The data node can comprise one of: a user equipment; an access node.
[0012] According to various (but not necessarily all) examples of the present disclosure, there is provided a method comprising: receive, from a machine learning node, an indication of a capability to generate a random bit sequence; send, to the machine learning node, one or more parameters for generating the random bit sequence, wherein the parameters conform to the indicated capability; and send the random bit sequence, wherein the random bit sequence is generated according to the sent parameters.
[0013] According to various (but not necessarily all) examples of the present disclosure, there is provided a computer program comprising instructions which, when executed by a data node, cause the data node to at least perform: receive, from a machine learning node, an indication of a capability to generate a random bit sequence; send, to the machine learning node, one or more parameters for generating the random bit sequence, wherein the parameters conform to the indicated capability; and send the random bit sequence, wherein the random bit sequence is generated according to the sent parameters.
[0014] According to various (but not necessarily all) examples of the present disclosure, there is provided a machine learning node comprising means for: send, to a data node, an indication of a capability to generate a random bit sequence; receive, from the data node, one or more parameters for generating the random bit sequence, wherein the received parameters conform to the indicated capability; and receive, from the data node, the random bit sequence, wherein the random bit sequence comprises training data for training a machine learning model in the machine learning node.
[0015] The means can be for labelling the received random bit sequence using the random bit sequence generated using the received one or more parameters, such that the labelled data can be used to train the machine learning model.
[0016] The means can be for storing the received raw signal, which comprises the sent bit sequence.
[0017] The means can be for training the machine learning model using the stored raw signal as input.
[0018] The machine learning model can be trained to estimate a probability of a received bit.
[0019] The means can be for demodulating the received signal and recording the received random bit sequence after demodulation.
[0020] The means can be for sending, to the data node, a request for a random bit sequence.
[0021] The request can comprise at least one of: a random number generator algorithm to be used; a state of a random number generator algorithm to be used; a length of a random bit sequence to be generated; a transmit power level to be used for a signal comprising the random bit sequence.
[0022] The machine learning node can comprise one of: a user equipment; an access node.
[0023] According to various (but not necessarily all) examples of the disclosure, there is provided a method comprising: sending, to a data node, an indication of a capability to generate a random bit sequence; receiving, from the data node, one or more parameters for generating the random bit sequence, wherein the received parameters conform to the indicated capability; and receiving, from the data node, the random bit sequence, wherein the random bit sequence comprises training data for training a machine learning model in the machine learning node.
[0024] According to various (but not necessarily all) examples of the disclosure, there is provided a computer program comprising instructions which, when executed by a machine learning node, cause the machine learning node to at least perform: sending, to a data node, an indication of a capability to generate a random bit sequence; receiving, from the data node, one or more parameters for generating the random bit sequence, wherein the received parameters conform to the indicated capability; and receiving, from the data node, the random bit sequence, wherein the random bit sequence comprises training data for training a machine learning model in the machine learning node.
[0025] While the above examples and optional features of the disclosure are described individually, it will be appreciated that they are encompassed in the disclosure in all possible combinations and permutations. It will be appreciated that various examples of the disclosure can include any or all of the features described in relation to other examples of the disclosure, and vice versa. Furthermore, it will be appreciated that any one or more or all of the features in any combination can be implemented by, included in, and / or performed by computer program instructions, as appropriate and if appropriate. BRIEF DESCRIPTION OF DRAWINGS
[0026] Some examples will now be described with reference to the accompanying drawings, in which: Figure 1 An example network is shown; Figure 2 An example ML receiver is shown; Figure 3A and Figure 3B An example method is shown; Figure 4 An example method is shown; Figure 5 An example method is shown; Figure 6 An example physical layer mapping is shown; Figure 7 An example method is shown; Figure 8 An example method is shown; and Figure 9 An example controller is shown.
[0027] The drawings are not necessarily to scale. Certain features and aspects can be shown exaggerated in scale or in schematic in the drawings for clarity and convenience. For example, the sizes of some of the elements in the figures can be exaggerated relative to other elements for clarity and ease of presentation. Corresponding reference numerals in the drawings indicate corresponding parts throughout the several views. Not all elements in the drawings are necessarily to scale.
[0028] Definitions DETAILED DESCRIPTION
[0029] Figure 1 An example of a communication network 100, such as a 5G network or a 6G network, or any other suitable type of network, is shown. The network 100 includes a plurality of different types of nodes 110, 120, 130. The different types of nodes 110, 120, 130 can include terminal nodes 110 and network nodes 120, 130. The network nodes can include access nodes 120 and core network nodes 130, and / or any other suitable type of apparatus.
[0030] The access nodes 120 can be configured to communicate with the terminal nodes 110. The core network nodes 130 communicate with the access nodes 120. In some examples, the core network nodes 130 communicate with the terminal nodes 110.
[0031] In some examples, the core network nodes 130 can communicate with each other. In some examples, one or more access nodes 120 can communicate with each other.
[0032] The network 100 can be a cellular network comprising a plurality of cells 122. Each cell is served by an access node 120. In this example, the interface between a terminal node 110 and an access node 120 that bounds a cell 122 is a wireless interface 124.
[0033] The access node 120 can include one or more cellular radio transceivers. The terminal node 110 can include one or more cellular radio transceivers.
[0034] The access node 120 can be a base station. The access node 120 can be any suitable type of base station. The access node 120 can be a network entity responsible for radio transmission to and reception from the terminal node 110 in one or more cells. The access node 120 can be a network element in a radio access network (RAN) or any other suitable type of network.
[0035] The core network node 130 can be part of a core network. The core network node 130 can be configured to manage functions related to connections with the UE 110. For example, the core network node 130 can be configured to manage functions such as connectivity, mobility, authentication, authorization, and / or other suitable functions.
[0036] In examples, Figure 1 In examples, the core network node 130 is illustrated as a single entity. In some examples, the core network node 130 can be distributed across multiple entities. For example, the core network node 130 can be cloud-based, or distributed in any other suitable manner.
[0037] One or more nodes in the network 100 can be configured to use ML models. The ML models can be configured to improve performance of the various nodes within the network 100. For example, an ML receiver can be a node that receives signals and performs processing tasks on the received signals using an ML model. The processing tasks can be channel estimation or equalization, or any other suitable tasks. The ML receiver can be a terminal node 110 such as a user equipment (UE), or an access node 120 such as a gNodeB (gNB), or any other suitable type of node.
[0038] The ML models can include neural networks or any other suitable models. In some examples, the ML models can be implemented using trainable computer programs. The trainable computer programs can include any programs that can be trained to perform one or more tasks without being explicitly programmed to perform those tasks.
[0039] The ML models used within the ML receiver can include neural networks, or any other suitable type of trainable model. The term “machine learning model” refers to any kind of artificial intelligence (AI), agent, or other method that can be trained or refined using data. The ML model can include a computer program. The ML model can be trained to perform a task, such as channel estimation or equalization, without being explicitly programmed to perform that task. The ML model can be configured to learn from experience E in some respect of the task T and performance measure P, if its performance in the task T (as measured by P) improves with experience E. In these examples, the ML model can generally learn from training data or calibration data to make estimates for future data. The ML model can also be a trainable computer program. In other examples, other types of ML models can be used.
[0040] An ML model with a particular architecture can also be trained, and then another ML model derived from that ML model using processes such as compilation, pruning, quantization, or distillation. The term ML model also encompasses all of these use cases and their outputs. The ML model can be executed using any suitable means, such as a CPU, GPU, ASIC, FPGA, in-memory compute, analog or digital or optical means. The ML model can also be executed in a means that combines features of any number of these means, such as a digital-optical hybrid or an analog-digital hybrid. In some examples, the weights and required computations in these systems can be programmed to correspond to the ML model. In some examples, the means can be designed and fabricated to perform the task defined by the ML model, such that the means is configured to perform the task when it is fabricated, without the means needing to be programmable.
[0041] Figure 2 An example ML model 200 that can be used in the ML receiver is shown. In other examples, other types of ML models can be used.
[0042] The example ML model 200 can be used in a single-input and single-output (SISO) scenario. In this example, the ML model 200 is a convolutional neural network (CNN) of the residual network (ResNet) type. The input 202 to the ML model 200 is one time transmission interval (TTI). The TTI includes N symb OFDM symbols. The number of OFDM symbols is typically 14. The TTI includes N sc subcarriers.
[0043] The input 202 to the ML model 200 includes two channels. The first input channel 204 includes the received signal in complex values, and the second input channel 206 includes the original channel estimate in complex values. Thus, the input 202 to the ML model 200 includes N sc×N symb A ×4 array. In this array, the last dimension represents the number of input channels.
[0044] In other examples, ML Model 200 can be used for multiple-input multiple-output (MIMO) scenarios. In such examples, the channel matrix can be vectorized along the channel dimension. This results in each resource element receiving N. L N R There are N original channel estimates, where N L It is the number of layers, and N R This is the number of Rx antennas (correspondingly, the received OFDM symbol array will include N for each resource element). R (sample).
[0045] The ML model 200 is configured to process the input array using one or more ResNet blocks 210. If the number of channels between two consecutive ResNet blocks 210 is the same, the skip-connected convolutional layers can be omitted.
[0046] Figure 2 The diagram illustrates a ResNet block 210. ResNet block 210 can be repeated M times. The input to ResNet block i is the output of ResNet block i-1. Figure 2 In the example. N sc N is the number of subcarriers received in the active bandwidth portion. symb It is the number of OFDM symbols in the time slot (usually 14), N1…N j+k+l N is the number of output channels in the convolutional layers within each ResNet block 210, and N B It is the number of bits per resource element (RE).
[0047] The ML model 200 is configured such that the output of the ResNet block 210 is fed into the final two-dimensional convolutional layer 212. The final two-dimensional convolutional layer 212 provides the final log-likelihood ratio (LLR) estimate as output 214. The LLR estimate is the probability estimate of the transmitted bits by the ML receiver. The originally transmitted bits represent the ideal output of the ML model 200.
[0048] ML model 200 can be trained using simulated data, in which case obtaining the original transmitted sequence is not a problem. However, there are scenarios where ML model 200 may need training data collected in the network. The examples disclosed herein provide a mechanism for an ML receiver to obtain the original transmitted bits, so that the original transmitted bits can be used to train ML model 200.
[0049] To train a robust ML model for the ML receiver, the bit sequence used to generate the training data must be random. If there is only a finite number of previously agreed bit sequences, the model will always overfit, predicting only these sequences. Examples of the disclosure ensure that the originally transmitted bits comprise a random bit sequence.
[0050] Figure 3A and Figure 3B An example method that can be used in examples of the disclosure is shown. Figure 3A The method of Figure 1 can be implemented by a data node, and Figure 3B The method of Figure 2 can be implemented by an ML node. The data node is a node that transmits a random bit sequence. The data node can provide data that can be used to train an ML model 200. The ML node is a node that uses one or more ML models. The ML node can be an ML receiver, or any other suitable type of node. The ML node can receive data from the data node, and use the received data to train an ML model. The data node can be a user equipment or an access node. Similarly, the ML node can be a user equipment or an access node.
[0051] In examples of Figure 1, Figure 3A The method comprises, at block 300, receiving an indication of a capability of the ML node to generate a random bit sequence from the ML node. The indication of the capability can be received as part of a configuration procedure, or using any other suitable type of signalling.
[0052] The method comprises, at block 302, transmitting one or more parameters for generating a random bit sequence to the ML node. The parameters transmitted are in line with the indicated capability.
[0053] The parameters comprise information that can be used to generate a random bit sequence. The parameters can be used to ensure that both the ML node and the data node generate the same random bit sequence.
[0054] In some examples, the parameters can comprise parameters related to a random number generator (RNG). In some examples, the parameters can comprise one or more RNG algorithms, a seed for the RNG, a length of the random bit sequence to be generated, and / or any other suitable parameters.
[0055] In some examples, there can be a pre-configuration procedure in which the respective nodes are configured with one or more RNGs. In such examples, an index of the available RNGs can be agreed upon during the pre-configuration. In such examples, the parameters can comprise a reference to the index to indicate the RNG algorithm to be used.
[0056] The method further comprises, at block 304, transmitting the random bit sequence. The random bit sequence is generated in accordance with the transmitted parameters.
[0057] The random bit sequence includes training data that can be used to train the ML model in the ML node.
[0058] Random bit sequences can be sent in any suitable manner. In some examples, random bit sequences can be sent on demand. Data used for transmission can be scheduled via control signaling. In some examples, random bit sequences can be sent using patterns defined in the indicated capabilities. In some examples, random bit sequences can be broadcast to two or more ML nodes. In some examples, data nodes can measure resource usage during a time interval. If resource usage is below a threshold, a random bit sequence can be sent.
[0059] Random bit sequences can be directly mapped to the transmitted symbols. This allows the physical layer mapping step to be omitted. For example, steps such as code block segmentation and code block concatenation can be omitted.
[0060] Figure 3B An exemplary method that can be executed by an ML node is shown. Execution Figure 3B The ML node of the method can be related to the execution Figure 3A The data nodes corresponding to the method. That is to say, by Figure 3A The data generated by the data nodes can send random bit sequences to Figure 3B ML nodes.
[0061] The method includes, in block 310, transmitting to the data node an indication of the ability to generate random bit sequences.
[0062] The indication of capability can be sent using any appropriate signaling. The signaling used to send the indication of capability can depend on whether the ML node is an access node or a UE. For example, if the ML node is a UE, the indication can be sent using Radio Resource Control (RRC) signaling. If the ML node is an access node, the indication can be sent using System Information (SI).
[0063] At block 312, the method includes: receiving one or more parameters from a data node for generating a random bit sequence. The received parameters conform to the indicated capability.
[0064] At box 314, the method includes: receiving a random bit sequence from a data node, wherein the random bit sequence includes training data for training an ML model in an ML node.
[0065] ML nodes can label received random bit sequences to generate labeled data for training ML models. ML nodes can label received random bit sequences using random bit sequences generated by the ML node using one or more received parameters.
[0066] The ML node can store the received raw signal, which includes the transmitted bit sequence. The stored raw signal can be used as input for training the ML model.
[0067] In some examples, the ML node can demodulate the received signal and record the random received bit sequence after demodulation. This can enable the step of physical layer mapping to be omitted.
[0068] In some examples, the ML node can send a request for a random bit sequence to the data node. The request can include the RNG algorithm to be used, a seed for the RNG algorithm to be used, a length for the random bit sequence to be generated, a transmit power level to be used for a signal including the random bit sequence, and / or any other suitable information. The data node can generate and send the random bit sequence in response to the received request.
[0069] The ML model can be trained to estimate probabilities of received bits, or to perform any other suitable function. The trained ML model can be used for channel estimation or equalization, or any other suitable purpose. The trained ML model can be used to improve the reliability of communication between the ML node and other nodes in the network.
[0070] Examples of the present disclosure can be used to obtain training data from a real network. This facilitates fine-tuning of machine learning models at the deployment location. Examples of the present disclosure enable training data to be collected with little or no adverse impact on the network.
[0071] Figure 4 An example method that can be implemented in examples of the present disclosure is shown. Figure 4 Signaling between a data node and an ML node is shown. In this example, the data node can be a UE and the ML node can be an access node. In other examples, the data node can be an access node and the ML node can be a UE.
[0072] At block 400, the method includes configuration of a random bit sequence. The configuration can include an indication by the ML node that the ML node has the capability to generate a random bit sequence. The indication is signaled from the ML node to the data node. The indication ensures that the same procedure can be used to generate a random bit sequence in both the data node and the ML node.
[0073] The configuration can also include sending of parameters to be used to generate the random bit sequence by the data node to the ML node. The parameters sent can conform to the indicated capability.
[0074] This configuration can ensure that the same RNG process is used by both the data node and the ML node. This can enable both the data node and the ML node to produce the same random bit sequence.
[0075] At block 402, the data node sends a random bit sequence to the ML node. The random bit sequence is generated using RNG parameters that have been agreed upon during the configuration block. The data node can generate and send the random bit sequence in response to a request from the ML node or in response to any other suitable trigger.
[0076] At block 404, the ML node trains the ML model using the received random bit sequence. Since both the data node and the ML node can generate the same random bit sequence, the corresponding random bit sequence generated by the ML node can be used to label the received signal with noise including the random bit sequence. The labeled data can then be used to train and / or calibrate the ML model. The ML model can be trained to perform any suitable function.
[0077] Figure 5 Another example method that can be implemented in examples of the present disclosure is shown. Figure 5 Signaling between a data node and an ML node is shown. In this example, the data node can be a UE and the ML node can be an access node. Alternatively, the data node can be an access node and the ML node can be a UE. In some cases, a UE can establish a connection with an access node for the purpose of training an ML. The connection can enable training data to be collected.
[0078] Before performing the method of Figure 5 , the data node and the ML node can be preconfigured with an RNG algorithm. The RNG algorithm and / or the manner in which the RNG algorithm is used to generate a random bit sequence can be pre-agreed upon by a network provider or any other suitable entity. Any suitable RNG can be used in implementations of the present disclosure.
[0079] In some examples, the random bit sequence can be pre-agreed upon by specifying an RNG that can be given a seed and always produces the same bit sequence using a given seed. In some examples, a bit sequence of a particular length can be specified. The bit length can be specified along with the seed and the RNG. The pre-defined sequence or the RNG can be stored by the respective nodes with their hardware.
[0080] At block 500, the method includes exchanging capability indications between the data node and the ML node. The capability indications enable the data node and the ML node to learn from each other that they can produce random bit sequences for training data. The capability indications enable the data node and the ML node to learn from each other the limitations they have in producing random bit sequences for training data. In some examples, the capability indications can include that the ML node can indicate to the data node the ML node’s capabilities for generating random bit sequences. Similarly, the data node can indicate to the ML node the data node’s capabilities for generating random bit sequences.
[0081] The signaling used by the nodes to indicate capabilities can depend on the type of node. For example, a UE can indicate capabilities during connection setup. The indication can be made using RRC signaling such as RRC UE capabilities. An access node can use SI to indicate capabilities.
[0082] At block 502, initial configuration of the data node and the ML node is performed. The initial configuration can include sending, by the data node to the ML node, parameters to be used to generate random bit sequences. The parameters are in line with the capabilities indicated at block 500. The parameters can include the type of RNG to be used, the initial state of the RNG, how the transmission of random bit sequences is scheduled, when the transmission of random bit sequences is scheduled, or any other suitable information.
[0083] At block 504, training data is sent from the data node to the ML node. The training data includes one or more random bit sequences, where the random bit sequences have been generated according to the sent parameters and the indicated capabilities.
[0084] In examples of the present disclosure, the ML node can request data to be generated and scheduled for transmission. That is, the node that is to receive the data requests the data to be generated and scheduled for transmission.
[0085] The training data can be scheduled for transmission in any suitable manner. In some examples, the training data can be scheduled on-demand in response to a request from the ML node. In such examples, the training data can be scheduled using control signaling such as a medium access control control element (MAC CE) or a downlink / uplink (DL / UL) control channel.
[0086] In some examples, the training data can be scheduled and sent using a predefined pattern. The predefined pattern can be based on the indicated capabilities, or any other suitable information that has been exchanged in the configuration.
[0087] In some examples, training data can be sent to two or more ML nodes. For example, the data can be broadcast on the DL. This can be the case if two or more ML nodes have requested data from the data node.
[0088] In some cases, training data can be broadcast without the ML nodes specifically requesting the data. In this case, the ML nodes, such as UEs, can read from the SI when and where training data will be sent. The ML nodes can read this information without connecting to a cell. In this case, the ML nodes can acquire the training data simply by listening for the broadcasted training data.
[0089] The random bit sequence including the training data can completely or partially replace physical layer procedures. Figure 6 An example of the mapping of the generated random bit sequence to the physical layer is shown.
[0090] At block 506, the ML node receives the transmitted training data. The received training data includes the random bit sequence generated by the data node.
[0091] The data node can be informed of the scheduled transmission of the training data. Any suitable signaling can be used to inform the data node of the scheduled transmission of the training data. For example, downlink control information (DCI) or uplink control information (UCI) can include information indicating when the transmission of the training data is scheduled.
[0092] If the data node is informed of the scheduled transmission of the training data, the data node is also informed to treat the received data as training data. For example, the received training data need not be passed to upper layers, but can be prepared and logged for calibration or training of the ML.
[0093] At block 508, the ML node trains or calibrates the ML model used by the ML node. The ML node uses the received signal and the random bit sequence generated by the ML node to train or calibrate the ML model.
[0094] The ML node can use the random bit sequence generated by the ML node as a label and the corresponding received raw signal as input to the ML model. This provides real data from the network that can be used for supervised training of the ML model.
[0095] If a differentiable model of the full ML node is available, the received data can be used in a similar way to train any part of the ML node. In particular, since the ML node is informed of the transmitted bits and it has logged the received signal So now the ML model can be trained. For a fully learned receiver that takes as input the signal received after the FFT, then: , where is an estimate of the actual transmitted bits . By minimizing a loss function (e.g., binary cross-entropy ) that depends on the estimated bits and the actual bits, this information can be utilized to train the receiver function.
[0096] Figure 6 An exemplary physical layer mapping that can be used in some examples of the present disclosure is shown. This shows the physical layer mapping for two layers.
[0097] Figure 6 A portion of the physical layer processing method is shown. In the standard physical layer processing method, a transport block is processed to generate a stitched code block. This processing can include a cyclic redundancy check (CRC) attachment, graph selection, code block segmentation, channel coding, rate matching, code block stitching, and / or any other suitable processing. For brevity, Figure 6 These processes are not shown in
[0098] In the standard physical processing layer method, the stitched code block is scrambled at block 600, then modulated at block 602 before layer mapping at block 604, antenna port mapping at block 606, and mapping to resource blocks (RBs) at block 610.
[0099] However, in examples of the present disclosure, a random bit sequence y is generated by a random number generator 610. This random bit sequence can be mapped directly to the symbols on a given RB, or to the transport block (TB) payload. For example, if the generated bit sequence is to be used as training data for a fully learned ML model, the transmitted sequence can completely replace the payload data. That is, all of the physical layer processing method prior to modulation can be omitted. This provides a flexible process that can be used for a variety of different receiver algorithms.
[0100] In examples of Figure 6 , the RNG algorithm 610 has been specified during the capability indication and / or reconfiguration process. The initial state of the RNG algorithm 610 can be agreed upon by the data node and the ML node. In some cases, this initial state, represented by a seed, can be agreed upon during the initial configuration or during any other suitable process. In this case, the initial state of the RNG algorithm is represented by X. The number of bits to be transmitted can also be agreed upon by the data node and the ML node. The number of bits to be transmitted can be agreed upon during the initial configuration or during any other suitable process. In this case, the number of bits to be transmitted of the RNG algorithm is represented by N. The RNG thus provides a random bit sequence y as output. The random bit sequence y is known to both the ML node and the data node. As shown in Figure 6 The random bit sequence y is directly mapped to the transmitted symbols, and all earlier standard physical layer blocks have been skipped, as shown in
[0101] The ML node knows that the blocks of the physical layer procedure have been omitted. The data node knows the transmitted random bit sequence The data node can record the received bits after demodulation. The received bits may be associated with a generated random bit sequence of the same length This can be used for training and / or calibration of the machine learning model.
[0102] The ML node can also store the received raw signal. The raw signal can be stored after a transformation such as an FFT has been performed on the raw signal. The raw signal can be stored together with associated control information such as DMRS configuration. The raw signal and the transmitted bit sequence comprise training or calibration data for the ML model.
[0103] Figure 7 An exemplary method that can be used in some examples of the present disclosure is shown. In this case, an access node requests training data from a UE. In this case, the access node is the ML node and the UE is the data node.
[0104] At block 700, a connection setup is established between the access node and the UE. During connection setup, the capabilities of the respective nodes for generating random bit sequences can be shared.
[0105] At block 702, the access node sends a request for training data to the UE. The request can be sent when the access node needs training data. The request can be sent at some time after connection setup. The request for training data can also include information such as an RNG index, a random seed, a required amount of data, and / or any other suitable information. In some examples, the request can include a power level to be used to obtain data with different signal-to-noise ratios. In other examples, other information can be included within the request.
[0106] At block 704, the access node provides a scheduling grant to the UE for transmission of the requested training data. A physical downlink control channel (PDCCH) can be used for the scheduling grant.
[0107] At block 706, the UE sends the requested training data to the access node. The requested training data comprises a random bit sequence, where the random bit sequence is generated using parameters agreed upon during connection setup. The random bit sequence can be sent along with the requested RNG seed and / or other suitable information.
[0108] In some examples, the random bit sequence can comprise completely random bits. In other examples, the random bit sequence can comprise one or more regular parts, such as a regular header. It can be preferable to use completely random bits, as this can provide for more robust training of the ML model.
[0109] The training data is sent in accordance with a scheduling grant provided by the access node. A physical uplink shared channel (PUSCH) can be used for the training data.
[0110] Once the access node receives the random bit sequence, the access node will store the received data vector. The data vector, along with the RNG index and seed, can be used to reconstruct the original bit sequence that was sent, such that this can be used to train the ML model.
[0111] At block 708, a further transmission of the requested training data to the access node is performed. The requested training data can be sent in as many time slots as requested. The RNG state can be maintained between time slots. In order to maintain the proper state of the RNG, the RNG cannot be used for anything else between the generation of the respective random number sequence.
[0112] In Figure 7 In examples, the access node is the ML node and the UE is the data node. In other examples, the access node can be the data node and the UE can be the ML node. In this case, a similar method to the one shown would be used, but with the request for data being sent by the UE and the random bit sequence being sent by the access node.
[0113] Figure 8 An exemplary method that can be implemented in examples of the present disclosure is shown. In this example, the access node requests training data. In this example, the access node is the ML node and the UE is the data node. In other examples, the access node can be the data node and the UE can be the ML node.
[0114] At block 800, a configuration procedure is performed between the access node and the UE. The configuration can comprise agreeing, by the access node and the UE, on parameters to be used to generate a random bit sequence.
[0115] At block 802, the access node requests training data. The access node can send a request for training data to a UE. In response to the request, at block 804, the UE sends a slot of training data. The training data includes a random bit sequence generated according to agreed upon parameters.
[0116] At block 806, the access node receives the random bit sequence. At block 812, the access node can store any suitable data related to the received random bit sequence. In some examples, the access node can store the received raw signal. The raw signal can be stored after the FFT has been performed. The raw signal can be stored with associated demodulation reference signals (DMRS) or other configuration information.
[0117] At block 814, the stored data is used to construct a training dataset. The training dataset can include the raw received signal as the input signal and the known transmitted bits as the label.
[0118] At block 808, it is determined whether more training data is needed. If more training data is needed, the method returns to block 802 and the access node requests more data.
[0119] If more training data is not needed, the method proceeds to block 810 and a ML model is trained. The ML model is trained using the dataset constructed at block 814. The ML model can be trained in a supervised manner.
[0120] At block 816, the method provides the refined model or the trained ML model as output.
[0121] In examples of the present disclosure, data traffic will take precedence over the collection of training data. Thus, a data node can reject a request for training data. The data node can reject the request using any suitable mechanism. In some examples, the data node can simply reject the request for training data by ignoring the request for training data. In such examples, the request for training data can be associated with an expiration time. If the training data is not received by the end of the expiration time, the request is considered rejected.
[0122] In examples where the data node is a UE, instead of sending the training data, the UE can reject the request for training data by sending a scheduling request for new uplink data. In this way, the access node as the ML node determines that training data is not expected.
[0123] In some examples, a physical layer priority flag can be used to identify training data as low priority. In such examples, the ML node will only request training data if there is no other useful data in the queue.
[0124] The respective node can also be configured to determine when there is a sufficiently low level of congestion in the network to enable the consumption of resources for producing ML training data. The level of congestion can be determined using any suitable means. In some examples, the level of congestion can be determined based on a certain time window in which the usage of resources is measured. If the usage of resources is below a predefined threshold, the transmission of training data is allowed.
[0125] Figure 9 An example controller 900 is shown. The controller 900 can be provided within an entity such as a data node or ML node, or any other suitable apparatus. The controller 900 can be implemented as controller circuitry. The controller 900 can be implemented in hardware only, only certain aspects of it implemented in software (including firmware), or it can be a combination of hardware and software (including firmware).
[0126] As shown, the controller 900 can be implemented using instructions that enable the hardware functionality, for example, by using executable instructions of a computer program 906 in a general-purpose or special-purpose processor 902 that can be stored on a computer readable storage medium (disk, memory etc) to be executed by such a processor 902. Figure 9
[0127] The processor 902 is configured to read from and write to memory 904. The processor 902 can also include an output interface and an input interface, via which data and / or commands are output to the processor 902 and input to the processor 902, respectively.
[0128] The memory 904 stores a computer program 906 comprising computer program instructions (computer program code) that controls operations of the apparatus when loaded into the processor 902. The computer program instructions of the computer program 906 provide the logic and processes enabling the apparatus to perform the methods shown in the drawings. The processor 902, by reading the memory 904, is able to load and execute the computer program 906.
[0129] Thus, the controller 900 comprises at least one processor 902 and at least one memory 904 storing instructions that, when executed by the at least one processor 902, cause the data node to at least perform: receiving 300 an indication of an ability to generate a random bit sequence from a machine learning node; sending 302 one or more parameters for generating a random bit sequence to the machine learning node, wherein the parameters comply with the indicated ability; and sending 304 the random bit sequence, wherein the random bit sequence is generated in accordance with the sent parameters.
[0130] Thus, the controller 900 comprises at least one processor 902 and at least one memory 904 storing instructions that, when executed by the at least one processor 902, cause the ML node to at least perform: sending 310 to the data node an indication of a capability to generate a random bit sequence; receiving 312 from the data node one or more parameters for generating a random bit sequence, wherein the received parameters comply with the indicated capability; and receiving 314 from the data node a random bit sequence, wherein the random bit sequence comprises training data for training a machine learning model in the machine learning node.
[0131] The computer program 906 can arrive at the apparatus via any suitable delivery mechanism 908. The delivery mechanisms 908 can be, for example, a machine readable medium, a computer readable medium, a non-transitory computer readable storage medium, a computer program product, a memory device, a record medium such as a compact disc read-only memory (CD-ROM) or digital versatile disc (DVD), or a solid state memory, an article of manufacture that includes or embodies the computer program 906. The delivery mechanisms can be a signal configured to reliably transfer the computer program 906. The apparatus can propagate or transmit the computer program 906 as a computer data signal.
[0132] The computer program 906 can comprise computer program instructions for causing the data node to perform at least the following or for performing at least the following: receiving 300 from the machine learning node an indication of a capability to generate a random bit sequence; sending 302 to the machine learning node one or more parameters for generating a random bit sequence, wherein the parameters comply with the indicated capability; and sending 304 a random bit sequence, wherein the random bit sequence is generated according to the sent parameters.
[0133] The computer program 906 can comprise computer program instructions for causing the ML node to perform at least the following or for performing at least the following: sending 310 to the data node an indication of a capability to generate a random bit sequence; receiving 312 from the data node one or more parameters for generating a random bit sequence, wherein the received parameters comply with the indicated capability; and receiving 314 from the data node a random bit sequence, wherein the random bit sequence comprises training data for training a machine learning model in the machine learning node.
[0134] The computer program instructions can be included in a computer program, a non-transitory computer-readable medium, a computer program product, a machine-readable medium. In some (but not necessarily all) examples, the computer program instructions can be distributed over more than one computer program.
[0135] Although the memory 904 is shown as a single component / circuit, it can be implemented as one or more separate components / circuits, some or all of which can be integrated / removable, and / or can provide permanent / semi-permanent / dynamic / cached storage.
[0136] Although the processor 902 is shown as a single component / circuit, it can be implemented as one or more separate components / circuits, some or all of which can be integrated / removable. The processor 902 can be a single-core or multi-core processor.
[0137] The term “comprise” (and grammatical variations thereof) is used in this document with an inclusive not an exclusive meaning. That is, use of “comprise” (and grammatical variations thereof) in this document indicates that a thing comprises something (or a plurality of things) but is not excluding that there are other (one or more) things. If it is intended to exclude only the one thing more, it will be expressed explicitly, e.g. “only one...”, or “consisting only of...”. If it is intended to exclude that there is any thing more, it will be expressed explicitly, e.g. “consisting of...”.
[0138] In this specification the words “connected”, “coupled”, and “in communication with” and variations of these terms are used in an operational sense and are not necessarily limited to a direct connection or coupling. It will be appreciated that there can be any number or combinations of intervening components (including none), in order to provide a direct or indirect connection / coupling / communication. Any such intervening components can include hardware and / or software components.
[0139] As used herein, the term “determining” (and grammatical variations thereof) can include at least one of calculating, computing, processing, deriving, investigating, identifying, looking up (such as in a table, a database or another data structure), ascertaining and the like. Furthermore, “determining” can include receiving (such as receiving information), accessing (such as accessing data in a memory) and the like. Furthermore, “determining” can include resolving, selecting, choosing, establishing, and the like.
[0140] Various examples have been referenced in this specification. Descriptions of features or functions of an example indicate which features or functions are present in that example. The use of the terms “example,” “for example,” “can,” or “may” in the text indicates, whether explicitly stated or not, that these features or functions are present at least in the described example, whether or not they are described as examples, and that they may (but not necessarily) be present in some or all other examples. Thus, “example,” “for example,” “can,” or “may” refers to a specific example within a class of examples. An example’s properties may be properties of only that example, or properties of the class, or properties of subclasses of the class, which include some but not all examples in that class. Therefore, it is implicitly disclosed that features described with reference to one example but not another example may, where possible, be used as part of a working composition in that other example, but are not necessarily required to be used in that other example.
[0141] Although examples have been described with reference to various examples in the preceding paragraphs, it should be understood that modifications may be made to the given examples without departing from the scope of the claims.
[0142] The features described above can be used in combinations other than those explicitly described above.
[0143] Although some features have been described with reference to certain characteristics, these functions can be performed by other features, whether or not they are described.
[0144] Although features have been described with reference to some examples, these features may also exist in other examples, whether or not they are described.
[0145] The terms “a,” “an,” or “the” are used in this document to have an inclusive rather than an exclusive meaning. That is, a reference to “X comprises a / an / the” means that X may include only one Y, or may include more than one Y, unless the context clearly indicates otherwise. If “a,” “an,” or “the” is intended to be used in an exclusive sense, it will be explicit in the context. In some cases, the use of “at least one” or “one or more” may be used to emphasize an inclusive meaning, but the absence of these terms should not be taken as an inference of any exclusive meaning.
[0146] The presence of a feature (or combination of features) in a claim refers to the feature (or combination of features) itself, as well as features that achieve substantially the same technical effect (equivalent features). Equivalent features include, for example, features that are variations and achieve substantially the same effect by substantially the same means. Equivalent features include, for example, features that perform substantially the same function to achieve substantially the same effect by substantially the same means.
[0147] In this specification, the use of the term “example” has been used to illustrate various features of examples. Such use of the term “example” indicates that such features are present in some examples, and are not necessarily present in all examples.
[0148] The above description sets forth numerous specific details regarding the examples. However, it is understood that a person of ordinary skill in the art would be able to make and use other variations of the structures and methodologies described above without departing from the scope of the disclosure. For the sake of clarity, the above descriptions have been focused on specific examples, however, variations of the above-described structures and methods features that provide equivalent functionality are intended to be encompassed by the claims unless specifically excluded by the language of the claims.
[0149] While efforts have been made to adhere to patent laws, it is to be understood that the application is not to be limited in scope to the specific examples disclosed herein and that the claims can be amended to seek protection for such alternatives, equivalents, and / or modifications as would be covered by the language of the claims, unless such alternatives, equivalents, and / or modifications are expressly excluded by the language of the claims.
Claims
1. A data node comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the data node to at least perform: receiving, from a machine learning node, an indication of a capability to generate a random bit sequence; sending, to the machine learning node, one or more parameters for generating a random bit sequence, wherein the parameters conform to the indicated capability; and sending a random bit sequence, wherein the random bit sequence is generated according to the sent parameters.
2. The data node of claim 1, wherein the one or more parameters comprise at least one of: one or more random number generator algorithms; a seed for the random number generator; a length of a random bit sequence to be generated.
3. The data node of any preceding claim, wherein the random bit sequence comprises training data for training a machine learning model in the machine learning node.
4. The data node of any preceding claim, wherein the random bit sequence is sent on demand.
5. The data node of any of claims 1 to 3, wherein the random bit sequence is sent using a pattern defined in the indicated capability.
6. The data node of any of claims 1 to 3, wherein the random bit sequence is broadcast to two or more machine learning nodes.
7. The data node of any preceding claim, configured to measure resource usage during a time interval and send the random bit sequence if the resource usage is below a threshold.
8. The data node of any preceding claim, wherein the random bit sequence is directly mapped to a transmitted symbol.
9. A method comprising: receiving, by a data node from a machine learning node, an indication of a capability to generate a random bit sequence; sending, by the data node to the machine learning node, one or more parameters for generating a random bit sequence, wherein the parameters conform to the indicated capability; and sending, by the data node, a random bit sequence, wherein the random bit sequence is generated according to the sent parameters.
10. The method of claim 9, wherein the one or more parameters comprise at least one of: one or more random number generator algorithms; a seed for the random number generator; a length of a random bit sequence to be generated.
11. The method of any preceding claim 9, 10, wherein the random bit sequence comprises training data for training a machine learning model in the machine learning node.
12. The method of any preceding claim 9 to 11, wherein the random bit sequence is sent on demand.
13. The method of any of claims 9 to 11, wherein the random bit sequence is sent using a pattern defined in the indicated capability.
14. The method of any of claims 9 to 11, wherein the random bit sequence is broadcast to two or more machine learning nodes. 15. The method of any of the preceding claims 9 to 14, further comprising: The resource usage during the time interval is measured and if the resource usage is below a threshold, transmitting the random bit sequence is performed.
16. The method of any one of the preceding claims 9 to 15, wherein the random bit sequence is directly mapped to the transmitted symbol.
17. A machine learning node, comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the machine learning node to at least perform: sending, to a data node, an indication of a capability to generate a random bit sequence; receiving, from the data node, one or more parameters for generating a random bit sequence, wherein the received parameters conform to the indicated capability; and receiving, from the data node, a random bit sequence, wherein the random bit sequence comprises training data for training a machine learning model in the machine learning node.
18. The machine learning node of claim 17, configured to label the received random bit sequence using a random bit sequence generated using the received one or more parameters, such that the labeled data can be used to train the machine learning model.
19. The machine learning node of any one of claims 17 to 18, configured to store a received raw signal, the raw signal comprising the transmitted bit sequence.
20. The machine learning node of claim 19, configured to train a machine learning model using the stored raw signal as input.
21. A method, comprising: sending, by a machine learning node, to a data node, an indication of a capability to generate a random bit sequence; receiving, by the machine learning node, from the data node, one or more parameters for generating a random bit sequence, wherein the received parameters conform to the indicated capability; and receiving, by the machine learning node, from the data node, a random bit sequence, wherein the random bit sequence comprises training data for training a machine learning model in the machine learning node.
22. The method of claim 21, wherein the machine learning node labels the received random bit sequence using a random bit sequence generated using the received one or more parameters, such that the labeled data can be used to train the machine learning model.
23. The method of any one of claims 21 to 22, wherein the machine learning node stores a received raw signal, the raw signal comprising the transmitted bit sequence.
24. The method of claim 23, wherein the machine learning node trains a machine learning model using the stored raw signal as input.
25. A computer program comprising instructions that, when executed by a machine learning node, cause the machine learning node to at least perform the method of claim 9 or claim 21.