WO2020035684A1 - Joint source channel coding of information sources using neural networks - Google Patents
Joint source channel coding of information sources using neural networks Download PDFInfo
- Publication number
- WO2020035684A1 WO2020035684A1 PCT/GB2019/052283 GB2019052283W WO2020035684A1 WO 2020035684 A1 WO2020035684 A1 WO 2020035684A1 GB 2019052283 W GB2019052283 W GB 2019052283W WO 2020035684 A1 WO2020035684 A1 WO 2020035684A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- channel
- neural network
- source
- encoder
- input
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 738
- 238000004891 communication Methods 0.000 claims abstract description 336
- 239000013598 vector Substances 0.000 claims abstract description 310
- 238000012549 training Methods 0.000 claims abstract description 85
- 238000009826 distribution Methods 0.000 claims description 199
- 238000013507 mapping Methods 0.000 claims description 28
- 238000005070 sampling Methods 0.000 claims description 12
- 238000000034 method Methods 0.000 description 54
- 230000006870 function Effects 0.000 description 29
- 230000005540 biological transmission Effects 0.000 description 25
- 230000008901 benefit Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000005562 fading Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 239000000654 additive Substances 0.000 description 4
- 230000000996 additive effect Effects 0.000 description 4
- 238000013468 resource allocation Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000002939 deleterious effect Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000004193 electrokinetic chromatography Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/94—Vector quantisation
-
- 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
- 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/6312—Error control coding in combination with data compression
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3068—Precoding preceding compression, e.g. Burrows-Wheeler transformation
- H03M7/3079—Context modeling
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3082—Vector coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6064—Selection of Compressor
- H03M7/6076—Selection between compressors of the same type
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0014—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
-
- 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
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
Definitions
- This present application provides disclosures relating to communication systems for conveying information from an information source across a communications channel using joint source channel coding, in particular by the use of an encoder neural network and decoder neural network providing a joint source channel coding autoencoder.
- An aim of a data communication system is to efficiently and reliably send data from an information source over a communication channel from a transmitter at as high a rate as possible with as few errors as achievable in view of the channel noise, to enable a faithful representation of the original information source to be recovered at a transmitter.
- Most digital communication systems today include a source encoder and separate channel encoder at a transmitter and a source decoder and separate channel decoder at a receiver.
- Information sources to be transmitted over the channel generally store or generate‘raw’ or‘uncompressed’ data directly or indirectly representative of characteristics of the information source, to allow faithful reproduction of the information source by a given combination of data processing hardware appropriately configured, for example by software or firmware.
- the information source may be representative of images, documents, audio or video recordings, sensor data, and so on.
- the information source is any information source suitable for arranging as a sequence of source symbols or fundamental data elements (for example, bits), such as static files or databases or arranged as a sequence over time, as in a stream of data from a sensor or a video camera.
- the source symbols are first digitally compressed into bits by the source encoder.
- the goal in source coding is to encode the sequence of source symbols into a coded representation of data elements to reduce the redundancy in the original sequence of source symbols.
- lossless compression one has to remove redundancy such that the original information source can still be reconstructed as the original version from the coded representation, while lossy compression allows a certain amount of degradation in the reconstructed version under some specified distortion measure, for example squared error.
- JPEG for images, or H264/MPEG for videos are examples of lossy source compression standards widely used in practice. Compressing the information source using a source encoder before transmission means that fewer resources are required for that transmission.
- the output of the source encoder is then provided to a channel encoder.
- the goal of the channel encoder is to encode the compressed data representation in a structured way using a suitable Error Correction Code (ECC) by adding redundancy such that even if some of these bits are distorted or lost due to noise over the channel, the receiver can still recover the original sequence of bits reliably.
- ECC Error Correction Code
- the amount of redundancy that is added depends on the statistical properties of the underlying communication channel and a target Bit Error Rate (BER).
- the coded bits at the output of the channel encoder are transmitted over the channel using a modulator.
- the modulator converts the bits into signals that can be transmitted over the communication medium.
- the transmitted waveform is specified by its In-Phase (I) and Quadrature (Q) components, and a modulator typically has a discrete set of pre-specified I and Q values, called a constellation, and each group of coded information bits are mapped to a single point in this constellation.
- Example modulation schemes include phase shift keying (PSK) and quadrature amplitude modulation (QAM).
- the receiver receives and demodulates (for example, by coherent demodulation) a sequence of noisy symbols, where the noise has been added by the communications channel. These noisy demodulated symbols are then mapped to sequences of data elements by a channel decoder. The decoded data elements are then passed to the source decoder, which decodes these data elements to try to reconstruct a representation of the originally input source symbols to reconstruct the information source. [0009] Naturally, the source encoder and decoder are designed jointly, as are the channel encoder and decoder, but as can be seen the source encoder/decoder and channel encoder/decoder are designed and operate separately to perform very different functions.
- the main advantage of separate source and channel coding is the modularity it provides. This means that the same channel encoder and decoder can be used in conjunction with any source encoder and decoder. That is, as long as the source encoder outputs data elements that can be encoded by the channel encoder, it does not matter if these bits come from an image compressor or a video encoder. Thus a channel encoder can encode data elements for transmission over a channel irrespective of the data elements or the information source from which they have been derived.
- the source encoder and decoder can be operated in conjunction with any channel encoder and decoder to transmit the encoded source symbols over a communications channel.
- a source encoder can encode data elements for subsequent coding by the channel encoder independently of which channel encoder is used.
- the present inventors have realised that, despite the significant advantage of modularity that separate source and channel coding provides, it has disadvantages which may render this approach to have a deleterious effect on communication systems, particularly those trying to send relatively large amounts of data over noisy channels under latency or energy constraints.
- the reduction of data redundancy by the source encoder followed by the independent adding of redundancy by the channel encoder although optimal theoretically in the limit of infinite length source blocks and infinite length channel codes, may introduce inefficiencies into the data transmission in practice when the source and channel blocks are relatively short.
- separate source and channel coding is highly complex, and is therefore slow and consumes large amounts of energy due to the computational resources required to execute the source and channel coding, which may add a significant drain on the energy resources of battery-powered devices.
- the present disclosure provides a transmitter device for conveying information from an information source across a communications channel using a joint source channel coding autoencoder, comprising: a plurality of encoder neural networks, each encoder neural network of a joint source channel coding autoencoder, and each encoder neural network trained to receive a different information source or a different type of information source.
- the encoder neural network is configured through training to be usable to map sequences of source symbols received from the information source directly to a representation as a channel input vector X ⁇ , usable to drive a transmitter to transmit a corresponding signal over a communications channel; and a transmitter to transmit the channel input vector X ⁇ over the communications channel.
- autoencoder is provided that is trained to perform joint source and channel coding
- the encoder neural network may map a sequence of input symbols representative of an uncompressed frame of a video stream directly to values of a channel input vector (for example, the I and Q values for a Quadrature Modulation transmission scheme).
- the encoder neural network On receipt at the receiver of a transmitted channel input vector having noise added by the communications channel, this is directly decoded using a decoder neural network trained together with the encoder neural network, to recover a representation of the original source symbols.
- the channel input symbols are generated directly from the source signal (no separate source and channel encoders) using a neural network.
- This is a joint source channel coding scheme, which is a technique used in analogue communication systems, where the carrier signal is modulated directly with the information source, e.g., an audio signal, without converting it to bits.
- the joint source channel coding scheme of the present disclosure that uses an
- the joint source channel coding autoencoder of the present disclosure gets rid of the separate source encoder (which converts the samples into bits) and the separate channel encoder (which encodes these bits into channel codewords) and combines the two into one joint encoder that maps the information source samples directly into channel inputs.
- Neural networks learn through training to produce the optimum output.
- the encoder neural network and decoder neural network of the joint source channel coding encoder are trained jointly to generate a high fidelity reconstruction of the input. They can be trained for different input sources and different channel noise. This reduces the complexity of the communication system whilst ensuring the system is flexible and can be utilised with a variety of information sources and channels.
- Joint source and channel coding in digital systems lacks the modularity to encode different information sources to different communications channels that is afforded by separate source and channel coding schemes.
- joint source channel coding has been avoided as different joint source channel codes would have been needed to have been written for each different information source and modulation scheme, with the loss of modularity making this approach impractical.
- an encoder neural network and decoder neural network can be automatically trained to optimally map a given information source (or type of information source) to a given communications channel (taking account of the noise), without the user or the transmitter operating the neural network having to understand how the information source is being encoded.
- optimised joint source channel coding schemes can be realised by training of an appropriately structured neural network using a training process, without having to manually define the coding scheme.
- the perceived problems of loss of modularity do not present barriers to realistic implementation of joint source channel coding, when the autoencoders of the present disclosure are used.
- the neural network can learn the channel behaviour to ensure that the information source can be reconstructed at any channel quality. This enables any input into the decoder neural network to produce a sufficient output, even if the communication channel is unknown.
- the input may be random or may be a non-trained image and a meaningful output can still be produced.
- the encoder neural network is configured through training to map sequences of source symbols received from the information source directly to a representation as a channel input vector ) ⁇ , usable to drive a transmitter to transmit a corresponding signal over the communications channel.
- the direct mapping ensures the communications system is streamlined to reduce the time taken to transmit signals and to reduce the complexity of the system.
- the transmitter device of the present disclosure comprises a plurality of encoder neural networks, each encoder neural network of a joint source channel coding autoencoder, and each encoder neural network trained to receive a different information source or a different type of information source.
- Each encoder neural network can be trained for a specific information source and so is highly efficient at encoding the information source for transmission.
- the transmitter device is capable of receiving a plurality of different information sources or types of information source and efficiently transmitting each information source.
- each encoder neural network can also be retrained for a different type of information source.
- the transmitter device is also flexible and can adapt if the information sources or types of information source being input into the device are changed.
- the training of the different autoencoders for joint source channel coding of different information sources addresses the inherent lack of modularity in joint source channel coding, and so a transmitter device can be provided with multiple autoencoders for transmission of multiple different information sources by joint source channel coding, each autoencoder being trained to efficiently map a respective information source to the channel for transmission.
- the or each receiver can be provided with the respective complementary (and jointly trained) decoder part of the autoencoder to allow the coded information source transmitted over the communications channel to be decoded at the or each receiver.
- Each encoder neural network may be of a different joint source channel coding autoencoder.
- Each encoder network may receive a different size information source.
- Each encoder neural network may have a different number of nodes at the channel input layer.
- the information source of one of the plurality of encoder neural networks may be an image and the information source of another of the plurality of encoder neural networks may be a video.
- the transmitter may transmit each channel input vector U at a different frequency over the communications channel.
- the transmitter may transmit each channel input vector U simultaneously over the communications channel.
- the channel input layer of the encoder neural network may have nodes corresponding to the channel input vector XU and the sequences of source symbols SUU may be mapped directly to a representation as the channel input vector XT
- each encoder neural network may be configured through training to map sequences of source symbols SU
- the transmitter device may be in combination with one or more receiver devices, each receiver device may comprise: at least one decoder neural network which may correspond to one of the plurality of encoder neural networks of the transmitter device.
- the decoder neural network may have: a channel output layer having nodes corresponding to a channel output vector received from a receiver receiving a signal corresponding to at least the plurality of symbols of the channel input vector transmitted by the transmitter and transformed by the communications channel, and an output layer coupled to the channel output layer through one or more neural network layers, having nodes matching those of the input layer of the encoder neural network, wherein the first decoder neural network is configured through training to map the representation of the source symbols as the channel output vector transformed by the communications channel to a reconstruction of the source symbols output from the output layer of the joint source channel coding autoencoder, the reconstruction of the source symbols being usable to reconstitute the information source; and a receiver to receive a signal corresponding to the channel input vector ) ⁇ transmitted by the transmitter of the transmitter device over the communications channel.
- the transmitter device may be in combination with a receiver device that may comprise: a plurality of decoder neural networks, each decoder neural network may correspond to one of the plurality of encoder neural networks of the transmitter device, each decoder neural network may have: a channel output layer having nodes
- the size n of the channel input vector may be smaller than the size m of the source symbols and the information source may be compressed during mapping.
- the size n of the channel input vector ) ⁇ may be based on the channel capacity.
- the size n of the channel input vector ) ⁇ may be based on the information source or type of information source.
- the size m of the sequence of source symbols may be based on the information source or type of information source.
- the encoder neural network and corresponding decoder neural network may be trained jointly.
- the encoder neural network and decoder neural network may be trained jointly to minimise the difference between the input and output of the joint source channel coding variational autoencoder.
- the encoder neural network and decoder neural network may be trained jointly based on the type of communications channel.
- the encoder neural network and decoder neural network may be trained jointly based on a model of the communication channel, and the decoder neural network may be trained further based on the real communication channel using one way communication of known training data samples from the transmitter to the receiver.
- the encoder neural network and decoder neural network may be trained jointly based on the type of information source, or for a given information source.
- the information source may not have been compressed before being input into the joint source channel coding variational autoencoder.
- the communications channel may be a noisy communications channel.
- receivers with a higher channel quality may receive a signal to be transmitted over a channel with a low channel quality, and said signal may be of a larger size than the signal needed for transmission over the high quality channel.
- the signal may be compressed less and have more redundancy added to enable reconstruction at the receiver with the low quality channel.
- the signal transmitted across the communication channel may be larger than necessary and consume more bandwidth, making the system inefficient.
- the separate source and channel coding will be designed based on this receiver and so the signal may contain less symbols.
- receivers with good capabilities such as receivers able to receive more signal values for reconstruction, may receive a signal with a smaller number of signal values and may not be able to fully utilise its capabilities.
- Receivers with much higher channel qualities or with better capabilities would therefore be limited by a single weak receiver.
- the reconstruction at these receivers may be of a lower quality due to receiving fewer signal values, making the system inefficient.
- the separate source and channel coding will be based on the receivers that need to receive a large number of symbols. This is detrimental for receivers that do not need to receive a large number of signal values as they will still have to receive all the signal values to reconstruct the information source, wasting time, bandwidth and energy of the receiver. For example, if the receiver only requires a small number of signal values to enable fast reconstruction, the receiver may not be able to reconstruct as fast as it could due to the limitations of another receiver.
- the encoder neural network is configured through training to be usable to map sequences of source symbols received from the information source directly to a representation as a channel input vector X n .
- each decoder neural network having: a channel output layer having nodes corresponding to a channel output vector Y received from a receiver receiving a signal corresponding to at least the plurality of signal values X p of the channel input vector X ⁇ transmitted by the transmitter and transformed by the communications channel, and an output layer coupled to the channel output layer through one or more neural network layers, having nodes matching those of the input layer of the encoder neural network, wherein the first decoder neural network is configured through training to map the representation of the source symbols as the channel output vector Y transformed by the communications channel to a reconstruction of the source symbols output from the output layer of the joint source channel coding autoencoder, the reconstruction of the source symbols being usable to reconstitute the information source; and wherein the number of signal values of the channel output vector Y received by the first decoder network is more than the number
- the plurality of decoder neural networks of the joint source channel coding autoencoder connected to the encoder neural network of the joint source channel coding autoencoder enable a flexible system whereby the encoder neural network can transmit a channel input vector ) ⁇ that enables both decoder neural networks to reconstruct the information source even if they receive a differing‘amount’ (in terms of numbers of signal values) of the signal corresponding to the channel input vector XT This may occur, for example, if the decoder neural networks are located in separate receivers and one receiver is capable of receiving more signal values than the other receiver.
- the channel input vector comprises a plurality of signal values X p usable to reconstruct an information source, wherein the number p of the plurality of signal values is smaller than the total number n of signal values of the channel input vector X ⁇ , and wherein at least one of the remaining signal values of the channel input vector ) ⁇ is usable to increase the quality of the reconstructed information source.
- the encoder neural network can be matched to the more capable receiver, whilst still enabling the less capable receiver to receive the necessary signal.
- the encoder neural network can be trained for a plurality of decoder neural networks at a plurality of receivers and can enable reconstruction at all receivers, even if the receivers have different capabilities.
- this receiver can receive and process the plurality p of signal values X p without having to receive and process the remaining symbols.
- the joint source channel coding autoencoder produces the channel input vector such that the plurality of signal values can be transmitted if the minimum bandwidth is available or transmission. If only the plurality of signal values are transmitted, the receiver can reconstruct the information source at a reasonable quality. If there is additional bandwidth available for transmission, the remaining signal values can be utilised until all the available bandwidth has been used or all the remaining signal values have been transmitted. Thus, the receiver can receive the remaining signal values and combine these with the plurality of signal values X p to produce a better reconstruction of the information source due to receiving more information. This allows for an adaptable system which utilises all available resources. If there is additional bandwidth available, this is exploited to improve the quality of the receiver’s reconstruction of the information source.
- Such a communication system can be extremely valuable particularly when broadcasting to multiple receivers with different quality requirements and/or channel qualities.
- Receivers with lower quality reconstruction requirements e.g., due to lower complexity, lower energy, or lower resolution requirements in their displays, can decode the source based only on the plurality of signal values X p , and they can stop receiving afterwards, saving energy and bandwidth; while receivers with higher quality requirements can listen to all the transmitted signal values of the channel input vector (i.e. the plurality of symbols X p and the remaining symbols), and reconstruct a better quality version of the information source at the expense of additional bandwidth and processing complexity and energy.
- such a communication system can be extremely valuable when communicating over a communications channel with variable channel capacity, for example due to motion of the transmitter or receiver in a wireless communications system relative to a base station, competition for channel resource allocation with other transmitters and receivers, and due to local topography and the base station location causing path loss and fading.
- the communications system can adapt the transmitted channel input signal values representative of the information source to accommodate the variation in channel capacity, such that at times of low channel capacity, only a reduced number of channel input signal values necessary for the information source to be reconstructed with reduced quality may be transmitted by the transmitter over the channel (where resource allocation has been limited) or received by the receiver.
- the information source may be efficiently transmitted over a
- the reconstruction of the source symbols of the first decoder neural network may be of a higher quality than the reconstruction of the source symbols of the second decoder neural network.
- the plurality of signal values X ⁇ usable to reconstruct an information source may be a plurality of consecutive signal values of the channel input vector XT
- the plurality of signal values X ⁇ usable to reconstruct an information source may be a first plurality of consecutive signal values of the channel input vector XT
- the channel output layer of the first decoder neural network may receive channel output vector YU from a receiver receiving a signal corresponding to the plurality of signal values XU of the channel input vector XT
- the channel output layer of the second decoder neural network may receive channel output vector YU from a receiver receiving a signal corresponding to the channel input vector XT
- Each of the remaining signal values of the channel input vector XU when received in addition to the plurality of signal values XU, may be usable to produce a reconstruction of the source symbols SUU with a higher quality than the reconstruction of the source symbols SUU using the plurality of signal values XT
- a plurality of the remaining signal values of the channel input vector X n when received in addition to the plurality of signal values XU, together may be usable to produce a reconstruction of the source symbols SUU with a higher quality than the reconstruction of the source symbols SUU using the plurality of signal values XT
- All of the remaining symbols of the channel input vector XU may be usable to increase the quality of the reconstructed information source.
- the first decoder neural network, the second decoder neural network and the encoder neural network may be trained jointly.
- the number of symbols of the reconstruction of the source symbols SUU of the first decoder neural network may be different to the number of symbols of the reconstruction of the source symbols SUU of the second decoder neural network.
- the number p of signal values of the plurality of signal values XU may be based on the characteristics of the communications channel and/or capabilities of the receiver comprising the second decoder neural network.
- the number n of signal values of the channel input vector XU may be based on the characteristics of the communications channel and/or capabilities of the receiver comprising the first decoder neural network.
- the number p of signal values of the plurality of signal values XU may be such that the information source can be reconstructed at the second decoder neural network.
- sequences of source symbols SUU received from the information source may be mapped directly to a representation as a channel input vector XT
- the encoder neural network may be configured through training to map sequences of source symbols received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector XU
- the communications channel may be a noisy communications channel.
- the size n of the channel input vector ⁇ may be smaller than the size m of the source symbols and the information source may be compressed during mapping.
- the size n of the channel input vector ⁇ may be based on the channel capacity.
- the encoder neural network and decoder neural networks may be trained jointly to minimise the difference between the input and output of the joint source channel coding variational autoencoder.
- the encoder neural network and decoder neural networks may be trained jointly based on the type of communications channel.
- the encoder neural network and decoder neural networks may be trained jointly based on a model of the communication channel, and the decoder neural networks may be trained further based on the real communication channel using one way communication of known training data samples from the transmitter to the receivers.
- the information source may not have been compressed before being input into the joint source channel coding variational autoencoder.
- the encoder neural network is configured through training to be usable to map sequences of source symbols SUU received from the information source directly to a representation as a channel input vector XU, usable to drive a transmitter to transmit a corresponding signal over a communications channel; and a transmitter to transmit the channel input vector XU over the communications channel.
- the transmitter device may be in combination with two receiver devices, a first receiver device may comprise the first decoder neural network and a second receiver device may comprise the second decoder neural network.
- the transmitter device may be in combination with a receiver device which may comprise the first and second decoder neural networks.
- sequences of source symbols SUU received from the information source may be mapped directly to a representation as a channel input vector XT
- the encoder neural network may be configured through training to map sequences of source symbols SUU received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector XU
- the channel input vector XU comprising a plurality of signal values X p usable to reconstruct an information source, wherein the number p of the plurality of signal values X p is smaller than the total number n of signal values of the channel input vector XU , and wherein at least one of the remaining signal values of the channel input vector XU is usable to increase the quality of the reconstructed information source, and wherein the encoder neural network is configured through training to be usable to map sequences of source symbols SUU received from the information source directly to a representation as a channel input vector XU, usable to drive a transmitter to transmit a corresponding signal over a communications channel.
- the present disclosure provides a training method of a communication system for conveying information from an information source across a communications channel using a joint source channel coding autoencoder comprising an encoder neural network, a first decoder neural network and a second decoder neural network, wherein the number of signal values of the channel output vector Y received by the first decoder network is more than the number of signal values of the channel output vector Y received by the second decoder neural network
- the training method comprising: Mapping, by the encoder neural network of the joint source channel coding autoencoder, sequences of source symbols SUU received from the information source to a representation as a channel input vector XU, usable to drive a transmitter to transmit a corresponding signal over the communications channel; For each decoder neural network: Mapping, by the decoder neural network of the joint source channel coding autoencoder, the
- sequences of source symbols received from the information source may be mapped directly to a representation as a channel input vector XT
- the joint source channel coding autoencoder may be a joint source channel coding variational autoencoder, and the sequences of source symbols received from the information source may be mapped directly to a representation as a plurality of distributions that provide possible values for the X, of a channel input vector XT
- the steps may be repeated until the reconstruction of source symbols at the second decoder neural network is usable to reconstitute the information source and the reconstruction of source symbols at the first decoder neural network is of a higher quality than the reconstruction of source symbols at the second decoder neural network.
- the parameters may be amended based on the weighted sum of the loss functions.
- the weighting of each of the loss functions may be based on the desired reconstruction quality of the first decoder neural network and the second decoder neural network.
- the weighting of each of the loss functions may be based on balancing the reconstruction qualities of the first decoder neural network and the second decoder neural network.
- the weighting of each of the loss functions may be based on the requirements of the receiver of the first decoder neural network and the receiver of the second decoder neural network.
- each of the loss functions may be based on the quality of the communications channel between the encoder neural network and the first decoder neural network and the quality of the communications channel between the encoder neural network and the second decoder neural network.
- the present disclosure provides a computer- readable storage medium comprising instructions which, when executed by a computer, cause the computer to carry out the steps of the method of the encoder neural network.
- the present disclosure provides a computer- readable storage medium comprising instructions which, when executed by a computer, cause the computer to carry out the steps of the training method.
- the present disclosure provides a
- the decoder neural network having a channel output layer having nodes corresponding to a channel output vector received from a receiver receiving the signal X ⁇ transmitted by the transmitter and transformed by the communications channel, and an output layer coupled to the channel output layer through one or more neural network layers, having nodes matching those of the input layer of the encoder neural network, wherein the decoder neural network is configured through training to map the representation of the source symbols as the channel output vector transformed by the communications channel to a reconstruction of the source symbols output from the output layer of the joint source channel coding variational autoencoder, the reconstruction of the source symbols S m being usable to reconstitute the information source.
- a variational autoencoder is provided that is trained to perform joint source and channel coding (referred to as“joint source channel coding”) in which the information source, or sequences of raw, unencoded symbols generated thereby, are mapped by an encoder neural network to an output distribution sampleable (e.g. probabilistically) to directly derive the signal values of a channel input vector to drive a transmitter to transmit the encoded data over the communications channel.
- joint source channel coding joint source and channel coding
- the encoder neural network may map a sequence of input symbols representative of an uncompressed frame of a video stream to parameters (such as mean and variance) for defining distributions (for example, gaussian distributions) for each signal value of a channel input vector (for example, the I and Q values for a Quadrature Modulation transmission scheme). Then, by taking a sample of these distributions, the l-Q signal values for transmission can be derived. On receipt at the receiver of a transmitted channel input vector having noise added by the communications channel, this is directly decoded using a decoder neural network trained together with the encoder neural network, to recover a representation of the original source symbols.
- parameters such as mean and variance
- distributions for example, gaussian distributions
- the l-Q signal values for transmission can be derived.
- this is directly decoded using a decoder neural network trained together with the encoder neural network, to recover a representation of the original source symbols.
- the encoder neural network of the present disclosure comprises a channel input layer having nodes defining a plurality of distributions, which are then sampled to provide the channel input vector X ⁇ usable to drive a transmitter to transmit a corresponding signal over the communications channel. Therefore, instead of generating specific channel input values for specific inputs, where similar input values may be mapped to differing channel input values, by imposing a prior distribution, the encoder neural network is steered towards mapping similar input values to similar channel inputs. This means that, despite the noise added, the reconstruction of the input will be of a reasonable quality.
- the plurality of distributions may have the same distribution type.
- the communications channel may be a noisy communications channel.
- the distribution type of the plurality of distributions may be based on the characteristics of the communication channel.
- the distribution type may be the optimal input distribution for the channel.
- the communications channel may be modelled as a Gaussian channel, the plurality of distributions may be Gaussian distributions and the parameters defining the distributions may be the mean and standard deviation.
- the size n of the channel input vector may be smaller than the size m of the source symbols and the information source may be compressed during mapping.
- the size n of the channel input vector may be based on the channel capacity.
- the information source may be an image and the sequence of source
- symbols may represent pixels of the image.
- Each of the plurality of distributions may represent a feature of the image.
- the encoder neural network and decoder neural network may be trained jointly.
- the encoder neural network and decoder neural network may be trained jointly to minimise the difference between the input and output of the joint source channel coding variational autoencoder.
- the encoder neural network may be trained to learn the parameters of the plurality of distributions.
- the encoder neural network and decoder neural network may be trained jointly using the backpropagation algorithm or the stochastic gradient descent training algorithm.
- the encoder neural network and decoder neural network may be trained jointly based on the type of communications channel.
- the encoder neural network and decoder neural network may be trained jointly based on a model of the communication channel, and the decoder neural network may be trained further based on the real communication channel using one way communication of known training data samples from the transmitter to the receiver.
- the encoder neural network and decoder neural network may be trained to meet channel input constraints.
- the encoder neural network and decoder neural network may be trained jointly based on the type of information source, or for a given information source.
- the X, of the channel input vector may belong to a set of complex numbers, corresponding to the I and Q components.
- the channel input vector ) ⁇ may comprise one sample from each distribution of the plurality of distributions.
- the encoder neural network and decoder neural network may be trained jointly based on the measure of distance from a target distribution to the plurality of distributions.
- the distance from the target distribution may be measured using KL divergence.
- the channel input layer may be coupled to the input layer through at least five neural network layers.
- reconstruction of the source symbols may increase as the noise of the communications channel increases.
- the information source may not have been compressed before being input into the joint source channel coding variational autoencoder.
- the Zi taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the X of a channel input vector X ⁇ ⁇ Ci , X 2 ,... , X n ⁇ , the X taking values from the available input signal values of the communications channel, wherein the encoder neural network is configured through training to map sequences of source symbols received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector X ⁇ usable to drive a transmitter to transmit a corresponding signal over a communications channel.
- the transmitter device may comprise a plurality of said encoder neural networks, each trained for joint source channel coding of different given information sources or types of information source, for transmission to and decoding thereof at a receiver.
- the encoder neural network is configured through training to map sequences of source symbols received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector X ⁇ usable to drive a transmitter to transmit a corresponding signal over a communications channel.
- the present disclosure provides a training method of a communication system for conveying information from an information source across a communications channel using a joint source channel coding variational autoencoder, the training method comprising: mapping, by an encoder neural network of a joint source channel coding variational autoencoder, sequences of source symbols received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector X ⁇ usable to drive a transmitter to transmit a corresponding signal over the communications channel; mapping, by a decoder neural network of the joint source channel coding variational autoencoder, the
- the present disclosure provides a computer- readable storage medium comprising instructions which, when executed by a computer, cause the computer to carry out the steps of the method of the encoder neural network.
- the present disclosure provides a computer- readable storage medium comprising instructions which, when executed by a computer, cause the computer to carry out the steps of the training method.
- the communication system may be as described hereinbefore.
- Figure 1 provides an example illustration of a neural network.
- Figure 2 provides an example of a joint source channel coding autoencoder.
- Figure 3 provides an illustration of a communication system according to an example.
- Figure 4 provides an illustration of a transmitter device according to an example.
- Figure 5 provides an illustration of a transmitter device according to another example.
- Figure 6 provides an illustration of a receiver device according to an example.
- Figure 7 provides another example of a joint source channel coding autoencoder.
- Figure 8 provides an illustration of a communication system according to another example.
- Figure 9 provides an example flowchart of a method of an encoder neural network.
- Figure 10 provides an example flowchart of a training method of a communication system.
- Figure 11 provides an example of a joint source channel coding variational autoencoder.
- Figure 12 provides another illustration of a communication system according to an example.
- Figure 13 provides an illustration of the sampler according to an example.
- Figure 14 provides another example flowchart of a method of an encoder neural network.
- Figure 15 provides another example flowchart of a training method of a
- Figure 16 provides another illustration of a transmitter device according to an example.
- Figure 17 is a schematic diagram showing a computer according to an example.
- Figure 18 provides another illustration of a communication system according to an example.
- the present disclosure describes a communication system for conveying information from an information source across a communications channel using a joint source channel coding autoencoder, the communication system producing a high fidelity reconstruction of the information source for different information sources and different channel noise.
- the communications channel is used to convey information from one or more transmitters to one or more receivers.
- the channel may be a physical connection, e.g. a wire, or a wireless connection such as a radio channel.
- the communications channel may be an optical channel or a Bluetooth channel.
- the communications channel including the noise associated with such a channel, is modelled and defined by its characteristics and statistical properties.
- Channel characteristics can be identified by comparing the input and output of the channel, the output of which is likely to be a randomly distorted version of the input.
- the distortion indicates channel statistics such as additive noise, or other imperfections in the
- Channel characteristics include the distribution model of the channel noise, slow fading and fast fading.
- Common channel models include binary symmetric channel and additive white Gaussian noise (AWGN) channel.
- AWGN additive white Gaussian noise
- Neural networks are machine learning models that employ multiple layers of nonlinear units (known as artificial“neurons”) to generate an output from an input. Neural networks learn through training to produce the optimum output. They help to group unlabelled data according to similarities and can classify data when they have a labelled dataset to train on. Neural networks may be composed of several layers, each layer formed from nodes. Neural networks can have one or more hidden layers in addition to the input layer and the output layer. The output of each layer is used as the input to the next layer (the next hidden layer or the output layer) in the network. Each layer generates an output from its input using a set of parameters, which are optimized during the training stage. For example, each layer comprises a set of nodes, the nodes having learnable biases and their inputs having learnable weights. Learning algorithms can automatically tune the weights and biases of nodes of a neural network to optimise the output.
- artificial“neurons” nonlinear units
- FIG. 1 provides an example illustration of a neural network 100.
- Neural network 100 has a plurality of nodes and connections. The nodes are arranged to be in layers. The layers are illustrated in dashed lines to show that they are simply groupings of nodes rather than being separate objects.
- the neural network 100 comprises an input layer 102 comprising a plurality of input nodes 104 and an output layer 122 comprising a plurality of output nodes 124.
- the neural network 100 further comprises a plurality of hidden layers 106, 110, 114, 118 comprising a plurality of nodes 108, 112, 116, 120.
- the arrows between nodes illustrate connections.
- the nodes 104 of the input layer 102 are connected to nodes 108 of the hidden layer 106.
- the nodes 108 of the hidden layer 106 are connected to nodes 112 of the hidden layer 110.
- the nodes 112 of the hidden layer 110 are connected to nodes 116 of the hidden layer 114.
- the nodes 116 of the hidden layer 114 are connected to nodes 120 of the hidden layer 118.
- the nodes 120 of the hidden layer 118 are connected to the nodes 124 of the output layer 122.
- the connection between nodes means that the output of one node is the input to the next node.
- the output of the node may be a numerical value.
- the connection may have a weight associated with it which adjusts the output value of the previous node before inputting into the next node.
- a neural network may comprise any number of hidden layers. Moreover, although a certain number of nodes is shown for each layer, this is merely for illustration and a layer may comprise any number of nodes.
- the neural network layers may also be three dimensional.
- An autoencoder is a neural network that is trained to copy its input to its output. Autoencoders can provide dimensionality reduction at a hidden layer arranged to have fewer nodes than the input layer. Autoencoders also provide feature learning.
- An autoencoder includes an encoder neural network and a decoder neural network. These two networks are trained jointly to generate a reconstruction of the input. Typically, either the output of the encoder network has a lower dimension than the input, so that a low- dimensional representation of the input is learned; or, a loss function that imposes certain properties on the encoder output is used, that can act as a regularizer to prevent the network from learning the identity function.
- an autoencoder In an autoencoder, the goal of the system is to make sure that each input can be regenerated based on the encoder output.
- the encoder therefore tries to learn the most essential features of input data samples from an information source.
- the autoencoder is trained to learn the input data samples from an information source, for multiple input data sources, multiple autoencoders each trained for their specific input samples provide a highly efficient system that is adaptable for multiple different input data sources.
- the autoencoder will be explained further in the following figures.
- the autoencoder in accordance with examples of the present disclosure can be used in a communication system for conveying information from an information source across a communications channel.
- the encoder neural network of the autoencoder can replace the traditional source encoder and channel encoder.
- the encoder neural network maps the signal directly to input signal values in the channel input layer, where it is transmitted over the communications channel.
- the autoencoder may be a variational autoencoder in which the encoder neural network maps the signal directly to parameters of distributions in the input signal values of the channel input layer, where the distributions are sampled to produce the channel input vector that is transmitted over the communications channel.
- the decoder neural network of the autoencoder can replace the traditional source decoder and channel decoder.
- the decoder neural network receives the output of the communications channel and
- the encoder neural network and decoder neural network are trained to undo the effect of the channel on the signal, such as the effect of the channel noise of the signal.
- the encoder neural network and decoder neural network can also be trained to learn a representation of the source signal and recover the input with the highest fidelity possible. Further, as the neural networks are trained to optimise the mapping, the efficiency of the transmission of the information source over the communications channel can be greater than in separate source and channel coding, where the separate removal and subsequent addition of redundancy may be inherently inefficient for transferring the data.
- the encoder and decoder neural networks can be used as a form of joint source channel coding. This provides simplicity over having two separate systems for encoding and two separate systems for decoding.
- the limitations of the joint source channel coding techniques as mentioned above are removed.
- an autoencoder used for joint source channel coding herein referred to as the joint source channel coding autoencoder, can be trained for use with different channels and different input sources.
- using neural networks for conveying information across a channel enables a high degree of freedom.
- Figure 2 provides an example of a joint source channel coding autoencoder 200.
- the joint source channel coding autoencoder 200 comprises an encoder neural network 202 and a decoder neural network 204.
- the encoder neural network and decoder neural network may be deep and/or recurrent.
- the neural network of Figure 1 may be a joint source channel coding autoencoder 200.
- the encoder neural network 202 of the joint source channel coding autoencoder 200 may be formed from layers 102, 106 and 110.
- the decoder neural network 204 of the joint source channel coding autoencoder 200 may be formed from layers 114, 118 and 122.
- the encoder neural network 202 is configured through training to be usable to map sequences of source symbols S m received from the information source directly to a representation as a channel input vector X n , usable to drive a transmitter to transmit a corresponding signal over the communications channel.
- the channel input layer 110 is coupled to the input layer 102 through at least five neural network layers 106.
- the encoder neural network 202 may directly map the input nodes 104 at the input layer 102, corresponding to a sequence of source symbols S ⁇ , to the nodes 112 of the channel input layer 110, corresponding to a channel input vector X ⁇ , through the neural network.
- each input signal X of the channel input vector X ⁇ may belong to a set of complex numbers, corresponding to the I and Q components.
- the encoder neural network 202 of the joint source channel coding autoencoder 200 may perform bandwidth compression.
- the encoder neural network 202 may compress the information source during mapping such that the size n of the channel input vector X n is smaller than the size m of the source symbols STM
- the joint source channel coding autoencoder 200 may perform a bandwidth expansion, where the size n of the channel input vector X ⁇ is larger than the size m of the source symbols STM
- channel input layer 110 and channel output layer 114 are not directly connected, as indicated by the dashed arrows connecting the nodes of these layers.
- the communications channel is between channel input layer 110 and channel output layer 114.
- the values output from the encoder neural network may not be equal to the values input into the decoder neural network (for example due to noise on the communications channel).
- the decoder neural network 204 is to map the channel output signals received at the channel output layer 114 to a reconstructed version of the channel input vector S ⁇ .
- the decoder neural network 204 may be a standard decoder of an autoencoder.
- the mapping may be a deterministic mapping. (Alternatively, where the autoencoder is a variational autoencoder) the mapping may be a probabilistic mapping.
- the decoder neural network 204 of the joint source channel coding autoencoder 200 has a channel output layer 114 having nodes 116 corresponding to a channel output vector Y n received from a receiver receiving the signal transmitted by the transmitter and transformed by the communications channel.
- the decoder neural network 204 also has an output layer 122 coupled to the channel output layer 114 through one or more neural network layers 118, having nodes 124 matching those of the input layer 104 of the encoder neural network.
- the decoder neural network 204 is configured through training to map the representation of the source symbols as the channel output vector Y n transformed by the communications channel to a reconstruction of the source symbols S m output from the output layer of the joint source channel coding autoencoder 200, the reconstruction of the source symbols S m being usable to reconstitute the information source.
- the channel output layer 114 is coupled to the output layer 122 through at least five neural network layers 118.
- the decoder neural network 204 may directly map the nodes 116 at the channel output layer 114, corresponding to a channel output vector YU, to the nodes 124 of the output layer 122, corresponding to a
- the encoder neural network 202 and decoder neural network 204 may have any number of layers and each layer may comprise any number of nodes.
- the output layer of the encoder neural network 202 has the same number of nodes as the input layer of the decoder neural network 204.
- the input layer of the encoder neural network 202 has the same number of nodes as the output layer of the decoder neural network 204.
- the size n of the channel input vector X ⁇ is based on the channel capacity or the channel resources allocated for use by the transmitter (for example, the radio resources, or OFDM symbols, allocated to a radio bearer for a transmitter terminal for digital (e.g. QAM) modulation thereby in an LTE communication system).
- the size n of the channel input vector X n may be based on the size m of the source symbols S m or the size m of the reconstruction of the source symbols S m .
- the size of the source symbols is not equal to the size of the reconstruction of the source symbols S m .
- the size m of the reconstruction of the source symbols S m may be larger than the size n of the channel output vector YT
- the size n of the channel input vector X n may be equal to the size n of the channel output vector YU .
- the size n of the channel input vector X n may be different from the size n of the channel output vector Y n . for example, for a multiple input multiple output channel.
- FIG. 3 provides an illustration of a communication system 300 according to an example.
- the communication system comprises an information source 302.
- the information source 302 may be any information source.
- the information source 302 may be a discrete or continuous information source. If the information source 302 is a continuous information source, it may be sampled before being input into the encoder neural network 202.
- the information source 302 is an image and the sequence of source symbols SUU are pixels of the image.
- the sequence of source symbols may be a matrix having three values for each pixel, such as the red, green and blue values when the image has RGB components.
- the information source is text, video or sensor
- the information source may comprise a structured data set.
- the information source is raw, i.e. the information source has not been compressed before being input into the joint source channel coding autoencoder 200.
- the information source is input into input layer 102 of the encoder neural network 202 of the joint source channel coding autoencoder 200.
- the encoder neural network 202 is described above with reference to figures 1 and 2.
- the encoder neural network 202 is configured through training to be usable to map sequences of source symbols received from the information source 302 directly to a representation as a channel input vector X ⁇ usable to drive a transmitter to transmit a corresponding signal over a communications channel 310.
- the channel input layer 110 has nodes corresponding to channel input vector X ⁇ and the sequences of source symbols S m are mapped directly to a representation as the channel input vector XT
- the values of the channel input vector X ⁇ may need to be normalized before being input into the communications channel 310 to comply with average input power constraints.
- the channel input vector X ⁇ may be transmitted across communications channel 310.
- Communications channel 310 may be any type of communications channel. The types of communication channels and associated characteristics and statistical properties have been previously explained, and the communications channel 310 may be any of those previously explained.
- communications channel 310 may be a noisy communications channel. The noisy communications channel is specified by its input and output, and the output may be a randomly distorted version of the input. This distortion may be at least partially caused by noise and may also be caused by other imperfections in the communication medium such as fading or synchronization errors between the transmitter and the receiver.
- the communication channel transforms the channel input vector X ⁇ into the channel output vector in a random manner. If the channel is memoryless, then the distribution of the channel output conditioned on the channel input is given by [00170] However, the channel may have memory, which means that the output symbol at time / may depend on the channel inputs before time / as well, or the channel behaviour may change over time, for example, due to bursty noise.
- Typical digital communication systems use channel codes that are optimized for independent identically distributed (IID) channels.
- the distortion may be measured by the average squared error distortion.
- the communications channel 310 may be an additive white Gaussian noise (AWGN) channel.
- Channel output vector Y n may be a distorted version of the channel input vector.
- the decoder neural network receives the channel output vector.
- the decoder neural network 204 is described above with reference to figures 1 and 2.
- the decoder neural network of the communication system produces a reconstruction of the source symbols S m usable to reconstitute the information source 302.
- communication system 300 is a practical communication system.
- an input cost constraint is applied on the channel input, due to the limited energy of the transmitter or interference limitations.
- the cost function assigns a specific cost to each possible channel input symbol.
- the average cost constraint of P requires that every channel input vector satisfies:
- the cost function enables error minimisation between the information source and the reconstructed information source.
- the encoder neural network 202 and decoder neural network 204 of the joint source channel coding autoencoder 200 may be trained jointly to obtain a neural network capable of sufficiently reconstructing the information source 302. For example, they may be trained jointly based on the characteristics of the communication channel, based on the type of information source, for a given information source and/or to meet channel input constraints.
- the encoder neural network 202 and decoder neural network 204 of the joint source channel coding autoencoder 200 may be trained jointly using performance measures.
- One performance measure may be the loss function.
- the encoder neural network 202 and decoder neural network 204 of the joint source channel coding autoencoder 200 may be trained jointly to minimise the difference between the input and output of the joint source channel coding autoencoder 200.
- the difference between the input and output of the joint source channel coding autoencoder 200 may be another performance measure. The difference may be measured by observing the similarity between the information source and the reconstructed information source.
- the encoder neural network 202 and decoder neural network 204 may be trained jointly using the backpropagation algorithm or the stochastic gradient descent training algorithm.
- the decoder neural network may be trained further based on the real communication channel 310 using one way communication of known training data samples from the transmitter to the receiver.
- the real communication channel is the physical communication channel rather than a model of the channel characteristics that may be used on a computer for simulation.
- Known training data samples may be chosen for their ability to train the neural network of the joint source channel coding autoencoder 200.
- Known training data samples may be used for all joint source channel coding autoencoders 200 or may be chosen based on the information source 302 to be input into the joint source channel coding autoencoder 200.
- the encoder neural network 202 and decoder neural network 204 may be trained jointly using a known training set, such as the MNIST data set.
- FIG. 4 provides an example of a transmitter device 400.
- the transmitter device 400 comprises an encoder neural network 202 of a joint source channel coding
- the encoder neural network is configured through training to be usable to map sequences of source symbols received from the information source directly to a representation as a channel input vector X n . usable to drive a transmitter to transmit a corresponding signal over a communications channel.
- the transmitter 404 is to transmit the channel input vector X ⁇ over the communications channel.
- Transmitter/Receiver having Multiple Joint Source Channel Coding Autoencoders for Multiple Information Sources
- FIG. 5 provides another example of a transmitter device 500.
- the transmitter device 500 comprises a plurality of encoder neural networks 212, 222, each encoder neural network 212, 222 of a joint source channel coding autoencoder 200, and each encoder neural network 212, 222 trained to receive a different information source 312, 322 or a different type of information source 312, 322.
- the transmitter device 500 also comprises a transmitter 404 to transmit the channel input vector X ⁇ over the communications channel 310.
- the channel input vector X n may include signal values X encoded by one or both encoder neural networks, such that the transmitter device 500 may transmit at the same time signal values from multiple different encoder neural networks to send over the communications channel multiple different information sources using joint source channel coding.
- the transmitter device 400 may also comprise a plurality of transmitters to transmit multiple channel input vectors X ⁇ for the plurality of encoder neural networks 212, 222 over the communications channel 310.
- the transmitter 404 may transmit the channel input vector X ⁇ of each encoder neural network simultaneously and/or at a different frequency over the communications channel.
- the transmitter device 500 comprises a first encoder neural network 212 and a second encoder neural network 222. Although two encoder neural networks are illustrated, the transmitter device 500 may comprise any number of encoder neural networks.
- the first encoder neural network 212 and second encoder neural network 222 are examples of encoder neural network 202 of figures 1 and 2.
- the first encoder neural network 212 is part of a joint source channel coding autoencoder.
- the second encoder neural network 212 is part of a joint source channel coding autoencoder.
- Each encoder neural network may be of a different joint source channel coding autoencoder.
- the joint source channel coding autoencoder comprising the first encoder neural network 212 and the joint source channel coding autoencoder comprising the second encoder neural network 222 are examples of joint source channel coding autoencoder 200 of Figure 2.
- Each encoder neural network may have a different number of nodes at the channel input layer 102.
- the channel input layer 110 of one or more encoder neural networks 212, 222 of the transmitter device has nodes 112 corresponding to the channel input vector and the sequences of source symbols S m are mapped directly to a representation as the channel input vector XT
- Information source 312 is input into input layer 102 of the first encoder neural network 212.
- Information source 322 is input into input layer 102 of the second encoder neural network 222.
- Information source 312 and information source 322 are examples of information source 302 of Figure 3.
- Information source 312 is not the same as information source 322.
- information source 312 may have a different structure to information source 322.
- the information source 312 received at the input to the first encoder neural network 212 may be of a different size to information source 322 received at the input to the second encoder neural network 222.
- information source 312 may be of a different type to information source 322.
- information source 312 may be an image and information source 322 may be a video.
- the joint source channel coding autoencoder 200 comprising the first encoder neural network 212 and the joint source channel coding autoencoder 200 comprising the second encoder neural network 222 are separate joint source channel coding
- the joint source channel coding autoencoder 200 comprising the first encoder neural network 212 and the joint source channel coding autoencoder 200 comprising the second encoder neural network 222 are different.
- the information source or type of information source input into the first encoder neural network is different to the information source or type of information source input into the second encoder neural network.
- the autoencoder comprising the first encoder neural network 212 is trained for information source 312 and the joint source channel coding autoencoder comprising the second encoder neural network 222 is trained for information source 322.
- the joint source channel coding autoencoder 200 comprising the first encoder neural network 212 and the joint source channel coding autoencoder 200 comprising the second encoder neural network 222 are trained for different information sources. This means the neural network of the first encoder neural network 212 may differ to the neural network of the second encoder neural network 222.
- the joint source channel coding autoencoder 200 comprising the first encoder neural network 212 and the joint source channel coding autoencoder 200 comprising the second encoder neural network 222 may have different amounts of neural network layers, different amounts of nodes per layer, different weights and/or biases associated with the nodes etc.
- the first encoder neural network 212 and the second encoder neural network 222 may have different amounts of neural network layers, different amounts of nodes per layer, different weights and/or biases associated with the nodes etc.
- FIG. 6 provides an illustration of a receiver device 600 according to an example.
- the receiver device 600 may comprise a first decoder neural network 214 and a second decoder neural network 224. Although two decoder neural networks are illustrated, the receiver device 600 may comprise any number of decoder neural networks that correspond to one of the plurality of encoder neural networks of the transmitter device.
- the receiver device 600 may be in communication with the transmitter device 500 of Figure 5.
- the decoder neural networks 214, 224 of the receiver device may correspond to the encoder neural networks 212, 222 of the transmitter device.
- a joint source channel coding autoencoder 200 may comprise first encoder neural network 212 and first decoder neural network 214 and a separate joint source channel coding autoencoder 200 may comprise second encoder neural network 222 and second decoder neural network 224.
- the communication channel between each encoder neural networks and corresponding decoder neural network may have the same characteristics and distribution.
- the number of decoder neural networks may equate to the number of encoder neural networks of the transmitter device 500.
- first decoder neural network 214 and second decoder neural network 224 may be located in separate receiver devices.
- the communication channel of the first encoder neural network and the second encoder neural network may have different characteristics and distributions.
- Each receiver device may only have one decoder neural network.
- Transmitter device 500 may be in communication with both receiver devices.
- Each receiver device may comprise at least one decoder neural network corresponding to one of the plurality of encoder neural networks 212, 222 of the transmitter device 500.
- Each decoder neural network 214, 224 of receiver device 200 may have a channel output layer having nodes corresponding to a channel output vector YU received from a receiver receiving a signal corresponding to at least the plurality of signal values X p of the channel input vector XU transmitted by the transmitter and transformed by the communications channel, and an output layer coupled to the channel output layer through one or more neural network layers, having nodes matching those of the input layer of the encoder neural network, wherein the first decoder neural network is configured through training to map the representation of the source symbols as the channel output
- the receiver device 600 also comprises a receiver 602 to receive a signal corresponding to the channel input vector XU transmitted by the transmitter of the transmitter device over the communications channel.
- the transmitter comprising the encoder neural networks is highly efficient for the specific information sources and is flexible in that it is capable of receiving a plurality of different information sources or types of information source
- FIG. 7 provides another example of a joint source channel coding autoencoder.
- Joint source channel coding autoencoder 700 is an example of joint source channel coding autoencoder 200 of Figure 2.
- the neural network of Figure 1 may also be a joint source channel coding autoencoder 700.
- Joint source channel coding autoencoder 700 comprises an encoder neural network 702, a first decoder neural network 704 and a second decoder neural network 706. Although two decoder neural networks are illustrated, the joint source channel coding autoencoder 700 may comprise any number of decoder neural networks 704, 706. Decoder neural network 704 and decoder neural network 706 of joint source channel coding autoencoder 700 are examples of decoder neural network 204.
- FIG. 8 provides an illustration of a communication system 800 according to another example.
- the communication system 800 is for conveying information from an information source across a communications channel using a joint source channel coding autoencoder such as joint source channel coding autoencoder 700 of Figure 7.
- the communication system 800 comprises an encoder neural network 702, a first decoder neural network 704 and a second decoder neural network 706 of joint source channel coding autoencoder 700.
- Communication system 800 may comprise any number of encoder neural networks and decoder neural networks.
- communication system 800 may comprise a plurality of decoder neural networks and may comprise one or more receiver devices comprising one or more of the plurality of decoder neural networks 704, 706.
- Encoder neural network 702 is an example of encoder neural network 202 of figures 1 and 2 and decoder neural networks 704, 706 are examples of decoder neural network 204 of figures 1 and 2.
- the first decoder neural network 704 and the second decoder neural network 706 are of the same joint source channel coding autoencoder 700 as the encoder neural network 702.
- the encoder neural network 702 is configured through training to be usable to map sequences of source symbols received from the information source directly to a representation as a channel input vector ) ⁇ , usable to drive a transmitter to transmit a corresponding signal over the communications channel.
- the sequences of source are configured through training to be usable to map sequences of source symbols received from the information source directly to a representation as a channel input vector ) ⁇ , usable to drive a transmitter to transmit a corresponding signal over the communications channel.
- the communication system 800 further comprises a first decoder neural network 704 and a second decoder neural network 706 of the joint source channel coding autoencoder 700.
- Each decoder neural network 704, 706 has a channel output layer 114 having nodes 116 corresponding to a channel output vector Y received from a receiver receiving a signal corresponding to at least the plurality of signal values X p of the channel input vector ) ⁇ transmitted by the transmitter and transformed by the communications channel 310, and an output layer 122 coupled to the channel output layer 114 through one or more neural network layers 118, having nodes matching those of the input layer 102 of the encoder neural network 702, wherein the decoder neural network is configured through training to map the representation of the source symbols as the channel output
- the number of signal values of the channel output vector Y received by the first decoder network 704 is more than the number of signal values of the channel output vector Y received by the second decoder neural network 706.
- the plurality of signal values may be a subset of the channel input vector XT
- the channel output vector Y ⁇ received from the receiver may correspond to a subset of the channel input vector ) ⁇ , the subset transmitted by the transmitter and transformed by the communications channel.
- the sequences of source symbols received from the information source 302 are mapped directly to a representation as a channel input vector XT
- the reconstruction of the source symbols of the first decoder neural network 702 is of a higher quality than the reconstruction of the source
- the plurality of signal values X p usable to reconstruct an information source may be a plurality of consecutive signal values of the channel input vector X ⁇ and may be a first plurality of consecutive signal values of the channel input vector XT
- the channel output layer of the first decoder neural network 702 may receive channel output vector Y ⁇ from a receiver receiving a signal corresponding to the plurality of signal values X ⁇ of the channel input vector XT
- the channel output layer of the second decoder neural network may receive a channel output vector Y ⁇ from a receiver receiving a signal corresponding to the channel input vector XT
- the number of symbols of the reconstruction of the source symbols of the first decoder neural network is different to the number of symbols of the reconstruction of the source symbols of the second decoder neural network.
- the number p of the plurality of signal values X ⁇ may be based on the characteristics of the communications channel and/or capabilities of the receiver comprising the second decoder neural network.
- the number of p of the plurality of signal values X ⁇ may be such that the information source can be reconstructed at the second decoder neural network.
- the number n of the channel input vector X ⁇ may be based on the characteristics of the communications channel and/or capabilities of the receiver comprising the first decoder neural network.
- the first decoder neural network 704 may receive all signal values transmitted by the encoder neural network 702.
- the encoder neural network 702 of the communication system 800 may be included in a transmitter device such as the transmitter device of Figure 4.
- the transmitter device is for conveying information from an information source across a communications channel using a joint source channel coding autoencoder 700.
- the first decoder neural network 704 and/or second decoder neural network 706 of Figure 7 may be included in a receiver device such as the receiver device of Figure 6.
- first decoder neural network 704 and second decoder neural network 706 may be located in the same receiver device, which is in communication with transmitter device.
- the receiver 602 of the receiver device may receive channel input vector ) ⁇ , which may be input into the first decoder neural network 704 and the second decoder neural network may receive some of the signal values of the channel input vector such as the plurality of signal values X ⁇ .
- the first decoder neural network 704 may therefore produce a higher quality reconstruction of the information source 302 than the second neural network 706 but the second decoder neural network 706 may be able to produce a reconstruction of the information source quicker than the first decoder neural network 704 due to having to receive and process fewer signal values.
- the second decoder neural network can still be used to reconstruct the information source, albeit with a lower quality.
- the transmitter/receiver are able to transmit/receive an increased number of signal values such that the entirety of the channel input vector X n can be transmitted/received (for example, when increased channel capacity/radio resources are allocated), then the first decoder neural network can be used to reconstruct a higher quality version of the information source.
- first decoder neural network 704 and second decoder neural network 706 may be located in separate receiver devices and the transmitter device may be in communication with both receiver devices.
- the receiver device comprising the first decoder neural network 704 may therefore produce a higher quality reconstruction of the information source 302 than the receiver device comprising the second neural network 706.
- the receiver device comprising the second decoder neural network 706 may be able to produce a reconstruction of the information source quicker than the receiver device comprising the first decoder neural network 704 due to having to receive and process fewer signal values.
- the communication channel between the encoder neural network and the first decoder neural network and the communication channel between the encoder neural network and the second decoder neural network may have different characteristics and distributions.
- An advantage of the communication system is that the joint source channel coding autoencoder can be trained for one or more specific communication channels, even if they are different. The training method will be described later with reference to Figure 10.
- the second decoder neural network 706 may be located in a receiver device of a lower quality than the receiver device comprising the first decoder neural network 704. Hence, the second decoder neural network 706 may receive fewer signal values of each channel input vector ) ⁇ than the first decoder neural network 704.
- each of the remaining signal values of the channel input vector ) ⁇ when received in addition to the plurality of signal values X ⁇ , are usable to produce a reconstruction of the source symbols with a higher quality than the reconstruction of the source symbols using the plurality of signal values X ⁇ .
- a receiver may receive only the plurality of signal values of the channel input vector and the decoder neural network of the receiver reconstructs the information source. If the receiver also receives one remaining signal value, then the decoder neural network of the receiver can produce a reconstruction of the information source at a higher quality. If the receiver receives another remaining signal value, then the decoder neural network of the receiver can produce a reconstruction of the information source at a higher quality.
- a plurality of the remaining signal values of the channel input vector ) ⁇ when received in addition to the plurality of signal values X ⁇ , together are usable to produce a reconstruction of the source symbols with a higher quality than the reconstruction of the source symbols using the plurality of signal values X ⁇ .
- All of the remaining signal values of the channel input vector may be usable to increase the quality of the reconstructed information source.
- the first decoder neural network, the second decoder neural network and the encoder neural network may be trained jointly. The training method will be described later with reference to Figure 10.
- the encoder neural network 702 may be trained to produce a number of signal values to be transmitted to enable reconstruction and to produce additional signal values to be transmitted to enable reconstruction of a higher quality.
- the encoder neural network 702 may be trained to produce a number of signal values to be transmitted to enable reconstruction and to produce additional signal values to be transmitted to enable reconstruction of a higher quality.
- the total number of signal values transmitted at one time from the encoder neural network 802 may be four.
- Two signal values, Yi , 2 may be transmitted (for example when channel capacity/resource allocation only enables two signal values to be transmitted) to enable reconstruction of the information source to a reasonable level.
- the remaining signal values Y3 ,4 when combined with the two signal values Yi , 2, can improve the quality of the reconstruction of the information source.
- a receiver comprising a decoder neural network such as the second decoder neural network 224, was to receive the two signal values Yi , 2, the decoder neural network 224 could reconstruct the information source.
- the first decoder neural network 704 could reconstruct the information source and the reconstruction would be of a higher quality than the reconstruction at both of the other receivers.
- This is an example of the communications system 800 but any number of signal values can be transmitted by the transmitter having the encoder neural network 202 and received from a receiver or receivers having the first decoder neural network 214 and/or second decoder neural network 224.
- the quality of the reconstruction is determined by the similarity between the information source and the reconstruction of the information source. For example, if the reconstruction closely matches the information source, the reconstruction is of a high quality. Alternatively, if the reconstruction does not closely match the information source, the reconstruction is of a low quality.
- the quality of the reconstruction of the information source may be measured by the number of errors of the reconstruction or the number of symbols of the reconstruction. The measured number of errors may be a percentage of the total number of symbols of the reconstruction of the information source.
- the quality of the reconstruction of the information source may depend on the size of the information source and the size of the reconstruction of the information source.
- Figure 9 provides an example flowchart of a method 900 of an encoder neural network of a joint source channel coding autoencoder.
- the encoder neural network performing the method 900 may be encoder neural network 702 of figures 7 and 8.
- the method 900 is for conveying information from an information source across a
- the channel input vector ) ⁇ comprises a plurality of signal values usable to reconstruct an information source.
- the number p of the plurality of signal values X p is smaller than the total number n of the signal values in the channel input vector X n , and at least one of the remaining signal values
- the encoder neural network 702 is configured through training to be usable to map sequences of source symbols received from the information source directly to a representation as a channel input vector X ⁇ , usable to drive a transmitter to transmit a corresponding signal over a communications channel 310.
- FIG 10 is an example flowchart of a training method 1000 of a communication system 800.
- the training method 1000 is for training a joint source channel coding autoencoder 700 to convey information from an information source 302 across a communications channel 310.
- the training method 1000 is of a communication system 800 comprising an encoder neural network 702, a first decoder neural network 704 and a second decoder neural network 706, wherein the number of signal values of the channel output vector Y received by the first decoder network 704 is more than the number of signal values of the channel output vector Y received by the second decoder neural network 706.
- the encoder neural network 702 of the joint source channel coding autoencoder 700 maps 1002 sequences of source symbols received from the information source to a representation as a channel input vector X ⁇ , usable to drive a transmitter to transmit a corresponding signal over the communications channel 310.
- the first decoder network maps 1004 the representation of the source symbols as the channel output vector Y transformed by the communications channel to a reconstruction of the source symbols output from the output layer of the joint source channel coding autoencoder 700.
- the sequences of source symbols are compared 1006 to the reconstruction of source symbols at the output layer of the first decoder neural network.
- a loss function is then formulated 1008 for the first decoder neural network 704 based on the comparison.
- the second decoder neural network 706 performs the same steps 1010, 1012, 1014 as the first decoder neural network 704.
- parameters of the joint source channel coding autoencoder are amended 1016 based on the loss function for the first decoder neural network and the loss function for the second decoder neural network. It is then decided 1018 whether the reconstruction of source symbols at the first decoder neural network is usable to reconstitute the information source and the reconstruction of source symbols at the second decoder neural network is usable to reconstitute the information source. If both reconstructions are usable to reconstitute the information source, then the training ends 1020. If not, the steps 1002 to 1016 are repeated.
- Steps 1004, 1006 and 1008 performed by the first decoder neural network 704 are independent of steps 1010, 1012 and 1014 performed by the second decoder neural network 706 and these sets of steps can therefore be performed independent of each other.
- steps 1010, 1013 and 1014 can be performed in parallel, before or after steps 1004, 1006 and 1008.
- both steps 1004 and 1010 are performed after the mapping 1002 by the encoder neural network.
- steps 1004 to 1008 may be repeated for all of the decoder neural networks and the amending 1016 of the parameters will be based on the loss functions of all the decoder neural networks of the communication system 800.
- the steps 1002 to 1016 may be repeated until the reconstruction of source symbols at the second decoder neural network is usable to reconstitute the information source and the reconstruction of source symbols at the first decoder neural network is of a higher quality than the reconstruction of source symbols at the second decoder neural network.
- autoencoder 200 are only amended if the comparison shows that the reconstructions of source symbols of the decoder neural networks are not usable to reconstitute the information source and/or are not at the required quality.
- sequences of source symbols received from the information source are mapped directly to a representation as a channel input vector X[ ⁇
- the parameters to be amended 1016 based on the comparison may be the weights and/or biases of the nodes of the neural network layers.
- the parameters may be amended 1016 based on the channel characteristics, for example signal to noise ratio.
- the communication system is flexible and so the encoder neural network could then also be used with differing channels with the same SNR.
- the channel characteristics may be found by using channel sounding, i.e. sending known pulses across the channel.
- the parameters may also be amended 1016 based on the information source, for example, based on the data structure of the information source. Through training, the neural network may increase in dimension to more than two dimensions.
- the first decoder neural network 704 and the second decoder neural network 706 may be located in different receivers and so the communication channel between the encoder neural network 702 and the first decoder neural network 704 and the communication channel between the encoder neural network 702 and the second decoder neural network 706 may have different characteristics and distributions.
- the parameters of the joint source channel coding autoencoder are amended to ensure that the reconstruction of source symbols of both the decoder neural networks is usable to reconstitute the information source.
- the characteristics of the communication channel between the encoder neural network 702 and the first decoder neural network 704 and the characteristics of the communication channel between the encoder neural network 702 and the second decoder neural network 706 are learnt through training such that, for each decoder neural network, the channel output vector transformed by the communication channel can still be mapped to a reconstruction of source symbols that is usable to reconstitute the information source.
- both decoder neural networks 704, 706 are trained jointly together with the encoder neural network 702.
- the decoder neural networks 704, 706 receive different amounts of signal values and the reconstruction of source symbols S m may therefore differ.
- the reconstruction of source symbols at the first decoder neural network may be of a higher quality.
- the loss function indicates the quality of the reconstruction of source symbols at each decoder neural network 704, 706.
- the loss function of each decoder neural network is formulated based on the comparison of the sequences of source symbols and the reconstruction of source symbols at the output of the decoder neural network.
- the loss functions may be weighted based on the desired quality of reconstruction at each receiver.
- the parameters may be amended 1016 based on a loss function of the joint source channel coding autoencoder.
- This loss function may be a weighted sum of the loss functions for each decoder neural network.
- the weighting of the loss functions may be amended to balance the reconstruction qualities of the first decoder neural network and the second decoder neural network.
- weighting of each of the loss functions is based on the quality of the communications channel between the encoder neural network and the first decoder neural network and the quality of the communications channel between the encoder neural network and the second decoder neural network.
- the weighting of each of the loss functions is based on the desired reconstruction quality of the first decoder neural network and the second decoder neural network.
- the quality of the reconstruction of the second decoder neural network 706 may be higher as it has received more information.
- the weighting factor will determine how much emphasis is put on the quality of each layer. For example, putting all the weight on one of the decoders will ignore the other, and hence, the ignored network will not be trained, whereas in general, the autoencoder will learn to balance the reconstruction qualities of the two decoders.
- the encoder neural network 202 is configured through training to be usable to map sequences of source symbols received from the information source 302 directly to a representation as a channel input vector Xj, usable to drive a transmitter 404 to transmit a corresponding signal over a communications channel 310; and a transmitter 404 to transmit the channel input vector X over the communications channel 310.
- the X taking values from the available input signal alphabet of the communications channel 310, the channel input vector X comprising a plurality of signal values X p usable to reconstruct an information source 302, wherein the number p of the plurality of signal values X p is smaller than the total number n of signal values of the channel input vector , and wherein at least one of the remaining symbols of the channel input vector ) ⁇ is usable to increase the quality of the reconstructed information source.
- the encoder neural network 702 is configured through training to be usable to map sequences of source symbols received from the information source 302 directly to a representation as a channel input vector X ⁇ , usable to drive a transmitter to transmit a corresponding signal over the communications channel 310; a first decoder neural network 704 and a second decoder neural network 706 of the joint source channel coding autoencoder 700, each decoder neural network having: a channel output layer 114 having nodes corresponding to a channel output vector Y received from a receiver receiving a signal corresponding to at least the plurality of signal values of the channel input vector transmitted by the transmitter and transformed by the communications channel 310, and an output layer 122 coupled to the channel output layer through one or more neural network layers 118, having nodes matching those of the input layer 102 of the encoder neural network 702, wherein the decoder neural network is configured through training to map the representation of the source symbols as the channel output vector Y transformed by the communications channel 310 to a reconstruction of the source symbols output from the output layer
- the plurality of decoder neural networks of the joint source channel coding autoencoder connected to the encoder neural network of the joint source channel coding autoencoder enable a flexible system whereby the encoder neural network can transmit a channel input vector ) ⁇ that enables both decoder neural networks to reconstruct the information source even if they receive a differing‘amount’ of the signal corresponding to the channel input vector XT
- the plurality of decoder neural networks in the joint source channel coding autoencoder enable multiple levels of reconstruction at one receiver or reconstruction at all receivers, if the decoder neural networks are located in separate receivers, even if the receivers have different capabilities.
- the joint source channel coding can be responsive to changes in channel capacity/resource allocation on the communications channel, allowing sufficient symbols to be communicated to allow reconstruction of a relatively low quality version of the information source at times of relatively low channel capacity, and sufficient symbols to be communicated to allow reconstruction of a relatively high quality version of the information source at times of relatively high channel capacity.
- a variational autoencoder is a particular type of autoencoder.
- the joint source channel coding variational autoencoder is an example of the joint source channel coding autoencoders detailed above, such as joint source channel coding autoencoders 200 of Figure 2 and 700 of Figure 7.
- Joint source channel coding variational autoencoders have the same advantages as joint source channel coding autoencoders.
- the features of the joint source channel coding autoencoder as previously explained, also apply to the joint source channel coding variational autoencoder.
- features of the joint source channel coding autoencoder may also be features of the joint source channel coding variational autoencoder and features of the joint source channel coding variational autoencoder may also be features of the joint source channel coding autoencoder.
- the goal of the system is to make sure that each input can be regenerated based on the encoder output.
- the encoder therefore tries to learn the most essential features of each input data sample. But, for example, if the encoder output dimension is sufficiently large, each input data point could be mapped to a distinct output, and the decoder can simply learn the inverse mapping from encoder outputs to input values. In principle, the encoder can map two similar inputs to completely different output values. Therefore, in an autoencoder, if the encoder output differs from the decoder input (for example due to a noisy channel), the decoder neural network may not be able to reconstruct the information source. This is because the output layer of the encoder neural network comprises specific values.
- a variational autoencoder enables optimisation of the reconstruction of the information source.
- the goal is to learn the stochastic model that generates the underlying source signals. Therefore, in a variational autoencoder, the outputs of the encoder neural network are parameters of distributions, the distributions being based on certain features of the input data and being randomly sampleable to provide output values. The sampler may be considered to form part of the variational autoencoder.
- the distributions may be based on statistical features of a structured data set.
- the distributions may be based on features of an image, such as a face, or a smile.
- the distributions may be based on abstract structures that generate the image. If the (sampled) output of the encoder neural network differs from the input to the decoder neural network (for example due to a noisy channel), the variational autoencoder can still produce a reconstruction of the information source, which decreases in quality as the difference between encoder neural network output a decoder neural network input increases. The variational autoencoder will be explained further in the following figures.
- the variational autoencoder in accordance with examples of the present disclosure can be used in a communication system for conveying information from an information source across a communications channel.
- the encoder neural network of the variational autoencoder can replace the traditional source encoder and channel encoder.
- the encoder neural network maps the signal directly to the channel input layer (or to distributions therein defined by the encoder neural network), where it is sampled and transmitted over the communications channel.
- the decoder neural network of the variational autoencoder can replace the traditional source decoder and channel decoder.
- the decoder neural network receives the output of the communications channel and reconstructs the signal.
- the encoder neural network and decoder neural network are trained to undo the effect of the channel on the signal, such as the effect of the channel noise of the signal.
- the encoder neural network and decoder neural network can also be trained to learn a representation of the source signal and recover the input with the highest fidelity possible. Further, as the neural networks are trained to optimise the mapping, the efficiency of the transmission of the information source over the communications channel can be greater than in separate source and channel coding, where the separate removal and subsequent addition of redundancy may be inherently inefficient for transferring the data.
- the encoder and decoder neural networks can be used as a form of joint source channel coding. This provides simplicity over having two separate systems for encoding and two separate systems for decoding.
- the limitations of the joint source channel coding techniques as mentioned above are removed.
- a variational autoencoder used for joint source channel coding herein referred to as the joint source channel coding variational autoencoder, can be trained for use with different channels and different input sources.
- using neural networks for conveying information across a channel enables a high degree of freedom.
- Figure 11 provides an example of a joint source channel coding variational autoencoder 1100.
- the joint source channel coding variational autoencoder 1100 comprises an encoder neural network 1102 and a decoder neural network 1104.
- the encoder neural network and decoder neural network may be deep and/or recurrent.
- the neural network of Figure 1 may be a joint source channel coding variational autoencoder 1100.
- the encoder neural network 1102 of the joint source channel coding variational autoencoder 1100 may be formed from layers 102, 106 and 110.
- the decoder neural network 1104 of the joint source channel coding variational autoencoder 1100 may be formed from layers 114, 118 and 122.
- the encoder neural network 1102 is configured through training to map sequences of source symbols S m received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector X n , usable to drive a transmitter to transmit a corresponding signal over the communications channel.
- the channel input layer 110 is coupled to the input layer 102 through at least five neural network layers 106.
- the encoder neural network 1102 may directly map the input nodes 104 at the input layer 102, corresponding to a sequence of source symbols S ⁇ , to the nodes 112 of the channel input layer 110, corresponding to a channel input distribution vector Z ⁇ , through the neural network.
- each input signal X of the channel input vector X ⁇ may belong to a set of complex numbers, corresponding to the I and Q components.
- the encoder neural network 1102 of the joint source channel coding variational autoencoder 1100 may perform bandwidth compression.
- the encoder neural network 1102 may compress the information source during mapping such that the size n of the channel input vector X ⁇ is smaller than the size m of the source symbols STM
- the joint source channel coding variational autoencoder 1100 may perform a bandwidth expansion, where the size n of the channel input vector X ⁇ is larger than the size m of the source symbols S m .
- the plurality of distributions have the same distribution type.
- the plurality of distributions may be Gaussian distributions defined by a mean and a standard deviation.
- the first k/2 elements of the channel input distribution vector Z ⁇ encode the mean value of the corresponding channel input distributions
- the remaining k/2 elements of the channel input distribution vector encode the standard deviations of the corresponding channel input distributions.
- the /-th channel input X is a sample from a Gaussian distribution with mean Z, and standard deviation Z,+k.
- each distribution of the plurality of distributions is sampled once.
- the size n of the channel input vector is half the size k of the channel input distribution vector Z k .
- the channel input vector comprises one sample from each distribution of the plurality of distributions.
- the distribution type of the plurality of distributions may be the optimal input distribution for the channel.
- the encoder neural network 1102 may be trained as part of the training of the joint source channel coding variational autoencoder 1100 to learn the parameters of the plurality of distributions.
- the type of distribution of the plurality of distributions is based on the characteristics of the communication channel.
- the type of distribution may be based on the distribution model of the channel noise or the fading. For example if the communications channel can be modelled as a Gaussian channel, then the plurality of distributions are Gaussian distributions.
- An advantage of using a variational autoencoder for conveying information over a communications channel is that, for many common channel models such as binary symmetric channels and AWGN channels, we know the optimal input distribution.
- the channel when transmitting a Gaussian source distribution over a Gaussian channel, no coding is necessary, and simple uncoded transmission with power allocation achieves the optimal Shannon bound.
- the channel is AWGN
- the joint source channel coding variational autoencoder 1100 the channel can be used at its theoretical limit. This suggests that if we can represent the underlying data set through a Gaussian distribution, as is achievable in examples of the present disclosure, that would correspond to the optimal input distribution to the channel.
- the decoder neural network 1104 is to map the channel output sequence to a reconstructed version of the channel input vector s ⁇ .
- the decoder neural network 1104 may be a standard decoder of an autoencoder.
- the mapping may be a deterministic mapping. Alternatively the mapping may be a probabilistic mapping.
- the decoder neural network 1104 of the joint source channel coding variational autoencoder 1100 has a channel output layer 114 having nodes 116 corresponding to a channel output vector Y n received from a receiver receiving the signal X n transmitted by the transmitter and transformed by the communications channel.
- the decoder neural network 1104 also has an output layer 122 coupled to the channel output layer 114 through one or more neural network layers 118, having nodes 124 matching those of the input layer 104 of the encoder neural network.
- the decoder neural network 1104 is configured through training to map the representation of the source symbols as the channel output vector Y n transformed by the communications channel to a reconstruction of the source symbols S m output from the output layer of the joint source channel coding variational autoencoder 1100, the reconstruction of the source symbols S m being usable to reconstitute the information source.
- the channel output layer 114 is coupled to the output layer 122 through at least five neural network layers 118.
- the decoder neural network 1104 may directly map the nodes 116 at the channel output layer 114, corresponding to a channel output vector YU, to the nodes 124 of the output layer 122, corresponding to a
- the encoder neural network 1102 and decoder neural network 1104 may have any number of layers and each layer may comprise any number of nodes.
- the output layer of the encoder neural network 1102 has the same number of nodes as the input layer of the decoder neural network 1104.
- the input layer of the encoder neural network 1102 has the same number of nodes as the output layer of the decoder neural network 1104.
- the size n of the channel input vector X n is based on the channel capacity or the channel resources allocated for use by the transmitter (for example, the radio resources, or OFDM symbols, allocated to a radio bearer for a transmitter terminal for digital (e.g. QAM) modulation thereby in an LTE communication system).
- the size n of the channel input vector X n may be based on the size m of the source symbols STM or the size m of the reconstruction of the source symbols S m .
- the size of the source symbols is not equal to the size of the reconstruction of the source symbols S m .
- the size k of the channel input distribution vector may be larger than the size n of the channel input vector XT
- the size m of the reconstruction of the source symbols S m may be larger than the size n of the channel output vector YT
- the size n of the channel input vector X n may be equal to the size n of the channel output vector YU .
- the size n of the channel input vector XU may be different from the size n of the channel output vector YU , for example, for a multiple input multiple output channel.
- Figure 12 provides an illustration of a communication system 1200 according to an example.
- the communication system comprises an information source 302.
- the information source 302 has been described previously with reference to Figure 3.
- the information source is input into input layer 102 of the encoder neural network 1102 of the joint source channel coding variational autoencoder 1100.
- the encoder neural network 1 102 is described above with reference to figures 1 and 11.
- the communication system 1200 further comprises a sampler 1206.
- the sampler may produce outputs Xi 1214 and X 2 1216.
- the sampler will be described in more detail below.
- the sample values may need to be normalized before being input into the communications channel to comply with average input power constraints.
- Channel input vector XU may be transmitted across communications channel 310.
- Communications channel has been described previously with reference to Figure 3. Due to the use of distributions, even if the input to the decoder neural network 1 104 does not equal the output of the encoder neural network 1102, the joint source channel coding variational autoencoder 1100 may still be able to reconstruct the information source 302. This is because the channel input distribution vector defines a plurality of distributions, each distribution being sampleable to provide possible values for the of a channel input vector usable to drive a transmitter to transmit a corresponding signal over the
- the plurality of distributions enable graceful degradation of the performance of the communications system. This means that the quality of reconstruction of the input source slowly degrades as the channel noise increases.
- the reconstruction of the information source reduces in similarity to the information source and consequently the quality of the reconstruction is reduced.
- the difference between the sequence of source symbols S m and the reconstruction of the source symbols S m may increase.
- the decoder neural network 1104 receives the channel output vector.
- the decoder neural network 1104 is described above with reference to figures 1 and 11.
- the decoder neural network of the communication system produces a reconstruction of the source symbols S m usable to reconstitute the information source 302.
- Figure 13 provides an illustration of the sampler 1206 according to an example.
- Sampler 1206 may receive two inputs Z 2 1324 and Z 4 1326 . These inputs are the parameters of a distribution such as distribution 1322.
- Sampler 1206 may sample the distribution defined by the parameters Z 2 and Z 4 to produce an output X 2 1328.
- the output X 2 1328 may be any value that falls within the distribution 1322 and is illustrated by the spot labelled X 2 on the scale.
- the distribution 1322 is a Gaussian distribution with a mean and a standard deviation.
- Z 2 1324 provides the standard deviation and Z 4 1326 provides the mean to the sampler.
- the sampler samples the Gaussian distribution to produce the output X 2 1328.
- sampler 1206 may receive two inputs Zi 1304 and Z3 1306. These inputs are the parameters of a distribution such as distribution 1302. Sampler 1206 may sample the distribution defined by the parameters Z1 and Zz io produce an output X1 1308, 1310. The output X1 1308, 1310 may be any value that falls within the distribution 1302 and is illustrated by the spots labelled output X1 on the scale.
- the distribution 1302 is a Gaussian distribution with a mean and a standard deviation.
- Zi 1304 provides the standard deviation and Z3 1306 provides the mean to the sampler.
- the sampler randomly samples the distribution 1302. Therefore, the output of the sampler varies even if the same input distribution is used. It is acknowledged that the distribution and, consequently, the parameters of the distribution will not be constant but will vary depending on the information source. Nevertheless, for illustrational purposes, at a first time and a second time the sampler receives the same parameters.
- Figure 14 provides an example flowchart of a method 1400 of an encoder neural network 1102 of a joint source channel coding variational autoencoder 1100.
- the encoder neural network 1102 is configured through training to map sequences of source
- the encoder neural network 1102 and decoder neural network 1104 of the joint source channel coding variational autoencoder 1100 may be trained jointly to obtain a neural network capable of sufficiently reconstructing the information source 302. For example, they may be trained jointly based on the characteristics of the communication channel, based on the type of information source, for a given information source and/or to meet channel input constraints.
- the encoder neural network 1102 and decoder neural network 1104 of the joint source channel coding variational autoencoder 1100 may be trained jointly using performance measures.
- One performance measure may be the loss function.
- the encoder neural network 1102 and decoder neural network 1104 of the joint source channel coding variational autoencoder 1100 may be trained jointly to minimise the difference between the input and output of the joint source channel coding variational autoencoder 1100.
- the difference between the input and output of the joint source channel coding variational autoencoder 1100 may be another performance measure.
- the difference may be measured by observing the similarity between the information source and the reconstructed information source. Alternatively or additionally, the difference may be measured by finding the“distance” between the actual channel input distribution and the target distribution.
- the distance between the probability distributions can be measured using KL divergence. For target distribution q(X n ), the KL divergence DKL is calculated using the following equation.
- f represents the encoder network parameters.
- the target distribution may be set as a zero-mean Gaussian with covariance R ⁇ , where P is the average input power constraint.
- the encoder neural network 1102 and decoder neural network 1104 may be trained jointly based on the measure of distance from the target distribution to the plurality of distributions.
- Joint training has been further explained with reference to the encoder neural network 202 and decoder neural network 204 of the joint source channel coding autoencoder 200 of Figure 2 and the same training can be applied to the joint source channel coding variational autoencoder 1100 of Figure 11.
- Figure 15 provides an example flowchart of a training method 1500 of a communication system 1200.
- the training method 1500 is for training a joint source channel coding variational autoencoder 1100 to convey information from an information source 302 across a communications channel 310.
- the encoder neural network 1102 of the joint source channel coding variational autoencoder 1100 maps 1502 sequences of source symbols received from the information source directly to a representation as a plurality of distributions that provide possible values for the X, of a channel input vector ) ⁇ , usable to drive a transmitter to transmit a corresponding signal over the communications channel 310.
- the decoder neural network 1104 of the joint source channel coding variational autoencoder 1100 maps 1504 the representation of the source symbols as the channel output vector transformed by the communications channel to a reconstruction of the source symbols output from the output layer of the joint source channel coding variational autoencoder 1100.
- the reconstruction of source symbols is usable to reconstitute the information source. If the reconstruction of source symbols is usable to reconstitute the information source, then the method ends 1512. If not, the method steps 1502 to 1508 are repeated until the reconstruction of source symbols is usable to reconstitute the information source. It is to be noted that the parameters of the joint source channel coding variational autoencoder 1100 are only amended if the comparison shows that the reconstruction of source symbols S m is not usable to reconstitute the information source.
- the parameters to be amended 1508 based on the comparison may be the weights and/or biases of the nodes of the neural network layers.
- the parameters of the distributions may be trained based on the characteristics of the channel. For example, the channel capacity differs based on the signal to noise ratio (SNR) and so the encoder neural network can be trained based on the SNR.
- SNR signal to noise ratio
- the communication system is flexible and so the encoder neural network can then also be used with differing channels with the same SNR.
- the channel characteristics may be found by using channel sounding, i.e. sending known pulses across the channel.
- the parameters of the distributions may be trained based on the information source, for example, based on the data structure of the information source. Through training, the neural network may increase in dimension to more than two dimensions.
- FIG. 16 provides an example of a transmitter device 1600.
- the transmitter device 1600 comprises an encoder neural network 1102 of a joint source channel coding variational autoencoder 1100, a transmitter 1604 and a sampler 1606.
- the encoder neural network is configured through training to map sequences of source symbols received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector X ⁇ usable to drive a transmitter to transmit a corresponding signal over a communications channel.
- the sampler may be an example of the sampler 1206 of Figure 12.
- the transmitter 1604 of the transmitter device 1600 transmits the channel input vector over the communications channel.
- Figure 17 is a schematic diagram showing a computer 1700 according to an example.
- Computer 1700 comprises a processor 1702 and a storage medium 1704.
- the storage medium 1704 is a computer-readable storage medium comprising instructions which, when executed by the computer 1700, cause the computer 1700 to carry out the steps of method 900 of Figure 9 or method 1000 of Figure 10 or method 1400 of Figure 14 or method 1500 of Figure 15.
- the computer-readable storage medium comprises instructions which, when executed by the computer 1700, cause the computer 1700 to carry out the steps of a plurality of the methods 900, 1000, 1400 and 1500.
- the encoder neural networks of the transmitter device 500 may be encoder neural networks of joint source channel coding variational autoencoder 1100.
- the transmitter device 500 comprises a first encoder neural network 212 and a second encoder neural network 222.
- These encoder neural networks may be examples of encoder neural network 1102 of Figure 11 and may be part of separate joint source channel coding variational autoencoders 1100.
- each encoder neural network may be configured through training to map sequences of source symbols received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector XT
- Figure 18 provides another illustration of a communication system 1800 according to an example.
- the communication system 1800 of Figure 18 is an example of the communication system 800 of Figure 8.
- the communication system may comprise encoder neural network 1802, first decoder neural network 1804 and second decoder neural network 1806.
- Encoder neural network 1802, first decoder neural network 1804 and second decoder neural network 1806 may be of a joint source channel coding variational autoencoder, such as joint source channel coding variational encoder 1100 of Figure 11.
- the encoder neural network 1802 may be configured through training to map sequences of source symbols received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector XT
- the sampler may receive inputs Z1 to Zs, sample the inputs and produce outputs X1 1808, X2I8IO, X3 1818, X 4 1816.
- the sampler 1812 has been described above in relation to Figure 13.
- the encoder neural network 1802 of the communication system 1800 of Figure 18 may be included in a transmitter device such as transmitter device 1600 of Figure 16.
- the method 900 of Figure 9 and the training method 1000 of Figure 10 may be performed for the communication system of Figure 18.
- the joint source channel coding autoencoder may be a joint source channel coding variational autoencoder, and the channel input layer may have nodes
- the encoder neural network may be configured through training to map sequences of source symbols S m received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector XT
- the joint source channel coding autoencoder may be a joint source channel coding variational
- the sequences of source symbols received from the information source may be mapped directly to a representation as a plurality of distributions that provide possible values for the X, of a channel input vector XT
- a transmitter device 500 for conveying information from an information source across a communications channel using a joint source channel coding autoencoder 200 comprising: a plurality of encoder neural networks 212, 222, each encoder neural network of a joint source channel coding autoencoder, and each encoder neural network trained to receive a different information source or a different type of information source.
- the encoder neural network is configured through training to be usable to map sequences of source symbols received from the information source directly to a representation as a channel input vector X n . usable to drive a transmitter to transmit a corresponding signal over a communications channel; and a transmitter to transmit the channel input vector X ⁇ over the communications channel.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
A transmitter device for conveying information from an information source across a communications channel using a joint source channel coding autoencoder, comprising: a plurality of encoder neural networks, each encoder neural network of a joint source channel coding autoencoder, and each encoder neural network trained to receive a different information source or a different type of information source. Each encoder neural network may comprise: an input layer having input nodes corresponding to a sequence of source symbols S
m = {S1, S2,..., Sm}, the Si, taking values in a finite alphabet S, received at the input layer from an information source as samples thereof, and a channel input layer coupled to the input layer through one or more neural network layers, the channel input layer having nodes usable to provide values for the Xi, of a channel input vector Xn = {X1 , X2,..., Xn}, the Xi, taking values from the available input signal alphabet X of the communications channel, wherein the encoder neural network is configured through training to be usable to map sequences of source symbols S
m received from the information source directly to a representation as a channel input vector X
n, usable to drive a transmitter to transmit a corresponding signal over a communications channel; and a transmitter to transmit the channel input vector X
n over the communications channel.
Description
JOINT SOURCE CHANNEL CODING OF INFORMATION SOURCES USING NEURAL
NETWORKS
[0001] This present application provides disclosures relating to communication systems for conveying information from an information source across a communications channel using joint source channel coding, in particular by the use of an encoder neural network and decoder neural network providing a joint source channel coding autoencoder.
BACKGROUND
[0002] An aim of a data communication system is to efficiently and reliably send data from an information source over a communication channel from a transmitter at as high a rate as possible with as few errors as achievable in view of the channel noise, to enable a faithful representation of the original information source to be recovered at a transmitter.
[0003] Most digital communication systems today include a source encoder and separate channel encoder at a transmitter and a source decoder and separate channel decoder at a receiver.
[0004] Information sources to be transmitted over the channel generally store or generate‘raw’ or‘uncompressed’ data directly or indirectly representative of characteristics of the information source, to allow faithful reproduction of the information source by a given combination of data processing hardware appropriately configured, for example by software or firmware. The information source may be representative of images, documents, audio or video recordings, sensor data, and so on. The information source is any information source suitable for arranging as a sequence of source symbols or fundamental data elements (for example, bits), such as static files or databases or arranged as a sequence over time, as in a stream of data from a sensor or a video camera.
[0005] In digital communications systems, to transmit data from the information source over a communications channel, the source symbols are first digitally compressed into bits by the source encoder. The goal in source coding is to encode the sequence of source symbols into a coded representation of data elements to reduce the redundancy in the original sequence of source symbols. In lossless compression one has to remove redundancy such that the original information source can still be reconstructed as the original version from the coded representation, while lossy compression allows a certain amount of degradation in the reconstructed version under some specified distortion measure, for example squared error. JPEG for images, or H264/MPEG for videos are examples of lossy source compression standards widely used in practice. Compressing
the information source using a source encoder before transmission means that fewer resources are required for that transmission.
[0006] Once the data from the information source has been encoded to compress it down in size, to transfer this representation over a communication channel, the output of the source encoder is then provided to a channel encoder. The goal of the channel encoder is to encode the compressed data representation in a structured way using a suitable Error Correction Code (ECC) by adding redundancy such that even if some of these bits are distorted or lost due to noise over the channel, the receiver can still recover the original sequence of bits reliably. The amount of redundancy that is added depends on the statistical properties of the underlying communication channel and a target Bit Error Rate (BER). Generally, such channel coding schemes using Forward Error Correction (FEC) provide for a faithful recovery of the transmitted data elements (such as a compressed data source) where the noise on the channel leads to a quality of signal reception below a maximum BER. However, due to the cliff effect, as channel noise increases, BER will increase drastically and, when the channel noise is too high and a maximum BER is breached, the signal transmission will drop out completely, meaning the transmitted data cannot be recovered. There are many different channel coding techniques in practice that provide various complexity and performance trade-offs. Turbo codes and Low-density parity-check (LDPC) codes are examples of ECCs that are commonly used in modern communication systems such as WiMAX and fourth generation Long-Term Evolution (LTE) mobile communications.
[0007] The coded bits at the output of the channel encoder are transmitted over the channel using a modulator. The modulator converts the bits into signals that can be transmitted over the communication medium. For example, in wireless systems using Quadrature Modulation of two out of phase amplitude modulated carrier signals, the transmitted waveform is specified by its In-Phase (I) and Quadrature (Q) components, and a modulator typically has a discrete set of pre-specified I and Q values, called a constellation, and each group of coded information bits are mapped to a single point in this constellation. Example modulation schemes include phase shift keying (PSK) and quadrature amplitude modulation (QAM).
[0008] The receiver receives and demodulates (for example, by coherent demodulation) a sequence of noisy symbols, where the noise has been added by the communications channel. These noisy demodulated symbols are then mapped to sequences of data elements by a channel decoder. The decoded data elements are then passed to the source decoder, which decodes these data elements to try to reconstruct a representation of the originally input source symbols to reconstruct the information source.
[0009] Naturally, the source encoder and decoder are designed jointly, as are the channel encoder and decoder, but as can be seen the source encoder/decoder and channel encoder/decoder are designed and operate separately to perform very different functions.
[0010] The main advantage of separate source and channel coding is the modularity it provides. This means that the same channel encoder and decoder can be used in conjunction with any source encoder and decoder. That is, as long as the source encoder outputs data elements that can be encoded by the channel encoder, it does not matter if these bits come from an image compressor or a video encoder. Thus a channel encoder can encode data elements for transmission over a channel irrespective of the data elements or the information source from which they have been derived.
[0011] Similarly, the source encoder and decoder can be operated in conjunction with any channel encoder and decoder to transmit the encoded source symbols over a communications channel. Thus a source encoder can encode data elements for subsequent coding by the channel encoder independently of which channel encoder is used.
[0012] It is in the above context that the present disclosure has been devised.
BRIEF SUMMARY OF THE DISCLOSURE
[0013] The present inventors have realised that, despite the significant advantage of modularity that separate source and channel coding provides, it has disadvantages which may render this approach to have a deleterious effect on communication systems, particularly those trying to send relatively large amounts of data over noisy channels under latency or energy constraints. In particular, the reduction of data redundancy by the source encoder followed by the independent adding of redundancy by the channel encoder, although optimal theoretically in the limit of infinite length source blocks and infinite length channel codes, may introduce inefficiencies into the data transmission in practice when the source and channel blocks are relatively short. Further, separate source and channel coding is highly complex, and is therefore slow and consumes large amounts of energy due to the computational resources required to execute the source and channel coding, which may add a significant drain on the energy resources of battery-powered devices.
[0014] As the volume of data required to be transmitted over communications channels increases, to accommodate this, the resources allocated to the communications system must be increased to provide increased channel capacity which places a burden on the transmitter and receiver. Alternatively, or in addition, the information source must be
compressed in an even more lossy fashion, which impacts on the quality of the
reconstruction of the information source at the receiver.
[0015] It is in this context that the presently disclosed joint source channel coding autoencoder for use in a communication system for conveying information from an information source across a communications channel has been devised.
[0016] In consideration of the context of the above background, the present inventors have realised that using a joint source channel coding autoencoder to convey information from an information source across a communications channel would provide an advantageous means of providing a simple and flexible communication system addressing the limitations of current communication systems.
[0017] Moreover, the present inventors have realised that using multiple joint source channel coding autoencoders to convey information from different information sources or different types of information source across a communications channel would provide an advantageous means of providing a flexible and efficient communication system.
[0018] Thus, viewed from one aspect, the present disclosure provides a transmitter device for conveying information from an information source across a communications channel using a joint source channel coding autoencoder, comprising: a plurality of encoder neural networks, each encoder neural network of a joint source channel coding autoencoder, and each encoder neural network trained to receive a different information source or a different type of information source. Each encoder neural network may comprise: an input layer having input nodes corresponding to a sequence of source symbols
= {Si , S2, ... , Sm}, the S, taking values in a finite alphabet S, received at the input layer from an information source as samples thereof, and a channel input layer coupled to the input layer through one or more neural network layers, the channel input layer having nodes usable to provide values for the X, of a channel input vector
= {Xi , X2, ... , Xn}, the X taking values from the available input signal alphabet X of the
communications channel, wherein the encoder neural network is configured through training to be usable to map sequences of source symbols
received from the information source directly to a representation as a channel input vector X^, usable to drive a transmitter to transmit a corresponding signal over a communications channel; and a transmitter to transmit the channel input vector X^ over the communications channel.
[0019] In accordance with the presently disclosed communication system, an
autoencoder is provided that is trained to perform joint source and channel coding
(referred to as“joint source channel coding”) in which the information source, or sequences of raw, unencoded symbols generated thereby, are mapped by an encoder neural network directly to signal values of a channel input vector to drive a transmitter to
transmit the encoded data over the communications channel. That is, for example, the encoder neural network may map a sequence of input symbols representative of an uncompressed frame of a video stream directly to values of a channel input vector (for example, the I and Q values for a Quadrature Modulation transmission scheme). On receipt at the receiver of a transmitted channel input vector having noise added by the communications channel, this is directly decoded using a decoder neural network trained together with the encoder neural network, to recover a representation of the original source symbols.
[0020] Thus in accordance with the present disclosure, the channel input symbols are generated directly from the source signal (no separate source and channel encoders) using a neural network. This is a joint source channel coding scheme, which is a technique used in analogue communication systems, where the carrier signal is modulated directly with the information source, e.g., an audio signal, without converting it to bits. However, the joint source channel coding scheme of the present disclosure that uses an
autoencoder is not analogue communication, since the underlying information source (possibly continuous) is sampled digitally, and the goal is to transmit these sample values over the channel. Therefore, the joint source channel coding autoencoder of the present disclosure gets rid of the separate source encoder (which converts the samples into bits) and the separate channel encoder (which encodes these bits into channel codewords) and combines the two into one joint encoder that maps the information source samples directly into channel inputs.
[0021] Neural networks learn through training to produce the optimum output. The encoder neural network and decoder neural network of the joint source channel coding encoder are trained jointly to generate a high fidelity reconstruction of the input. They can be trained for different input sources and different channel noise. This reduces the complexity of the communication system whilst ensuring the system is flexible and can be utilised with a variety of information sources and channels.
[0022] Joint source and channel coding in digital systems lacks the modularity to encode different information sources to different communications channels that is afforded by separate source and channel coding schemes. Thus in digital systems where data sampled from different information sources needs to be transmitted, joint source channel coding has been avoided as different joint source channel codes would have been needed to have been written for each different information source and modulation scheme, with the loss of modularity making this approach impractical. However, in accordance with the present disclosure, where an autoencoder is used for joint source channel coding, an encoder neural network and decoder neural network can be automatically trained to
optimally map a given information source (or type of information source) to a given communications channel (taking account of the noise), without the user or the transmitter operating the neural network having to understand how the information source is being encoded. Thus the advantages of data transmission efficiency and low resource burdens of using optimised joint source channel coding schemes can be realised by training of an appropriately structured neural network using a training process, without having to manually define the coding scheme. Thus the perceived problems of loss of modularity do not present barriers to realistic implementation of joint source channel coding, when the autoencoders of the present disclosure are used.
[0023] The neural network can learn the channel behaviour to ensure that the information source can be reconstructed at any channel quality. This enables any input into the decoder neural network to produce a sufficient output, even if the communication channel is unknown. For example, the input may be random or may be a non-trained image and a meaningful output can still be produced.
[0024] The encoder neural network is configured through training to map sequences of source symbols
received from the information source directly to a representation as a channel input vector )^, usable to drive a transmitter to transmit a corresponding signal over the communications channel. The direct mapping ensures the communications system is streamlined to reduce the time taken to transmit signals and to reduce the complexity of the system.
[0025] Further, the transmitter device of the present disclosure comprises a plurality of encoder neural networks, each encoder neural network of a joint source channel coding autoencoder, and each encoder neural network trained to receive a different information source or a different type of information source. Each encoder neural network can be trained for a specific information source and so is highly efficient at encoding the information source for transmission. Thus, the transmitter device is capable of receiving a plurality of different information sources or types of information source and efficiently transmitting each information source. Moreover, each encoder neural network can also be retrained for a different type of information source. Thus, the transmitter device is also flexible and can adapt if the information sources or types of information source being input into the device are changed. The training of the different autoencoders for joint source channel coding of different information sources addresses the inherent lack of modularity in joint source channel coding, and so a transmitter device can be provided with multiple autoencoders for transmission of multiple different information sources by joint source channel coding, each autoencoder being trained to efficiently map a respective information source to the channel for transmission. The or each receiver can be provided with the
respective complementary (and jointly trained) decoder part of the autoencoder to allow the coded information source transmitted over the communications channel to be decoded at the or each receiver.
[0026] Thus, there is provided a simple and flexible communications system with improved capabilities for the transmission and reception of different information sources or types of information sources.
[0027] Each encoder neural network may be of a different joint source channel coding autoencoder.
[0028] Each encoder network may receive a different size information source.
[0029] Each encoder neural network may have a different number of nodes at the channel input layer.
[0030] The information source of one of the plurality of encoder neural networks may be an image and the information source of another of the plurality of encoder neural networks may be a video.
[0031] The transmitter may transmit each channel input vector U at a different frequency over the communications channel.
[0032] The transmitter may transmit each channel input vector U simultaneously over the communications channel.
[0033] For at least one encoder neural network, the channel input layer of the encoder neural network may have nodes corresponding to the channel input vector XU and the sequences of source symbols SUU may be mapped directly to a representation as the channel input vector XT
[0034] Each joint source channel coding autoencoder may be a joint source channel coding variational autoencoder, wherein the nodes of the channel input layer of each encoder neural network may correspond to a channel input distribution vector ZU = { Zi, Z2, ... , ZK}, the Zi taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the X, of the channel input vector XU = {Ci , X2,... , Xn}, and wherein each encoder neural network may be configured through training to map sequences of source symbols SU| received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector XU, the transmitter device may further comprise: a sampler, configured to produce a channel input vector XU = {Ci , X2,... , Xn} in use by sampling the respective distribution for each channel input X defined by the channel input
distribution vector
= { Zi , Z2, ... , ZK} output by the channel input layer of each encoder neural network.
[0035] The transmitter device may be in combination with one or more receiver devices, each receiver device may comprise: at least one decoder neural network which may correspond to one of the plurality of encoder neural networks of the transmitter device. The decoder neural network may have: a channel output layer having nodes corresponding to a channel output vector
received from a receiver receiving a signal corresponding to at least the plurality of symbols
of the channel input vector
transmitted by the transmitter and transformed by the communications channel, and an output layer coupled to the channel output layer through one or more neural network layers, having nodes matching those of the input layer of the encoder neural network, wherein the first decoder neural network is configured through training to map the representation of the source symbols as the channel output vector
transformed by the communications channel to a reconstruction of the source symbols
output from the output layer of the joint source channel coding autoencoder, the reconstruction of the source symbols
being usable to reconstitute the information source; and a receiver to receive a signal corresponding to the channel input vector )^ transmitted by the transmitter of the transmitter device over the communications channel.
[0036] The transmitter device may be in combination with a receiver device that may comprise: a plurality of decoder neural networks, each decoder neural network may correspond to one of the plurality of encoder neural networks of the transmitter device, each decoder neural network may have: a channel output layer having nodes
corresponding to a channel output vector
received from a receiver receiving a signal corresponding to at least the plurality of symbols
of the channel input vector XU transmitted by the transmitter and transformed by the communications channel, and an output layer coupled to the channel output layer through one or more neural network layers, having nodes matching those of the input layer of the encoder neural network, wherein the first decoder neural network is configured through training to map the representation of the source symbols as the channel output vector
transformed by the communications channel to a reconstruction of the source symbols
output from the output layer of the joint source channel coding autoencoder, the reconstruction of the source symbols
being usable to reconstitute the information source; and a receiver to receive a signal corresponding to the channel input vector
transmitted by the transmitter of the transmitter device over the communications channel.
[0037] For at least one of the plurality of encoder neural networks, the size n of the channel input vector
may be smaller than the size m of the source symbols
and the information source may be compressed during mapping.
[0038] For at least one of the plurality of encoder neural networks, the size n of the channel input vector )^ may be based on the channel capacity.
[0039] For at least one of the plurality of encoder neural networks, the size n of the channel input vector )^ may be based on the information source or type of information source.
[0040] For at least one of the plurality of encoder neural networks, the size m of the sequence of source symbols
may be based on the information source or type of information source.
[0041] For at least one of the plurality of encoder neural networks, the encoder neural network and corresponding decoder neural network may be trained jointly.
[0042] For at least one of the plurality of encoder neural networks, the encoder neural network and decoder neural network may be trained jointly to minimise the difference between the input and output of the joint source channel coding variational autoencoder.
[0043] For at least one of the plurality of encoder neural networks, the encoder neural network and decoder neural network may be trained jointly based on the type of communications channel.
[0044] For at least one of the plurality of encoder neural networks, the encoder neural network and decoder neural network may be trained jointly based on a model of the communication channel, and the decoder neural network may be trained further based on the real communication channel using one way communication of known training data samples from the transmitter to the receiver.
[0045] For at least one of the plurality of encoder neural networks, the encoder neural network and decoder neural network may be trained jointly based on the type of information source, or for a given information source.
[0046] For at least one of the plurality of encoder neural networks, the information source may not have been compressed before being input into the joint source channel coding variational autoencoder.
[0047] For at least one of the plurality of encoder neural networks, the communications channel may be a noisy communications channel.
[0048] Referring back to separate source and channel coding, when the same signal is broadcasted to multiple receivers, separate source and channel coding is designed based
on the receiver with the poorest capabilities or the receiver with the worst channel quality. There is no flexibility as to what each receiver receives which will lead to wasted resources for at least one of the receivers. For example, receivers with a higher channel quality may receive a signal to be transmitted over a channel with a low channel quality, and said signal may be of a larger size than the signal needed for transmission over the high quality channel. For example, the signal may be compressed less and have more redundancy added to enable reconstruction at the receiver with the low quality channel. Thus, the signal transmitted across the communication channel may be larger than necessary and consume more bandwidth, making the system inefficient. Alternatively, if the transmission is to a receiver with poor capabilities, for example that can only receive a small number of signal values or is slower at receiving symbols, then the separate source and channel coding will be designed based on this receiver and so the signal may contain less symbols. This means that receivers with good capabilities, such as receivers able to receive more signal values for reconstruction, may receive a signal with a smaller number of signal values and may not be able to fully utilise its capabilities. Receivers with much higher channel qualities or with better capabilities would therefore be limited by a single weak receiver. Thus the reconstruction at these receivers may be of a lower quality due to receiving fewer signal values, making the system inefficient.
[0049] In another example, if the transmission is to receivers that do not need to receive a large number of signal values and do not need to reconstruct the information source to a high quality and also receivers that do need to receive a large number of signal values and do need to reconstruct the information source to a high quality, the separate source and channel coding will be based on the receivers that need to receive a large number of symbols. This is detrimental for receivers that do not need to receive a large number of signal values as they will still have to receive all the signal values to reconstruct the information source, wasting time, bandwidth and energy of the receiver. For example, if the receiver only requires a small number of signal values to enable fast reconstruction, the receiver may not be able to reconstruct as fast as it could due to the limitations of another receiver.
[0050] In another example, when a signal is transmitted to a receiver, separate source and channel coding is designed based on the channel bandwidth. If there is additional bandwidth available, this is not utilised, even if the receiver is capable of receiving additional information.
[0051] It is in this context that the presently disclosed joint source channel coding autoencoder for use in a communication system for conveying information from an information source across a communications channel has been devised. In consideration
of the context of the above background, the present inventors have realised that using a joint source channel coding autoencoder to convey information from an information source across a communications channel would provide an advantageous means of providing a simple and flexible communication system addressing the limitations of current
communication systems. Moreover, the present inventors have realised that transmitting a channel input vector comprising signal values usable to reconstruct an information source and additional signal values for improvement of the reconstruction would provide an advantageous means of providing a flexible and efficient communication system.
[0052] Viewed from another aspect, the present disclosure provides a communication system for conveying information from an information source across a communications channel using a joint source channel coding autoencoder, comprising: an encoder neural network of the joint source channel coding autoencoder, the encoder neural network having: an input layer having input nodes corresponding to a sequence of source symbols
= {Si , S2, ... , Sm}, the S, taking values in an alphabet S, received at the input layer from the information source as samples thereof, and a channel input layer coupled to the input layer through one or more neural network layers, the channel input layer having nodes usable to provide values for the X, of a channel input vector XU = {Ci , X2, ... , Xn}, the X taking values from the available input signal alphabet of the communications channel, the channel input vector X^ comprising a plurality of signal values Xp usable to reconstruct an information source, wherein the number p of the plurality of signal values Xp is smaller than the total number n of signal values of the channel input vector X^, and wherein at least one of the remaining signal values of the channel input vector X^ is usable to increase the quality of the reconstructed information source, and wherein the encoder neural network is configured through training to be usable to map sequences of source symbols
received from the information source directly to a representation as a channel input vector Xn. usable to drive a transmitter to transmit a corresponding signal over the communications channel; a first decoder neural network and a second decoder neural network of the joint source channel coding autoencoder, each decoder neural network having: a channel output layer having nodes corresponding to a channel output vector Y received from a receiver receiving a signal corresponding to at least the plurality of signal values Xp of the channel input vector X^ transmitted by the transmitter and transformed by the communications channel, and an output layer coupled to the channel output layer through one or more neural network layers, having nodes matching those of the input layer of the encoder neural network, wherein the first decoder neural network is configured through training to map the representation of the source symbols as the channel output vector Y transformed by the communications channel to a reconstruction of the source symbols output from the output layer of the joint source channel coding autoencoder,
the reconstruction of the source symbols being usable to reconstitute the information source; and wherein the number of signal values of the channel output vector Y received by the first decoder network is more than the number of signal values of the channel output vector Y received by the second decoder neural network.
[0053] The plurality of decoder neural networks of the joint source channel coding autoencoder connected to the encoder neural network of the joint source channel coding autoencoder enable a flexible system whereby the encoder neural network can transmit a channel input vector )^ that enables both decoder neural networks to reconstruct the information source even if they receive a differing‘amount’ (in terms of numbers of signal values) of the signal corresponding to the channel input vector XT This may occur, for example, if the decoder neural networks are located in separate receivers and one receiver is capable of receiving more signal values than the other receiver.
[0054] The channel input vector
comprises a plurality of signal values Xp usable to reconstruct an information source, wherein the number p of the plurality of signal values is smaller than the total number n of signal values of the channel input vector X^, and wherein at least one of the remaining signal values of the channel input vector )^ is usable to increase the quality of the reconstructed information source. Thus, rather than the encoder neural network having to transmit the smallest number of signal values to enable the decoder neural network within the less capable receiver to reconstruct the information source, the encoder neural network can be matched to the more capable receiver, whilst still enabling the less capable receiver to receive the necessary signal. Thus, the encoder neural network can be trained for a plurality of decoder neural networks at a plurality of receivers and can enable reconstruction at all receivers, even if the receivers have different capabilities. In another example, if a receiver is used for fast reconstruction, this receiver can receive and process the plurality p of signal values Xp without having to receive and process the remaining symbols.
[0055] Moreover, the joint source channel coding autoencoder produces the channel input vector such that the plurality of signal values can be transmitted if the minimum bandwidth is available or transmission. If only the plurality of signal values are transmitted, the receiver can reconstruct the information source at a reasonable quality. If there is additional bandwidth available for transmission, the remaining signal values can be utilised until all the available bandwidth has been used or all the remaining signal values have been transmitted. Thus, the receiver can receive the remaining signal values and combine these with the plurality of signal values Xp to produce a better reconstruction of the information source due to receiving more information. This allows for an adaptable system
which utilises all available resources. If there is additional bandwidth available, this is exploited to improve the quality of the receiver’s reconstruction of the information source.
[0056] Such a communication system can be extremely valuable particularly when broadcasting to multiple receivers with different quality requirements and/or channel qualities. Receivers with lower quality reconstruction requirements, e.g., due to lower complexity, lower energy, or lower resolution requirements in their displays, can decode the source based only on the plurality of signal values Xp, and they can stop receiving afterwards, saving energy and bandwidth; while receivers with higher quality requirements can listen to all the transmitted signal values of the channel input vector
(i.e. the plurality of symbols Xp and the remaining symbols), and reconstruct a better quality version of the information source at the expense of additional bandwidth and processing complexity and energy.
[0057] Further, such a communication system can be extremely valuable when communicating over a communications channel with variable channel capacity, for example due to motion of the transmitter or receiver in a wireless communications system relative to a base station, competition for channel resource allocation with other transmitters and receivers, and due to local topography and the base station location causing path loss and fading. Here, the communications system can adapt the transmitted channel input signal values representative of the information source to accommodate the variation in channel capacity, such that at times of low channel capacity, only a reduced number of channel input signal values necessary for the information source to be reconstructed with reduced quality may be transmitted by the transmitter over the channel (where resource allocation has been limited) or received by the receiver. Similarly, when the channel capacity is increased, a greater number of channel input signal values may be transmitted or received on the channel allowing the information source to be reconstructed at the receiver with an increased quality. Thus in accordance with this aspect of the present disclosure, the information source may be efficiently transmitted over a
communications channel for reconstruction by the receiver using an autoencoder for joint source channel coding that is able to adapt to the varying channel capacity.
[0058] The reconstruction of the source symbols
of the first decoder neural network may be of a higher quality than the reconstruction of the source symbols
of the second decoder neural network.
[0059] The plurality of signal values X^ usable to reconstruct an information source may be a plurality of consecutive signal values of the channel input vector XT
[0060] The plurality of signal values X^ usable to reconstruct an information source may be a first plurality of consecutive signal values of the channel input vector XT
[0061] The channel output layer of the first decoder neural network may receive channel output vector YU from a receiver receiving a signal corresponding to the plurality of signal values XU of the channel input vector XT
[0062] The channel output layer of the second decoder neural network may receive channel output vector YU from a receiver receiving a signal corresponding to the channel input vector XT
[0063] Each of the remaining signal values of the channel input vector XU, when received in addition to the plurality of signal values XU, may be usable to produce a reconstruction of the source symbols SUU with a higher quality than the reconstruction of the source symbols SUU using the plurality of signal values XT
[0064] A plurality of the remaining signal values of the channel input vector Xn, when received in addition to the plurality of signal values XU, together may be usable to produce a reconstruction of the source symbols SUU with a higher quality than the reconstruction of the source symbols SUU using the plurality of signal values XT
[0065] All of the remaining symbols of the channel input vector XU may be usable to increase the quality of the reconstructed information source.
[0066] The first decoder neural network, the second decoder neural network and the encoder neural network may be trained jointly.
[0067] The number of symbols of the reconstruction of the source symbols SUU of the first decoder neural network may be different to the number of symbols of the reconstruction of the source symbols SUU of the second decoder neural network.
[0068] The number p of signal values of the plurality of signal values XU may be based on the characteristics of the communications channel and/or capabilities of the receiver comprising the second decoder neural network.
[0069] The number n of signal values of the channel input vector XU may be based on the characteristics of the communications channel and/or capabilities of the receiver comprising the first decoder neural network.
[0070] The number p of signal values of the plurality of signal values XU may be such that the information source can be reconstructed at the second decoder neural network.
[0071] The sequences of source symbols SUU received from the information source may be mapped directly to a representation as a channel input vector XT
[0072] The joint source channel coding autoencoder may be a joint source channel coding variational autoencoder, wherein the nodes of the channel input layer of the encoder neural network may correspond to a channel input distribution vector ZU = { Zi ,
Z2,... , Zk}, the Zi taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the X, of the channel input vector )^ = {Ci , X2,... , Xn}, and wherein the encoder neural network may be configured through training to map sequences of source symbols
received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector XU, the communication system may further comprise: a sampler, configured to produce a channel input vector X^ = {X1 , X2, ... , Xn} in use by sampling the respective distribution for each channel input X defined by the channel input distribution vector Z^ = { Z1 , Z2, ... , ZK} output by the channel input layer of the encoder neural network.
[0073] The communications channel may be a noisy communications channel.
[0074] The size n of the channel input vector ^ may be smaller than the size m of the source symbols
and the information source may be compressed during mapping.
[0075] The size n of the channel input vector ^ may be based on the channel capacity.
[0076] The encoder neural network and decoder neural networks may be trained jointly to minimise the difference between the input and output of the joint source channel coding variational autoencoder.
[0077] The encoder neural network and decoder neural networks may be trained jointly based on the type of communications channel.
[0078] The encoder neural network and decoder neural networks may be trained jointly based on a model of the communication channel, and the decoder neural networks may be trained further based on the real communication channel using one way communication of known training data samples from the transmitter to the receivers.
[0079] The information source may not have been compressed before being input into the joint source channel coding variational autoencoder.
[0080] Viewed from another aspect, the present disclosure provides a transmitter device for conveying information from an information source across a communications channel using a joint source channel coding autoencoder comprising: an encoder neural network of a joint source channel coding autoencoder, the encoder neural network comprising: an input layer having input nodes corresponding to a sequence of source symbols Sm = (Si , S2, ... , Sm}, the Si taking values in a finite alphabet S, received at the input layer from an information source as samples thereof, and a channel input layer coupled to the input layer through one or more neural network layers, the channel input layer having nodes usable to provide values for the X of a channel input vector ^ = {X1 , X2,... , Xn}, the X taking values from the available input signal alphabet X of the communications channel, the
channel input vector XU comprising a plurality of signal values X usable to reconstruct an information source, wherein the number p of the plurality of signal values Xp is smaller than the total number n of signal values of the channel input vector XU, and wherein at least one of the remaining signal values of the channel input vector XUJs usable to increase the quality of the reconstructed information source, and wherein the encoder neural network is configured through training to be usable to map sequences of source symbols SUU received from the information source directly to a representation as a channel input vector XU, usable to drive a transmitter to transmit a corresponding signal over a communications channel; and a transmitter to transmit the channel input vector XU over the communications channel.
[0081] The transmitter device may be in combination with two receiver devices, a first receiver device may comprise the first decoder neural network and a second receiver device may comprise the second decoder neural network.
[0082] The transmitter device may be in combination with a receiver device which may comprise the first and second decoder neural networks.
[0083] The sequences of source symbols SUU received from the information source may be mapped directly to a representation as a channel input vector XT
[0084] The joint source channel coding autoencoder may be a joint source channel coding variational autoencoder, wherein the nodes of the channel input layer of the encoder neural network may correspond to a channel input distribution vector ZU = { Zi , Z2, ... , ZK}, the Zi taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the X of the channel input vector XU = {Ci , X2,... , Xn}, and wherein the encoder neural network may be configured through training to map sequences of source symbols SUU received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector XU, the transmitter device may further comprise: a sampler, configured to produce a channel input vector XU = {Ci , X2,... , Xn} in use by sampling the respective distribution for each channel input X defined by the channel input distribution vector ZU = { Zi , Z2, ... , ZK} output by the channel input layer of the encoder neural network.
[0085] Viewed from another aspect, the present disclosure provides a method of an encoder neural network of a joint source channel coding autoencoder for conveying information from an information source across a communications channel, the method comprising: Receiving, at input nodes of an input layer, samples of an information source corresponding to a sequence of source symbols SUU = {Si , S2,... , Sm}, the S, taking values in a finite alphabet S; and Mapping the sequence of source symbols Sm from the input
layer through one or more neural network layers to a channel input layer, the channel input layer having nodes usable to provide values for the X, of a channel input vector XU = {Xi ,
X2, ... , Xn}, the X taking values from the available input signal alphabet X of the
communications channel, the channel input vector XU comprising a plurality of signal values Xp usable to reconstruct an information source, wherein the number p of the plurality of signal values Xp is smaller than the total number n of signal values of the channel input vector XU , and wherein at least one of the remaining signal values of the channel input vector XU is usable to increase the quality of the reconstructed information source, and wherein the encoder neural network is configured through training to be usable to map sequences of source symbols SUU received from the information source directly to a representation as a channel input vector XU, usable to drive a transmitter to transmit a corresponding signal over a communications channel.
[0086] The joint source channel coding autoencoder may be a joint source channel coding variational autoencoder, wherein the channel input layer has nodes corresponding to a channel input distribution vector ZU = { Z1 , Z2, ... , ZK}, the Z, taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the X of a channel input vector XU, and wherein the encoder neural network is configured through training to map sequences of source symbols Sm received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector Xn.
[0087] Viewed from another aspect, the present disclosure provides a training method of a communication system for conveying information from an information source across a communications channel using a joint source channel coding autoencoder comprising an encoder neural network, a first decoder neural network and a second decoder neural network, wherein the number of signal values of the channel output vector Y received by the first decoder network is more than the number of signal values of the channel output vector Y received by the second decoder neural network, the training method comprising: Mapping, by the encoder neural network of the joint source channel coding autoencoder, sequences of source symbols SUU received from the information source to a representation as a channel input vector XU, usable to drive a transmitter to transmit a corresponding signal over the communications channel; For each decoder neural network: Mapping, by the decoder neural network of the joint source channel coding autoencoder, the
representation of the source symbols as the channel output vector Y transformed by the communications channel to a reconstruction of the source symbols SUU output from the output layer of the joint source channel coding autoencoder, Comparing the sequence of source symbols SUU to the reconstruction of source symbols Sm of the decoder neural
network, and Formulating a loss function for the decoder neural network based on the comparison; Amending parameters of the joint source channel coding autoencoder based on the loss functions of the decoder neural networks; and Repeating the above steps until the reconstruction of source symbols
at each decoder neural network is usable to reconstitute the information source.
[0088] The sequences of source symbols
received from the information source may be mapped directly to a representation as a channel input vector XT
[0089] The joint source channel coding autoencoder may be a joint source channel coding variational autoencoder, and the sequences of source symbols
received from the information source may be mapped directly to a representation as a plurality of distributions that provide possible values for the X, of a channel input vector XT
[0090] The steps may be repeated until the reconstruction of source symbols
at the second decoder neural network is usable to reconstitute the information source and the reconstruction of source symbols
at the first decoder neural network is of a higher quality than the reconstruction of source symbols
at the second decoder neural network.
[0091] The parameters may be amended based on the weighted sum of the loss functions.
[0092] The weighting of each of the loss functions may be based on the desired reconstruction quality of the first decoder neural network and the second decoder neural network.
[0093] The weighting of each of the loss functions may be based on balancing the reconstruction qualities of the first decoder neural network and the second decoder neural network.
[0094] The weighting of the loss functions may be amended to balance the
reconstruction qualities of the first decoder neural network and the second decoder neural network.
[0095] The weighting of each of the loss functions may be based on the requirements of the receiver of the first decoder neural network and the receiver of the second decoder neural network.
[0096] The weighting of each of the loss functions may be based on the quality of the communications channel between the encoder neural network and the first decoder neural network and the quality of the communications channel between the encoder neural network and the second decoder neural network.
[0097] Viewed from another aspect, the present disclosure provides a computer- readable storage medium comprising instructions which, when executed by a computer, cause the computer to carry out the steps of the method of the encoder neural network.
[0098] Viewed from another aspect, the present disclosure provides a computer- readable storage medium comprising instructions which, when executed by a computer, cause the computer to carry out the steps of the training method.
[0099] As indicated above, digital communication systems with source coding and separate channel coding suffer from a threshold effect, where the input source cannot be reconstructed as soon as the noise goes above the target noise level. This is because, if the correct channel codeword cannot be decoded, this also leads to an error in the source decoder and causes the reconstruction of the signal to be completely meaningless rather than distorted. Thus on noisy channels, particularly where signal drop offs are not desirable, joint source channel coding can be problematic.
[00100] It is in this context that the presently disclosed joint source channel coding variational autoencoder for use in a communication system for conveying information from an information source across a communications channel has been devised. In
consideration of the context of the above background, the present inventors have realised that using a joint source channel coding variational autoencoder to convey information from an information source across a communications channel would provide an advantageous means of providing a simple and flexible communication system addressing the limitations of current communication systems.
[00101] Thus, viewed from another aspect, the present disclosure provides a
communication system for conveying information from an information source across a communications channel using a joint source channel coding variational autoencoder, comprising an encoder neural network of the joint source channel coding variational autoencoder, the encoder neural network having an input layer having input nodes corresponding to a sequence of source symbols
= {Si, S2,... , Sm}, the S, taking values in a finite alphabet S, received at the input layer from the information source as samples thereof, and a channel input layer coupled to the input layer through one or more neural network layers, the channel input layer having nodes corresponding to a channel input distribution vector
= { Z1 , Z2, ... , ZK}, the Z, taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the X, of a channel input vector X^ = {X1 , X2, ... , Xn}, the X taking values from the available input signal values of the communications channel, wherein the encoder neural network is configured through training to map sequences of source symbols Sm received from the information source directly to a representation as a plurality of distributions that provide
possible values for the X, of a channel input vector Xn, usable to drive a transmitter to transmit a corresponding signal over the communications channel; a sampler, configured to produce a channel input vector )^ = {Ci , X2, ... , Xn} in use by sampling the respective distribution for each channel input X defined by the channel input distribution vector
= { Zi , Z2, ... , ZK} output by the channel input layer of the encoder neural network; and a decoder neural network of the joint source channel coding variational autoencoder, the decoder neural network having a channel output layer having nodes corresponding to a channel output vector
received from a receiver receiving the signal X^ transmitted by the transmitter and transformed by the communications channel, and an output layer coupled to the channel output layer through one or more neural network layers, having nodes matching those of the input layer of the encoder neural network, wherein the decoder neural network is configured through training to map the representation of the source symbols as the channel output vector
transformed by the communications channel to a reconstruction of the source symbols
output from the output layer of the joint source channel coding variational autoencoder, the reconstruction of the source symbols Sm being usable to reconstitute the information source.
[00102] In accordance with the presently disclosed communication system, a variational autoencoder is provided that is trained to perform joint source and channel coding (referred to as“joint source channel coding”) in which the information source, or sequences of raw, unencoded symbols generated thereby, are mapped by an encoder neural network to an output distribution sampleable (e.g. probabilistically) to directly derive the signal values of a channel input vector to drive a transmitter to transmit the encoded data over the communications channel. That is, for example, the encoder neural network may map a sequence of input symbols representative of an uncompressed frame of a video stream to parameters (such as mean and variance) for defining distributions (for example, gaussian distributions) for each signal value of a channel input vector (for example, the I and Q values for a Quadrature Modulation transmission scheme). Then, by taking a sample of these distributions, the l-Q signal values for transmission can be derived. On receipt at the receiver of a transmitted channel input vector having noise added by the communications channel, this is directly decoded using a decoder neural network trained together with the encoder neural network, to recover a representation of the original source symbols.
[00103] Further, the encoder neural network of the present disclosure comprises a channel input layer having nodes defining a plurality of distributions, which are then sampled to provide the channel input vector X^ usable to drive a transmitter to transmit a corresponding signal over the communications channel. Therefore, instead of generating
specific channel input values for specific inputs, where similar input values may be mapped to differing channel input values, by imposing a prior distribution, the encoder neural network is steered towards mapping similar input values to similar channel inputs. This means that, despite the noise added, the reconstruction of the input will be of a reasonable quality. This also enables graceful degradation of the reconstructed input values, whereby as the noise of the communications channel increases, the difference between the sequence of source symbols and the reconstruction of the source symbols increases, gradually decreasing the quality of the reconstruction of the information source. In this way, signal drop outs can be avoided in noisy communications channels, which is important where high reliability of transmission and reception is desired.
[00104] Thus, there is provided a simple and flexible communications system with improved source reconstruction.
[00105] The plurality of distributions may have the same distribution type.
[00106] The communications channel may be a noisy communications channel.
[00107] The distribution type of the plurality of distributions may be based on the characteristics of the communication channel.
[00108] The distribution type may be the optimal input distribution for the channel.
[00109] The communications channel may be modelled as a Gaussian channel, the plurality of distributions may be Gaussian distributions and the parameters defining the distributions may be the mean and standard deviation.
[00110] The size n of the channel input vector
may be smaller than the size m of the source symbols
and the information source may be compressed during mapping.
[00112] The information source may be an image and the sequence of source
[00113] Each of the plurality of distributions may represent a feature of the image.
[00114] The encoder neural network and decoder neural network may be trained jointly.
[00115] The encoder neural network and decoder neural network may be trained jointly to minimise the difference between the input and output of the joint source channel coding variational autoencoder.
[00116] The encoder neural network may be trained to learn the parameters of the plurality of distributions.
[00117] The encoder neural network and decoder neural network may be trained jointly using the backpropagation algorithm or the stochastic gradient descent training algorithm.
[00118] The encoder neural network and decoder neural network may be trained jointly based on the type of communications channel.
[00119] The encoder neural network and decoder neural network may be trained jointly based on a model of the communication channel, and the decoder neural network may be trained further based on the real communication channel using one way communication of known training data samples from the transmitter to the receiver.
[00120] The encoder neural network and decoder neural network may be trained to meet channel input constraints.
[00121] The encoder neural network and decoder neural network may be trained jointly based on the type of information source, or for a given information source.
[00122] The X, of the channel input vector
may belong to a set of complex numbers, corresponding to the I and Q components.
[00123] Similar information sources may be mapped to similar channel inputs.
[00124] The channel input vector )^ may comprise one sample from each distribution of the plurality of distributions.
[00125] The encoder neural network and decoder neural network may be trained jointly based on the measure of distance from a target distribution to the plurality of distributions.
[00126] The distance from the target distribution may be measured using KL divergence.
[00127] The channel input layer may be coupled to the input layer through at least five neural network layers.
reconstruction of the source symbols
may increase as the noise of the communications channel increases.
[00129] The information source may not have been compressed before being input into the joint source channel coding variational autoencoder.
[00130] Viewed from another aspect, the present disclosure provides an encoder neural network of a joint source channel coding variational autoencoder, the encoder neural network comprising: an input layer having input nodes corresponding to a sequence of source symbols
= {Si, S2,... , Sm}, the S, taking values in a finite alphabet S, received at the input layer from an information source as samples thereof, and a channel input layer coupled to the input layer through one or more neural network layers, the channel input
layer having nodes corresponding to a channel input distribution vector
= { Zi , Z2, - - - ,
ZK}, the Zi taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the X of a channel input vector X^ = {Ci , X2,... , Xn}, the X taking values from the available input signal values of the communications channel, wherein the encoder neural network is configured through training to map sequences of source symbols
received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector X^ usable to drive a transmitter to transmit a corresponding signal over a communications channel.
[00131] Viewed from another aspect, the present disclosure provides a transmitter device comprising: an encoder neural network of a joint source channel coding variational autoencoder, the encoder neural network comprising: an input layer having input nodes corresponding to a sequence of source symbols
= {Si , S2,... , Sm}, the S, taking values in a finite alphabet S, received at the input layer from an information source as samples thereof, and a channel input layer coupled to the input layer through one or more neural network layers, the channel input layer having nodes corresponding to a channel input distribution vector Z^ = { Zi , Z2, ... , ZK}, the Z, taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the of a channel input vector X^ = {X1, X2, ... , Xn}, the X taking values from the available input signal values of the communications channel, wherein the encoder neural network is configured through training to map sequences of source symbols
received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector X^ usable to drive a transmitter to transmit a corresponding signal over a communications channel; a sampler, configured to produce a channel input vector X^ = {X1 , X2,... , Xn} in use by sampling the respective distribution for each channel input X defined by the channel input distribution vector Z^ = { Zi , Z2, ... , ZK} output by the channel input layer of the encoder neural network; and a transmitter to transmit the channel input vector X^ over the communications channel.
[00132] The transmitter device may comprise a plurality of said encoder neural networks, each trained for joint source channel coding of different given information sources or types of information source, for transmission to and decoding thereof at a receiver.
[00133] Viewed from another aspect, the present disclosure provides a method of an encoder neural network of a joint source channel coding variational autoencoder for conveying information from an information source across a communications channel, the method comprising: receiving, at input nodes of an input layer, samples of an information source corresponding to a sequence of source symbols = {Si , S2, ... , Sm}, the S, taking
values in a finite alphabet S; and Mapping the sequence of source symbols Sm from the input layer through one or more neural network layers to a channel input layer, the channel input layer having nodes corresponding to a channel input distribution vector
= { Zi, Z2,... , ZK}, the Zi taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the X of a channel input vector X^ = {Ci, X2,... , Xn}, the X taking values from the available input signal values of the communications channel, wherein the encoder neural network is configured through training to map sequences of source symbols
received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector X^ usable to drive a transmitter to transmit a corresponding signal over a communications channel.
[00134] Viewed from another aspect, the present disclosure provides a training method of a communication system for conveying information from an information source across a communications channel using a joint source channel coding variational autoencoder, the training method comprising: mapping, by an encoder neural network of a joint source channel coding variational autoencoder, sequences of source symbols
received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector X^ usable to drive a transmitter to transmit a corresponding signal over the communications channel; mapping, by a decoder neural network of the joint source channel coding variational autoencoder, the
representation of the source symbols as the channel output vector
transformed by the communications channel to a reconstruction of the source symbols
output from the output layer of the joint source channel coding variational autoencoder; comparing the sequences of source symbols
to the reconstruction of source symbols S^; amending parameters of the joint source channel coding variational autoencoder based on the comparison; and repeating the above steps until the reconstruction of source symbols is usable to reconstitute the information source.
[00135] Viewed from another aspect, the present disclosure provides a computer- readable storage medium comprising instructions which, when executed by a computer, cause the computer to carry out the steps of the method of the encoder neural network.
[00136] Viewed from another aspect, the present disclosure provides a computer- readable storage medium comprising instructions which, when executed by a computer, cause the computer to carry out the steps of the training method.
[00137] The communication system may be as described hereinbefore.
[00138] It will be appreciated from the foregoing disclosure and the following detailed description of the examples that certain features and implementations described as being
optional in relation to any given aspect of the disclosure set out above should be understood by the reader as being disclosed also in combination with the other aspects of the present disclosure, where applicable. Similarly, it will be appreciated that any attendant advantages described in relation to any given aspect of the disclosure set out above should be understood by the reader as being disclosed as advantages of the other aspects of the present disclosure, where applicable. That is, the description of optional features and advantages in relation to a specific aspect of the disclosure above is not limiting, and it should be understood that the disclosures of these optional features and advantages are intended to relate to all aspects of the disclosure in combination, where such combination is applicable.
BRIEF DESCRIPTION OF THE DRAWINGS
[00139] Embodiments of the invention are further described hereinafter with reference to the accompanying drawings, in which:
Figure 1 provides an example illustration of a neural network.
Figure 2 provides an example of a joint source channel coding autoencoder.
Figure 3 provides an illustration of a communication system according to an example.
Figure 4 provides an illustration of a transmitter device according to an example.
Figure 5 provides an illustration of a transmitter device according to another example.
Figure 6 provides an illustration of a receiver device according to an example.
Figure 7 provides another example of a joint source channel coding autoencoder.
Figure 8 provides an illustration of a communication system according to another example.
Figure 9 provides an example flowchart of a method of an encoder neural network.
Figure 10 provides an example flowchart of a training method of a communication system.
Figure 11 provides an example of a joint source channel coding variational autoencoder.
Figure 12 provides another illustration of a communication system according to an example.
Figure 13 provides an illustration of the sampler according to an example.
Figure 14 provides another example flowchart of a method of an encoder neural network.
Figure 15 provides another example flowchart of a training method of a
communication system.
Figure 16 provides another illustration of a transmitter device according to an example.
Figure 17 is a schematic diagram showing a computer according to an example.
Figure 18 provides another illustration of a communication system according to an example.
DETAILED DESCRIPTION
[00140] The present disclosure describes a communication system for conveying information from an information source across a communications channel using a joint source channel coding autoencoder, the communication system producing a high fidelity reconstruction of the information source for different information sources and different channel noise.
[00141] The communications channel is used to convey information from one or more transmitters to one or more receivers. The channel may be a physical connection, e.g. a wire, or a wireless connection such as a radio channel. The communications channel may be an optical channel or a Bluetooth channel. There is an upper limit to the performance of a communication system which depends on the system specified. In addition, there is also a specific upper limit for all communication systems which no system can exceed. This fundamental upper limit is an upper bound to the maximum achievable rate of reliable communication over a noisy channel and is known as Shannon’s capacity.
[00142] The communications channel, including the noise associated with such a channel, is modelled and defined by its characteristics and statistical properties. Channel characteristics can be identified by comparing the input and output of the channel, the output of which is likely to be a randomly distorted version of the input. The distortion indicates channel statistics such as additive noise, or other imperfections in the
communication medium such as fading or synchronization errors between the transmitter and the receiver. Channel characteristics include the distribution model of the channel noise, slow fading and fast fading. Common channel models include binary symmetric channel and additive white Gaussian noise (AWGN) channel.
[00143] Neural networks are machine learning models that employ multiple layers of nonlinear units (known as artificial“neurons”) to generate an output from an input. Neural
networks learn through training to produce the optimum output. They help to group unlabelled data according to similarities and can classify data when they have a labelled dataset to train on. Neural networks may be composed of several layers, each layer formed from nodes. Neural networks can have one or more hidden layers in addition to the input layer and the output layer. The output of each layer is used as the input to the next layer (the next hidden layer or the output layer) in the network. Each layer generates an output from its input using a set of parameters, which are optimized during the training stage. For example, each layer comprises a set of nodes, the nodes having learnable biases and their inputs having learnable weights. Learning algorithms can automatically tune the weights and biases of nodes of a neural network to optimise the output.
[00144] Figure 1 provides an example illustration of a neural network 100. Neural network 100 has a plurality of nodes and connections. The nodes are arranged to be in layers. The layers are illustrated in dashed lines to show that they are simply groupings of nodes rather than being separate objects. The neural network 100 comprises an input layer 102 comprising a plurality of input nodes 104 and an output layer 122 comprising a plurality of output nodes 124. The neural network 100 further comprises a plurality of hidden layers 106, 110, 114, 118 comprising a plurality of nodes 108, 112, 116, 120. The arrows between nodes illustrate connections. The nodes 104 of the input layer 102 are connected to nodes 108 of the hidden layer 106. The nodes 108 of the hidden layer 106 are connected to nodes 112 of the hidden layer 110. The nodes 112 of the hidden layer 110 are connected to nodes 116 of the hidden layer 114. The nodes 116 of the hidden layer 114 are connected to nodes 120 of the hidden layer 118. The nodes 120 of the hidden layer 118 are connected to the nodes 124 of the output layer 122. The connection between nodes means that the output of one node is the input to the next node. The output of the node may be a numerical value. The connection may have a weight associated with it which adjusts the output value of the previous node before inputting into the next node.
[00145] Although four hidden layers are illustrated in the figure, a neural network may comprise any number of hidden layers. Moreover, although a certain number of nodes is shown for each layer, this is merely for illustration and a layer may comprise any number of nodes. The neural network layers may also be three dimensional.
[00146] An autoencoder is a neural network that is trained to copy its input to its output. Autoencoders can provide dimensionality reduction at a hidden layer arranged to have fewer nodes than the input layer. Autoencoders also provide feature learning. An autoencoder includes an encoder neural network and a decoder neural network. These two networks are trained jointly to generate a reconstruction of the input. Typically, either the output of the encoder network has a lower dimension than the input, so that a low-
dimensional representation of the input is learned; or, a loss function that imposes certain properties on the encoder output is used, that can act as a regularizer to prevent the network from learning the identity function.
[00147] In an autoencoder, the goal of the system is to make sure that each input can be regenerated based on the encoder output. The encoder therefore tries to learn the most essential features of input data samples from an information source. As the autoencoder is trained to learn the input data samples from an information source, for multiple input data sources, multiple autoencoders each trained for their specific input samples provide a highly efficient system that is adaptable for multiple different input data sources. The autoencoder will be explained further in the following figures.
[00148] The autoencoder in accordance with examples of the present disclosure can be used in a communication system for conveying information from an information source across a communications channel. The encoder neural network of the autoencoder can replace the traditional source encoder and channel encoder. The encoder neural network maps the signal directly to input signal values in the channel input layer, where it is transmitted over the communications channel. As will be explained in more detail below, the autoencoder may be a variational autoencoder in which the encoder neural network maps the signal directly to parameters of distributions in the input signal values of the channel input layer, where the distributions are sampled to produce the channel input vector that is transmitted over the communications channel. The decoder neural network of the autoencoder can replace the traditional source decoder and channel decoder. The decoder neural network receives the output of the communications channel and
reconstructs the signal. The encoder neural network and decoder neural network are trained to undo the effect of the channel on the signal, such as the effect of the channel noise of the signal. The encoder neural network and decoder neural network can also be trained to learn a representation of the source signal and recover the input with the highest fidelity possible. Further, as the neural networks are trained to optimise the mapping, the efficiency of the transmission of the information source over the communications channel can be greater than in separate source and channel coding, where the separate removal and subsequent addition of redundancy may be inherently inefficient for transferring the data.
[00149] Thus, the encoder and decoder neural networks can be used as a form of joint source channel coding. This provides simplicity over having two separate systems for encoding and two separate systems for decoding. However, the limitations of the joint source channel coding techniques as mentioned above are removed. In particular, an autoencoder used for joint source channel coding, herein referred to as the joint source
channel coding autoencoder, can be trained for use with different channels and different input sources. Thus, using neural networks for conveying information across a channel enables a high degree of freedom.
Joint Source Channel Coding Autoencoder
[00150] Figure 2 provides an example of a joint source channel coding autoencoder 200. The joint source channel coding autoencoder 200 comprises an encoder neural network 202 and a decoder neural network 204. The encoder neural network and decoder neural network may be deep and/or recurrent.
[00151] For example, with reference to Figure 1 , the neural network of Figure 1 may be a joint source channel coding autoencoder 200. The encoder neural network 202 of the joint source channel coding autoencoder 200 may be formed from layers 102, 106 and 110. The decoder neural network 204 of the joint source channel coding autoencoder 200 may be formed from layers 114, 118 and 122.
[00152] With reference to Figures 1 and 2, the encoder neural network 202 of the joint source channel coding autoencoder 200 has an input layer 102 having input nodes 104 corresponding to a sequence of source symbols
= {Si, S2,... , Sm}, the S, taking values in a finite alphabet S, received at the input layer 102 from an information source as samples thereof. The encoder neural network 202 also has a channel input layer 110 coupled to the input layer through one or more neural network layers 106, the channel input layer 110 having nodes 112 usable to provide values for the X, of a channel input vector X^ = {Ci, X2,... , Xn}, the X taking values from the available input signal values of a communications channel.
[00153] The encoder neural network 202 is configured through training to be usable to map sequences of source symbols Sm received from the information source directly to a representation as a channel input vector Xn, usable to drive a transmitter to transmit a corresponding signal over the communications channel.
[00154] In an example, the channel input layer 110 is coupled to the input layer 102 through at least five neural network layers 106. The encoder neural network 202 may directly map the input nodes 104 at the input layer 102, corresponding to a sequence of source symbols S^, to the nodes 112 of the channel input layer 110, corresponding to a channel input vector X^, through the neural network.
[00155] In the communication system, for a wireless communications channel in accordance with an example, each input signal X of the channel input vector X^ may belong to a set of complex numbers, corresponding to the I and Q components. In an
example, the encoder neural network 202 of the joint source channel coding autoencoder 200 may perform bandwidth compression. For example, the encoder neural network 202 may compress the information source during mapping such that the size n of the channel input vector Xn is smaller than the size m of the source symbols S™ Alternatively, the joint source channel coding autoencoder 200 may perform a bandwidth expansion, where the size n of the channel input vector X^is larger than the size m of the source symbols S™
[00156] When the neural network of Figure 1 is modelled as a joint source channel coding autoencoder, channel input layer 110 and channel output layer 114 are not directly connected, as indicated by the dashed arrows connecting the nodes of these layers. The communications channel is between channel input layer 110 and channel output layer 114. Thus, the values output from the encoder neural network may not be equal to the values input into the decoder neural network (for example due to noise on the communications channel).
[00157] The decoder neural network 204 is to map the channel output signals received at the channel output layer 114 to a reconstructed version of the channel input vector S^. The decoder neural network 204 may be a standard decoder of an autoencoder. The mapping may be a deterministic mapping. (Alternatively, where the autoencoder is a variational autoencoder) the mapping may be a probabilistic mapping.
[00158] The decoder neural network 204 of the joint source channel coding autoencoder 200 has a channel output layer 114 having nodes 116 corresponding to a channel output vector Yn received from a receiver receiving the signal
transmitted by the transmitter and transformed by the communications channel. The decoder neural network 204 also has an output layer 122 coupled to the channel output layer 114 through one or more neural network layers 118, having nodes 124 matching those of the input layer 104 of the encoder neural network.
[00159] The decoder neural network 204 is configured through training to map the representation of the source symbols as the channel output vector Yn transformed by the communications channel to a reconstruction of the source symbols Sm output from the output layer of the joint source channel coding autoencoder 200, the reconstruction of the source symbols Sm being usable to reconstitute the information source.
[00160] In an example, the channel output layer 114 is coupled to the output layer 122 through at least five neural network layers 118. The decoder neural network 204 may directly map the nodes 116 at the channel output layer 114, corresponding to a channel output vector YU, to the nodes 124 of the output layer 122, corresponding to a
reconstruction of the source symbols Sm, through the neural network.
[00161] The encoder neural network 202 and decoder neural network 204 may have any number of layers and each layer may comprise any number of nodes. In an example, the output layer of the encoder neural network 202 has the same number of nodes as the input layer of the decoder neural network 204. In another example, the input layer of the encoder neural network 202 has the same number of nodes as the output layer of the decoder neural network 204.
[00162] In an example, the size n of the channel input vector X^is based on the channel capacity or the channel resources allocated for use by the transmitter (for example, the radio resources, or OFDM symbols, allocated to a radio bearer for a transmitter terminal for digital (e.g. QAM) modulation thereby in an LTE communication system). Alternatively or additionally, the size n of the channel input vector Xn may be based on the size m of the source symbols Sm or the size m of the reconstruction of the source symbols Sm. In an example, the size of the source symbols
is not equal to the size of the reconstruction of the source symbols Sm. The size m of the reconstruction of the source symbols Sm may be larger than the size n of the channel output vector YT The size n of the channel input vector Xn may be equal to the size n of the channel output vector YU. In another example, the size n of the channel input vector Xn may be different from the size n of the channel output vector Yn. for example, for a multiple input multiple output channel.
[00163] Figure 3 provides an illustration of a communication system 300 according to an example. The communication system comprises an information source 302. The information source 302 may be any information source. For example, the information source 302 may be a discrete or continuous information source. If the information source 302 is a continuous information source, it may be sampled before being input into the encoder neural network 202. In an example, the information source 302 is an image and the sequence of source symbols SUU are pixels of the image. For example, when the image is a colour image, the sequence of source symbols
may be a matrix having three values for each pixel, such as the red, green and blue values when the image has RGB components.
[00164] In another example, the information source is text, video or sensor
measurements. The information source may comprise a structured data set. In an example, the information source is raw, i.e. the information source has not been compressed before being input into the joint source channel coding autoencoder 200.
[00165] The information source is input into input layer 102 of the encoder neural network 202 of the joint source channel coding autoencoder 200. The encoder neural network 202 is described above with reference to figures 1 and 2. The encoder neural network 202 has a channel input layer 110 coupled to the input layer 102 through one or more neural
network layers 106, the channel input layer 110 having nodes 112 corresponding to a channel input vector X^ = {Xi , X2, ... , Xn}, the X taking values from the available input signal alphabet X of the communications channel.
[00166] The encoder neural network 202 of the joint source channel coding autoencoder 200 receives, at input nodes of an input layer 102, samples of an information source corresponding to a sequence of source symbols
= {Si , S2,... , Sm}, the S, taking values in a finite alphabet S. Next, the encoder neural network 202 maps the sequence of source symbols Sm from the input layer through one or more neural network layers 106 to a channel input layer 110, the channel input layer 110 having nodes 112 usable to provide values for the X of a channel input vector X^ = {X1, X2, ... , Xn}, the X taking values from the available input signal alphabet X of the communications channel 310. The encoder neural network 202 is configured through training to be usable to map sequences of source symbols
received from the information source 302 directly to a representation as a channel input vector X^ usable to drive a transmitter to transmit a corresponding signal over a communications channel 310.
[00167] In an example, the channel input layer 110 has nodes corresponding to channel input vector X^ and the sequences of source symbols Sm are mapped directly to a representation as the channel input vector XT The values of the channel input vector X^ may need to be normalized before being input into the communications channel 310 to comply with average input power constraints.
[00168] The channel input vector X^ may be transmitted across communications channel 310. Communications channel 310 may be any type of communications channel. The types of communication channels and associated characteristics and statistical properties have been previously explained, and the communications channel 310 may be any of those previously explained. For example, communications channel 310 may be a noisy communications channel. The noisy communications channel is specified by its input and output, and the output may be a randomly distorted version of the input. This distortion may be at least partially caused by noise and may also be caused by other imperfections in the communication medium such as fading or synchronization errors between the transmitter and the receiver.
[00169] In an example, the communication channel transforms the channel input vector X^ into the channel output vector
in a random manner. If the channel is memoryless, then the distribution of the channel output conditioned on the channel input is given by
[00170] However, the channel may have memory, which means that the output symbol at time / may depend on the channel inputs before time / as well, or the channel behaviour may change over time, for example, due to bursty noise. Typical digital communication systems use channel codes that are optimized for independent identically distributed (IID) channels.
[00171] The quality of the reconstruction of the input vector
is measured using a prespecified distortion measure. In most cases an additive distortion measure is considered, where the distortion is given by the sum of the distortions of individual source samples. For example
[00172] In case of image transmission, the distortion may be measured by the average squared error distortion.
[00173] The communications channel 310 may be an additive white Gaussian noise (AWGN) channel. Channel output vector Yn may be a distorted version of the channel input vector.
[00174] As the input to the decoder neural network becomes less similar to the output of the encoder neural network, the Bit Error Rate in the reconstruction of the information source increases.
[00175] The decoder neural network receives the channel output vector. The decoder neural network 204 is described above with reference to figures 1 and 2. Thus the decoder neural network of the communication system produces a reconstruction of the source symbols Sm usable to reconstitute the information source 302.
[00176] In an example, communication system 300 is a practical communication system.
In this example, an input cost constraint is applied on the channel input, due to the limited energy of the transmitter or interference limitations. The cost function assigns a specific cost to each possible channel input symbol. The average cost constraint of P requires that every channel input vector satisfies:
[00177] In a wireless communication system, the input cost constraint may be the transmission power, given by c(X) = \X\2. The cost function enables error minimisation between the information source and the reconstructed information source.
[00178] The encoder neural network 202 and decoder neural network 204 of the joint source channel coding autoencoder 200 may be trained jointly to obtain a neural network capable of sufficiently reconstructing the information source 302. For example, they may be trained jointly based on the characteristics of the communication channel, based on the type of information source, for a given information source and/or to meet channel input constraints. The encoder neural network 202 and decoder neural network 204 of the joint source channel coding autoencoder 200 may be trained jointly using performance measures. One performance measure may be the loss function.
[00179] The encoder neural network 202 and decoder neural network 204 of the joint source channel coding autoencoder 200 may be trained jointly to minimise the difference between the input and output of the joint source channel coding autoencoder 200. The difference between the input and output of the joint source channel coding autoencoder 200 may be another performance measure. The difference may be measured by observing the similarity between the information source and the reconstructed information source.
[00180] The encoder neural network 202 and decoder neural network 204 may be trained jointly using the backpropagation algorithm or the stochastic gradient descent training algorithm. In an example, in addition to being trained jointly, the decoder neural network may be trained further based on the real communication channel 310 using one way communication of known training data samples from the transmitter to the receiver. The real communication channel is the physical communication channel rather than a model of the channel characteristics that may be used on a computer for simulation. Known training data samples may be chosen for their ability to train the neural network of the joint source channel coding autoencoder 200. Known training data samples may be used for all joint source channel coding autoencoders 200 or may be chosen based on the information source 302 to be input into the joint source channel coding autoencoder 200. Alternatively, the encoder neural network 202 and decoder neural network 204 may be trained jointly using a known training set, such as the MNIST data set.
[00181] Figure 4 provides an example of a transmitter device 400. The transmitter device 400 comprises an encoder neural network 202 of a joint source channel coding
autoencoder 200 and a transmitter 404. The encoder neural network 202 of the transmitter device 400 comprises an input layer 102 having input nodes 104 corresponding to a sequence of source symbols
= {Si , S2, ... , Sm}, the S, taking values in a finite alphabet S, received at the input layer 102 from an information source 302 as samples thereof, and a channel input layer 110 coupled to the input layer 102 through one or more neural network layers 106, the channel input layer having nodes usable to provide values for the X, of a channel input vector X^ = {Xi , X2, ... , Xn}, the X taking values from the
available input signal alphabet X of the communications channel, wherein the encoder neural network is configured through training to be usable to map sequences of source symbols received from the information source directly to a representation as a channel input vector Xn. usable to drive a transmitter to transmit a corresponding signal over a communications channel. The transmitter 404 is to transmit the channel input vector X^ over the communications channel.
Transmitter/Receiver having Multiple Joint Source Channel Coding Autoencoders for Multiple Information Sources
[00182] Figure 5 provides another example of a transmitter device 500. The transmitter device 500 comprises a plurality of encoder neural networks 212, 222, each encoder neural network 212, 222 of a joint source channel coding autoencoder 200, and each encoder neural network 212, 222 trained to receive a different information source 312, 322 or a different type of information source 312, 322. Each encoder neural network 212, 222 comprises: an input layer 102 having input nodes 104 corresponding to a sequence of source symbols
= {Si , S2, ... , Sm}, the S, taking values in a finite alphabet S, received at the input layer from an information source as samples thereof, and a channel input layer 1 10 coupled to the input layer 102 through one or more neural network layers 106, the channel input layer 1 10 having nodes 112 usable to provide values for the X, of a channel input vector X^ = {X1 , X2, ... , Xn}, the X taking values from the available input signal alphabet X of the communications channel 310, wherein the encoder neural network 212, 222 is configured through training to be usable to map sequences of source
symbols
received from the information source 312, 322 directly to a representation as a channel input vector )^, usable to drive a transmitter 404 to transmit a corresponding signal over a communications channel 310.
[00183] The transmitter device 500 also comprises a transmitter 404 to transmit the channel input vector X^ over the communications channel 310. The channel input vector Xn may include signal values X encoded by one or both encoder neural networks, such that the transmitter device 500 may transmit at the same time signal values from multiple different encoder neural networks to send over the communications channel multiple different information sources using joint source channel coding. The transmitter device 400 may also comprise a plurality of transmitters to transmit multiple channel input vectors X^ for the plurality of encoder neural networks 212, 222 over the communications channel 310. The transmitter 404 may transmit the channel input vector X^ of each encoder neural network simultaneously and/or at a different frequency over the communications channel.
[00184] The transmitter device 500 comprises a first encoder neural network 212 and a second encoder neural network 222. Although two encoder neural networks are illustrated, the transmitter device 500 may comprise any number of encoder neural networks. The first encoder neural network 212 and second encoder neural network 222 are examples of encoder neural network 202 of figures 1 and 2. The first encoder neural network 212 is part of a joint source channel coding autoencoder. The second encoder neural network 212 is part of a joint source channel coding autoencoder. Each encoder neural network may be of a different joint source channel coding autoencoder. The joint source channel coding autoencoder comprising the first encoder neural network 212 and the joint source channel coding autoencoder comprising the second encoder neural network 222 are examples of joint source channel coding autoencoder 200 of Figure 2. Each encoder neural network may have a different number of nodes at the channel input layer 102. In an example, the channel input layer 110 of one or more encoder neural networks 212, 222 of the transmitter device has nodes 112 corresponding to the channel input vector
and the sequences of source symbols Sm are mapped directly to a representation as the channel input vector XT
[00185] Information source 312 is input into input layer 102 of the first encoder neural network 212. Information source 322 is input into input layer 102 of the second encoder neural network 222. Information source 312 and information source 322 are examples of information source 302 of Figure 3. Information source 312 is not the same as information source 322. For example, information source 312 may have a different structure to information source 322. In an example, the information source 312 received at the input to the first encoder neural network 212 may be of a different size to information source 322 received at the input to the second encoder neural network 222. In another example, information source 312 may be of a different type to information source 322. For example, information source 312 may be an image and information source 322 may be a video.
[00186] The joint source channel coding autoencoder 200 comprising the first encoder neural network 212 and the joint source channel coding autoencoder 200 comprising the second encoder neural network 222 are separate joint source channel coding
autoencoders 200. In an example, the joint source channel coding autoencoder 200 comprising the first encoder neural network 212 and the joint source channel coding autoencoder 200 comprising the second encoder neural network 222 are different. As described above, the information source or type of information source input into the first encoder neural network is different to the information source or type of information source input into the second encoder neural network. The joint source channel coding
autoencoder comprising the first encoder neural network 212 is trained for information
source 312 and the joint source channel coding autoencoder comprising the second encoder neural network 222 is trained for information source 322. Thus, the joint source channel coding autoencoder 200 comprising the first encoder neural network 212 and the joint source channel coding autoencoder 200 comprising the second encoder neural network 222 are trained for different information sources. This means the neural network of the first encoder neural network 212 may differ to the neural network of the second encoder neural network 222. For example, the joint source channel coding autoencoder 200 comprising the first encoder neural network 212 and the joint source channel coding autoencoder 200 comprising the second encoder neural network 222 may have different amounts of neural network layers, different amounts of nodes per layer, different weights and/or biases associated with the nodes etc. Moreover, the first encoder neural network 212 and the second encoder neural network 222 may have different amounts of neural network layers, different amounts of nodes per layer, different weights and/or biases associated with the nodes etc.
[00187] Figure 6 provides an illustration of a receiver device 600 according to an example. The receiver device 600 may comprise a first decoder neural network 214 and a second decoder neural network 224. Although two decoder neural networks are illustrated, the receiver device 600 may comprise any number of decoder neural networks that correspond to one of the plurality of encoder neural networks of the transmitter device. The receiver device 600 may be in communication with the transmitter device 500 of Figure 5. The decoder neural networks 214, 224 of the receiver device may correspond to the encoder neural networks 212, 222 of the transmitter device. For example, a joint source channel coding autoencoder 200 may comprise first encoder neural network 212 and first decoder neural network 214 and a separate joint source channel coding autoencoder 200 may comprise second encoder neural network 222 and second decoder neural network 224. Thus, the communication channel between each encoder neural networks and corresponding decoder neural network may have the same characteristics and distribution. The number of decoder neural networks may equate to the number of encoder neural networks of the transmitter device 500.
[00188] In an alternative embodiment, first decoder neural network 214 and second decoder neural network 224 may be located in separate receiver devices. Thus, the communication channel of the first encoder neural network and the second encoder neural network may have different characteristics and distributions. Each receiver device may only have one decoder neural network. Transmitter device 500 may be in communication with both receiver devices. Each receiver device may comprise at least one decoder
neural network corresponding to one of the plurality of encoder neural networks 212, 222 of the transmitter device 500.
[00189] Each decoder neural network 214, 224 of receiver device 200 may have a channel output layer having nodes corresponding to a channel output vector YU received from a receiver receiving a signal corresponding to at least the plurality of signal values Xp of the channel input vector XU transmitted by the transmitter and transformed by the communications channel, and an output layer coupled to the channel output layer through one or more neural network layers, having nodes matching those of the input layer of the encoder neural network, wherein the first decoder neural network is configured through training to map the representation of the source symbols as the channel output
vector YU transformed by the communications channel to a reconstruction of the source symbols
output from the output layer of the joint source channel coding autoencoder, the reconstruction of the source symbols SUU being usable to reconstitute the information source.
[00190] The receiver device 600 also comprises a receiver 602 to receive a signal corresponding to the channel input vector XU transmitted by the transmitter of the transmitter device over the communications channel.
[00191] As encoder neural network is for a different information source or type of information source, the transmitter comprising the encoder neural networks is highly efficient for the specific information sources and is flexible in that it is capable of receiving a plurality of different information sources or types of information source
Multiple Decoder Neural Networks of a Joint Source Channel Coding Autoencoder for Adaptive Bandwidth Expansion
[00192] Figure 7 provides another example of a joint source channel coding autoencoder. Joint source channel coding autoencoder 700 is an example of joint source channel coding autoencoder 200 of Figure 2. As described in relation to Figure 2, the neural network of Figure 1 may also be a joint source channel coding autoencoder 700. Joint source channel coding autoencoder 700 comprises an encoder neural network 702, a first decoder neural network 704 and a second decoder neural network 706. Although two decoder neural networks are illustrated, the joint source channel coding autoencoder 700 may comprise any number of decoder neural networks 704, 706. Decoder neural network 704 and decoder neural network 706 of joint source channel coding autoencoder 700 are examples of decoder neural network 204.
[00193] Figure 8 provides an illustration of a communication system 800 according to another example. The communication system 800 is for conveying information from an information source across a communications channel using a joint source channel coding autoencoder such as joint source channel coding autoencoder 700 of Figure 7. The communication system 800 comprises an encoder neural network 702, a first decoder neural network 704 and a second decoder neural network 706 of joint source channel coding autoencoder 700. Communication system 800 may comprise any number of encoder neural networks and decoder neural networks. For example, communication system 800 may comprise a plurality of decoder neural networks and may comprise one or more receiver devices comprising one or more of the plurality of decoder neural networks 704, 706. Encoder neural network 702 is an example of encoder neural network 202 of figures 1 and 2 and decoder neural networks 704, 706 are examples of decoder neural network 204 of figures 1 and 2. The first decoder neural network 704 and the second decoder neural network 706 are of the same joint source channel coding autoencoder 700 as the encoder neural network 702.
[00194] The encoder neural network 702 of the communication system 800 has an input layer 102 having input nodes corresponding to a sequence of source symbols Sm = (Si, S2,... , Sm}, the Si taking values in an alphabet S, received at the input layer from the information source as samples thereof. The encoder neural network 702 also has a channel input layer 110 coupled to the input layer through one or more neural network layers, the channel input layer having nodes usable to provide values for the X, of a channel input vector X^ = {X1 , X2, ... , Xn}, the X taking values from the available input signal alphabet of the communications channel, the channel input vector X^ comprising a plurality of signal values Xp usable to reconstruct an information source, wherein the number of the plurality of signal values Xp is smaller than the total number of signal values XU, and wherein at least one of the remaining signal values of the channel input vector Xn is usable to increase the quality of the reconstructed information source. The encoder neural network 702 is configured through training to be usable to map sequences of source symbols
received from the information source directly to a representation as a channel input vector )^, usable to drive a transmitter to transmit a corresponding signal over the communications channel. In an example, the sequences of source
symbols
received from the information source are mapped directly to a representation as a channel input vector XT
[00195] The communication system 800 further comprises a first decoder neural network 704 and a second decoder neural network 706 of the joint source channel coding autoencoder 700. Each decoder neural network 704, 706 has a channel output layer 114
having nodes 116 corresponding to a channel output vector Y received from a receiver receiving a signal corresponding to at least the plurality of signal values Xp of the channel input vector )^ transmitted by the transmitter and transformed by the communications channel 310, and an output layer 122 coupled to the channel output layer 114 through one or more neural network layers 118, having nodes matching those of the input layer 102 of the encoder neural network 702, wherein the decoder neural network is configured through training to map the representation of the source symbols as the channel output
vector Y transformed by the communications channel 310 to a reconstruction of the source symbols
output from the output layer 122 of the joint source channel coding
autoencoder 700, the reconstruction of the source symbols
being usable to reconstitute the information source 302. The number of signal values of the channel output vector Y received by the first decoder network 704 is more than the number of signal values of the channel output vector Y received by the second decoder neural network 706.
[00196] The plurality of signal values
may be a subset of the channel input vector XT The channel output vector Y^ received from the receiver may correspond to a subset of the channel input vector )^, the subset transmitted by the transmitter and transformed by the communications channel. In an example, the sequences of source symbols
received from the information source 302 are mapped directly to a representation as a channel input vector XT In an example, the reconstruction of the source symbols
of the first decoder neural network 702 is of a higher quality than the reconstruction of the source
symbols
of the second decoder neural network 704. The plurality of signal values Xp usable to reconstruct an information source may be a plurality of consecutive signal values of the channel input vector X^ and may be a first plurality of consecutive signal values of the channel input vector XT The channel output layer of the first decoder neural network 702 may receive channel output vector Y^ from a receiver receiving a signal corresponding to the plurality of signal values X^ of the channel input vector XT The channel output layer of the second decoder neural network may receive a channel output vector Y^ from a receiver receiving a signal corresponding to the channel input vector XT
[00197] In an example, the number of symbols of the reconstruction of the source symbols
of the first decoder neural network is different to the number of symbols of the reconstruction of the source symbols
of the second decoder neural network. The number p of the plurality of signal values X^ may be based on the characteristics of the communications channel and/or capabilities of the receiver comprising the second decoder neural network. The number of p of the plurality of signal values X^ may be such that the information source can be reconstructed at the second decoder neural network. The number n of the channel input vector X^ may be based on the characteristics of the
communications channel and/or capabilities of the receiver comprising the first decoder neural network. In an example, the first decoder neural network 704 may receive all signal values transmitted by the encoder neural network 702.
[00198] The encoder neural network 702 of the communication system 800 may be included in a transmitter device such as the transmitter device of Figure 4. The transmitter device is for conveying information from an information source across a communications channel using a joint source channel coding autoencoder 700. The first decoder neural network 704 and/or second decoder neural network 706 of Figure 7 may be included in a receiver device such as the receiver device of Figure 6. In an example, first decoder neural network 704 and second decoder neural network 706 may be located in the same receiver device, which is in communication with transmitter device. The receiver 602 of the receiver device may receive channel input vector )^, which may be input into the first decoder neural network 704 and the second decoder neural network may receive some of the signal values of the channel input vector
such as the plurality of signal values X^. The first decoder neural network 704 may therefore produce a higher quality reconstruction of the information source 302 than the second neural network 706 but the second decoder neural network 706 may be able to produce a reconstruction of the information source quicker than the first decoder neural network 704 due to having to receive and process fewer signal values.
[00199] Further, where only the reduced number of signal values Xp are
transmitted/received over the communications channel (for example, when insufficient channel capacity/radio resources are allocated to allow the transmission of the entirety of the channel input vector Xn), the second decoder neural network can still be used to reconstruct the information source, albeit with a lower quality. When the
transmitter/receiver are able to transmit/receive an increased number of signal values such that the entirety of the channel input vector Xn can be transmitted/received (for example, when increased channel capacity/radio resources are allocated), then the first decoder neural network can be used to reconstruct a higher quality version of the information source.
[00200] Alternatively, first decoder neural network 704 and second decoder neural network 706 may be located in separate receiver devices and the transmitter device may be in communication with both receiver devices. The receiver device comprising the first decoder neural network 704 may therefore produce a higher quality reconstruction of the information source 302 than the receiver device comprising the second neural network 706. However, the receiver device comprising the second decoder neural network 706 may be able to produce a reconstruction of the information source quicker than the
receiver device comprising the first decoder neural network 704 due to having to receive and process fewer signal values.
[00201] Depending on the locations of the separate receiver devices, the communication channel between the encoder neural network and the first decoder neural network and the communication channel between the encoder neural network and the second decoder neural network may have different characteristics and distributions. An advantage of the communication system is that the joint source channel coding autoencoder can be trained for one or more specific communication channels, even if they are different. The training method will be described later with reference to Figure 10.
[00202] In an example, the second decoder neural network 706 may be located in a receiver device of a lower quality than the receiver device comprising the first decoder neural network 704. Hence, the second decoder neural network 706 may receive fewer signal values of each channel input vector )^ than the first decoder neural network 704.
[00203] In an example, each of the remaining signal values of the channel input vector )^, when received in addition to the plurality of signal values X^, are usable to produce a reconstruction of the source symbols
with a higher quality than the reconstruction of the source symbols
using the plurality of signal values X^. For example, a receiver may receive only the plurality of signal values
of the channel input vector
and the decoder neural network of the receiver reconstructs the information source. If the receiver also receives one remaining signal value, then the decoder neural network of the receiver can produce a reconstruction of the information source at a higher quality. If the receiver receives another remaining signal value, then the decoder neural network of the receiver can produce a reconstruction of the information source at a higher quality.
[00204] In another example, a plurality of the remaining signal values of the channel input vector )^, when received in addition to the plurality of signal values X^, together are usable to produce a reconstruction of the source symbols
with a higher quality than the reconstruction of the source symbols
using the plurality of signal values X^.
[00205] All of the remaining signal values of the channel input vector
may be usable to increase the quality of the reconstructed information source. The first decoder neural network, the second decoder neural network and the encoder neural network may be trained jointly. The training method will be described later with reference to Figure 10.
[00206] The encoder neural network 702 may be trained to produce a number of signal values to be transmitted to enable reconstruction and to produce additional signal values to be transmitted to enable reconstruction of a higher quality. In the example
communication system 800 of Figure 8, the total number of signal values transmitted at
one time from the encoder neural network 802 may be four. Two signal values, Yi,2, may be transmitted (for example when channel capacity/resource allocation only enables two signal values to be transmitted) to enable reconstruction of the information source to a reasonable level. The remaining signal values Y3,4, when combined with the two signal values Yi ,2, can improve the quality of the reconstruction of the information source. Thus, if a receiver comprising a decoder neural network, such as the second decoder neural network 224, was to receive the two signal values Yi,2, the decoder neural network 224 could reconstruct the information source. If a receiver comprising a decoder neural network, such as the first decoder neural network 704, was to receive the two signal values Yi,2 and both of the remaining signal values Y3,4, receiving a total of four signal values, the first decoder neural network 704 could reconstruct the information source and the reconstruction would be of a higher quality than the reconstruction at both of the other receivers. This is an example of the communications system 800 but any number of signal values can be transmitted by the transmitter having the encoder neural network 202 and received from a receiver or receivers having the first decoder neural network 214 and/or second decoder neural network 224.
[00207] The quality of the reconstruction is determined by the similarity between the information source and the reconstruction of the information source. For example, if the reconstruction closely matches the information source, the reconstruction is of a high quality. Alternatively, if the reconstruction does not closely match the information source, the reconstruction is of a low quality. The quality of the reconstruction of the information source may be measured by the number of errors of the reconstruction or the number of symbols of the reconstruction. The measured number of errors may be a percentage of the total number of symbols of the reconstruction of the information source. The quality of the reconstruction of the information source may depend on the size of the information source and the size of the reconstruction of the information source.
[00208] Figure 9 provides an example flowchart of a method 900 of an encoder neural network of a joint source channel coding autoencoder. The encoder neural network performing the method 900 may be encoder neural network 702 of figures 7 and 8. The method 900 is for conveying information from an information source across a
communications channel 310. Firstly, samples of an information source corresponding to a sequence of source symbols
= {Si , S2, ... , Sm}, the S, taking values in a finite
alphabet S, are received 902 at input nodes of an input layer. Secondly, the sequence of source symbols Sm from the input layer are mapped 904 through one or more neural network layers to a channel input layer, the channel input layer having nodes usable to provide values for the X, of a channel input vector )^ = {X1, X2,... , Xn}, the X taking values
from the available input signal values of the communications channel 310. The channel input vector )^ comprises a plurality of signal values
usable to reconstruct an information source. The number p of the plurality of signal values Xp is smaller than the total number n of the signal values in the channel input vector Xn, and at least one of the remaining signal values
[00209] of the channel input vector X^ is usable to increase the quality of the
reconstructed information source. In this method 900, the encoder neural network 702 is configured through training to be usable to map sequences of source symbols
received from the information source directly to a representation as a channel input vector X^, usable to drive a transmitter to transmit a corresponding signal over a communications channel 310.
[00210] Figure 10 is an example flowchart of a training method 1000 of a communication system 800. The training method 1000 is for training a joint source channel coding autoencoder 700 to convey information from an information source 302 across a communications channel 310. The training method 1000 is of a communication system 800 comprising an encoder neural network 702, a first decoder neural network 704 and a second decoder neural network 706, wherein the number of signal values of the channel output vector Y received by the first decoder network 704 is more than the number of signal values of the channel output vector Y received by the second decoder neural network 706. Firstly the encoder neural network 702 of the joint source channel coding autoencoder 700 maps 1002 sequences of source symbols
received from the information source to a representation as a channel input vector X^, usable to drive a transmitter to transmit a corresponding signal over the communications channel 310. Next, the first decoder network maps 1004 the representation of the source symbols as the channel output vector Y transformed by the communications channel to a reconstruction of the source symbols
output from the output layer of the joint source channel coding autoencoder 700. Following the mapping by the first decoder neural network, the sequences of source symbols
are compared 1006 to the reconstruction of source symbols
at the output layer of the first decoder neural network. A loss function is then formulated 1008 for the first decoder neural network 704 based on the comparison. The second decoder neural network 706 performs the same steps 1010, 1012, 1014 as the first decoder neural network 704. Once the loss functions of the first decoder neural network and second decoder network have been formulated, after both steps 1008 and 1014, parameters of the joint source channel coding autoencoder are amended 1016 based on the loss function for the first decoder neural network and the loss function for the second decoder neural network. It is then decided 1018 whether the reconstruction of source
symbols
at the first decoder neural network is usable to reconstitute the information source and the reconstruction of source symbols
at the second decoder neural network is usable to reconstitute the information source. If both reconstructions are usable to reconstitute the information source, then the training ends 1020. If not, the steps 1002 to 1016 are repeated.
[00211] Steps 1004, 1006 and 1008 performed by the first decoder neural network 704 are independent of steps 1010, 1012 and 1014 performed by the second decoder neural network 706 and these sets of steps can therefore be performed independent of each other. For example, steps 1010, 1013 and 1014 can be performed in parallel, before or after steps 1004, 1006 and 1008. However, both steps 1004 and 1010 are performed after the mapping 1002 by the encoder neural network.
[00212] If the communication system 800 includes more than two decoder neural networks, steps 1004 to 1008 may be repeated for all of the decoder neural networks and the amending 1016 of the parameters will be based on the loss functions of all the decoder neural networks of the communication system 800. The steps 1002 to 1016 may be repeated until the reconstruction of source symbols
at the second decoder neural network is usable to reconstitute the information source and the reconstruction of source symbols
at the first decoder neural network is of a higher quality than the reconstruction of source symbols
at the second decoder neural network.
[00213] It is to be noted that the parameters of the joint source channel coding
autoencoder 200 are only amended if the comparison shows that the reconstructions of source symbols
of the decoder neural networks are not usable to reconstitute the information source and/or are not at the required quality. In an example, sequences of source symbols
received from the information source are mapped directly to a representation as a channel input vector X[\
[00214] The parameters to be amended 1016 based on the comparison may be the weights and/or biases of the nodes of the neural network layers. The parameters may be amended 1016 based on the channel characteristics, for example signal to noise ratio. The communication system is flexible and so the encoder neural network could then also be used with differing channels with the same SNR. The channel characteristics may be found by using channel sounding, i.e. sending known pulses across the channel. The parameters may also be amended 1016 based on the information source, for example, based on the data structure of the information source. Through training, the neural network may increase in dimension to more than two dimensions.
[00215] As mentioned previously, the first decoder neural network 704 and the second decoder neural network 706 may be located in different receivers and so the
communication channel between the encoder neural network 702 and the first decoder neural network 704 and the communication channel between the encoder neural network 702 and the second decoder neural network 706 may have different characteristics and distributions. During training, the parameters of the joint source channel coding autoencoder are amended to ensure that the reconstruction of source symbols
of both the decoder neural networks is usable to reconstitute the information source. Thus, the characteristics of the communication channel between the encoder neural network 702 and the first decoder neural network 704 and the characteristics of the communication channel between the encoder neural network 702 and the second decoder neural network 706 are learnt through training such that, for each decoder neural network, the channel output vector
transformed by the communication channel can still be mapped to a reconstruction of source symbols
that is usable to reconstitute the information source.
[00216] As illustrated in Figure 10, both decoder neural networks 704, 706 are trained jointly together with the encoder neural network 702. The decoder neural networks 704, 706 receive different amounts of signal values and the reconstruction of source symbols Sm may therefore differ. For example, as the first decoder neural network receives a larger number of signal values from the encoder neural network, the reconstruction of source symbols
at the first decoder neural network may be of a higher quality. The loss function indicates the quality of the reconstruction of source symbols
at each decoder neural network 704, 706. For example, the loss function of each decoder neural network is formulated based on the comparison of the sequences of source symbols
and the reconstruction of source symbols
at the output of the decoder neural network. Once the loss functions have been calculated, they may be weighted based on the desired quality of reconstruction at each receiver. For example, the parameters may be amended 1016 based on a loss function of the joint source channel coding autoencoder. This loss function may be a weighted sum of the loss functions for each decoder neural network. The weighting of the loss functions may be amended to balance the reconstruction qualities of the first decoder neural network and the second decoder neural network. For example, weighting of each of the loss functions is based on the quality of the communications channel between the encoder neural network and the first decoder neural network and the quality of the communications channel between the encoder neural network and the second decoder neural network. In an example, the weighting of each of the loss functions is based on the desired reconstruction quality of the first decoder neural network and the second decoder neural network.
[00217] The quality of the reconstruction of the second decoder neural network 706 may be higher as it has received more information. However, the weighting factor will determine
how much emphasis is put on the quality of each layer. For example, putting all the weight on one of the decoders will ignore the other, and hence, the ignored network will not be trained, whereas in general, the autoencoder will learn to balance the reconstruction qualities of the two decoders.
[00218] In summary, there is provided a transmitter device 500 for conveying information from an information source 302 across a communications channel 310 using a joint source channel coding autoencoder 200, comprising: a plurality of encoder neural networks 202, each encoder neural network 202 of a joint source channel coding autoencoder 200, and each encoder neural network 202 trained to receive a different information source 302 or a different type of information source 302, wherein each encoder neural network 302 comprises: an input layer 102 having input nodes 104 corresponding to a sequence of source symbols
= {Si, S2,... , Sm}, the S, taking values in a finite alphabet S, received at the input layer from an information source 302 as samples thereof, and a channel input layer 110 coupled to the input layer 102 through one or more neural network layers 106, the channel input layer 110 having nodes 112 usable to provide values for the X, of a channel input vector X^ = {X1 , X2, ... , Xn}, the X taking values from the available input signal alphabet X of the communications channel 310, wherein the encoder neural network 202 is configured through training to be usable to map sequences of source symbols
received from the information source 302 directly to a representation as a channel input vector Xj, usable to drive a transmitter 404 to transmit a corresponding signal over a communications channel 310; and a transmitter 404 to transmit the channel input vector X over the communications channel 310.
Moreover, there is provided a communication system 800 for conveying information from an information source 302 across a communications channel 310 using a joint source channel coding autoencoder 700, comprising: an encoder neural network 702 of the joint source channel coding autoencoder 700, the encoder neural network 702 having: an input layer 102 having input nodes 104 corresponding to a sequence of source symbols
=
{Si, S2,... , Sm}, the S, taking values in an alphabet S, received at the input layer 102 from the information source 302 as samples thereof, and a channel input layer 110 coupled to the input layer 102 through one or more neural network layers 106, the channel input layer 110 having nodes 112 usable to provide values for the X of a channel input vector X =
{Ci , X2, ... , Xn}, the X taking values from the available input signal alphabet of the communications channel 310, the channel input vector X comprising a plurality of signal values Xp usable to reconstruct an information source 302, wherein the number p of the plurality of signal values Xp is smaller than the total number n of signal values of the channel input vector , and wherein at least one of the remaining symbols of the channel
input vector )^ is usable to increase the quality of the reconstructed information source. The encoder neural network 702 is configured through training to be usable to map sequences of source symbols received from the information source 302 directly to a representation as a channel input vector X^, usable to drive a transmitter to transmit a corresponding signal over the communications channel 310; a first decoder neural network 704 and a second decoder neural network 706 of the joint source channel coding autoencoder 700, each decoder neural network having: a channel output layer 114 having nodes corresponding to a channel output vector Y received from a receiver receiving a signal corresponding to at least the plurality of signal values
of the channel input vector transmitted by the transmitter and transformed by the communications channel 310, and an output layer 122 coupled to the channel output layer through one or more neural network layers 118, having nodes matching those of the input layer 102 of the encoder neural network 702, wherein the decoder neural network is configured through training to map the representation of the source symbols as the channel output vector Y transformed by the communications channel 310 to a reconstruction of the source symbols
output from the output layer 122 of the joint source channel coding autoencoder 700, the reconstruction of the source symbols
being usable to reconstitute the information source 302; and wherein the number of signal values of the channel output vector Y received by the first decoder network 704 is more than the number of signal values of the channel output vector Y received by the second decoder neural network 706.
[00219] The plurality of decoder neural networks of the joint source channel coding autoencoder connected to the encoder neural network of the joint source channel coding autoencoder enable a flexible system whereby the encoder neural network can transmit a channel input vector )^ that enables both decoder neural networks to reconstruct the information source even if they receive a differing‘amount’ of the signal corresponding to the channel input vector XT The plurality of decoder neural networks in the joint source channel coding autoencoder enable multiple levels of reconstruction at one receiver or reconstruction at all receivers, if the decoder neural networks are located in separate receivers, even if the receivers have different capabilities. Also, the joint source channel coding can be responsive to changes in channel capacity/resource allocation on the communications channel, allowing sufficient symbols to be communicated to allow reconstruction of a relatively low quality version of the information source at times of relatively low channel capacity, and sufficient symbols to be communicated to allow reconstruction of a relatively high quality version of the information source at times of relatively high channel capacity.
Joint Source Channel Coding Variational Autoencoder
[00220] A variational autoencoder is a particular type of autoencoder. Thus, the joint source channel coding variational autoencoder is an example of the joint source channel coding autoencoders detailed above, such as joint source channel coding autoencoders 200 of Figure 2 and 700 of Figure 7. Joint source channel coding variational autoencoders have the same advantages as joint source channel coding autoencoders. Moreover, the features of the joint source channel coding autoencoder, as previously explained, also apply to the joint source channel coding variational autoencoder. Thus, features of the joint source channel coding autoencoder may also be features of the joint source channel coding variational autoencoder and features of the joint source channel coding variational autoencoder may also be features of the joint source channel coding autoencoder.
[00221] In an autoencoder, the goal of the system is to make sure that each input can be regenerated based on the encoder output. The encoder therefore tries to learn the most essential features of each input data sample. But, for example, if the encoder output dimension is sufficiently large, each input data point could be mapped to a distinct output, and the decoder can simply learn the inverse mapping from encoder outputs to input values. In principle, the encoder can map two similar inputs to completely different output values. Therefore, in an autoencoder, if the encoder output differs from the decoder input (for example due to a noisy channel), the decoder neural network may not be able to reconstruct the information source. This is because the output layer of the encoder neural network comprises specific values. Even if the values are similar, these similar values may map to other specific values that may be very different. A variational autoencoder enables optimisation of the reconstruction of the information source. For a variational autoencoder, the goal is to learn the stochastic model that generates the underlying source signals. Therefore, in a variational autoencoder, the outputs of the encoder neural network are parameters of distributions, the distributions being based on certain features of the input data and being randomly sampleable to provide output values. The sampler may be considered to form part of the variational autoencoder.
[00222] For example, the distributions may be based on statistical features of a structured data set. In another example, the distributions may be based on features of an image, such as a face, or a smile. In another example, the distributions may be based on abstract structures that generate the image. If the (sampled) output of the encoder neural network differs from the input to the decoder neural network (for example due to a noisy channel), the variational autoencoder can still produce a reconstruction of the information source, which decreases in quality as the difference between encoder neural network output a decoder neural network input increases. The variational autoencoder will be explained further in the following figures.
[00223] The variational autoencoder in accordance with examples of the present disclosure can be used in a communication system for conveying information from an information source across a communications channel. The encoder neural network of the variational autoencoder can replace the traditional source encoder and channel encoder. The encoder neural network maps the signal directly to the channel input layer (or to distributions therein defined by the encoder neural network), where it is sampled and transmitted over the communications channel. The decoder neural network of the variational autoencoder can replace the traditional source decoder and channel decoder. The decoder neural network receives the output of the communications channel and reconstructs the signal. The encoder neural network and decoder neural network are trained to undo the effect of the channel on the signal, such as the effect of the channel noise of the signal. The encoder neural network and decoder neural network can also be trained to learn a representation of the source signal and recover the input with the highest fidelity possible. Further, as the neural networks are trained to optimise the mapping, the efficiency of the transmission of the information source over the communications channel can be greater than in separate source and channel coding, where the separate removal and subsequent addition of redundancy may be inherently inefficient for transferring the data.
[00224] Thus, the encoder and decoder neural networks can be used as a form of joint source channel coding. This provides simplicity over having two separate systems for encoding and two separate systems for decoding. However, the limitations of the joint source channel coding techniques as mentioned above are removed. In particular, a variational autoencoder used for joint source channel coding, herein referred to as the joint source channel coding variational autoencoder, can be trained for use with different channels and different input sources. Thus, using neural networks for conveying information across a channel enables a high degree of freedom.
[00225] Figure 11 provides an example of a joint source channel coding variational autoencoder 1100. The joint source channel coding variational autoencoder 1100 comprises an encoder neural network 1102 and a decoder neural network 1104. The encoder neural network and decoder neural network may be deep and/or recurrent.
[00226] For example, with reference to Figure 1 , the neural network of Figure 1 may be a joint source channel coding variational autoencoder 1100. The encoder neural network 1102 of the joint source channel coding variational autoencoder 1100 may be formed from layers 102, 106 and 110. The decoder neural network 1104 of the joint source channel coding variational autoencoder 1100 may be formed from layers 114, 118 and 122.
[00227] With reference to Figures 1 and 11 , the encoder neural network 1102 of the joint source channel coding variational autoencoder 1100 has an input layer 102 having input nodes 104 corresponding to a sequence of source symbols
= {Si , S2, ... , Sm}, the S, taking values in a finite alphabet S, received at the input layer 102 from an information source as samples thereof. The encoder neural network 1102 also has a channel input layer 110 coupled to the input layer through one or more neural network layers 106, the channel input layer 110 having nodes 112 corresponding to a channel input distribution vector = { Zi , Z2, ... , ZK}, the Z, taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the X, of a channel input vector
= {Xi , X2, ... , Xn}, the X taking values from the available input signal values of a communications channel.
[00228] The encoder neural network 1102 is configured through training to map sequences of source symbols Sm received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector Xn, usable to drive a transmitter to transmit a corresponding signal over the communications channel.
[00229] In an example, the channel input layer 110 is coupled to the input layer 102 through at least five neural network layers 106. The encoder neural network 1102 may directly map the input nodes 104 at the input layer 102, corresponding to a sequence of source symbols S^, to the nodes 112 of the channel input layer 110, corresponding to a channel input distribution vector Z^, through the neural network.
[00230] In the communication system, for a wireless communications channel in accordance with an example, each input signal X of the channel input vector X^ may belong to a set of complex numbers, corresponding to the I and Q components. In an example, the encoder neural network 1102 of the joint source channel coding variational autoencoder 1100 may perform bandwidth compression. For example, the encoder neural network 1102 may compress the information source during mapping such that the size n of the channel input vector X^is smaller than the size m of the source symbols S™
Alternatively, the joint source channel coding variational autoencoder 1100 may perform a bandwidth expansion, where the size n of the channel input vector X^is larger than the size m of the source symbols Sm.
[00231] In an example, the plurality of distributions have the same distribution type. For example, the plurality of distributions may be Gaussian distributions defined by a mean and a standard deviation. In an example, for k/2 Gaussian distributions, the first k/2 elements of the channel input distribution vector Z^ encode the mean value of the corresponding channel input distributions, while the remaining k/2 elements of the channel
input distribution vector
encode the standard deviations of the corresponding channel input distributions. In this example, the /-th channel input X, is a sample from a Gaussian distribution with mean Z, and standard deviation Z,+k. In an example, each distribution of the plurality of distributions is sampled once. Thus, for distributions defined by two distribution parameters, the size n of the channel input vector
is half the size k of the channel input distribution vector Zk. Moreover, in such an example, the channel input vector
comprises one sample from each distribution of the plurality of distributions.
[00232] The distribution type of the plurality of distributions may be the optimal input distribution for the channel. Thus, by understanding channel models, the optimal input distributions can be calculated. The encoder neural network 1102 may be trained as part of the training of the joint source channel coding variational autoencoder 1100 to learn the parameters of the plurality of distributions. In an example, the type of distribution of the plurality of distributions is based on the characteristics of the communication channel. For example, the type of distribution may be based on the distribution model of the channel noise or the fading. For example if the communications channel can be modelled as a Gaussian channel, then the plurality of distributions are Gaussian distributions.
[00233] An advantage of using a variational autoencoder for conveying information over a communications channel is that, for many common channel models such as binary symmetric channels and AWGN channels, we know the optimal input distribution.
Moreover, when transmitting a Gaussian source distribution over a Gaussian channel, no coding is necessary, and simple uncoded transmission with power allocation achieves the optimal Shannon bound. Thus, if the channel is AWGN, by using the joint source channel coding variational autoencoder 1100, the channel can be used at its theoretical limit. This suggests that if we can represent the underlying data set through a Gaussian distribution, as is achievable in examples of the present disclosure, that would correspond to the optimal input distribution to the channel.
[00234] When the neural network of Figure 1 is modelled as a joint source channel coding variational autoencoder, channel input layer 110 and channel output layer 114 are not directly connected, as indicated by the dashed arrows connecting the nodes of these layers. The communications channel is between channel input layer 110 and channel output layer 114. Thus, the values output from the (sampled distributions defined by the) encoder neural network may not be equal to the values input into the decoder neural network.
[00235] The decoder neural network 1104 is to map the channel output sequence to a reconstructed version of the channel input vector s^. The decoder neural network 1104
may be a standard decoder of an autoencoder. The mapping may be a deterministic mapping. Alternatively the mapping may be a probabilistic mapping.
[00236] The decoder neural network 1104 of the joint source channel coding variational autoencoder 1100 has a channel output layer 114 having nodes 116 corresponding to a channel output vector Yn received from a receiver receiving the signal Xn transmitted by the transmitter and transformed by the communications channel. The decoder neural network 1104 also has an output layer 122 coupled to the channel output layer 114 through one or more neural network layers 118, having nodes 124 matching those of the input layer 104 of the encoder neural network.
[00237] The decoder neural network 1104 is configured through training to map the representation of the source symbols as the channel output vector Yn transformed by the communications channel to a reconstruction of the source symbols Sm output from the output layer of the joint source channel coding variational autoencoder 1100, the reconstruction of the source symbols Sm being usable to reconstitute the information source.
[00238] In an example, the channel output layer 114 is coupled to the output layer 122 through at least five neural network layers 118. The decoder neural network 1104 may directly map the nodes 116 at the channel output layer 114, corresponding to a channel output vector YU, to the nodes 124 of the output layer 122, corresponding to a
reconstruction of the source symbols Sm, through the neural network.
[00239] The encoder neural network 1102 and decoder neural network 1104 may have any number of layers and each layer may comprise any number of nodes. In an example, the output layer of the encoder neural network 1102 has the same number of nodes as the input layer of the decoder neural network 1104. In another example, the input layer of the encoder neural network 1102 has the same number of nodes as the output layer of the decoder neural network 1104.
[00240] In an example, the size n of the channel input vector Xn is based on the channel capacity or the channel resources allocated for use by the transmitter (for example, the radio resources, or OFDM symbols, allocated to a radio bearer for a transmitter terminal for digital (e.g. QAM) modulation thereby in an LTE communication system). Alternatively or additionally, the size n of the channel input vector Xn may be based on the size m of the source symbols S™ or the size m of the reconstruction of the source symbols Sm. In an example, the size of the source symbols is not equal to the size of the reconstruction of the source symbols Sm. The size k of the channel input distribution vector may be larger than the size n of the channel input vector XT The size m of the reconstruction of the source symbols Sm may be larger than the size n of the channel output vector YT The size
n of the channel input vector Xn may be equal to the size n of the channel output vector YU. In another example, the size n of the channel input vector XU may be different from the size n of the channel output vector YU, for example, for a multiple input multiple output channel.
[00241] Figure 12 provides an illustration of a communication system 1200 according to an example. The communication system comprises an information source 302. The information source 302 has been described previously with reference to Figure 3. The information source is input into input layer 102 of the encoder neural network 1102 of the joint source channel coding variational autoencoder 1100. The encoder neural network 1 102 is described above with reference to figures 1 and 11. The encoder neural network 1 102 has a channel input layer 1 10 coupled to the input layer 102 through one or more neural network layers 106, the channel input layer 1 10 having nodes 1 12 corresponding to a channel input distribution vector ZU = { Zi , Z2, - - - , ZK}, the Z, taking values for parameters defining a plurality of distributions.
[00242] The communication system 1200 further comprises a sampler 1206. The sampler 306 receives the channel input distribution vector ZU = {Zi , Z2, ... , ZK} and samples the respective distribution for each channel input X defined by the channel input distribution vector to produce a channel input vector XU = {Xi , X2, ... , Xn}. For example, the sampler may produce outputs Xi 1214 and X2 1216. The sampler will be described in more detail below. The sample values may need to be normalized before being input into the communications channel to comply with average input power constraints.
[00243] Channel input vector XU may be transmitted across communications channel 310. Communications channel has been described previously with reference to Figure 3. Due to the use of distributions, even if the input to the decoder neural network 1 104 does not equal the output of the encoder neural network 1102, the joint source channel coding variational autoencoder 1100 may still be able to reconstruct the information source 302. This is because the channel input distribution vector defines a plurality of distributions, each distribution being sampleable to provide possible values for the of a channel input vector usable to drive a transmitter to transmit a corresponding signal over the
communications channel 310. As described above, the plurality of distributions enable graceful degradation of the performance of the communications system. This means that the quality of reconstruction of the input source slowly degrades as the channel noise increases.
[00244] As the input to the decoder neural network becomes less similar to the output of the encoder neural network, the reconstruction of the information source reduces in similarity to the information source and consequently the quality of the reconstruction is reduced. In this example, as the noise of the communications channel 310 increases, the
difference between the sequence of source symbols Sm and the reconstruction of the source symbols Sm may increase.
[00245] The decoder neural network 1104 receives the channel output vector. The decoder neural network 1104 is described above with reference to figures 1 and 11. Thus the decoder neural network of the communication system produces a reconstruction of the source symbols Sm usable to reconstitute the information source 302.
[00246] Figure 13 provides an illustration of the sampler 1206 according to an example. Sampler 1206 may receive two inputs Z2 1324 and Z4 1326. These inputs are the parameters of a distribution such as distribution 1322. Sampler 1206 may sample the distribution defined by the parameters Z2 and Z4to produce an output X2 1328. The output X2 1328 may be any value that falls within the distribution 1322 and is illustrated by the spot labelled X2on the scale.
[00247] In an example, the distribution 1322 is a Gaussian distribution with a mean and a standard deviation. For example, the Gaussian distribution may have a standard deviation O2=2 and a mean m2=-3. Z2 1324 provides the standard deviation and Z4 1326 provides the mean to the sampler. The sampler samples the Gaussian distribution to produce the output X2 1328. For example, when sampling a Gaussian distribution with a standard deviation o2=2 and a mean m2=-3, the sampler may produce output X2=-7.
[00248] In another example, sampler 1206 may receive two inputs Zi 1304 and Z3 1306. These inputs are the parameters of a distribution such as distribution 1302. Sampler 1206 may sample the distribution defined by the parameters Z1 and Zz io produce an output X1 1308, 1310. The output X1 1308, 1310 may be any value that falls within the distribution 1302 and is illustrated by the spots labelled output X1 on the scale.
[00249] In an example, the distribution 1302 is a Gaussian distribution with a mean and a standard deviation. For example, the Gaussian distribution 1302 may have a standard deviation Oi=1 and a mean mi=2.5. Zi 1304 provides the standard deviation and Z3 1306 provides the mean to the sampler. The sampler randomly samples the distribution 1302. Therefore, the output of the sampler varies even if the same input distribution is used. It is acknowledged that the distribution and, consequently, the parameters of the distribution will not be constant but will vary depending on the information source. Nevertheless, for illustrational purposes, at a first time and a second time the sampler receives the same parameters. For example, at a first time, t=1 , the sampler may receive parameters defining the distribution 1302 and samples the distribution 1302 to produce the output Xi=5. At a second time, the sampler may receive parameters defining the distribution 1302 and produce the output Xi=3. Thus, an input of the encoder neural network does not directly map to a specific output of the encoder neural network. Even if the values at the
input layer remain constant, the output values will constantly change due to the sampling of the distribution. Thus, the input layer of the decoder neural network will receive differing values but will learn to map these back to the same information source in order to reconstruct the information source. Therefore, even if the output of the encoder neural network is distorted when transmitted through the channel, the decoder neural network will receive different values but will still be able to reconstruct the information source.
[00250] Figure 14 provides an example flowchart of a method 1400 of an encoder neural network 1102 of a joint source channel coding variational autoencoder 1100. The method 1400 is for conveying information from an information source across a communications channel 310. Firstly, samples of an information source corresponding to a sequence of source symbols
= {Si , S2, ... , Sm}, the S, taking values in a finite alphabet S, are received 1402 at input nodes of an input layer. Secondly, the sequence of source symbols Sm from the input layer are mapped 1404 through one or more neural network layers to a channel input layer, the channel input layer having nodes corresponding to a channel input distribution vector
= { Zi , Z2, ... , ZK}, the Z, taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the Xi Of a channel input vector )^ = {Ci, X2,... , Xn}, the X taking values from the available input signal values of the communications channel 310. In this method 1400, the encoder neural network 1102 is configured through training to map sequences of source
symbols
received from the information source directly to a representation as a plurality of distributions that provide possible values for the of a channel input vector )^, usable to drive a transmitter to transmit a corresponding signal over a communications channel 310.
[00251] The encoder neural network 1102 and decoder neural network 1104 of the joint source channel coding variational autoencoder 1100 may be trained jointly to obtain a neural network capable of sufficiently reconstructing the information source 302. For example, they may be trained jointly based on the characteristics of the communication channel, based on the type of information source, for a given information source and/or to meet channel input constraints. The encoder neural network 1102 and decoder neural network 1104 of the joint source channel coding variational autoencoder 1100 may be trained jointly using performance measures. One performance measure may be the loss function.
[00252] The encoder neural network 1102 and decoder neural network 1104 of the joint source channel coding variational autoencoder 1100 may be trained jointly to minimise the difference between the input and output of the joint source channel coding variational autoencoder 1100. The difference between the input and output of the joint source channel
coding variational autoencoder 1100 may be another performance measure. The difference may be measured by observing the similarity between the information source and the reconstructed information source. Alternatively or additionally, the difference may be measured by finding the“distance” between the actual channel input distribution and the target distribution. The distance between the probability distributions can be measured using KL divergence. For target distribution q(Xn), the KL divergence DKL is calculated using the following equation.
DKL[P^Xn\Sm) \ \q(Xn}
[00253] Where f represents the encoder network parameters. For an AWGN channel, since a Gaussian input distribution is capacity-achieving, the target distribution may be set as a zero-mean Gaussian with covariance RΊ, where P is the average input power constraint. Thus, the encoder neural network 1102 and decoder neural network 1104 may be trained jointly based on the measure of distance from the target distribution to the plurality of distributions.
[00254] Joint training has been further explained with reference to the encoder neural network 202 and decoder neural network 204 of the joint source channel coding autoencoder 200 of Figure 2 and the same training can be applied to the joint source channel coding variational autoencoder 1100 of Figure 11.
[00255] Figure 15 provides an example flowchart of a training method 1500 of a communication system 1200. The training method 1500 is for training a joint source channel coding variational autoencoder 1100 to convey information from an information source 302 across a communications channel 310. Firstly the encoder neural network 1102 of the joint source channel coding variational autoencoder 1100 maps 1502 sequences of source symbols
received from the information source directly to a representation as a plurality of distributions that provide possible values for the X, of a channel input vector )^, usable to drive a transmitter to transmit a corresponding signal over the communications channel 310. Next, the decoder neural network 1104 of the joint source channel coding variational autoencoder 1100, maps 1504 the representation of the source symbols as the channel output vector
transformed by the communications channel to a reconstruction of the source symbols
output from the output layer of the joint source channel coding variational autoencoder 1100. Following the mapping by the encoder neural network and decoder neural network, the sequences of source
symbols
are compared 1506 to the reconstruction of source symbols S^. The parameters of the joint source channel coding variational autoencoder 1100 are then amended 1508 based on the comparison. It is then decided 1510 whether the
reconstruction of source symbols is usable to reconstitute the information source. If the
reconstruction of source symbols is usable to reconstitute the information source, then the method ends 1512. If not, the method steps 1502 to 1508 are repeated until the reconstruction of source symbols is usable to reconstitute the information source. It is to be noted that the parameters of the joint source channel coding variational autoencoder 1100 are only amended if the comparison shows that the reconstruction of source symbols Sm is not usable to reconstitute the information source.
[00256] The parameters to be amended 1508 based on the comparison may be the weights and/or biases of the nodes of the neural network layers. The parameters of the distributions may be trained based on the characteristics of the channel. For example, the channel capacity differs based on the signal to noise ratio (SNR) and so the encoder neural network can be trained based on the SNR. The communication system is flexible and so the encoder neural network can then also be used with differing channels with the same SNR. The channel characteristics may be found by using channel sounding, i.e. sending known pulses across the channel. The parameters of the distributions may be trained based on the information source, for example, based on the data structure of the information source. Through training, the neural network may increase in dimension to more than two dimensions.
[00257] Figure 16 provides an example of a transmitter device 1600. The transmitter device 1600 comprises an encoder neural network 1102 of a joint source channel coding variational autoencoder 1100, a transmitter 1604 and a sampler 1606. The encoder neural network 1102 of the transmitter device 1600 comprises an input layer having input nodes corresponding to a sequence of source symbols
= {Si, S2,... , Sm}, the S, taking values in a finite alphabet S, received at the input layer from an information source as samples thereof, and a channel input layer coupled to the input layer through one or more neural network layers, the channel input layer having nodes corresponding to a channel input distribution vector
= { Z1 , Z2, . . . , ZK}, the Z, taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the Xi Of a channel input vector X^ = {X1, X2,... , Xn}, the X taking values from the available input signal values of the communications channel, wherein the encoder neural network is configured through training to map sequences of source symbols
received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector X^ usable to drive a transmitter to transmit a corresponding signal over a communications channel.
The sampler 1606 of the transmitter device 1600 is configured to produce a channel input vector X^ = {X1 , X2, ... , Xn} in use by sampling the respective distribution for each channel input X defined by the channel input distribution vector Z^ = {Z1 , Z2, . . . , ZK} output by the
channel input layer of the encoder neural network. The sampler may be an example of the sampler 1206 of Figure 12. The transmitter 1604 of the transmitter device 1600 transmits the channel input vector
over the communications channel.
[00258] Figure 17 is a schematic diagram showing a computer 1700 according to an example. Computer 1700 comprises a processor 1702 and a storage medium 1704. The storage medium 1704 is a computer-readable storage medium comprising instructions which, when executed by the computer 1700, cause the computer 1700 to carry out the steps of method 900 of Figure 9 or method 1000 of Figure 10 or method 1400 of Figure 14 or method 1500 of Figure 15. In an example, the computer-readable storage medium comprises instructions which, when executed by the computer 1700, cause the computer 1700 to carry out the steps of a plurality of the methods 900, 1000, 1400 and 1500.
Referring back to Figure 5, in an example, the encoder neural networks of the transmitter device 500 may be encoder neural networks of joint source channel coding variational autoencoder 1100. The transmitter device 500 comprises a first encoder neural network 212 and a second encoder neural network 222. These encoder neural networks may be examples of encoder neural network 1102 of Figure 11 and may be part of separate joint source channel coding variational autoencoders 1100. In an example, in the transmitter device 500, each encoder neural network may be of a joint source channel coding variational autoencoder 1100 and the nodes of the channel input layer of each encoder neural network may correspond to a channel input distribution vector
= { Zi , Z2, ... , ZK}, the Zi taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the X, of the channel input vector
= {Xi , X2,... , Xn}. Moreover, each encoder neural network may be configured through training to map sequences of source symbols
received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector XT The transmitter device 500 may also comprise a sampler (not shown), for example sampler 1606 of Figure 16, which may be configured to produce a channel input vector X^ = {X1, X2,... , Xn} in use by sampling the respective distribution for each channel input X defined by the channel input distribution vector Z^ = { Zi , Z2, ... , ZK} output by the channel input layer of each encoder neural network. The sampler has been described above in relation to Figure 13.
[00259] Figure 18 provides another illustration of a communication system 1800 according to an example. The communication system 1800 of Figure 18 is an example of the communication system 800 of Figure 8. The communication system may comprise encoder neural network 1802, first decoder neural network 1804 and second decoder neural network 1806. Encoder neural network 1802, first decoder neural network 1804 and
second decoder neural network 1806 may be of a joint source channel coding variational autoencoder, such as joint source channel coding variational encoder 1100 of Figure 11. The nodes of the channel input layer of the encoder neural network 1802 may correspond to a channel input distribution vector ¾ = {Zi, Z2,... , ZK}, the Z, taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the X, of the channel input vector
= {X1 , X2, ... , Xn}. The encoder neural network 1802 may be configured through training to map sequences of source symbols
received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector XT
[00260] The communication system may further comprise a sampler 1812, for example sampler 1206 of Figure 12, configured to produce a channel input vector X^ = {X1, X2,... ,
Xn} in use by sampling the respective distribution for each channel input X defined by the channel input distribution vector Z^ = {Z1 , Z2, ... , ZK} output by the channel input layer of the encoder neural network. For example, the sampler may receive inputs Z1 to Zs, sample the inputs and produce outputs X1 1808, X2I8IO, X3 1818, X4 1816. The sampler 1812 has been described above in relation to Figure 13.
[00261] The encoder neural network 1802 of the communication system 1800 of Figure 18 may be included in a transmitter device such as transmitter device 1600 of Figure 16. The transmitter device may comprise a sampler, such as sampler 1606, configured to produce a channel input vector ^ = {X1 , X2, ... , Xn} in use by sampling the respective distribution for each channel input X defined by the channel input distribution vector Z^ = {Z1 , Z2, ... , ZK} output by the channel input layer of the encoder neural network 1802.
[00262] The method 900 of Figure 9 and the training method 1000 of Figure 10 may be performed for the communication system of Figure 18. For example, for the method 900 of Figure 9, the joint source channel coding autoencoder may be a joint source channel coding variational autoencoder, and the channel input layer may have nodes
corresponding to a channel input distribution vector Z^ = {Z1, Z2,... , ZK}, the Z, taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the X of a channel input vector XT The encoder neural network may be configured through training to map sequences of source symbols Sm received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector XT
[00263] In another example, for the training method 1000 of Figure 10, the joint source channel coding autoencoder may be a joint source channel coding variational
autoencoder, and the sequences of source symbols
received from the information
source may be mapped directly to a representation as a plurality of distributions that provide possible values for the X, of a channel input vector XT
[00264] In summary, there is provided a transmitter device 500 for conveying information from an information source across a communications channel using a joint source channel coding autoencoder 200, comprising: a plurality of encoder neural networks 212, 222, each encoder neural network of a joint source channel coding autoencoder, and each encoder neural network trained to receive a different information source or a different type of information source. Each encoder neural network may comprise: an input layer having input nodes corresponding to a sequence of source symbols
= {Si , S2, ... , Sm}, the S- i taking values in a finite alphabet S, received at the input layer from an information source as samples thereof, and a channel input layer coupled to the input layer through one or more neural network layers, the channel input layer having nodes usable to provide values for the of a channel input vector X^ = {X1 , X2,... , Xn}, the X taking values from the available input signal alphabet X of the communications channel, wherein the encoder neural network is configured through training to be usable to map sequences of source symbols received from the information source directly to a representation as a channel input vector Xn. usable to drive a transmitter to transmit a corresponding signal over a communications channel; and a transmitter to transmit the channel input vector X^ over the communications channel.
[00265] Throughout the description and claims of this specification, the words“comprise” and“contain” and variations of them mean“including but not limited to”, and they are not intended to (and do not) exclude other components, integers or steps. Throughout the description and claims of this specification, the singular encompasses the plural unless the context otherwise requires. In particular, where the indefinite article is used, the specification is to be understood as contemplating plurality as well as singularity, unless the context requires otherwise.
[00266] Features, integers, characteristics or groups described in conjunction with a particular aspect, embodiment or example of the invention are to be understood to be applicable to any other aspect, embodiment or example described herein unless incompatible therewith. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive. The invention is not restricted to the details of any foregoing embodiments. The invention extends to any novel one, or any novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel
combination, of the steps of any method or process so disclosed. In particular, any dependent claims may be combined with any of the independent claims and any of the other dependent claims.
Claims
1. A transmitter device for conveying information from an information source across a communications channel using a joint source channel coding autoencoder, comprising:
a plurality of encoder neural networks, each encoder neural network of a joint source channel coding autoencoder, and each encoder neural network trained to receive a different information source or a different type of information source,
wherein each encoder neural network comprises: an input layer having input nodes corresponding to a sequence of source symbols
= {Si , S2, ... , Sm}, the S, taking values in a finite alphabet S, received at the input layer from an information source as samples thereof, and a channel input layer coupled to the input layer through one or more neural network layers, the channel input layer having nodes usable to provide values for the X, of a channel input vector X^ = {Xi , X2, ... , Xn}, the X taking values from the available input signal alphabet X of the communications channel, wherein the encoder neural network is configured through training to be usable to map sequences of source symbols
received from the information source directly to a representation as a channel input vector )^, usable to drive a transmitter to transmit a corresponding signal over a communications channel; and a transmitter to transmit the channel input vector X^ over the communications channel.
2. The transmitter device of claim 1 , wherein each encoder neural network is of a different joint source channel coding autoencoder.
3. The transmitter device of claim 1 or claim 2, wherein each encoder network
receives a different size information source.
4. The transmitter device of any of claims 1 to 3, wherein each encoder neural network has a different number of nodes at the channel input layer.
5. The transmitter device of any of claims 1 to 4, wherein the information source of one of the plurality of encoder neural networks is an image and the information source of another of the plurality of encoder neural networks is a video.
6. The transmitter device of any of claims 1 to 5, wherein the transmitter is to transmit each channel input vector U at a different frequency over the communications channel.
7. The transmitter device of any of claims 1 to 6, wherein the transmitter is to transmit each channel input vector U simultaneously over the communications channel.
8. The transmitter device of any of claims 1 to 7 wherein, for at least one encoder neural network, the channel input layer of the encoder neural network has nodes corresponding to the channel input vector XU and the sequences of source symbols Sm are mapped directly to a representation as the channel input vector XT
9. The transmitter device of any of claims 1 to 7, wherein each joint source channel coding autoencoder is a joint source channel coding variational autoencoder, wherein the nodes of the channel input layer of each encoder neural network correspond to a channel input distribution vector ZU = { Zi , Z2, ... , ZK}, the Z, taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the X, of the channel input vector XU =
{Ci , X2, ... , Xn}, and wherein each encoder neural network is configured through training to map sequences of source symbols SUU received from the information source directly to a representation as a plurality of distributions that provide possible values for the X of a channel input vector XU, the transmitter device further comprising:
a sampler, configured to produce a channel input vector XU = {X1 , X2,... , Xn} in use by sampling the respective distribution for each channel input X defined by the channel input distribution vector ZU = {Z1 , Z2, ... , ZK} output by the channel input layer of each encoder neural network.
10. The transmitter device of any of claims 1 to 9 in combination with one or more
receiver devices, each receiver device comprising:
at least one decoder neural network corresponding to one of the plurality of encoder neural networks of the transmitter device, the decoder neural network having:
a channel output layer having nodes corresponding to a channel output vector YU received from a receiver receiving the
signal corresponding to channel input vector XU transmitted by the transmitter and transformed by the communications channel, and an output layer coupled to the channel output layer through one or more neural network layers, having nodes matching those of the input layer of the encoder neural network, wherein the decoder neural network is configured through training to map the representation of the source symbols as the channel output vector YU transformed by the communications channel to a reconstruction of the source symbols SUU output from the output layer of the joint source channel coding variational autoencoder, the reconstruction of the source symbols SUU being usable to reconstitute the information source; and a receiver to receive a signal corresponding to the channel input vector XU transmitted by the transmitter of the transmitter device over the
communications channel.
11. The transmitter device of any of claims 1 to 9 in combination with a receiver device comprising:
a plurality of decoder neural networks, each decoder neural network corresponding to one of the plurality of encoder neural networks of the transmitter device, each decoder neural network having:
a channel output layer having nodes corresponding to a channel output vector YU received from a receiver receiving the
signal corresponding to channel input vector XU transmitted by the transmitter and transformed by the communications channel, and
an output layer coupled to the channel output layer through one or more neural network layers, having nodes matching those of the input layer of the encoder neural network, wherein the decoder neural network is configured through training to map the representation of the source symbols as the channel output vector YU transformed by the communications channel to a reconstruction of the source symbols SUU output from the output layer of the joint source channel coding variational autoencoder, the reconstruction of the source symbols SUU being usable to reconstitute the information source; and a receiver to receive a signal corresponding to the channel input vector XU transmitted by the transmitter of the transmitter device over the
communications channel.
12. The transmitter device of any of claims 1 to 11 , wherein, for at least one of the plurality of encoder neural networks, the size n of the channel input vector XU is smaller than the size m of the source symbols SUU and the information source is compressed during mapping.
13. The transmitter device of any of claims 1 to 12, wherein, for at least one of the plurality of encoder neural networks, the size n of the channel input vector XU is based on the channel capacity.
14. The transmitter device of any of claims 1 to 13, wherein, for at least one of the plurality of encoder neural networks, the size n of the channel input vector XU is based on the information source or type of information source.
15. The transmitter device of any of claims 1 to 14, wherein, for at least one of the plurality of encoder neural networks, the size m of the sequence of source symbols SUU is based on the information source or type of information source.
16. The transmitter device of any of claims 1 to 15, wherein, for at least one of the plurality of encoder neural networks, the encoder neural network and
corresponding decoder neural network are trained jointly.
17. The transmitter device of any of claims 1 to 16, wherein, for at least one of the plurality of encoder neural networks, the encoder neural network and decoder neural network are trained jointly to minimise the difference between the input and output of the joint source channel coding variational autoencoder.
18. The transmitter device of any of claims 1 to 17, wherein, for at least one of the plurality of encoder neural networks, the encoder neural network and decoder neural network are trained jointly based on the type of communications channel.
19. The transmitter device of any of claims 1 to 18, wherein, for at least one of the plurality of encoder neural networks, the encoder neural network and decoder neural network are trained jointly based on a model of the communication channel, and the decoder neural network is trained further based on the real communication channel using one way communication of known training data samples from the transmitter to the receiver.
20. The transmitter device of any of claims 1 to 19, wherein, for at least one of the plurality of encoder neural networks, the encoder neural network and decoder neural network are trained jointly based on the type of information source, or for a given information source.
21. The transmitter device of any of claims 1 to 20, wherein, for at least one of the plurality of encoder neural networks, the information source has not been compressed before being input into the joint source channel coding variational autoencoder.
22. The transmitter device of any of claims 1 to 21 , wherein, for at least one of the plurality of encoder neural networks, the communications channel is a noisy communications channel.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1813353.8A GB2576702A (en) | 2018-08-15 | 2018-08-15 | Joint source channel coding of information sources using neural networks |
GB1813353.8 | 2018-08-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020035684A1 true WO2020035684A1 (en) | 2020-02-20 |
Family
ID=63667283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/GB2019/052283 WO2020035684A1 (en) | 2018-08-15 | 2019-08-14 | Joint source channel coding of information sources using neural networks |
Country Status (2)
Country | Link |
---|---|
GB (1) | GB2576702A (en) |
WO (1) | WO2020035684A1 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113794660A (en) * | 2021-09-10 | 2021-12-14 | 电子科技大学 | Model-driven deep neural network method for multi-input multi-output detection |
CN114070467A (en) * | 2021-10-12 | 2022-02-18 | 北京交通大学 | Information source encryption privacy protection method for deep joint information source channel coding |
CN114978413A (en) * | 2021-02-24 | 2022-08-30 | 华为技术有限公司 | Information coding control method and related device |
CN115136498A (en) * | 2020-02-24 | 2022-09-30 | 高通股份有限公司 | Method for transmitting TX waveform distortion to receiver |
GB2607111A (en) * | 2021-05-28 | 2022-11-30 | Imp College Innovations Ltd | Communication system for conveying data from an information source across a communication channel |
JP2023501563A (en) * | 2020-05-12 | 2023-01-18 | テンセント・アメリカ・エルエルシー | Alternative end-to-end video coding |
WO2023283785A1 (en) * | 2021-07-12 | 2023-01-19 | Oppo广东移动通信有限公司 | Method for processing signal, and receiver |
EP4211911A1 (en) * | 2020-09-11 | 2023-07-19 | Qualcomm Incorporated | Size-based neural network selection for autoencoder-based communication |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023209146A1 (en) * | 2022-04-29 | 2023-11-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Nodes and methods for enhanced ml-based csi reporting |
CN114723842B (en) * | 2022-05-24 | 2022-08-23 | 之江实验室 | Sparse visual angle CT imaging method and device based on depth fusion neural network |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170230675A1 (en) * | 2016-02-05 | 2017-08-10 | Google Inc. | Compressing images using neural networks |
WO2018236932A1 (en) * | 2017-06-19 | 2018-12-27 | Oshea Timothy James | Encoding and decoding of information for wireless transmission using multi-antenna transceivers |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108540267B (en) * | 2018-04-13 | 2020-10-02 | 北京邮电大学 | Multi-user data information detection method and device based on deep learning |
-
2018
- 2018-08-15 GB GB1813353.8A patent/GB2576702A/en not_active Withdrawn
-
2019
- 2019-08-14 WO PCT/GB2019/052283 patent/WO2020035684A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170230675A1 (en) * | 2016-02-05 | 2017-08-10 | Google Inc. | Compressing images using neural networks |
WO2018236932A1 (en) * | 2017-06-19 | 2018-12-27 | Oshea Timothy James | Encoding and decoding of information for wireless transmission using multi-antenna transceivers |
Non-Patent Citations (2)
Title |
---|
DIEDERIK P KINGMA ET AL: "Auto-Encoding Variational Bayes", INTERNET CITATION, 1 May 2014 (2014-05-01), XP002768423, Retrieved from the Internet <URL:https://arxiv.org/abs/1312.6114> [retrieved on 1077] * |
SEBASTIAN D\"ORNER ET AL: "Deep Learning-Based Communication Over the Air", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 11 July 2017 (2017-07-11), XP081279898, DOI: 10.1109/JSTSP.2017.2784180 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115136498A (en) * | 2020-02-24 | 2022-09-30 | 高通股份有限公司 | Method for transmitting TX waveform distortion to receiver |
CN115136498B (en) * | 2020-02-24 | 2023-10-03 | 高通股份有限公司 | Method for transmitting TX waveform distortion to receiver |
JP7345650B2 (en) | 2020-05-12 | 2023-09-15 | テンセント・アメリカ・エルエルシー | Alternative end-to-end video coding |
JP2023501563A (en) * | 2020-05-12 | 2023-01-18 | テンセント・アメリカ・エルエルシー | Alternative end-to-end video coding |
EP4211911A1 (en) * | 2020-09-11 | 2023-07-19 | Qualcomm Incorporated | Size-based neural network selection for autoencoder-based communication |
EP4211911A4 (en) * | 2020-09-11 | 2024-05-29 | Qualcomm Incorporated | Size-based neural network selection for autoencoder-based communication |
CN114978413B (en) * | 2021-02-24 | 2024-05-03 | 华为技术有限公司 | Information coding control method and related device |
CN114978413A (en) * | 2021-02-24 | 2022-08-30 | 华为技术有限公司 | Information coding control method and related device |
WO2022179402A1 (en) * | 2021-02-24 | 2022-09-01 | 华为技术有限公司 | Information encoding control method and related apparatus |
GB2607111A (en) * | 2021-05-28 | 2022-11-30 | Imp College Innovations Ltd | Communication system for conveying data from an information source across a communication channel |
WO2022248891A1 (en) * | 2021-05-28 | 2022-12-01 | Imperial College Innovations Ltd | Communication system, transmitter, and receiver for conveying data from an information source across a communication channel using joint source and channel coding, and method of training an encoder neural network and decoder neural network for use in a communication system |
WO2023283785A1 (en) * | 2021-07-12 | 2023-01-19 | Oppo广东移动通信有限公司 | Method for processing signal, and receiver |
CN113794660A (en) * | 2021-09-10 | 2021-12-14 | 电子科技大学 | Model-driven deep neural network method for multi-input multi-output detection |
CN113794660B (en) * | 2021-09-10 | 2022-06-07 | 电子科技大学 | Model-driven deep neural network method for multi-input multi-output detection |
CN114070467A (en) * | 2021-10-12 | 2022-02-18 | 北京交通大学 | Information source encryption privacy protection method for deep joint information source channel coding |
Also Published As
Publication number | Publication date |
---|---|
GB201813353D0 (en) | 2018-09-26 |
GB2576702A (en) | 2020-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210319286A1 (en) | Joint source channel coding for noisy channels using neural networks | |
US20210351863A1 (en) | Joint source channel coding based on channel capacity using neural networks | |
WO2020035684A1 (en) | Joint source channel coding of information sources using neural networks | |
Kurka et al. | Bandwidth-agile image transmission with deep joint source-channel coding | |
Kurka et al. | Successive refinement of images with deep joint source-channel coding | |
Ramstad | Shannon mappings for robust communication | |
Demir et al. | Joint source/channel coding for variable length codes | |
CN1102813C (en) | Error correction with two block codes | |
Fleming et al. | Generalized multiple description vector quantization | |
CN110073640B (en) | Method for converting or reconverting data signals, and method and system for data transmission and/or data reception | |
GB2607111A (en) | Communication system for conveying data from an information source across a communication channel | |
US11038525B2 (en) | Methods of converting or reconverting a data signal and method and system for data transmission and/or data reception | |
US7408998B2 (en) | System and method for adaptive bit loading source coding via vector quantization | |
KR20130107347A (en) | Transmission resources in time or frequency using analog modulation | |
WO2023031632A1 (en) | Encoder, decoder and communication system and method for conveying sequences of correlated data items from an information source across a communication channel using joint source and channel coding, and method of training an encoder neural network and decoder neural network for use in a communication system | |
JP3634082B2 (en) | Transmitter and receiver | |
US10523480B1 (en) | K-bit enumerative sphere shaping of multidimensional constellations | |
WO2023024850A1 (en) | Methods and systems for source coding using a neural network | |
KR20070084151A (en) | Digital signal transmitting apparatus | |
Yilmaz et al. | Distributed deep joint source-channel coding over a multiple access channel | |
CN107566084A (en) | A kind of Spinal joint source-channel decoding methods on awgn channel | |
Hekland | A review of joint source-channel coding | |
Dumitrescu et al. | Index mapping for bit-error resilient multiple description lattice vector quantizer | |
Hekland | On the design and analysis of Shannon-Kotel’nikov mappings for joint-source-channel coding | |
JP2024507299A (en) | Methods and devices for transmitting binary data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19758461 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19758461 Country of ref document: EP Kind code of ref document: A1 |