US20210027161A1 - Learning in communication systems - Google Patents
Learning in communication systems Download PDFInfo
- Publication number
- US20210027161A1 US20210027161A1 US17/044,584 US201817044584A US2021027161A1 US 20210027161 A1 US20210027161 A1 US 20210027161A1 US 201817044584 A US201817044584 A US 201817044584A US 2021027161 A1 US2021027161 A1 US 2021027161A1
- Authority
- US
- United States
- Prior art keywords
- messages
- sequence
- receiver
- reward
- 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
- 238000004891 communication Methods 0.000 title description 14
- 238000012937 correction Methods 0.000 claims abstract description 98
- 230000005540 biological transmission Effects 0.000 claims abstract description 50
- 238000012549 training Methods 0.000 claims abstract description 40
- 238000004590 computer program Methods 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 57
- 239000013598 vector Substances 0.000 claims description 21
- 230000002787 reinforcement Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 12
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- 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
Definitions
- a simple communications system includes a transmitter, a transmission channel, and a receiver.
- the transmitter-receiver pair may not achieve the best possible performance. There remains a need for improving the performance of such systems.
- this specification describes an apparatus comprising: means for receiving a sequence of messages at a correction module of a transmission system, wherein the transmission system comprises a transmitter, a channel, the correction module and a receiver, wherein the correction module includes a correction algorithm having at least some trainable weights; means for converting the received sequence of messages into a converted sequence of messages using the correction algorithm; means for receiving a reward or loss function from the receiver; and means for training at least some weights of the correction algorithm based on the received reward or loss function.
- Some embodiments include: means for modifying the converted sequence of messages to provide a modified sequence of messages based on a random perturbation of the converted sequence of messages; and means for providing the modified sequence of messages to the receiver of the transmission system, wherein the reward or loss function is based on the modified sequence of messages.
- the said means for modifying the converted sequence of messages may make use of a distribution to generate the perturbations.
- the perturbations may be zero-mean Gaussian perturbations.
- the reward or loss function may be related to one or more of block error rate, bit error rate, error vector magnitude, mean square error in estimation and categorical cross-entropy.
- a first condition such as a defined number of iteration and/or a defined performance level
- the means for training may comprise optimising one or more of a batch size of the sequence of messages, a learning rate, and a distribution of perturbations.
- the means for training at least some weights of the correction algorithm may comprise using reinforcement learning or stochastic gradient descent.
- this specification describes an apparatus comprising: means for obtaining or generating a sequence of messages for transmission over a transmission system, wherein the transmission system comprises a transmitter, a channel, a correction module and a receiver, wherein the correction module includes a correction algorithm having at least some trainable weights; means for receiving the transmitted sequence of messages at the correction module; means for converting the received sequence of messages into a converted sequence of messages using the correction algorithm; means for generating a reward or loss function at the receiver; and means for training at least some weights of the correction algorithm based on the reward or loss function.
- Some embodiments include: means for modifying the converted sequence of messages to provide a modified sequence of messages based on a random perturbation of the converted sequence of messages; and means for providing the modified sequence of messages to the receiver of the transmission system, wherein the reward or loss function is based on the modified sequence of messages.
- the means for modifying the converted sequence of messages may make use of a distribution to generate the perturbations.
- the perturbations may be zero-mean Gaussian perturbations.
- the reward or loss function may be related to one or more of block error rate, bit error rate, error vector magnitude, mean square error in estimation and categorical cross-entropy.
- a first condition such as a defined number of iteration and/or a defined performance level
- the means for training may comprise optimising one or more of a batch size of the sequence of messages, a learning rate, and a distribution of perturbations.
- the means for training at least some weights of the correction algorithm may comprise using reinforcement learning or stochastic gradient descent.
- the said means may comprise: at least one processor; and at least one memory including computer program code, the at least one memory and the computer program code configured, with the at least one processor, to cause the performance of the apparatus.
- this specification describes a method comprising: receiving a sequence of messages at a correction module of a transmission system, wherein the transmission system comprises a transmitter, a channel, the correction module and a receiver, wherein the correction module includes a correction algorithm having at least some trainable weights; converting the received sequence of messages into a converted sequence of messages using the correction algorithm; receiving a reward or loss function from the receiver; and training at least some weights of the correction algorithm based on the received reward or loss function.
- the method may further comprise: modifying the converted sequence of messages to provide a modified sequence of messages based on a random perturbation of the converted sequence of messages; and providing the modified sequence of messages to the receiver of the transmission system, wherein the reward or loss function is based on the modified sequence of messages.
- the method may make use of a distribution to generate the perturbations.
- this specification describes a method comprising: obtaining or generating a sequence of messages for transmission over a transmission system, wherein the transmission system comprises a transmitter, a channel, a correction module and a receiver, wherein the correction module includes a correction algorithm having at least some trainable weights; receiving the transmitted sequence of messages at the correction module; converting the received sequence of messages into a converted sequence of messages using the correction algorithm; generating a reward or loss function at the receiver; and training at least some weights of the correction algorithm based on the reward or loss function.
- the method may further comprise: modifying the converted sequence of messages to provide a modified sequence of messages based on a random perturbation of the converted sequence of messages; and providing the modified sequence of messages to the receiver of the transmission system, wherein the reward or loss function is based on the modified sequence of messages.
- the method may make use of a distribution to generate the perturbations.
- 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 third or fourth aspect.
- this specification describes a computer program comprising instructions stored thereon for performing at least the following: receiving a sequence of messages at a correction module of a transmission system, wherein the transmission system comprises a transmitter, a channel, the correction module and a receiver, wherein the correction module includes a correction algorithm having at least some trainable weights; converting the received sequence of messages into a converted sequence of messages using the correction algorithm; receiving a reward or loss function from the receiver; and training at least some weights of the correction algorithm based on the received reward or loss function.
- the computer program may further comprise instructions stored thereon for performing at least the following: modifying the converted sequence of messages to provide a modified sequence of messages based on a random perturbation of the converted sequence of messages; and providing the modified sequence of messages to the receiver of the transmission system, wherein the reward or loss function is based on the modified sequence of messages.
- this specification describes a computer program comprising instructions stored thereon for performing at least the following: obtaining or generating a sequence of messages for transmission over a transmission system, wherein the transmission system comprises a transmitter, a channel, a correction module and a receiver, wherein the correction module includes a correction algorithm having at least some trainable weights; receiving the transmitted sequence of messages at the correction module; converting the received sequence of messages into a converted sequence of messages using the correction algorithm; generating a reward or loss function at the receiver; and training at least some weights of the correction algorithm based on the reward or loss function.
- the computer program may further comprise instructions stored thereon for performing at least the following: modifying the converted sequence of messages to provide a modified sequence of messages based on a random perturbation of the converted sequence of messages; and providing the modified sequence of messages to the receiver of the transmission system, wherein the reward or loss function is based on the modified sequence of messages.
- this specification describes a non-transitory computer-readable medium comprising program instructions stored thereon for performing at least the following: receiving a sequence of messages at a correction module of a transmission system, wherein the transmission system comprises a transmitter, a channel, the correction module and a receiver, wherein the correction module includes a correction algorithm having at least some trainable weights; converting the received sequence of messages into a converted sequence of messages using the correction algorithm; receiving a reward or loss function from the receiver; and training at least some weights of the correction algorithm based on the received reward or loss function.
- this specification describes a non-transitory computer-readable medium comprising program instructions stored thereon for performing at least the following: obtaining or generating a sequence of messages for transmission over a transmission system, wherein the transmission system comprises a transmitter, a channel, a correction module and a receiver, wherein the correction module includes a correction algorithm having at least some trainable weights; receiving the transmitted sequence of messages at the correction module; converting the received sequence of messages into a converted sequence of messages using the correction algorithm; generating a reward or loss function at the receiver; and training at least some weights of the correction algorithm based on the reward or loss function.
- FIG. 1 is a block diagram of a communication system in which example embodiments may be implemented
- FIG. 2 is a block diagram of an example end-to-end communication system in accordance with an example embodiment
- FIG. 3 is a module that may be used in the example communication system of FIG. 2 ;
- FIG. 4 is a block diagram of an example end-to-end communication system in accordance with an example embodiment
- FIG. 5 is a flow chart showing an algorithm in accordance with an example embodiment
- FIG. 6 is a block diagram of an example end-to-end communication system in accordance with an example embodiment
- FIG. 7 is a flow chart showing an algorithm in accordance with an example embodiment
- FIG. 8 is a block diagram of a system in accordance with an example embodiment.
- FIGS. 9 a and 9 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 a communication system, indicated generally by the reference numeral 1 , in which example embodiments may be implemented.
- the system 1 includes a transmitter 2 , a channel 4 and a receiver 6 .
- a transmission application 8 of the system 1 provides an input symbol (s) (also called a message) to the transmitter 2 .
- the symbol/message (s) is transmitted to the receiver 6 via the channel 4 .
- An output symbol GO is then provided to a receiver application 10 of the system 1 .
- 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 s of the transmitted message 6 .
- the transmitter 2 , channel 4 and receiver 6 may take many different forms.
- the transmitter 2 may include a module (such as a neural network) for implementing a transmitter algorithm
- the receiver 6 may include a module (such as a neural network) for implementing a receiver algorithm.
- the transmitter and receiver modules may be trained in order to optimise the performance of the system as a whole accordingly to some metric. However, this is not essential to all embodiments. Indeed, in some embodiments, the existence or details of such modules may be unknown.
- the transmitter/receiver pair does not achieve the best possible performance. This may, for example, be because the transmitter/receiver pair are designed to suit a wide variety of applications and channel conditions.
- FIG. 2 is a block diagram of an example end-to-end communication system, indicated generally by the reference numeral 20 , in accordance with an example embodiment.
- the system 20 includes the transmitter 2 , channel 4 and transmitter application 8 of the system 1 described above.
- the system 20 also includes a receiver 24 and receiver application 26 similar to the receiver 6 and receiver application 10 described above.
- the system 10 includes a received signal pre-processor (RSP) module 22 .
- RSS received signal pre-processor
- the output of the channel 4 (the vector y) is provided to the input of the receiver signal pre-processor module 22 .
- the module 22 is a correction unit whose objective is to increase the performance of the communication system 20 .
- the module 22 modifies the signal y to provide an output y p that is provided to the receiver 24 .
- the receiver generates an output symbol GO that is provided to a receiver application 26 of the system 20 .
- the receiver application provides a reward signal r to the receiver signal pre-processor module 22 .
- the performance of the module 22 is adjusted to maximise the reward r (thereby maximising the performance of the system 20 ), for example by reinforcement learning. It should be noted that the module 22 does not necessarily require any knowledge of a system model and can merely maximum the reward received from the receiver application 26 .
- FIG. 3 is a block diagram of an example implementation of the receiver signal pre-processor module 22 described above with reference to FIG. 2 .
- the module 22 is implemented using a deep feedforward neural network (NN) comprising a number of dense layers (a first layer 32 and an lth layer 34 are shown in FIG. 3 by way of example only).
- NN deep feedforward neural network
- the receiver signal pre-processor module 22 defines the mapping: RSP: n n .
- the module 22 maps an n-dimensional complex-valued vector y that forms the receiver channel symbols (received from the channel 4 in the example system 20 ) to pre-processed channel symbols y p from the same set.
- the module 22 may be deep feedforward neural network.
- other implementations, including other neural network implementations, are possible.
- the module 22 uses a longer channel output vector ⁇ tilde over (y) ⁇ n with ⁇ >n as input, resulting from the reception of multiple subsequent messages to produce the pre-processed vector y p .
- FIG. 4 is a block diagram of an example end-to-end communication system, indicated generally by the reference numeral 40 , that may be used for training an example signal pre-processor module.
- the system 40 includes the transmitter 2 , channel 4 and transmitter application 8 described above.
- the system 40 also includes a signal pre-processor module 42 , receiver 44 and receiver application 46 similar to the module 22 , receiver 24 and receiver application 26 described above. Further, the system 40 includes a mixer 48 and a training algorithm indicated schematically by the reference numeral 50 .
- FIG. 5 is a flow chart showing an algorithm, indicated generally by the reference numeral 60 , in accordance with an example embodiment. As described in detail below, the algorithm 60 may be used for training the module 42 of the system 40 .
- the algorithm 60 starts at operation 62 , w here the transmitter 2 and the receiver 44 of the transmission system 40 are initialised.
- the vectors x i are transmitted over the channel 4 .
- the signal pre-processor module 42 is optimised, for example by updating trainable parameters (or weights) of the module neural networks (such as the neural networks 32 and 34 described above).
- the trainable parameters may be updated, for example, using a stochastic gradient descent (SGD) algorithm, by reducing the loss, L, in the objective function:
- the objective function, L, set out above is a function of which the gradient with respect to the trainable parameters ⁇ of the signal pre-processor module 42 is computed.
- the function ⁇ ⁇ L is also known as the policy gradient.
- the goal of the optimisation is to improve a chosen performance metric (the reward), thereby improving metrics such as block error rate (BLER), bit error rate (BER), error vector magnitude, mean squared error in estimate, categorical cross-entropy, etc. It should be noted that the reward r does not necessarily need to be differentiable.
- the trainable parameters may take many different forms.
- the batch size N the learning rate, and other parameters of the chosen reinforcement learning algorithm (e.g. stochastic gradient descent (SGD) algorithms such as ADAM, RMSProp, Momentum) are possible optimisation parameters.
- SGD stochastic gradient descent
- the operation 74 may take many different forms. For example, the algorithm 70 may be deemed complete after a fixed number of training iterations, when the loss function L has not decreased during a fixed number of iterations, when a loss function meets a desired value, or a combination of such features. Other implementations of the operation 74 are also possible.
- Training of the signal pre-processor module 42 may take place on demand. Alternatively, training may take place periodically (e.g. when a defined time has elapsed since training last took place). Many alternative arrangements are possible. For example, training may take place sporadically on an as-needed basis, for example in the event that performance of the signal pre-processor module 42 and/or the communication system 40 is deemed to have degraded (e.g. due to changes in channel or application requirements). Moreover, in some embodiments, the operation 74 may be omitted such that the operation 72 always loops back to the operation 62 (thereby implementing a permanent control loop, such that training of the system 40 never stops).
- 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 RSP
- the state space is the space of the received signal y p,i
- the action space is n . Exploring can be done in numerous ways, two of the most popular approaches being:
- the covariance matrix of the normal distribution from which the perturbation vector c is drawn in the Gaussian policy, and the c parameter of the c-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 system 40 described above can be used for training the signal pre-processor module 42 . However, when not training the signal pre-processor module 42 , no perturbation is added to the vector y p and no reward feedback r is required.
- FIG. 6 is a block diagram of an example end-to-end communication system, indicated generally by the reference numeral 80 , in accordance with an example embodiment.
- the system 80 does not include the perturbation and reward feedback arrangement of the system 40 and so can be used following the training of the signal pre-processor.
- the system 80 includes the transmitter 2 , channel 4 and transmitter application 8 described above.
- the system 80 also includes a signal pre-processor module 82 , receiver 84 and receiver application 86 similar to the modules 22 and 42 , receivers 24 and 44 and receiver applications 26 and 46 described above.
- FIG. 7 is a flow chart showing an algorithm, indicated generally by the reference numeral 90 , in accordance with an example embodiment. As described in detail below, the algorithm 60 may be used for the use of the system 80 .
- the vectors x i are transmitted over the channel 4 .
- RSS receiver signal pre-processor
- a first example application relates to the reconstruction of transmitted data in a lossy system.
- the goal of the transmitting application is to communicate s ⁇ N which are reconstructed by the receiving application. That is, the messages s are not drawn from the field of integers but from the field of real numbers.
- s could be a digital image and the goal of the receiver could be to construct a vector ⁇ N as close as possible to s.
- the transmitting application sends a data vector s ⁇ N , and the goal of the receiving application is to classify the transmitted vector into one out of M classes.
- s could be an image and the receiver's goal could be to tell whether s contains a dog or a cat.
- FIG. 8 is a schematic diagram of components of one or more of the modules described previously (e.g. signal pre-processor modules, mixers and systems as described above), which hereafter are referred to generically as processing systems 110 .
- a processing system no 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 60 and 90 .
- 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. 9 a and 9 b 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. 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.
- 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 Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- A simple communications system includes a transmitter, a transmission channel, and a receiver. In some implementations, the transmitter-receiver pair may not achieve the best possible performance. There remains a need for improving the performance of such systems.
- In a first aspect, this specification describes an apparatus comprising: means for receiving a sequence of messages at a correction module of a transmission system, wherein the transmission system comprises a transmitter, a channel, the correction module and a receiver, wherein the correction module includes a correction algorithm having at least some trainable weights; means for converting the received sequence of messages into a converted sequence of messages using the correction algorithm; means for receiving a reward or loss function from the receiver; and means for training at least some weights of the correction algorithm based on the received reward or loss function. In some embodiments, there may be provided means for generating the reward or loss function.
- Some embodiments include: means for modifying the converted sequence of messages to provide a modified sequence of messages based on a random perturbation of the converted sequence of messages; and means for providing the modified sequence of messages to the receiver of the transmission system, wherein the reward or loss function is based on the modified sequence of messages. The said means for modifying the converted sequence of messages may make use of a distribution to generate the perturbations. The perturbations may be zero-mean Gaussian perturbations.
- The reward or loss function may be related to one or more of block error rate, bit error rate, error vector magnitude, mean square error in estimation and categorical cross-entropy.
- In some embodiment, there may be provided means for repeating the training of the at least some weights of the correction algorithm until a first condition (such as a defined number of iteration and/or a defined performance level) is reached.
- The means for training may comprise optimising one or more of a batch size of the sequence of messages, a learning rate, and a distribution of perturbations.
- The means for training at least some weights of the correction algorithm may comprise using reinforcement learning or stochastic gradient descent.
- In a second aspect, this specification describes an apparatus comprising: means for obtaining or generating a sequence of messages for transmission over a transmission system, wherein the transmission system comprises a transmitter, a channel, a correction module and a receiver, wherein the correction module includes a correction algorithm having at least some trainable weights; means for receiving the transmitted sequence of messages at the correction module; means for converting the received sequence of messages into a converted sequence of messages using the correction algorithm; means for generating a reward or loss function at the receiver; and means for training at least some weights of the correction algorithm based on the reward or loss function.
- Some embodiments include: means for modifying the converted sequence of messages to provide a modified sequence of messages based on a random perturbation of the converted sequence of messages; and means for providing the modified sequence of messages to the receiver of the transmission system, wherein the reward or loss function is based on the modified sequence of messages. The means for modifying the converted sequence of messages may make use of a distribution to generate the perturbations. The perturbations may be zero-mean Gaussian perturbations.
- The reward or loss function may be related to one or more of block error rate, bit error rate, error vector magnitude, mean square error in estimation and categorical cross-entropy.
- In some embodiment, there may be provided means for repeating the training of the at least some weights of the correction algorithm until a first condition (such as a defined number of iteration and/or a defined performance level) is reached.
- The means for training may comprise optimising one or more of a batch size of the sequence of messages, a learning rate, and a distribution of perturbations.
- The means for training at least some weights of the correction algorithm may comprise using reinforcement learning or stochastic gradient descent.
- In either the first or the second aspect, the said means may comprise: at least one processor; and at least one memory including computer program code, the at least one memory and the computer program code configured, with the at least one processor, to cause the performance of the apparatus.
- In a third aspect, this specification describes a method comprising: receiving a sequence of messages at a correction module of a transmission system, wherein the transmission system comprises a transmitter, a channel, the correction module and a receiver, wherein the correction module includes a correction algorithm having at least some trainable weights; converting the received sequence of messages into a converted sequence of messages using the correction algorithm; receiving a reward or loss function from the receiver; and training at least some weights of the correction algorithm based on the received reward or loss function. The method may further comprise: modifying the converted sequence of messages to provide a modified sequence of messages based on a random perturbation of the converted sequence of messages; and providing the modified sequence of messages to the receiver of the transmission system, wherein the reward or loss function is based on the modified sequence of messages. The method may make use of a distribution to generate the perturbations.
- In a fourth aspect, this specification describes a method comprising: obtaining or generating a sequence of messages for transmission over a transmission system, wherein the transmission system comprises a transmitter, a channel, a correction module and a receiver, wherein the correction module includes a correction algorithm having at least some trainable weights; receiving the transmitted sequence of messages at the correction module; converting the received sequence of messages into a converted sequence of messages using the correction algorithm; generating a reward or loss function at the receiver; and training at least some weights of the correction algorithm based on the reward or loss function. The method may further comprise: modifying the converted sequence of messages to provide a modified sequence of messages based on a random perturbation of the converted sequence of messages; and providing the modified sequence of messages to the receiver of the transmission system, wherein the reward or loss function is based on the modified sequence of messages. The method may make use of a distribution to generate the perturbations.
- 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 third or fourth aspect.
- In a seventh aspect, this specification describes a computer program comprising instructions stored thereon for performing at least the following: receiving a sequence of messages at a correction module of a transmission system, wherein the transmission system comprises a transmitter, a channel, the correction module and a receiver, wherein the correction module includes a correction algorithm having at least some trainable weights; converting the received sequence of messages into a converted sequence of messages using the correction algorithm; receiving a reward or loss function from the receiver; and training at least some weights of the correction algorithm based on the received reward or loss function. The computer program may further comprise instructions stored thereon for performing at least the following: modifying the converted sequence of messages to provide a modified sequence of messages based on a random perturbation of the converted sequence of messages; and providing the modified sequence of messages to the receiver of the transmission system, wherein the reward or loss function is based on the modified sequence of messages.
- In an eighth aspect, this specification describes a computer program comprising instructions stored thereon for performing at least the following: obtaining or generating a sequence of messages for transmission over a transmission system, wherein the transmission system comprises a transmitter, a channel, a correction module and a receiver, wherein the correction module includes a correction algorithm having at least some trainable weights; receiving the transmitted sequence of messages at the correction module; converting the received sequence of messages into a converted sequence of messages using the correction algorithm; generating a reward or loss function at the receiver; and training at least some weights of the correction algorithm based on the reward or loss function. The computer program may further comprise instructions stored thereon for performing at least the following: modifying the converted sequence of messages to provide a modified sequence of messages based on a random perturbation of the converted sequence of messages; and providing the modified sequence of messages to the receiver of the transmission system, wherein the reward or loss function is based on the modified sequence of messages.
- In a ninth aspect, this specification describes a non-transitory computer-readable medium comprising program instructions stored thereon for performing at least the following: receiving a sequence of messages at a correction module of a transmission system, wherein the transmission system comprises a transmitter, a channel, the correction module and a receiver, wherein the correction module includes a correction algorithm having at least some trainable weights; converting the received sequence of messages into a converted sequence of messages using the correction algorithm; receiving a reward or loss function from the receiver; and training at least some weights of the correction algorithm based on the received reward or loss function.
- In a tenth 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 sequence of messages for transmission over a transmission system, wherein the transmission system comprises a transmitter, a channel, a correction module and a receiver, wherein the correction module includes a correction algorithm having at least some trainable weights; receiving the transmitted sequence of messages at the correction module; converting the received sequence of messages into a converted sequence of messages using the correction algorithm; generating a reward or loss function at the receiver; and training at least some weights of the correction algorithm based on the reward or loss function.
- 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 a communication system in which example embodiments may be implemented; -
FIG. 2 is a block diagram of an example end-to-end communication system in accordance with an example embodiment; -
FIG. 3 is a module that may be used in the example communication system ofFIG. 2 ; -
FIG. 4 is a block diagram of an example end-to-end communication system in accordance with an example embodiment; -
FIG. 5 is a flow chart showing an algorithm in accordance with an example embodiment; -
FIG. 6 is a block diagram of an example end-to-end communication system in accordance with an example embodiment; -
FIG. 7 is a flow chart showing an algorithm in accordance with an example embodiment; -
FIG. 8 is a block diagram of a system in accordance with an example embodiment; and -
FIGS. 9a and 9b 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 a communication system, indicated generally by thereference numeral 1, in which example embodiments may be implemented. Thesystem 1 includes atransmitter 2, achannel 4 and areceiver 6. As shown inFIG. 1 , atransmission application 8 of thesystem 1 provides an input symbol (s) (also called a message) to thetransmitter 2. The symbol/message (s) is transmitted to thereceiver 6 via thechannel 4. An output symbol GO is then provided to areceiver application 10 of thesystem 1. -
- to the
receiver 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 s of the transmittedmessage 6. - The
transmitter 2,channel 4 andreceiver 6 may take many different forms. For example, thetransmitter 2 may include a module (such as a neural network) for implementing a transmitter algorithm and thereceiver 6 may include a module (such as a neural network) for implementing a receiver algorithm. The transmitter and receiver modules may be trained in order to optimise the performance of the system as a whole accordingly to some metric. However, this is not essential to all embodiments. Indeed, in some embodiments, the existence or details of such modules may be unknown. - In many cases, the transmitter/receiver pair does not achieve the best possible performance. This may, for example, be because the transmitter/receiver pair are designed to suit a wide variety of applications and channel conditions.
-
FIG. 2 is a block diagram of an example end-to-end communication system, indicated generally by thereference numeral 20, in accordance with an example embodiment. Thesystem 20 includes thetransmitter 2,channel 4 andtransmitter application 8 of thesystem 1 described above. Thesystem 20 also includes areceiver 24 andreceiver application 26 similar to thereceiver 6 andreceiver application 10 described above. Further, thesystem 10 includes a received signal pre-processor (RSP)module 22. -
- The output of the channel 4 (the vector y) is provided to the input of the receiver
signal pre-processor module 22. Themodule 22 is a correction unit whose objective is to increase the performance of thecommunication system 20. Themodule 22 modifies the signal y to provide an output yp that is provided to thereceiver 24. The receiver generates an output symbol GO that is provided to areceiver application 26 of thesystem 20. - As shown in
FIG. 2 , the receiver application provides a reward signal r to the receiversignal pre-processor module 22. As described in detail below, the performance of themodule 22 is adjusted to maximise the reward r (thereby maximising the performance of the system 20), for example by reinforcement learning. It should be noted that themodule 22 does not necessarily require any knowledge of a system model and can merely maximum the reward received from thereceiver application 26. -
FIG. 3 is a block diagram of an example implementation of the receiversignal pre-processor module 22 described above with reference toFIG. 2 . In the example implementation shown inFIG. 3 , themodule 22 is implemented using a deep feedforward neural network (NN) comprising a number of dense layers (afirst layer 32 and anlth layer 34 are shown inFIG. 3 by way of example only). - The receiver signal pre-processor module 22 defines the mapping: RSP: n n. In other words, the
module 22 maps an n-dimensional complex-valued vector y that forms the receiver channel symbols (received from thechannel 4 in the example system 20) to pre-processed channel symbols yp from the same set. - As shown in
FIG. 3 , themodule 22 may be deep feedforward neural network. However, other implementations, including other neural network implementations, are possible. -
-
FIG. 4 is a block diagram of an example end-to-end communication system, indicated generally by thereference numeral 40, that may be used for training an example signal pre-processor module. - The
system 40 includes thetransmitter 2,channel 4 andtransmitter application 8 described above. Thesystem 40 also includes asignal pre-processor module 42,receiver 44 andreceiver application 46 similar to themodule 22,receiver 24 andreceiver application 26 described above. Further, thesystem 40 includes amixer 48 and a training algorithm indicated schematically by thereference numeral 50. -
FIG. 5 is a flow chart showing an algorithm, indicated generally by thereference numeral 60, in accordance with an example embodiment. As described in detail below, thealgorithm 60 may be used for training themodule 42 of thesystem 40. - The
algorithm 60 starts atoperation 62, w here thetransmitter 2 and thereceiver 44 of thetransmission system 40 are initialised. - At
operation 64 of thealgorithm 60, thetransmitter application 8 generates a set of A messages S={si, i=1, . . . , N} and thetransmitter 2 computes the corresponding output vectors xi for each si. - At
operation 66, the vectors xi are transmitted over thechannel 4. The corresponding channel outputs are denoted by yi, i=1, . . . , N. - At
operation 68, the receiver signal pre-processor (RSP)module 42 generates outputs yp,i for all i (where y is a function of thesignal pre-processor module 42 such that yp,i=RSP(yi)) and themixer 48 generates the outputs {tilde over (y)}p,i for all i. - The
mixer 48 generates the outputs {tilde over (y)}p,i by adding a small perturbation wi, i=1, . . . , N, drawn from a known random distribution to the vector yp,i, such that {tilde over (y)}p,i=yp,i+wi. -
- At
operation 72, thesignal pre-processor module 42 is optimised, for example by updating trainable parameters (or weights) of the module neural networks (such as theneural networks -
- The objective function, L, set out above is a function of which the gradient with respect to the trainable parameters θ of the
signal pre-processor module 42 is computed. The function ∇θL is also known as the policy gradient. - The goal of the optimisation is to improve a chosen performance metric (the reward), thereby improving metrics such as block error rate (BLER), bit error rate (BER), error vector magnitude, mean squared error in estimate, categorical cross-entropy, etc. It should be noted that the reward r does not necessarily need to be differentiable.
- The trainable parameters may take many different forms. For example, the batch size N, the learning rate, and other parameters of the chosen reinforcement learning algorithm (e.g. stochastic gradient descent (SGD) algorithms such as ADAM, RMSProp, Momentum) are possible optimisation parameters.
- At
operation 74, a determination is made regarding whether thealgorithm 60 is complete. If the algorithm is deemed to be complete, then the algorithm terminates. If not, the algorithm returns tooperation 62 and theoperations 62 to 74 are repeated. Theoperation 74 may take many different forms. For example, thealgorithm 70 may be deemed complete after a fixed number of training iterations, when the loss function L has not decreased during a fixed number of iterations, when a loss function meets a desired value, or a combination of such features. Other implementations of theoperation 74 are also possible. - Training of the
signal pre-processor module 42 may take place on demand. Alternatively, training may take place periodically (e.g. when a defined time has elapsed since training last took place). Many alternative arrangements are possible. For example, training may take place sporadically on an as-needed basis, for example in the event that performance of thesignal pre-processor module 42 and/or thecommunication system 40 is deemed to have degraded (e.g. due to changes in channel or application requirements). Moreover, in some embodiments, theoperation 74 may be omitted such that theoperation 72 always loops back to the operation 62 (thereby implementing a permanent control loop, such that training of thesystem 40 never stops). - 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 RSP, the state space is the space of the received signal yp,i 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 c 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 c a random action is taken.
- The covariance matrix of the normal distribution from which the perturbation vector c is drawn in the Gaussian policy, and the c parameter of the c-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
system 40 described above can be used for training thesignal pre-processor module 42. However, when not training thesignal pre-processor module 42, no perturbation is added to the vector yp and no reward feedback r is required. -
FIG. 6 is a block diagram of an example end-to-end communication system, indicated generally by thereference numeral 80, in accordance with an example embodiment. Thesystem 80 does not include the perturbation and reward feedback arrangement of thesystem 40 and so can be used following the training of the signal pre-processor. - The
system 80 includes thetransmitter 2,channel 4 andtransmitter application 8 described above. Thesystem 80 also includes asignal pre-processor module 82,receiver 84 andreceiver application 86 similar to themodules receivers receiver applications -
FIG. 7 is a flow chart showing an algorithm, indicated generally by thereference numeral 90, in accordance with an example embodiment. As described in detail below, thealgorithm 60 may be used for the use of thesystem 80. - The
algorithm 90 starts atoperation 92, where thetransmitter application 8 generates a set of N messages S={si, i=1, . . . , N} and thetransmitter 2 computes the corresponding output vectors xi for each si. - At
operation 94, the vectors xi are transmitted over thechannel 4. The corresponding channel outputs are denoted by yi, i=1, . . . , N. - At
operation 96, the receiver signal pre-processor (RSP)module 82 generates outputs yp,i for all i (where y is a function of thesignal pre-processor module 82 such that yp,i=RSP(yi)). -
- There are number of potential applications of the principles described herein.
- A first example application relates to the reconstruction of transmitted data in a lossy system. In this example, the goal of the transmitting application is to communicate sϵ N which are reconstructed by the receiving application. That is, the messages s are not drawn from the field of integers but from the field of real numbers. For instance, s could be a digital image and the goal of the receiver could be to construct a vector ŝϵ N as close as possible to s. In this case, the reward r could be the mean-square error (MSE): r=∥s−ŝ∥2 2.
- In a second example, the transmitting application sends a data vector sϵ N, and the goal of the receiving application is to classify the transmitted vector into one out of M classes. For example, s could be an image and the receiver's goal could be to tell whether s contains a dog or a cat. The receiving application outputs a probability distribution over M classes pk, k=1, . . . , M. In this case, the reward r can be the categorical cross-entropy: r=−log pl(i), where l is the function that gives for each training example i its true label l(i)ϵ{1, . . . , M}.
- In a third example, working only on the transmitter-receiver pair, the principles described herein can be used to reduce the error rate of the transmitter-receiver pair without focusing on a specification application. Assuming a soft decision receiver that outputs a probability distribution over the set of messages ps, sϵ, the categorical cross-entropy can be used as the reward: r=−log pl(i), where mϵ is the actual message sent by the transmitter.
- For completeness,
FIG. 8 is a schematic diagram of components of one or more of the modules described previously (e.g. signal pre-processor modules, mixers and systems as described above), which hereafter are referred to generically as processingsystems 110. A processing system no 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 thealgorithms - 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. 9a and 9b show tangible media, respectively aremovable 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. 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, 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 (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IBPCT/IB2018/000814 | 2018-04-03 | ||
PCT/IB2018/000814 WO2019193377A1 (en) | 2018-04-03 | 2018-04-03 | End-to-end learning in communication systems |
PCT/EP2018/065006 WO2019192740A1 (en) | 2018-04-03 | 2018-06-07 | Learning in communication systems |
Publications (1)
Publication Number | Publication Date |
---|---|
US20210027161A1 true US20210027161A1 (en) | 2021-01-28 |
Family
ID=63517920
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/044,607 Pending 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 Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/044,607 Pending US20210201135A1 (en) | 2018-04-03 | 2018-04-03 | End-to-end learning in communication systems |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220247614A1 (en) * | 2019-05-30 | 2022-08-04 | Nokia Technologies Oy | Learning in communication systems |
CN115186797A (en) * | 2022-06-06 | 2022-10-14 | 山西大学 | Pragmatic communication method and system |
CN117295096A (en) * | 2023-11-24 | 2023-12-26 | 武汉市豪迈电力自动化技术有限责任公司 | Smart electric meter data transmission method and system based on 5G short sharing |
Families Citing this family (8)
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 |
FI20195547A1 (en) | 2019-06-20 | 2020-12-21 | Nokia Technologies Oy | Communication system having a configurable modulation order and an associated method and apparatus |
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 |
EP4154184A2 (en) * | 2020-05-22 | 2023-03-29 | Nokia Technologies Oy | Communication system |
EP3975453A1 (en) * | 2020-09-24 | 2022-03-30 | Rohde & Schwarz GmbH & Co. KG | Adaptive coverage optimization in single-frequency networks (sfn) |
CN113193925B (en) * | 2021-02-09 | 2023-08-11 | 中国人民解放军战略支援部队信息工程大学 | Optimization processing method and device of communication system and electronic equipment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140376653A1 (en) * | 2013-06-21 | 2014-12-25 | Marvell World Trade Ltd. | Methods and systems for determining indicators used in channel state information (csi) feedback in wireless systems |
US9015093B1 (en) * | 2010-10-26 | 2015-04-21 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
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 |
FI102797B1 (en) * | 1994-10-07 | 1999-02-15 | Nokia Telecommunications Oy | A signal detection method in a receiver for a TDMA mobile radio system and a receiver for performing 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 |
CA2483117C (en) * | 2003-09-29 | 2013-10-29 | Xianbin Wang | Multi-symbol encapsulated ofdm system |
US7631246B2 (en) * | 2006-01-09 | 2009-12-08 | Broadcom Corporation | LDPC (low density parity check) code size adjustment by shortening and puncturing |
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 |
KR101419420B1 (en) * | 2010-06-03 | 2014-08-13 | 노키아 솔루션스 앤드 네트웍스 오와이 | Base station calibration |
CN105409179A (en) * | 2013-07-25 | 2016-03-16 | 英派尔科技开发有限公司 | 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 |
EP3207726A1 (en) * | 2014-11-20 | 2017-08-23 | Huawei Technologies Co., Ltd. | Methods and nodes in a wireless communication network |
CN105046277B (en) * | 2015-07-15 | 2019-06-14 | 华南农业大学 | Robust mechanism study method of the feature significance 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 |
US10552738B2 (en) * | 2016-12-15 | 2020-02-04 | Google Llc | Adaptive channel coding using machine-learned models |
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 active Pending
- 2018-04-03 US US17/044,607 patent/US20210201135A1/en active Pending
- 2018-04-03 CN CN201880094274.8A patent/CN112236782A/en active Pending
- 2018-04-03 WO PCT/IB2018/000814 patent/WO2019193377A1/en unknown
- 2018-06-07 CN CN201880093531.6A patent/CN112166568B/en active Active
- 2018-06-07 WO PCT/EP2018/065006 patent/WO2019192740A1/en unknown
- 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-29 CN CN201880093390.8A patent/CN112166567B/en active Active
- 2018-06-29 US US17/044,553 patent/US11082264B2/en active Active
- 2018-06-29 WO PCT/IB2018/001029 patent/WO2019193380A1/en unknown
- 2018-06-29 EP EP18774108.7A patent/EP3776941A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9015093B1 (en) * | 2010-10-26 | 2015-04-21 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
US20140376653A1 (en) * | 2013-06-21 | 2014-12-25 | Marvell World Trade Ltd. | Methods and systems for determining indicators used in channel state information (csi) feedback in wireless systems |
Non-Patent Citations (1)
Title |
---|
O’Shea et al ("An Introduction to Deep Learning for the Physical Layer" Oct 2, 2017) (Year: 2017) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220247614A1 (en) * | 2019-05-30 | 2022-08-04 | Nokia Technologies Oy | Learning in communication systems |
US11750436B2 (en) * | 2019-05-30 | 2023-09-05 | Nokia Technologies Oy | Learning in communication systems |
CN115186797A (en) * | 2022-06-06 | 2022-10-14 | 山西大学 | Pragmatic communication method and system |
CN117295096A (en) * | 2023-11-24 | 2023-12-26 | 武汉市豪迈电力自动化技术有限责任公司 | Smart electric meter data transmission method and system based on 5G short sharing |
Also Published As
Publication number | Publication date |
---|---|
EP3776940A1 (en) | 2021-02-17 |
EP3776941A1 (en) | 2021-02-17 |
CN112166567B (en) | 2023-04-18 |
EP3776365A1 (en) | 2021-02-17 |
WO2019193380A1 (en) | 2019-10-10 |
CN112236782A (en) | 2021-01-15 |
US11082264B2 (en) | 2021-08-03 |
US20210201135A1 (en) | 2021-07-01 |
CN112166568B (en) | 2023-10-20 |
CN112166567A (en) | 2021-01-01 |
CN112166568A (en) | 2021-01-01 |
WO2019192740A1 (en) | 2019-10-10 |
WO2019193377A1 (en) | 2019-10-10 |
US20210099327A1 (en) | 2021-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210027161A1 (en) | Learning in communication systems | |
US11556799B2 (en) | Channel modelling in a data transmission system | |
US20210374529A1 (en) | End-to-end learning in communication systems | |
US11804860B2 (en) | End-to-end learning in communication systems | |
US11750436B2 (en) | Learning in communication systems | |
US12107679B2 (en) | Iterative detection in a communication system | |
CN116431597A (en) | Method, electronic device and computer program product for training a data classification model | |
US11552731B2 (en) | Learning in communication systems by updating of parameters in a receiving algorithm | |
US20220083870A1 (en) | Training in Communication Systems | |
EP2098032A1 (en) | Decoding methods and apparatus for mimo communication systems | |
US12015507B2 (en) | Training in communication systems | |
US12081324B2 (en) | Transmitter algorithm |
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:054054/0201 Effective date: 20190117 |
|
AS | Assignment |
Owner name: NOKIA TECHNOLOGIES OY, FINLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE INVENTOR'S NAME PREVIOUSLY RECORDED AT REEL: 054054 FRAME: 0201. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNORS:HOYDIS, JAKOB;AIT AOUDIA, FAYCAL;REEL/FRAME:054281/0063 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: FINAL REJECTION MAILED |