US20210201135A1 - End-to-end learning in communication systems - Google Patents
End-to-end learning in communication systems Download PDFInfo
- Publication number
- US20210201135A1 US20210201135A1 US17/044,607 US201817044607A US2021201135A1 US 20210201135 A1 US20210201135 A1 US 20210201135A1 US 201817044607 A US201817044607 A US 201817044607A US 2021201135 A1 US2021201135 A1 US 2021201135A1
- Authority
- US
- United States
- Prior art keywords
- receiver
- transmitter
- training sequence
- messages
- loss function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/092—Reinforcement learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G06N3/0454—
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0985—Hyperparameter optimisation; Meta-learning; Learning-to-learn
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/02—Transmitters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/06—Receivers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/0202—Channel estimation
- H04L25/0204—Channel estimation of multiple channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/0202—Channel estimation
- H04L25/0224—Channel estimation using sounding signals
- H04L25/0226—Channel estimation using sounding signals sounding signals per se
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03006—Arrangements for removing intersymbol interference
- H04L25/03012—Arrangements for removing intersymbol interference operating in the time domain
- H04L25/03114—Arrangements for removing intersymbol interference operating in the time domain non-adaptive, i.e. not adjustable, manually adjustable, or adjustable only during the reception of special signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03006—Arrangements for removing intersymbol interference
- H04L25/03165—Arrangements for removing intersymbol interference using neural networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03006—Arrangements for removing intersymbol interference
- H04L25/03343—Arrangements at the transmitter end
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Definitions
- the present specification relates to learning in communication systems.
- a simple communications system includes a transmitter, a transmission channel, and a receiver.
- the design of such communications systems may involve the separate design and optimisation of each part of the system.
- An alternative approach is to consider the entire communication system as a single system and to seek to optimise the entire system.
- this specification describes an apparatus comprising: means for obtaining or generating a transmitter-training sequence of messages for a transmission system, wherein the transmission system comprises a transmitter, a channel and a receiver, wherein the transmitter includes a transmitter algorithm having at least some trainable weights and the receiver includes a receiver algorithm having at least some trainable weights (the transmitter algorithm may be implemented as a differentiable parametric function and the receiver algorithm may be implemented as a differentiable parametric function); means for transmitting perturbed versions of the transmitter-training sequence of messages over the transmission system (wherein the perturbations may be zero-mean Gaussian perturbations); means for receiving first receiver loss function data at the transmitter, the first receiver loss function data being generated based on a received-training sequence as received at the receiver and knowledge of the transmitter training sequence of messages for the transmission system; and means for training at least some weights of the transmitter algorithm based on the first receiver loss function data and knowledge of the transmitter-training sequence of messages and the perturbed versions of the transmitter-training sequence of messages.
- the means for training the at least some weights of the transmitter algorithm may make use of a distribution to generate the perturbations applied to the transmitter-training sequence of messages.
- the first loss function data may be related to one or more of block error rate, bit error rate and categorical cross-entropy.
- the apparatus may further comprises means for repeating the training of the at least some weights of the transmitter algorithm until a first condition is reached.
- the first condition may, for example, be a defined number of iterations and/or a defined performance level.
- the means for training may further comprise optimising one or more of a batch size of the transmitter-training sequence of messages, a learning rate, and a distribution of the perturbations applied to the perturbed versions of the transmitter-training sequence of messages.
- the apparatus may further comprise: means for obtaining or generating a receiver-training sequence of messages for transmission over the transmission system; means for transmitting the receiver-training sequence of messages over the transmission system; means for generating or obtaining second receiver loss function data, the second receiver loss function data being generated based on a received-training sequence as received at the receiver and knowledge of the transmitted receiver-training sequence; and means for training at least some weights of the receiver algorithm based on the second receiver loss function data.
- the second loss function may, for example, be related to one or more of block error rate, bit error rate and categorical cross-entropy
- Some forms of the invention may further comprise means for repeating the training of the at least some weights of the receiver algorithm until a second condition is reached.
- the second condition may, for example, be a defined number of iterations and/or a defined performance level.
- Some forms of the invention may further comprise means for repeating both the training of the at least some weights of the transmitter algorithm and repeating the training of the at least some weights of the transmitter algorithm until a third condition is reached.
- At least some weights of the transmit and receive algorithms may be trained using stochastic gradient descent.
- the apparatus may further comprise means for repeating the training of the at least some weights of the transmitter algorithm until a first condition is reached and means for repeating the training of the at least some weights of the receiver algorithm until a second condition is reached.
- the transmitter algorithm may comprise a transmitter neural network and/or the receiver algorithm may comprise a receiver neural network.
- this specification describes an apparatus comprising: means for obtaining or generating a receiver-training sequence of messages for transmission over a transmission system, wherein the transmitter includes a transmitter algorithm (e.g. a transmitter neural network) having at least some trainable weights and the receiver includes a receiver algorithm (e.g.
- a receiver neural network having at least some trainable weights; means for transmitting the receiver-training sequence of messages over the transmission system; means for generating or obtaining second receiver loss function data, the second receiver loss function data being generated based on a receiver-training sequence as received at the receiver and knowledge of the transmitted receiver-training sequence; means for training at least some weights of the receiver algorithm based on the second receiver loss function data; means for obtaining or generating a transmitter-training sequence of messages for the transmission system; means for transmitting perturbed versions of the transmitter-training sequence of messages over the transmission system; means for receiving first receiver loss function data at the transmitter, the first receiver loss function data being generated based on a received-training sequence as received at the receiver and knowledge of the transmitter training sequence of messages for the transmission system; and means for training at least some weights of the transmitter algorithm based on the first receiver loss function data and knowledge of the transmitter-training sequence of messages and the perturbed versions of the transmitter-training sequence of messages.
- the apparatus of the second aspect may further comprise means for repeating the training of the at least some weights of the transmitter algorithm until a first condition is reached and means for repeating the training of the at least some weights of the receiver algorithm until a second condition is reached. Furthermore, the apparatus may further comprise means for repeating both the training of the at least some weights of the transmitter algorithm and repeating the training of the at least some weights of the transmitter algorithm until a third condition is reached.
- the means may comprise: at least one processor; and at least one memory including computer program code, the at least one memory and computer program code configured to, with the at least one processor, cause the performance of the apparatus.
- this specification describes a method comprising: obtaining or generating a transmitter-training sequence of messages for a transmission system, wherein the transmission system comprises a transmitter, a channel and a receiver, wherein the transmitter includes a transmitter algorithm having at least some trainable weights and the receiver includes a receiver algorithm having at least some trainable weights (the transmitter algorithm may be implemented as a differentiable parametric function and the receiver algorithm may be implemented as a differentiable parametric function); transmitting perturbed versions of the transmitter-training sequence of messages over the transmission system; receiving first receiver loss function data at the transmitter, the first receiver loss function data being generated based on a received-training sequence as received at the receiver and knowledge of the transmitter training sequence of messages for the transmission system; and training at least some weights of the transmitter algorithm based on first receiver loss function data and knowledge of the transmitter-training sequence of messages and the perturbed versions of the transmitter-training sequence of messages.
- the method may further comprise: obtaining or generating a receiver-training sequence of messages for transmission over the transmission system; transmitting the receiver-training sequence of messages over the transmission system; generating or obtaining a second receiver loss function data, the second receiver loss function data being generated based on received-training sequence as received at the receiver and knowledge of the transmitted receiver-training sequence; and training at least some weights of the receiver algorithm based on the second receiver loss function data.
- this specification describes a method comprising: obtaining or generating a receiver-training sequence of messages for transmission over a transmission system, wherein the transmitter includes a transmitter algorithm having at least some trainable weights and the receiver includes a receiver algorithm having at least some trainable weights; transmitting the receiver-training sequence of messages over the transmission system; generating or obtaining second receiver loss function data, the second receiver loss function data being generated based on a received-training sequence as received at the receiver and knowledge of the transmitted receiver-training sequence; training at least some weights of the receiver algorithm based on the second loss function; obtaining or generating a transmitter-training sequence of messages for transmission over the transmission system; transmitting perturbed versions of the transmitter-training sequence of messages over the transmission system; receiver first receiver loss function data at the transmitter, the first receiver loss function data being generated based on a received-training sequence as received at the receiver and knowledge of the transmitter training sequence of messages for the transmission system; and training at least some weights of the transmitter algorithm based on the first receiver loss function data and knowledge of the transmitter
- this specification describes an apparatus configured to perform any method as described with reference to the third or fourth aspect.
- this specification describes computer-readable instructions which, when executed by computing apparatus, cause the computing apparatus to perform any method as described with reference to the first aspect.
- this specification describes a computer program comprising instructions stored thereon for performing at least the following: obtaining or generating a transmitter-training sequence of messages for a transmission system, wherein the transmission system comprises a transmitter, a channel and a receiver, wherein the transmitter includes a transmitter algorithm and the receiver includes a receiver algorithm; transmitting perturbed versions of the transmitter-training sequence of messages over the transmission system; receiving first receiver loss function data at the transmitter, the first receiver loss function data being generated based on a received-training sequence as received at the receiver and knowledge of the transmitter training sequence of messages for the transmission system; and training at least some weights of the transmitter algorithm based on first receiver loss function data and knowledge of the transmitter-training sequence of messages and the perturbed versions of the transmitter-training sequence of messages.
- the computer program may further comprise instructions stored thereon for performing at least the following: obtaining or generating a receiver-training sequence of messages for transmission over the transmission system; transmitting the receiver-training sequence of messages over the transmission system; generating or obtaining a second receiver loss function data, the second receiver loss function data being generated based on received-training sequence as received at the receiver and knowledge of the transmitted receiver-training sequence; and training at least some weights of the receiver algorithm based on the second receiver loss function data.
- this specification describes a non-transitory computer-readable medium comprising program instructions stored thereon for performing at least the following: obtaining or generating a transmitter-training sequence of messages for a transmission system, wherein the transmission system comprises a transmitter, a channel and a receiver, wherein the transmitter includes a transmitter algorithm and the receiver includes a receiver algorithm; transmitting perturbed versions of the transmitter-training sequence of messages over the transmission system; receiving first receiver loss function data at the transmitter, the first receiver loss function data being generated based on a received-training sequence as received at the receiver and knowledge of the transmitter training sequence of messages for the transmission system; and training at least some weights of the transmitter algorithm based on first receiver loss function data and knowledge of the transmitter-training sequence of messages and the perturbed versions of the transmitter-training sequence of messages.
- the non-transitory computer-readable medium may further comprise program instructions stored thereon for performing at least the following: obtaining or generating a receiver-training sequence of messages for transmission over the transmission system; transmitting the receiver-training sequence of messages over the transmission system; generating or obtaining a second receiver loss function data, the second receiver loss function data being generated based on received-training sequence as received at the receiver and knowledge of the transmitted receiver-training sequence; and training at least some weights of the receiver algorithm based on the second receiver loss function data.
- this specification describes an apparatus comprising: at least one processor; and at least one memory including computer program code which, when executed by the at least one processor, causes the apparatus to: obtain or generate a transmitter-training sequence of messages for a transmission system, wherein the transmission system comprises a transmitter, a channel and a receiver, wherein the transmitter includes a transmitter algorithm and the receiver includes a receiver algorithm; transmit perturbed versions of the transmitter-training sequence of messages over the transmission system; receive first receiver loss function data at the transmitter, the first receiver loss function data being generated based on a received-training sequence as received at the receiver and knowledge of the transmitter training sequence of messages for the transmission system; and train at least some weights of the transmitter algorithm based on first receiver loss function data and knowledge of the transmitter-training sequence of messages and the perturbed versions of the transmitter-training sequence of messages.
- the computer code may further cause the apparatus to: obtain or generate a receiver-training sequence of messages for transmission over the transmission system; transmit the receiver-training sequence of messages over the transmission system; generate or obtain a second receiver loss function data, the second receiver loss function data being generated based on received-training sequence as received at the receiver and knowledge of the transmitted receiver-training sequence; and train at least some weights of the receiver algorithm based on the second receiver loss function data.
- FIG. 1 is a block diagram of an exemplary end-to-end communication system
- FIG. 2 is a block diagram of an exemplary transmitter used in an exemplary implementation of the system of FIG. 1 ;
- FIG. 3 is a block diagram of an exemplary receiver used in an exemplary implementation of the system of FIG. 1 ;
- FIG. 4 is a flow chart showing an algorithm in accordance with an exemplary embodiment
- FIG. 5 is a flow chart showing an algorithm in accordance with an exemplary embodiment
- FIG. 6 is a block diagram of an exemplary end-to-end communication system in accordance with an example embodiment
- FIG. 7 is a flow chart showing an algorithm in accordance with an exemplary embodiment
- FIG. 8 is a block diagram of an exemplary end-to-end communication system in accordance with an example embodiment
- FIG. 9 is a block diagram of a components of a system in accordance with an exemplary embodiment.
- FIGS. 10 a and 10 b show tangible media, respectively a removable memory unit and a compact disc (CD) storing computer-readable code which when run by a computer perform operations according to embodiments.
- CD compact disc
- FIG. 1 is a block diagram of an exemplary communication system, indicated generally by the reference numeral 1 , in which exemplary embodiments may be implemented.
- the system 1 includes a transmitter 2 , a channel 4 and a receiver 6 . Viewed at a system level, the system 1 converts an input symbol (s) (also called a message) received at the input to the transmitter 2 into an output symbol ( ⁇ ) at the output of the receiver 6 .
- s input symbol
- ⁇ output symbol
- the transmitter 2 includes a module 10 (such as a neural network) for implementing a transmitter algorithm.
- the receiver 6 includes a module 14 (such as a neural network) for implementing a receiver algorithm.
- the modules 10 and 14 are trained in order to optimise the performance of the system as a whole.
- the transmitter algorithm implemented by the module 10 may be implemented as a differentiable parametric function and may include at least some trainable weights (which may be trainable through stochastic gradient descent).
- the receiver algorithm implemented by the module 14 may be implemented as a differentiable parametric function and may include at least some trainable weights (which may be trainable through stochastic gradient descent).
- the transmitter hardware imposes constraints on x, e.g., an energy constraint ⁇ x ⁇ 2 2 ⁇ n, an amplitude constraint
- the channel is described by the conditional probability density function (pdf)p(y
- the receiver Upon reception of y, the receiver produces the estimate ⁇ of the transmitted message s.
- FIG. 2 is a block diagram showing details of an exemplary implementation of the transmitter 2 described above.
- the transmitter 2 includes an embedding module 22 , a dense layer of one or more units 24 (e.g. one or more neural networks), a complex vector generator 26 and a normalization module 28 .
- the modules within the transmitter 2 are provided by way of example and modifications are possible.
- the complex vector generator 26 and the normalization module 28 could be provided in a different order.
- the message index s is fed into the embedding module 22 , embedding: n emb , that transforms s into an n emb -dimensional real-valued vector.
- the embedding module 22 can optionally be followed by several dense neural network (NN) layers 24 with possible different activation functions (such as ReLU, tanh, signmoid, linear etc.).
- NN dense neural network
- a normalization is applied by the normalization module 28 that ensures that power, amplitude or other constraints are met.
- the result of the normalization process is the transmit vector x of the transmitter 2 (where x ⁇ n ).
- the order of the complex vector generation and the normalization could be reversed.
- TX maps an integer from the set to an n-dimensional complex-valued vector.
- FIG. 3 is a block diagram showing details of an exemplary implementation of the receiver 6 described above.
- the receiver 6 includes a real vector generator 32 , one or more layers 34 (e.g. one or more neural networks) and a softmax module 36 .
- the output of the softmax module is a probability vector that is provided to the input of an arg max module 38 .
- the modules within the receiver 6 are provided by way of example and modifications are possible.
- the result is fed into the one or more layers 34 , which layers may have different activation functions such as ReLU, tanh, sigmoid, linear, etc.
- the receiver 6 defines the mapping:
- the receiver 6 maps an n-dimensional complex-valued vector to an M-dimensional probability vector and an integer from the set .
- the example above describes how this may be implemented using a neural network architecture, although other architectures are possible.
- the number of dimensions y can be different from n in case the channel provides a different number of relevant outputs.
- FIG. 4 is a flow chart showing an algorithm, indicated generally by the reference numeral 40 , in accordance with an exemplary embodiment.
- the algorithm 40 starts at operation 42 , where the transmitter 2 and the receiver 6 of the transmission system 1 are initialised. Note that the algorithm 40 acts on the system 1 , which system includes a real channel 4 .
- the receiver 6 is trained. As discussed in detail below, the receiver 6 is trained based on known training data sent by the transmitter 2 using the channel 4 .
- the trainable parameters of the receiver algorithm e.g. the receiver layers 34 , which may be implemented using neural networks
- SGD stochastic gradient descent
- the goal of the optimisation is to improve a chosen performance metric (or reward), such as block error rate (BLER), bit error rate (BER), categorical cross-entropy, etc.
- the transmitter is trained.
- the transmitter 2 sends is a sequence of known messages to the receiver 6 .
- the transmitter signals associated with each message are slightly perturbed, for example by adding random vectors taken from a known distribution.
- the receiver computer the chosen performance metric or reward (such as BLER, BER, categorical cross-entropy, as discussed above) for the received signals and feeds the metric or reward data back to the transmitter. Note that the receiver is not optimised at part of the operation 48 .
- the trainable parameters of the transmitter algorithm are optimised based on stochastic gradient descent (SGD) by estimating the gradient of the metric or reward with respect to its trainable parameters using the knowledge of the transmitted messages and signals, as well as the known distribution of the random perturbations.
- SGD stochastic gradient descent
- the communication system 1 is trained using a two-step process.
- the two steps may, for example, be carried out iteratively until and desired performance level is obtained and/or until a predefined number of iterations have been completed.
- There are a number of alternative mechanisms for implementing the operations 46 , 50 and/or 52 such as stopping when a loss function being used has not decreased for a given number of iterations or stopping when a metric such as block error rate (BLER) has reached a desired level.
- BLER block error rate
- FIG. 5 is a flow chart showing an algorithm, indicated generally by the reference numeral 60 , in accordance with an exemplary embodiment.
- the algorithm 60 provides further detail regarding the receiver training operation 44 of the algorithm 40 described above.
- FIG. 6 is a block diagram of an exemplary end-to-end communication system, indicated generally by the reference numeral 70 , in accordance with an example embodiment.
- the system 70 includes the transmitter 2 , channel 4 and receiver 6 described above with reference to FIG. 1 .
- the system 70 demonstrates aspects of the algorithm 60 .
- the algorithm 60 starts at operation 62 , where the following steps are conducted:
- the channel 4 is used to transmit vectors from the transmitter 2 to the receiver 6 as follows:
- a loss function is generated and stochastic gradient descent used for training the receiver as follows (and as indicated in FIG. 6 ):
- L R,i ⁇ log ([pR,i] s R,i ) is the categorical cross entropy between the input message and the output vector p R,i .
- the batch size N R as well as the learning rate could be optimization parameters of the training operation 44 .
- FIG. 7 is a flow chart showing an algorithm, indicated generally by the reference numeral 80 , in accordance with an exemplary embodiment.
- the algorithm 80 provides further detail regarding the transmitter training operation 48 of the algorithm 40 described above.
- FIG. 8 is a block diagram of an exemplary end-to-end communication system, indicated generally by the reference numeral 90 , in accordance with an example embodiment.
- the system 90 includes the transmitter 2 , channel 4 and receiver 6 described above with reference to FIG. 1 .
- the system also includes a perturbation module 92 between the transmitter 2 and the channel 4 .
- the system 90 demonstrates aspects of the algorithm 80 .
- the algorithm 80 starts at operation 82 , where the following steps are conducted:
- p( ⁇ ) could be the muitivariate complex Gaussian distribution (O, ⁇ 2 I n ) with some small variance ⁇ 2 .
- the perturbation vectors ⁇ i are added to the transmitter output using the perturbation module 92 .
- the channel 4 is used to transmit perturbed vectors as follows:
- a loss function is generated and stochastic gradient descent used for training the transmitter as follows:
- log is ([pTi]s T ,) is the categorical cross entropy between the input message and the output vector p T,i ,
- the loss function L T,i could take other forms and does not necessarily need to be differentiable in contrast to the loss function used for receiver training in Section 1.4.
- the batch-size N T as well as the learning-rate; (and possible other parameters of the chosen SGD variant (e.g., ADAM, RMSProp, Momentum)) are optimization parameters.
- the stop criterion in Step 8 can take multiple forms: stop after a fixed number of training iterations, stop when the loss function L T has not decreased during, a fixed number of iterations, stop when the loss or another associated metric such as the BLER
- the criteria to repeat can be similar.
- the training processes described herein encompass a number of variants.
- the use of reinforcement learning as described herein relies on exploring the policy space (i.e. the space of possible state to action mappings).
- the policy is the mapping implemented by the transmitter
- the state space is the source symbol alphabet
- the action space is n . Exploring can be done in numerous ways, two of the most popular approaches being:
- Gaussian policy in which a perturbation vector ⁇ is drawn from a multivariate zero-mean normal distribution and added to the current policy. This ensures exploration “in the neighbourhood” of the current policy.
- the covariance matrix of the normal distribution from which the perturbation vector ⁇ is drawn in the Gaussian policy, and the ⁇ parameter of the ⁇ -greedy approach, are usually fixed parameters, i.e., not learned during training. These parameters control the “amount of exploration”, as making these parameters smaller reduces the amount of random exploration, and favours actions from the current policy.
- the goal is not communicate messages s ⁇ but rather vectors s ⁇ N which are reconstructed by the receiver.
- s could be a digital image and the goal of the receiver is to reconstruct the vector s ⁇ N as good as possible.
- FIGS. 5 and 6 shown the necessary changes to transmitter and receiver, respectively, to implement this idea.
- MSE mean squared error
- the transmitter sends a data vector s ⁇ N , but the goal of the receiver is to classify the transmitted vector into one out of M classes.
- s could be an image and the receiver's goal is to tell whether s contains a dog or a cat.
- the realization of the transmitter as in FIG. 5 could be used while the receiver is implemented as in FIG. 3 .
- the loss functions for training would then be chosen as in Section 1.3 with the difference that each transmit vector s has an associated label l ⁇ which is used to compute the loss, i.e.,
- FIG. 9 is a schematic diagram of components of one or more of the modules described previously (e.g. the transmitter or receiver neural networks), which hereafter are referred to generically as processing systems 110 .
- a processing system 110 may have a processor 112 , a memory 114 closely coupled to the processor and comprised of a RAM 124 and ROM 122 , and, optionally, hardware keys 120 and a display 128 .
- the processing system no may comprise one or more network interfaces 118 for connection to a network, e.g. a modem which may be wired or wireless.
- the processor 112 is connected to each of the other components in order to control operation thereof.
- the memory 114 may comprise a non-volatile memory, a hard disk drive (HDD) or a solid state drive (SSD).
- the ROM 122 of the memory 114 stores, amongst other things, an operating system 125 and may store software applications 126 .
- the RAM 124 of the memory 114 is used by the processor 112 for the temporary storage of data.
- the operating system 125 may contain code which, when executed by the processor, implements aspects of the algorithms 40 , 60 and 80 .
- the processor 112 may take any suitable form. For instance, it may be a microcontroller, plural microcontrollers, a processor, or plural processors.
- the processing system no may be a standalone computer, a server, a console, or a network thereof.
- the processing system no may also be associated with external software applications. These may be applications stored on a remote server device and may run partly or exclusively on the remote server device. These applications may be termed cloud-hosted applications.
- the processing system no may be in communication with the remote server device in order to utilize the software application stored there.
- FIGS. boa and bob show tangible media, respectively a removable memory unit 165 and a compact disc (CD) 168 , storing computer-readable code which when run by a computer may perform methods according to embodiments described above.
- the removable memory unit 165 may be a memory stick, e.g. a USB memory stick, having internal memory 166 storing the computer-readable code.
- the memory 166 may be accessed by a computer system via a connector 167 .
- the CD 168 may be a CD-ROM or a DVD or similar. Other forms of tangible storage media may be used.
- Embodiments of the present invention may be implemented in software, hardware, application logic or a combination of software, hardware and application logic.
- the software, application logic and/or hardware may reside on memory, or any computer media.
- the application logic, software or an instruction set is maintained on any one of various conventional computer-readable media.
- a “memory” or “computer-readable medium” may be any non-transitory media or means that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer.
- references to, where relevant, “computer-readable storage medium”, “computer program product”, “tangibly embodied computer program” etc., or a “processor” or “processing circuitry” etc. should be understood to encompass not only computers having differing architectures such as single/multi-processor architectures and sequencers/parallel architectures, but also specialised circuits such as field programmable gate arrays FPGA, application specify circuits ASIC, signal processing devices and other devices. References to computer program, instructions, code etc.
- programmable processor firmware such as the programmable content of a hardware device as instructions for a processor or configured or configuration settings for a fixed function device, gate array, programmable logic device, etc.
- circuitry refers to all of the following: (a) hardware-only circuit implementations (such as implementations in only analogue and/or digital circuitry) and (b) to combinations of circuits and software (and/or firmware), such as (as applicable): (i) to a combination of processor(s) or (ii) to portions of processor(s)/software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a server, to perform various functions) and (c) to circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Power Engineering (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- The present specification relates to learning in communication systems.
- A simple communications system includes a transmitter, a transmission channel, and a receiver. The design of such communications systems may involve the separate design and optimisation of each part of the system. An alternative approach is to consider the entire communication system as a single system and to seek to optimise the entire system. Although some attempts have been made in the prior art, there remains scope for further developments in this area.
- In a first aspect, this specification describes an apparatus comprising: means for obtaining or generating a transmitter-training sequence of messages for a transmission system, wherein the transmission system comprises a transmitter, a channel and a receiver, wherein the transmitter includes a transmitter algorithm having at least some trainable weights and the receiver includes a receiver algorithm having at least some trainable weights (the transmitter algorithm may be implemented as a differentiable parametric function and the receiver algorithm may be implemented as a differentiable parametric function); means for transmitting perturbed versions of the transmitter-training sequence of messages over the transmission system (wherein the perturbations may be zero-mean Gaussian perturbations); means for receiving first receiver loss function data at the transmitter, the first receiver loss function data being generated based on a received-training sequence as received at the receiver and knowledge of the transmitter training sequence of messages for the transmission system; and means for training at least some weights of the transmitter algorithm based on the first receiver loss function data and knowledge of the transmitter-training sequence of messages and the perturbed versions of the transmitter-training sequence of messages.
- The means for training the at least some weights of the transmitter algorithm may make use of a distribution to generate the perturbations applied to the transmitter-training sequence of messages.
- The first loss function data may be related to one or more of block error rate, bit error rate and categorical cross-entropy.
- The apparatus may further comprises means for repeating the training of the at least some weights of the transmitter algorithm until a first condition is reached. The first condition may, for example, be a defined number of iterations and/or a defined performance level.
- The means for training may further comprise optimising one or more of a batch size of the transmitter-training sequence of messages, a learning rate, and a distribution of the perturbations applied to the perturbed versions of the transmitter-training sequence of messages.
- The apparatus may further comprise: means for obtaining or generating a receiver-training sequence of messages for transmission over the transmission system; means for transmitting the receiver-training sequence of messages over the transmission system; means for generating or obtaining second receiver loss function data, the second receiver loss function data being generated based on a received-training sequence as received at the receiver and knowledge of the transmitted receiver-training sequence; and means for training at least some weights of the receiver algorithm based on the second receiver loss function data. The second loss function may, for example, be related to one or more of block error rate, bit error rate and categorical cross-entropy
- Some forms of the invention may further comprise means for repeating the training of the at least some weights of the receiver algorithm until a second condition is reached. The second condition may, for example, be a defined number of iterations and/or a defined performance level.
- Some forms of the invention may further comprise means for repeating both the training of the at least some weights of the transmitter algorithm and repeating the training of the at least some weights of the transmitter algorithm until a third condition is reached.
- In some forms of the invention, at least some weights of the transmit and receive algorithms may be trained using stochastic gradient descent.
- In some forms of the invention, the apparatus may further comprise means for repeating the training of the at least some weights of the transmitter algorithm until a first condition is reached and means for repeating the training of the at least some weights of the receiver algorithm until a second condition is reached.
- In some forms of the invention, the transmitter algorithm may comprise a transmitter neural network and/or the receiver algorithm may comprise a receiver neural network.
- In a second aspect, this specification describes an apparatus comprising: means for obtaining or generating a receiver-training sequence of messages for transmission over a transmission system, wherein the transmitter includes a transmitter algorithm (e.g. a transmitter neural network) having at least some trainable weights and the receiver includes a receiver algorithm (e.g. a receiver neural network) having at least some trainable weights; means for transmitting the receiver-training sequence of messages over the transmission system; means for generating or obtaining second receiver loss function data, the second receiver loss function data being generated based on a receiver-training sequence as received at the receiver and knowledge of the transmitted receiver-training sequence; means for training at least some weights of the receiver algorithm based on the second receiver loss function data; means for obtaining or generating a transmitter-training sequence of messages for the transmission system; means for transmitting perturbed versions of the transmitter-training sequence of messages over the transmission system; means for receiving first receiver loss function data at the transmitter, the first receiver loss function data being generated based on a received-training sequence as received at the receiver and knowledge of the transmitter training sequence of messages for the transmission system; and means for training at least some weights of the transmitter algorithm based on the first receiver loss function data and knowledge of the transmitter-training sequence of messages and the perturbed versions of the transmitter-training sequence of messages.
- The apparatus of the second aspect may further comprise means for repeating the training of the at least some weights of the transmitter algorithm until a first condition is reached and means for repeating the training of the at least some weights of the receiver algorithm until a second condition is reached. Furthermore, the apparatus may further comprise means for repeating both the training of the at least some weights of the transmitter algorithm and repeating the training of the at least some weights of the transmitter algorithm until a third condition is reached.
- In at least some forms of the invention, the means may comprise: at least one processor; and at least one memory including computer program code, the at least one memory and computer program code configured to, with the at least one processor, cause the performance of the apparatus.
- In a third aspect, this specification describes a method comprising: obtaining or generating a transmitter-training sequence of messages for a transmission system, wherein the transmission system comprises a transmitter, a channel and a receiver, wherein the transmitter includes a transmitter algorithm having at least some trainable weights and the receiver includes a receiver algorithm having at least some trainable weights (the transmitter algorithm may be implemented as a differentiable parametric function and the receiver algorithm may be implemented as a differentiable parametric function); transmitting perturbed versions of the transmitter-training sequence of messages over the transmission system; receiving first receiver loss function data at the transmitter, the first receiver loss function data being generated based on a received-training sequence as received at the receiver and knowledge of the transmitter training sequence of messages for the transmission system; and training at least some weights of the transmitter algorithm based on first receiver loss function data and knowledge of the transmitter-training sequence of messages and the perturbed versions of the transmitter-training sequence of messages.
- The method may further comprise: obtaining or generating a receiver-training sequence of messages for transmission over the transmission system; transmitting the receiver-training sequence of messages over the transmission system; generating or obtaining a second receiver loss function data, the second receiver loss function data being generated based on received-training sequence as received at the receiver and knowledge of the transmitted receiver-training sequence; and training at least some weights of the receiver algorithm based on the second receiver loss function data.
- In a fourth aspect, this specification describes a method comprising: obtaining or generating a receiver-training sequence of messages for transmission over a transmission system, wherein the transmitter includes a transmitter algorithm having at least some trainable weights and the receiver includes a receiver algorithm having at least some trainable weights; transmitting the receiver-training sequence of messages over the transmission system; generating or obtaining second receiver loss function data, the second receiver loss function data being generated based on a received-training sequence as received at the receiver and knowledge of the transmitted receiver-training sequence; training at least some weights of the receiver algorithm based on the second loss function; obtaining or generating a transmitter-training sequence of messages for transmission over the transmission system; transmitting perturbed versions of the transmitter-training sequence of messages over the transmission system; receiver first receiver loss function data at the transmitter, the first receiver loss function data being generated based on a received-training sequence as received at the receiver and knowledge of the transmitter training sequence of messages for the transmission system; and training at least some weights of the transmitter algorithm based on the first receiver loss function data and knowledge of the transmitter-training sequence of messages and the perturbed versions of the transmitter-training sequence of messages.
- In a fifth aspect, this specification describes an apparatus configured to perform any method as described with reference to the third or fourth aspect.
- In a sixth aspect, this specification describes computer-readable instructions which, when executed by computing apparatus, cause the computing apparatus to perform any method as described with reference to the first aspect.
- In a seventh aspect, this specification describes a computer program comprising instructions stored thereon for performing at least the following: obtaining or generating a transmitter-training sequence of messages for a transmission system, wherein the transmission system comprises a transmitter, a channel and a receiver, wherein the transmitter includes a transmitter algorithm and the receiver includes a receiver algorithm; transmitting perturbed versions of the transmitter-training sequence of messages over the transmission system; receiving first receiver loss function data at the transmitter, the first receiver loss function data being generated based on a received-training sequence as received at the receiver and knowledge of the transmitter training sequence of messages for the transmission system; and training at least some weights of the transmitter algorithm based on first receiver loss function data and knowledge of the transmitter-training sequence of messages and the perturbed versions of the transmitter-training sequence of messages. The computer program may further comprise instructions stored thereon for performing at least the following: obtaining or generating a receiver-training sequence of messages for transmission over the transmission system; transmitting the receiver-training sequence of messages over the transmission system; generating or obtaining a second receiver loss function data, the second receiver loss function data being generated based on received-training sequence as received at the receiver and knowledge of the transmitted receiver-training sequence; and training at least some weights of the receiver algorithm based on the second receiver loss function data.
- In an eighth aspect, this specification describes a non-transitory computer-readable medium comprising program instructions stored thereon for performing at least the following: obtaining or generating a transmitter-training sequence of messages for a transmission system, wherein the transmission system comprises a transmitter, a channel and a receiver, wherein the transmitter includes a transmitter algorithm and the receiver includes a receiver algorithm; transmitting perturbed versions of the transmitter-training sequence of messages over the transmission system; receiving first receiver loss function data at the transmitter, the first receiver loss function data being generated based on a received-training sequence as received at the receiver and knowledge of the transmitter training sequence of messages for the transmission system; and training at least some weights of the transmitter algorithm based on first receiver loss function data and knowledge of the transmitter-training sequence of messages and the perturbed versions of the transmitter-training sequence of messages. The non-transitory computer-readable medium may further comprise program instructions stored thereon for performing at least the following: obtaining or generating a receiver-training sequence of messages for transmission over the transmission system; transmitting the receiver-training sequence of messages over the transmission system; generating or obtaining a second receiver loss function data, the second receiver loss function data being generated based on received-training sequence as received at the receiver and knowledge of the transmitted receiver-training sequence; and training at least some weights of the receiver algorithm based on the second receiver loss function data.
- In a ninth aspect, this specification describes an apparatus comprising: at least one processor; and at least one memory including computer program code which, when executed by the at least one processor, causes the apparatus to: obtain or generate a transmitter-training sequence of messages for a transmission system, wherein the transmission system comprises a transmitter, a channel and a receiver, wherein the transmitter includes a transmitter algorithm and the receiver includes a receiver algorithm; transmit perturbed versions of the transmitter-training sequence of messages over the transmission system; receive first receiver loss function data at the transmitter, the first receiver loss function data being generated based on a received-training sequence as received at the receiver and knowledge of the transmitter training sequence of messages for the transmission system; and train at least some weights of the transmitter algorithm based on first receiver loss function data and knowledge of the transmitter-training sequence of messages and the perturbed versions of the transmitter-training sequence of messages. The computer code may further cause the apparatus to: obtain or generate a receiver-training sequence of messages for transmission over the transmission system; transmit the receiver-training sequence of messages over the transmission system; generate or obtain a second receiver loss function data, the second receiver loss function data being generated based on received-training sequence as received at the receiver and knowledge of the transmitted receiver-training sequence; and train at least some weights of the receiver algorithm based on the second receiver loss function data.
- Example embodiments will now be described, by way of non-limiting examples, with reference to the following schematic drawings, in which:
-
FIG. 1 is a block diagram of an exemplary end-to-end communication system; -
FIG. 2 is a block diagram of an exemplary transmitter used in an exemplary implementation of the system ofFIG. 1 ; -
FIG. 3 is a block diagram of an exemplary receiver used in an exemplary implementation of the system ofFIG. 1 ; -
FIG. 4 is a flow chart showing an algorithm in accordance with an exemplary embodiment; -
FIG. 5 is a flow chart showing an algorithm in accordance with an exemplary embodiment; -
FIG. 6 is a block diagram of an exemplary end-to-end communication system in accordance with an example embodiment; -
FIG. 7 is a flow chart showing an algorithm in accordance with an exemplary embodiment; -
FIG. 8 is a block diagram of an exemplary end-to-end communication system in accordance with an example embodiment; -
FIG. 9 is a block diagram of a components of a system in accordance with an exemplary embodiment; and -
FIGS. 10a and 10b show tangible media, respectively a removable memory unit and a compact disc (CD) storing computer-readable code which when run by a computer perform operations according to embodiments. -
FIG. 1 is a block diagram of an exemplary communication system, indicated generally by thereference numeral 1, in which exemplary embodiments may be implemented. Thesystem 1 includes atransmitter 2, achannel 4 and areceiver 6. Viewed at a system level, thesystem 1 converts an input symbol (s) (also called a message) received at the input to thetransmitter 2 into an output symbol (ŝ) at the output of thereceiver 6. - The
transmitter 2 includes a module 10 (such as a neural network) for implementing a transmitter algorithm. Similarly, thereceiver 6 includes a module 14 (such as a neural network) for implementing a receiver algorithm. As described in detail below, themodules 10 and 14 are trained in order to optimise the performance of the system as a whole. - The transmitter algorithm implemented by the module 10 may be implemented as a differentiable parametric function and may include at least some trainable weights (which may be trainable through stochastic gradient descent). Similarly, the receiver algorithm implemented by the
module 14 may be implemented as a differentiable parametric function and may include at least some trainable weights (which may be trainable through stochastic gradient descent). - The
transmitter 2 seeks to communicate one out of M possible messages s ∈={1, 2, . . ., M}to thereceiver 6. To this end, thetransmitter 2 sends a complex-valued vector representation x=x(s) ∈ n of the message through thechannel 4. Generally, the transmitter hardware imposes constraints on x, e.g., an energy constraint ∥x∥2 2≤n, an amplitude constraint |xi|≤1∀i, or an average power constraint [|xi|2]≤1∀i. The channel is described by the conditional probability density function (pdf)p(y|x), where y ∈ n denotes the received signal. Upon reception of y, the receiver produces the estimate ŝ of the transmitted message s. -
FIG. 2 is a block diagram showing details of an exemplary implementation of thetransmitter 2 described above. As shown inFIG. 2 , thetransmitter 2 includes an embeddingmodule 22, a dense layer of one or more units 24 (e.g. one or more neural networks), acomplex vector generator 26 and anormalization module 28. The modules within thetransmitter 2 are provided by way of example and modifications are possible. For example, thecomplex vector generator 26 and thenormalization module 28 could be provided in a different order. -
- The embedding
module 22 can optionally be followed by several dense neural network (NN) layers 24 with possible different activation functions (such as ReLU, tanh, signmoid, linear etc.). The final layer of the neural network has 2n output dimensions and a linear activation function. If no dense layer is used, nemb=2n. -
- A normalization is applied by the
normalization module 28 that ensures that power, amplitude or other constraints are met. The result of the normalization process is the transmit vector x of the transmitter 2 (where x ∈ n). As noted above, the order of the complex vector generation and the normalization could be reversed. - The transmitter 2 defines the following mapping: TX: n, ={0, . . ., M−1}. In other words, TX maps an integer from the set to an n-dimensional complex-valued vector. We explain in
FIG. 2 how this mapping can be implemented an NN. Other NN architectures are possible and this illustration serves just as an example. -
FIG. 3 is a block diagram showing details of an exemplary implementation of thereceiver 6 described above. As shown inFIG. 3 , thereceiver 6 includes areal vector generator 32, one or more layers 34 (e.g. one or more neural networks) and asoftmax module 36. As described further below, the output of the softmax module is a probability vector that is provided to the input of anarg max module 38. The modules within thereceiver 6 are provided by way of example and modifications are possible. -
- The result is fed into the one or
more layers 34, which layers may have different activation functions such as ReLU, tanh, sigmoid, linear, etc. The last layer has M output dimensions to which a softmax activation is applied (by softmax module 36). This generates the probability vector p ∈ M, whose ith element [p], can be interpreted as Pr(s=i|y). A hard decision for the message index is obtained as ŝ=arg max(p) byarg max module 38. - The
receiver 6 defines the mapping: -
- In other words, the
receiver 6 maps an n-dimensional complex-valued vector to an M-dimensional probability vector and an integer from the set . The example above describes how this may be implemented using a neural network architecture, although other architectures are possible. For example, the number of dimensions y can be different from n in case the channel provides a different number of relevant outputs. -
FIG. 4 is a flow chart showing an algorithm, indicated generally by thereference numeral 40, in accordance with an exemplary embodiment. - The
algorithm 40 starts atoperation 42, where thetransmitter 2 and thereceiver 6 of thetransmission system 1 are initialised. Note that thealgorithm 40 acts on thesystem 1, which system includes areal channel 4. - At
operation 44 of thealgorithm 40, thereceiver 6 is trained. As discussed in detail below, thereceiver 6 is trained based on known training data sent by thetransmitter 2 using thechannel 4. The trainable parameters of the receiver algorithm (e.g. the receiver layers 34, which may be implemented using neural networks) are optimised based on stochastic gradient descent (SGD), using the signals received via the channel and the corresponding known messages. The goal of the optimisation is to improve a chosen performance metric (or reward), such as block error rate (BLER), bit error rate (BER), categorical cross-entropy, etc. - At
operation 46, it is determined whether the training of the receiver is complete. If so, thealgorithm 40 moves tooperation 48, otherwise the algorithm returns tooperation 44 and further training of the receiver is conducted. - At
operation 48, the transmitter is trained. In theoperation 48, thetransmitter 2 sends is a sequence of known messages to thereceiver 6. However, the transmitter signals associated with each message are slightly perturbed, for example by adding random vectors taken from a known distribution. The receiver computer the chosen performance metric or reward (such as BLER, BER, categorical cross-entropy, as discussed above) for the received signals and feeds the metric or reward data back to the transmitter. Note that the receiver is not optimised at part of theoperation 48. - The trainable parameters of the transmitter algorithm (e.g. the transmitter layers 24, which may be implemented using neural networks) are optimised based on stochastic gradient descent (SGD) by estimating the gradient of the metric or reward with respect to its trainable parameters using the knowledge of the transmitted messages and signals, as well as the known distribution of the random perturbations.
- At
operation 50, it is determined whether the training of the transmitter is complete. If so, thealgorithm 40 moves tooperation 52, otherwise the algorithm returns tooperation 48 and further training of the transmitter is conducted. - At
operation 52, it is determined whether or not the training for the transmission system is complete. If so, the algorithm terminates atoperation 54, otherwise the algorithm returns tooperation 44 so that both the receiver and transmitter training can be repeated. - Thus, the
communication system 1 is trained using a two-step process. The two steps may, for example, be carried out iteratively until and desired performance level is obtained and/or until a predefined number of iterations have been completed. There are a number of alternative mechanisms for implementing the 46, 50 and/or 52, such as stopping when a loss function being used has not decreased for a given number of iterations or stopping when a metric such as block error rate (BLER) has reached a desired level.operations -
FIG. 5 is a flow chart showing an algorithm, indicated generally by thereference numeral 60, in accordance with an exemplary embodiment. Thealgorithm 60 provides further detail regarding thereceiver training operation 44 of thealgorithm 40 described above. -
FIG. 6 is a block diagram of an exemplary end-to-end communication system, indicated generally by thereference numeral 70, in accordance with an example embodiment. Thesystem 70 includes thetransmitter 2,channel 4 andreceiver 6 described above with reference toFIG. 1 . Thesystem 70 demonstrates aspects of thealgorithm 60. - The
algorithm 60 starts atoperation 62, where the following steps are conducted: -
- 2. Compute the corresponding output vectors xR,i=TX(sR,i).
- At
operation 64, thechannel 4 is used to transmit vectors from thetransmitter 2 to thereceiver 6 as follows: - 3. Transmit the vectors xR,i over the channel using the transmitter. The corresponding channel outputs at the receiver are called yR,i, i=1 . . .,NR.
- At
operation 66, a loss function is generated and stochastic gradient descent used for training the receiver as follows (and as indicated inFIG. 6 ): - 4. Compute {PR,i, ŝR,i }=RX(yR,i,) for i=1 . . .NR.
- 5. Apply one step of SGD to the trainable parameters for weights) of the receiver NN, using the loss function
-
- where LR,i=−log ([pR,i]s
R,i ) is the categorical cross entropy between the input message and the output vector pR,i. - It should be noted that the batch size NR as well as the learning rate (and possibly other parameters of the chosen SGD variant, e,g, ADAM, RMSProp, Momentum) could be optimization parameters of the
training operation 44. -
FIG. 7 is a flow chart showing an algorithm, indicated generally by thereference numeral 80, in accordance with an exemplary embodiment. Thealgorithm 80 provides further detail regarding thetransmitter training operation 48 of thealgorithm 40 described above. -
FIG. 8 is a block diagram of an exemplary end-to-end communication system, indicated generally by thereference numeral 90, in accordance with an example embodiment. Thesystem 90 includes thetransmitter 2,channel 4 andreceiver 6 described above with reference toFIG. 1 . The system also includes aperturbation module 92 between thetransmitter 2 and thechannel 4. Thesystem 90 demonstrates aspects of thealgorithm 80. - The
algorithm 80 starts atoperation 82, where the following steps are conducted: -
- 2. Compute. Fie corresponding output vectors=XT,i=TX(sT,i).
-
- The perturbation vectors εi are added to the transmitter output using the
perturbation module 92. - At
operation 84, thechannel 4 is used to transmit perturbed vectors as follows: - 4. Transmit the perturbed vectors {circumflex over (x)}T,i=XT,i+εi over the channel using the transmitter. Denote p({circumflex over (x)}T,i|xT,i) the resulting conditional pdf of {circumflex over (x)}T,ifor a given xT,i. The corresponding channel outputs at the receiver are called yT,i, i=1, . . ., NT.
- At
operation 86, a loss function is generated and stochastic gradient descent used for training the transmitter as follows: - 5. Compute {pT,i}=RX(yT,i) for i=1, . . ., NT.
- 6. Compute the loss functions LT,i, given as
-
- where—log is ([pTi]sT,) is the categorical cross entropy between the input message and the output vector pT,i,
- 7. Apply one step of SGD to the trainable parameters for weights of the transmitter NN using the loss function
-
- In the transmitter training, it should be noted that:
- 1. The loss function LT,i could take other forms and does not necessarily need to be differentiable in contrast to the loss function used for receiver training in Section 1.4.
-
- 3. The batch-size NT as well as the learning-rate; (and possible other parameters of the chosen SGD variant (e.g., ADAM, RMSProp, Momentum)) are optimization parameters. The stop criterion in Step 8 can take multiple forms: stop after a fixed number of training iterations, stop when the loss function LT has not decreased during, a fixed number of iterations, stop when the loss or another associated metric such as the BLER
-
- has reached a desired value. The criteria to repeat can be similar.
- 4. Note that (5) is simply a function of which the gradient w.r.t. to the trainable parameters θ of the transmitter is computed. The function ∇θLT is also known as the policy gradient.
- The training processes described herein encompass a number of variants. The use of reinforcement learning as described herein relies on exploring the policy space (i.e. the space of possible state to action mappings). As described herein, the policy is the mapping implemented by the transmitter, the state space is the source symbol alphabet and the action space is n. Exploring can be done in numerous ways, two of the most popular approaches being:
- Gaussian policy, in which a perturbation vector ε is drawn from a multivariate zero-mean normal distribution and added to the current policy. This ensures exploration “in the neighbourhood” of the current policy.
- ε-greedy, in which with probability 1-ε, the token action is the one of the policy, and with probability ε a random action is taken.
- The covariance matrix of the normal distribution from which the perturbation vector ε is drawn in the Gaussian policy, and the ε parameter of the ε-greedy approach, are usually fixed parameters, i.e., not learned during training. These parameters control the “amount of exploration”, as making these parameters smaller reduces the amount of random exploration, and favours actions from the current policy.
- In another embodiment of this invention, the goal is not communicate messages s ∈but rather vectors s ∈ N which are reconstructed by the receiver. For instance, s could be a digital image and the goal of the receiver is to reconstruct the vector s ∈ N as good as possible.
FIGS. 5 and 6 shown the necessary changes to transmitter and receiver, respectively, to implement this idea. - In this case the loss function LT,i and LR,i during transmitter and receiver training can be given as
-
- When sT,i, n sR,i correspond to the transmitted data vectors and ŝT,i, ŝR,i are the respective reconstructions. This loss is the so-called mean squared error (MSE).
- It is also possible that the transmitter sends a data vector s ∈ N, but the goal of the receiver is to classify the transmitted vector into one out of M classes. For example, s could be an image and the receiver's goal is to tell whether s contains a dog or a cat. In this embodiment, the realization of the transmitter as in
FIG. 5 could be used while the receiver is implemented as inFIG. 3 . The loss functions for training would then be chosen as in Section 1.3 with the difference that each transmit vector s has an associated label l ∈which is used to compute the loss, i.e., -
- For completeness,
FIG. 9 is a schematic diagram of components of one or more of the modules described previously (e.g. the transmitter or receiver neural networks), which hereafter are referred to generically as processingsystems 110. Aprocessing system 110 may have aprocessor 112, amemory 114 closely coupled to the processor and comprised of aRAM 124 andROM 122, and, optionally,hardware keys 120 and adisplay 128. The processing system no may comprise one ormore network interfaces 118 for connection to a network, e.g. a modem which may be wired or wireless. - The
processor 112 is connected to each of the other components in order to control operation thereof. - The
memory 114 may comprise a non-volatile memory, a hard disk drive (HDD) or a solid state drive (SSD). TheROM 122 of thememory 114 stores, amongst other things, anoperating system 125 and may storesoftware applications 126. TheRAM 124 of thememory 114 is used by theprocessor 112 for the temporary storage of data. Theoperating system 125 may contain code which, when executed by the processor, implements aspects of the 40, 60 and 80.algorithms - The
processor 112 may take any suitable form. For instance, it may be a microcontroller, plural microcontrollers, a processor, or plural processors. - The processing system no may be a standalone computer, a server, a console, or a network thereof.
- In some embodiments, the processing system no may also be associated with external software applications. These may be applications stored on a remote server device and may run partly or exclusively on the remote server device. These applications may be termed cloud-hosted applications. The processing system no may be in communication with the remote server device in order to utilize the software application stored there.
- FIGS. boa and bob show tangible media, respectively a
removable memory unit 165 and a compact disc (CD) 168, storing computer-readable code which when run by a computer may perform methods according to embodiments described above. Theremovable memory unit 165 may be a memory stick, e.g. a USB memory stick, havinginternal memory 166 storing the computer-readable code. Thememory 166 may be accessed by a computer system via aconnector 167. TheCD 168 may be a CD-ROM or a DVD or similar. Other forms of tangible storage media may be used. - Embodiments of the present invention may be implemented in software, hardware, application logic or a combination of software, hardware and application logic. The software, application logic and/or hardware may reside on memory, or any computer media. In an example embodiment, the application logic, software or an instruction set is maintained on any one of various conventional computer-readable media. In the context of this document, a “memory” or “computer-readable medium” may be any non-transitory media or means that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer.
- Reference to, where relevant, “computer-readable storage medium”, “computer program product”, “tangibly embodied computer program” etc., or a “processor” or “processing circuitry” etc. should be understood to encompass not only computers having differing architectures such as single/multi-processor architectures and sequencers/parallel architectures, but also specialised circuits such as field programmable gate arrays FPGA, application specify circuits ASIC, signal processing devices and other devices. References to computer program, instructions, code etc.
- should be understood to express software for a programmable processor firmware such as the programmable content of a hardware device as instructions for a processor or configured or configuration settings for a fixed function device, gate array, programmable logic device, etc.
- As used in this application, the term “circuitry” refers to all of the following: (a) hardware-only circuit implementations (such as implementations in only analogue and/or digital circuitry) and (b) to combinations of circuits and software (and/or firmware), such as (as applicable): (i) to a combination of processor(s) or (ii) to portions of processor(s)/software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a server, to perform various functions) and (c) to circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present.
- If desired, the different functions discussed herein may be performed in a different order and/or concurrently with each other. Furthermore, if desired, one or more of the above-described functions may be optional or may be combined. Similarly, it will also be appreciated that the flow diagram of
FIGS. 4, 5 and 7 are examples only and that various operations depicted therein may be omitted, reordered and/or combined. - It will be appreciated that the above described example embodiments are purely illustrative and are not limiting on the scope of the invention. Other variations and modifications will be apparent to persons skilled in the art upon reading the present specification.
- Moreover, the disclosure of the present application should be understood to include any novel features or any novel combination of features either explicitly or implicitly disclosed herein or any generalization thereof and during the prosecution of the present application or of any application derived therefrom, new claims may be formulated to cover any such features and/or combination of such features.
- Although various aspects of the invention are set out in the independent claims, other aspects of the invention comprise other combinations of features from the described embodiments and/or the dependent claims with the features of the independent claims, is and not solely the combinations explicitly set out in the claims.
- It is also noted herein that while the above describes various examples, these descriptions should not be viewed in a limiting sense. Rather, there are several variations and modifications which may be made without departing from the scope of the present invention as defined in the appended claims.
Claims (22)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/IB2018/000814 WO2019193377A1 (en) | 2018-04-03 | 2018-04-03 | End-to-end learning in communication systems |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20210201135A1 true US20210201135A1 (en) | 2021-07-01 |
Family
ID=63517920
Family Applications (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/044,607 Abandoned US20210201135A1 (en) | 2018-04-03 | 2018-04-03 | End-to-end learning in communication systems |
| US17/044,584 Abandoned US20210027161A1 (en) | 2018-04-03 | 2018-06-07 | Learning in communication systems |
| US17/044,553 Active US11082264B2 (en) | 2018-04-03 | 2018-06-29 | Learning in communication systems |
Family Applications After (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/044,584 Abandoned US20210027161A1 (en) | 2018-04-03 | 2018-06-07 | Learning in communication systems |
| US17/044,553 Active US11082264B2 (en) | 2018-04-03 | 2018-06-29 | Learning in communication systems |
Country Status (4)
| Country | Link |
|---|---|
| US (3) | US20210201135A1 (en) |
| EP (3) | EP3776365A1 (en) |
| CN (3) | CN112236782A (en) |
| WO (3) | WO2019193377A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220095129A1 (en) * | 2020-09-24 | 2022-03-24 | Rohde & Schwarz Gmbh & Co. Kg | Adaptive coverage optimization in single-frequency networks (sfn) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11552731B2 (en) | 2018-07-20 | 2023-01-10 | Nokia Technologies Oy | Learning in communication systems by updating of parameters in a receiving algorithm |
| WO2020064093A1 (en) | 2018-09-25 | 2020-04-02 | Nokia Technologies Oy | End-to-end learning in communication systems |
| CN113906704B (en) * | 2019-05-30 | 2025-01-03 | 诺基亚技术有限公司 | Learning in Communication Systems |
| FI20195547A1 (en) | 2019-06-20 | 2020-12-21 | Nokia Technologies Oy | Systems and apparatus for adaptive modulation category |
| US11570030B2 (en) * | 2019-10-11 | 2023-01-31 | University Of South Carolina | Method for non-linear distortion immune end-to-end learning with autoencoder—OFDM |
| US11128498B2 (en) | 2020-02-25 | 2021-09-21 | Nokia Solutions And Networks Oy | Communication-channel tracking aided by reinforcement learning |
| US20210303662A1 (en) * | 2020-03-31 | 2021-09-30 | Irdeto B.V. | Systems, methods, and storage media for creating secured transformed code from input code using a neural network to obscure a transformation function |
| CN115668218A (en) * | 2020-05-22 | 2023-01-31 | 诺基亚技术有限公司 | Communication system |
| CN113193925B (en) * | 2021-02-09 | 2023-08-11 | 中国人民解放军战略支援部队信息工程大学 | Optimization processing method, device and electronic equipment of a communication system |
| CN115186797B (en) * | 2022-06-06 | 2023-05-30 | 山西大学 | A kind of pragmatic communication method and system |
| CN117295096B (en) * | 2023-11-24 | 2024-02-09 | 武汉市豪迈电力自动化技术有限责任公司 | Smart meter data transmission method and system based on 5G short sharing |
| CN120433793B (en) * | 2025-06-26 | 2025-09-30 | 中国人民解放军陆军工程大学 | A low-synchronization-overhead intelligent frequency hopping block-level decision method based on deep reinforcement learning |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070162814A1 (en) * | 2006-01-09 | 2007-07-12 | Broadcom Corporation, A California Corporation | LDPC (low density parity check) code size adjustment by shortening and puncturing |
| US20180174050A1 (en) * | 2016-12-15 | 2018-06-21 | Google Inc. | Adaptive Channel Coding Using Machine-Learned Models |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5293453A (en) * | 1990-06-07 | 1994-03-08 | Texas Instruments Incorporated | Error control codeword generating system and method based on a neural network |
| FI102797B (en) * | 1994-10-07 | 1999-02-15 | Nokia Mobile Phones Ltd | A signal detection method in a receiver for a TDMA mobile radio system and a receiver for carrying out the method |
| GB9807335D0 (en) * | 1998-04-07 | 1998-06-03 | Motorola Ltd | A receiver for spread spectrum communications signals |
| JP4154229B2 (en) * | 2002-12-27 | 2008-09-24 | 富士通株式会社 | Adaptive array antenna controller |
| GB2398976B (en) * | 2003-02-28 | 2006-03-08 | Samsung Electronics Co Ltd | Neural network decoder |
| JP4281419B2 (en) * | 2003-06-02 | 2009-06-17 | 住友電気工業株式会社 | Prefix nonlinear distortion compensator |
| US7606138B2 (en) * | 2003-09-29 | 2009-10-20 | Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry, Through The Communications Research Centre Canada | Multi-symbol encapsulated OFDM system |
| US8331420B2 (en) * | 2008-04-14 | 2012-12-11 | General Dynamics C4 Systems, Inc. | Methods and apparatus for multiple-antenna communication of wireless signals with embedded pilot signals |
| JP5308102B2 (en) * | 2008-09-03 | 2013-10-09 | 日本電信電話株式会社 | Identification score / posterior probability calculation method by number of errors, error number weighted identification learning device using the method, method thereof, speech recognition device using the device, program, and recording medium |
| WO2011150533A1 (en) * | 2010-06-03 | 2011-12-08 | Nokia Siemens Networks Oy | Base station calibration |
| US9015093B1 (en) * | 2010-10-26 | 2015-04-21 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
| WO2014205376A1 (en) * | 2013-06-21 | 2014-12-24 | Marvell World Trade Ltd. | Methods and systems for determining indicators used in channel state information (csi) feedback in wireless systems |
| KR101838415B1 (en) * | 2013-07-25 | 2018-04-26 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | System for timing synchronization in an orthogonal frequency-division multiplexing (ofdm) system |
| US9483728B2 (en) * | 2013-12-06 | 2016-11-01 | International Business Machines Corporation | Systems and methods for combining stochastic average gradient and hessian-free optimization for sequence training of deep neural networks |
| WO2016078722A1 (en) * | 2014-11-20 | 2016-05-26 | Huawei Technologies Co., Ltd. | Methods and nodes in a wireless communication network |
| CN105046277B (en) * | 2015-07-15 | 2019-06-14 | 华南农业大学 | Robust Mechanism Research Method of Feature Saliency in Image Quality Evaluation |
| CN106295678B (en) * | 2016-07-27 | 2020-03-06 | 北京旷视科技有限公司 | Neural network training and constructing method and device and target detection method and device |
| US10546230B2 (en) * | 2016-08-12 | 2020-01-28 | International Business Machines Corporation | Generating labeled data by sequence-to-sequence modeling with added perturbations to encoded information |
| CN107241320A (en) * | 2017-05-26 | 2017-10-10 | 微梦创科网络科技(中国)有限公司 | A kind of man-machine discrimination method and identification system based on image |
-
2018
- 2018-04-03 EP EP18765704.4A patent/EP3776365A1/en not_active Withdrawn
- 2018-04-03 CN CN201880094274.8A patent/CN112236782A/en active Pending
- 2018-04-03 US US17/044,607 patent/US20210201135A1/en not_active Abandoned
- 2018-04-03 WO PCT/IB2018/000814 patent/WO2019193377A1/en not_active Ceased
- 2018-06-07 CN CN201880093531.6A patent/CN112166568B/en active Active
- 2018-06-07 US US17/044,584 patent/US20210027161A1/en not_active Abandoned
- 2018-06-07 EP EP18730331.8A patent/EP3776940A1/en not_active Withdrawn
- 2018-06-07 WO PCT/EP2018/065006 patent/WO2019192740A1/en not_active Ceased
- 2018-06-29 US US17/044,553 patent/US11082264B2/en active Active
- 2018-06-29 EP EP18774108.7A patent/EP3776941A1/en active Pending
- 2018-06-29 WO PCT/IB2018/001029 patent/WO2019193380A1/en not_active Ceased
- 2018-06-29 CN CN201880093390.8A patent/CN112166567B/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070162814A1 (en) * | 2006-01-09 | 2007-07-12 | Broadcom Corporation, A California Corporation | LDPC (low density parity check) code size adjustment by shortening and puncturing |
| US20180174050A1 (en) * | 2016-12-15 | 2018-06-21 | Google Inc. | Adaptive Channel Coding Using Machine-Learned Models |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220095129A1 (en) * | 2020-09-24 | 2022-03-24 | Rohde & Schwarz Gmbh & Co. Kg | Adaptive coverage optimization in single-frequency networks (sfn) |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3776365A1 (en) | 2021-02-17 |
| CN112236782A (en) | 2021-01-15 |
| CN112166568B (en) | 2023-10-20 |
| US11082264B2 (en) | 2021-08-03 |
| WO2019193377A1 (en) | 2019-10-10 |
| WO2019192740A1 (en) | 2019-10-10 |
| WO2019193380A1 (en) | 2019-10-10 |
| CN112166567A (en) | 2021-01-01 |
| US20210099327A1 (en) | 2021-04-01 |
| US20210027161A1 (en) | 2021-01-28 |
| EP3776941A1 (en) | 2021-02-17 |
| EP3776940A1 (en) | 2021-02-17 |
| CN112166568A (en) | 2021-01-01 |
| CN112166567B (en) | 2023-04-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20210201135A1 (en) | End-to-end learning in communication systems | |
| US11556799B2 (en) | Channel modelling in a data transmission system | |
| US12159228B2 (en) | End-to-end learning in communication systems | |
| US11514252B2 (en) | Discriminative caption generation | |
| US11750436B2 (en) | Learning in communication systems | |
| US11797864B2 (en) | Systems and methods for conditional generative models | |
| CN113347125B (en) | Bayesian neural network channel estimation method and device for MIMO-OFDM communication system | |
| US11552731B2 (en) | Learning in communication systems by updating of parameters in a receiving algorithm | |
| EP3884582B1 (en) | End-to-end learning in communication systems | |
| US20230394323A1 (en) | Personalized federated learning via heterogeneous modular networks | |
| EP3963765B1 (en) | Iterative detection in a communication system | |
| US20220083870A1 (en) | Training in Communication Systems | |
| US12015507B2 (en) | Training in communication systems | |
| US12081324B2 (en) | Transmitter algorithm | |
| US12488790B2 (en) | Self-supervised learning method based on permutation invariant cross entropy and electronic device thereof |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: NOKIA TECHNOLOGIES OY, FINLAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HOYDIS, JAKOB;AOUDIA, FAYCAL AIT;REEL/FRAME:054051/0790 Effective date: 20190117 |
|
| AS | Assignment |
Owner name: NOKIA TECHNOLOGIES OY, FINLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE SECOND INVENTOR'S NAME PREVIOUSLY RECORDED ON REEL 054051 FRAME 0790. ASSIGNOR(S) HEREBY CONFIRMS THE AIT AOUDIA, FAYCAL;ASSIGNORS:HOYDIS, JAKOB;AIT AOUDIA, FAYCAL;REEL/FRAME:054273/0807 Effective date: 20190117 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |