JOINT SOURCE CHANNEL CODING FOR NOISY CHANNELS USING NEURAL NETWORKS
20210319286 · 2021-10-14
Assignee
Inventors
Cpc classification
International classification
H03M13/00
ELECTRICITY
Abstract
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 S={S1, S2, . . . , Sm}, the Si, 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 Zk={Z1, Z2, . . . , ZK}, the Zi, 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 Xn={X1, X2, . . . , Xn}, the Xi 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 Xi, 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 Xn={X1, X2, . . . , Xn} in use by sampling the respective distribution for each channel input X defined by the channel input distribution vector Zk={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 Yn received from a receiver receiving the signal Xn 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 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, the reconstruction of the source symbols Sm being usable to reconstitute the information source.
Claims
1. 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 S.sup.m={S.sub.1, S.sub.2, . . . , S.sub.m}, the S.sub.i 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 corresponding to a channel input distribution vector Z.sup.k={Z.sub.1, Z.sub.2, . . . , Z.sub.K}, the Z.sub.1 taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the X.sub.i of a channel input vector X.sup.n={X.sub.1, X.sub.2, . . . , X.sub.n}, the X.sub.i taking values from the available input signal alphabet X of the communications channel, wherein the encoder neural network is configured through training to map sequences of source symbols S.sup.m received from the information source directly to a representation as a plurality of distributions that provide possible values for the X.sub.i of a channel input vector X.sup.n, usable to drive a transmitter to transmit a corresponding signal over the communications channel; a sampler, configured to produce a channel input vector X.sup.n={X.sub.1, X.sub.2, . . . , X.sub.n} in use by sampling the respective distribution for each channel input X.sub.i defined by the channel input distribution vector Z.sup.k={Z.sub.1, Z.sub.2, . . . , Z.sub.K} 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 Y.sup.n received from a receiver receiving the signal corresponding to channel input vector X.sup.n 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 Y.sup.n transformed by the communications channel to a reconstruction of the source symbols Ŝ.sup.m output from the output layer of the joint source channel coding variational autoencoder, the reconstruction of the source symbols Ŝ.sup.m being usable to reconstitute the information source.
2. The communication system of claim 1, wherein the plurality of distributions have the same distribution type.
3. The communication system of claim 1, wherein the communications channel is a noisy communications channel and wherein the distribution type of the plurality of distributions is based on the characteristics of the communication channel.
4. (canceled)
5. The communication system of claim 1, wherein the distribution type is the optimal input distribution for the channel.
6. The communication system of claim 1, wherein the communications channel is modelled as a Gaussian channel, the plurality of distributions are Gaussian distributions and the parameters defining the distributions are the mean and standard deviation.
7. The communication system of claim 1, wherein the size n of the channel input vector X.sup.n is smaller than the size m of the source symbols S.sup.m and the information source is compressed during mapping.
8. The communication system of claim 1, wherein the size n of the channel input vector X.sup.n is based on the channel capacity.
9. The communication system of claim 1, wherein the information source is an image and the sequence of source symbols S.sup.m represents pixels of the image and wherein each of the plurality of distributions represents a feature of the image.
10. (canceled)
11. The communication system of claim 1, wherein the encoder neural network and decoder neural network are trained jointly.
12. The communication system of claim 1, wherein 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.
13. The communication system of claim 1, wherein the encoder neural network is trained to learn the parameters of the plurality of distributions.
14. The communication system of claim 1, wherein the encoder neural network and decoder neural network are: trained jointly using the backpropagation algorithm or the stochastic gradient descent training algorithm; trained jointly based on the type of communications channel; 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; trained to meet channel input constraints; trained jointly based on the type of information source, or for a given information source; and/or trained jointly based on the measure of distance from a target distribution to the plurality of distributions, wherein the distance from the target distribution is measured using KL divergence.
15.-18. (canceled)
19. The communication system of claim 1, wherein the X.sub.i of the channel input vector X.sup.n belongs to a set of complex numbers, corresponding to the I and Q components.
20. (canceled)
21. The communication system of claim 1, wherein the channel input vector X.sup.n comprises one sample from each distribution of the plurality of distributions.
22.-23. (canceled)
24. The communication system of claim 1, wherein the channel input layer is coupled to the input layer through at least five neural network layers.
25. The communication system of claim 1, wherein the difference between the sequence of source symbols S.sup.m and the reconstruction of the source symbols Ŝ.sup.m increases as the noise of the communications channel increases.
26. The communication system of claim 1, wherein the information source has not been compressed before being input into the joint source channel coding variational autoencoder.
27. (canceled)
28. 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 S.sup.m={S.sub.1, S.sub.2, . . . , S.sub.m}, the S.sub.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 corresponding to a channel input distribution vector Z.sup.k={Z.sub.1, Z.sub.2, . . . , Z.sub.K}, the Z.sub.i taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the X.sub.i of a channel input vector X.sup.n={X.sub.1, X.sub.2, . . . , X.sub.n}, the X.sub.i taking values from the available input signal alphabet X of the communications channel, wherein the encoder neural network is configured through training to map sequences of source symbols S.sup.m received from the information source directly to a representation as a plurality of distributions that provide possible values for the X.sub.i of a channel input vector X.sup.n usable to drive a transmitter to transmit a corresponding signal over a communications channel; a sampler, configured to produce a channel input vector X.sup.n={X.sub.1, X.sub.2, . . . , X.sub.n} in use by sampling the respective distribution for each channel input X.sub.i defined by the channel input distribution vector Z.sup.k={Z.sub.1, Z.sub.2, . . . , Z.sub.K} output by the channel input layer of the encoder neural network; and a transmitter to transmit the channel input vector X.sup.n over the communications channel.
29. A transmitter device as claimed in claim 28 comprising 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.
30. (canceled)
31. 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 S.sup.m received from the information source directly to a representation as a plurality of distributions that provide possible values for the X.sub.i of a channel input vector X.sup.n, usable to drive a transmitter to transmit a corresponding signal over the communications channel; and 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 Y.sup.n transformed by the communications channel to a reconstruction of the source symbols Ŝ.sup.m output from the output layer of the joint source channel coding variational autoencoder, comparing the sequences of source symbols Ŝ.sup.m to the reconstruction of source symbols Ŝ.sup.m, 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 Ŝ.sup.m is usable to reconstitute the information source.
32.-33. (canceled)
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0139] Embodiments of the invention are further described hereinafter with reference to the accompanying drawings, in which:
[0140]
[0141]
[0142]
[0143]
[0144]
[0145]
[0146]
[0147]
[0148]
[0149]
[0150]
[0151]
[0152]
[0153]
[0154]
[0155]
[0156]
[0157]
DETAILED DESCRIPTION
[0158] 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.
[0159] 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.
[0160] 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.
[0161] 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.
[0162]
[0163] 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.
[0164] 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.
[0165] 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.
[0166] 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.
[0167] 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
[0168]
[0169] For example, with reference to
[0170] With reference to
[0171] The encoder neural network 202 is configured through training to be usable to map sequences of source symbols S.sup.m received from the information source directly to a representation as a channel input vector X.sup.n, usable to drive a transmitter to transmit a corresponding signal over the communications channel.
[0172] 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.sup.m, to the nodes 112 of the channel input layer 110, corresponding to a channel input vector X.sup.n, through the neural network.
[0173] In the communication system, for a wireless communications channel in accordance with an example, each input signal X.sub.i of the channel input vector X.sup.n 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 X.sup.n is smaller than the size m of the source symbols S.sup.m Alternatively, the joint source channel coding autoencoder 200 may perform a bandwidth expansion, where the size n of the channel input vector X.sup.n is larger than the size m of the source symbols S.sup.m.
[0174] When the neural network of
[0175] 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.sup.m. 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.
[0176] 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.sup.n received from a receiver receiving the signal X.sup.n 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.
[0177] The decoder neural network 204 is configured through training to map the representation of the source symbols as the channel output vector Y.sup.n transformed by the communications channel to a reconstruction of the source symbols Ŝ.sup.m output from the output layer of the joint source channel coding autoencoder 200, the reconstruction of the source symbols Ŝ.sup.m being usable to reconstitute the information source.
[0178] 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 Y.sup.n, to the nodes 124 of the output layer 122, corresponding to a reconstruction of the source symbols Ŝ.sup.m, through the neural network.
[0179] 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.
[0180] In an example, the size n of the channel input vector X.sup.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). Alternatively or additionally, the size n of the channel input vector X.sup.n may be based on the size m of the source symbols S.sup.m or the size m of the reconstruction of the source symbols S.sup.m. In an example, the size of the source symbols S.sup.m is not equal to the size of the reconstruction of the source symbols S.sup.m. The size m of the reconstruction of the source symbols S.sup.m may be larger than the size n of the channel output vector Y.sup.n. The size n of the channel input vector X.sup.n may be equal to the size n of the channel output vector Y.sup.n In another example, the size n of the channel input vector X.sup.n may be different from the size n of the channel output vector Y.sup.n for example, for a multiple input multiple output channel.
[0181]
[0182] 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.
[0183] 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
[0184] 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 S.sup.m={S.sub.1, S.sub.2, . . . , S.sub.m}, the S.sub.i taking values in a finite alphabet S. Next, the encoder neural network 202 maps the sequence of source symbols S.sup.m 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.sub.i of a channel input vector X.sup.n={X.sub.1, X.sub.2, . . . , X.sub.n}, the X.sub.i 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 S.sup.m received from the information source 302 directly to a representation as a channel input vector X.sup.n, usable to drive a transmitter to transmit a corresponding signal over a communications channel 310.
[0185] In an example, the channel input layer 110 has nodes corresponding to channel input vector X.sup.n and the sequences of source symbols S.sup.m are mapped directly to a representation as the channel input vector X.sup.n. The values of the channel input vector X.sup.n may need to be normalized before being input into the communications channel 310 to comply with average input power constraints.
[0186] The channel input vector X.sup.n 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.
[0187] In an example, the communication channel transforms the channel input vector X.sup.n into the channel output vector Y.sup.n in a random manner. If the channel is memoryless, then the distribution of the channel output conditioned on the channel input is given by
[0188] However, the channel may have memory, which means that the output symbol at time i may depend on the channel inputs before time i 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.
[0189] The quality of the reconstruction of the input vector Ŝ.sup.m 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
[0190] In case of image transmission, the distortion may be measured by the average squared error distortion.
[0191] The communications channel 310 may be an additive white Gaussian noise (AWGN) channel. Channel output vector Y.sup.n may be a distorted version of the channel input vector.
[0192] 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.
[0193] The decoder neural network receives the channel output vector. The decoder neural network 204 is described above with reference to
[0194] 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:
[0195] In a wireless communication system, the input cost constraint may be the transmission power, given by c(X)=|X|.sup.2. The cost function enables error minimisation between the information source and the reconstructed information source.
[0196] 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.
[0197] 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.
[0198] 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.
[0199]
Transmitter/Receiver Having Multiple Joint Source Channel Coding Autoencoders for Multiple Information Sources
[0200]
[0201] The transmitter device 500 also comprises a transmitter 404 to transmit the channel input vector X.sup.n over the communications channel 310. The channel input vector X.sup.n may include signal values X.sup.i 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.sup.n for the plurality of encoder neural networks 212, 222 over the communications channel 310. The transmitter 404 may transmit the channel input vector X.sup.n of each encoder neural network simultaneously and/or at a different frequency over the communications channel.
[0202] 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
[0203] 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
[0204] 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.
[0205]
[0206] 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.
[0207] Each decoder neural network 214, 224 of receiver device 200 may have a channel output layer having nodes corresponding to a channel output vector Y.sup.n received from a receiver receiving a signal corresponding to at least the plurality of signal values X.sup.p of the channel input vector X.sup.n 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.sup.n transformed by the communications channel to a reconstruction of the source symbols Ŝ.sup.m output from the output layer of the joint source channel coding autoencoder, the reconstruction of the source symbols Ŝ.sup.m being usable to reconstitute the information source.
[0208] The receiver device 600 also comprises a receiver 602 to receive a signal corresponding to the channel input vector X.sup.n transmitted by the transmitter of the transmitter device over the communications channel.
[0209] 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
[0210]
[0211]
[0212] 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 S.sup.m={S.sub.1, S.sub.2, . . . , S.sup.m}, the S.sub.i 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.sub.i of a channel input vector X.sup.n={X.sub.1, X.sub.2, . . . , X.sub.n}, the X.sub.i taking values from the available input signal alphabet X of the communications channel, the channel input vector X.sup.n comprising a plurality of signal values X.sup.p usable to reconstruct an information source, wherein the number of the plurality of signal values X.sup.p is smaller than the total number of signal values X.sup.n, and wherein at least one of the remaining signal values of the channel input vector X.sup.n 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 S.sup.m received from the information source directly to a representation as a channel input vector X.sup.n, usable to drive a transmitter to transmit a corresponding signal over the communications channel. In an example, the sequences of source symbols S.sup.m received from the information source are mapped directly to a representation as a channel input vector X.sup.n.
[0213] 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.sup.p of the channel input vector X.sup.n 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 Ŝ.sup.m output from the output layer 122 of the joint source channel coding autoencoder 700, the reconstruction of the source symbols Ŝ.sup.m 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.
[0214] The plurality of signal values X.sup.p may be a subset of the channel input vector X.sup.n. The channel output vector Y.sup.p received from the receiver may correspond to a subset of the channel input vector X.sup.n, the subset transmitted by the transmitter and transformed by the communications channel. In an example, the sequences of source symbols S.sup.m received from the information source 302 are mapped directly to a representation as a channel input vector X.sup.n. In an example, the reconstruction of the source symbols Ŝ.sup.m of the first decoder neural network 702 is of a higher quality than the reconstruction of the source symbols Ŝ.sup.m of the second decoder neural network 704. The plurality of signal values X.sup.p usable to reconstruct an information source may be a plurality of consecutive signal values of the channel input vector X.sup.n and may be a first plurality of consecutive signal values of the channel input vector X.sup.n. The channel output layer of the first decoder neural network 702 may receive channel output vector Y.sup.p from a receiver receiving a signal corresponding to the plurality of signal values X.sup.p of the channel input vector X.sup.n. The channel output layer of the second decoder neural network may receive a channel output vector Y.sup.n from a receiver receiving a signal corresponding to the channel input vector X.sup.n.
[0215] In an example, the number of symbols of the reconstruction of the source symbols Ŝ.sup.m of the first decoder neural network is different to the number of symbols of the reconstruction of the source symbols Ŝ.sup.m of the second decoder neural network. The number p of the plurality of signal values X.sup.p 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.sup.p 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.sup.n 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.
[0216] The encoder neural network 702 of the communication system 800 may be included in a transmitter device such as the transmitter device of
[0217] Further, where only the reduced number of signal values X.sup.p 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 X.sup.n), 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 X.sup.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.
[0218] 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.
[0219] 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
[0220] 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 X.sup.n than the first decoder neural network 704.
[0221] In an example, each of the remaining signal values of the channel input vector X.sup.n, when received in addition to the plurality of signal values X.sup.p, are usable to produce a reconstruction of the source symbols Ŝ.sup.m with a higher quality than the reconstruction of the source symbols Ŝ.sup.m using the plurality of signal values X.sup.p. For example, a receiver may receive only the plurality of signal values X.sup.p of the channel input vector X.sup.n 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.
[0222] In another example, a plurality of the remaining signal values of the channel input vector X.sup.n, when received in addition to the plurality of signal values X.sup.p, together are usable to produce a reconstruction of the source symbols Ŝ.sup.m with a higher quality than the reconstruction of the source symbols Ŝ.sup.m using the plurality of signal values X.sup.p.
[0223] All of the remaining signal values of the channel input vector X.sup.n 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
[0224] 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
[0225] 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.
[0226]
[0227] of the channel input vector X.sup.n 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 S.sup.m received from the information source directly to a representation as a channel input vector X.sup.n, usable to drive a transmitter to transmit a corresponding signal over a communications channel 310.
[0228]
[0229] 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.
[0230] 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 Ŝ.sup.m at the second decoder neural network is usable to reconstitute the information source and the reconstruction of source symbols Ŝ.sup.m at the first decoder neural network is of a higher quality than the reconstruction of source symbols Ŝ.sup.m at the second decoder neural network.
[0231] 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 Ŝ.sup.m 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 S.sup.m received from the information source are mapped directly to a representation as a channel input vector X.sup.n.
[0232] 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.
[0233] 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 Ŝ.sup.m 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 Y.sup.n transformed by the communication channel can still be mapped to a reconstruction of source symbols Ŝ.sup.m that is usable to reconstitute the information source.
[0234] As illustrated in
[0235] 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.
[0236] 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 S.sup.m={S.sub.1, S.sub.2, . . . , S.sub.m}, the S.sub.i 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.sub.i of a channel input vector X.sup.n={X.sub.1, X.sub.2, . . . , X.sub.n}, the X.sub.i 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 S.sup.m received from the information source 302 directly to a representation as a channel input vector X.sup.n, 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.sup.n over the communications channel 310.
[0237] 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 S.sup.m={S.sub.i, S.sub.2, . . . , S.sup.m}, the S.sub.i 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.sub.i of a channel input vector X.sup.n={X.sub.1, X.sub.2, . . . , X.sub.n}, the X.sub.i taking values from the available input signal alphabet X of the communications channel 310, the channel input vector X.sup.n comprising a plurality of signal values X.sup.p usable to reconstruct an information source 302, wherein the number p of the plurality of signal values X.sup.p is smaller than the total number n of signal values of the channel input vector X.sup.n, and wherein at least one of the remaining symbols of the channel input vector X.sup.n 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 S.sup.m received from the information source 302 directly to a representation as a channel input vector X.sup.n, 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 X.sup.p of the channel input vector X.sup.n 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 Ŝ.sup.m output from the output layer 122 of the joint source channel coding autoencoder 700, the reconstruction of the source symbols Ŝ.sup.m 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.
[0238] 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 X.sup.n 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 X.sup.n. 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
[0239] 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
[0240] 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.
[0241] 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.
[0242] 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.
[0243] 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.
[0244]
[0245] For example, with reference to
[0246] With reference to
[0247] The encoder neural network 1102 is configured through training to map sequences of source symbols S.sup.m received from the information source directly to a representation as a plurality of distributions that provide possible values for the X.sub.i of a channel input vector X.sup.n, usable to drive a transmitter to transmit a corresponding signal over the communications channel.
[0248] 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.sup.m, to the nodes 112 of the channel input layer 110, corresponding to a channel input distribution vector Z.sup.k, through the neural network.
[0249] In the communication system, for a wireless communications channel in accordance with an example, each input signal X.sub.i of the channel input vector X.sup.n 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.sup.n is smaller than the size m of the source symbols S.sup.m Alternatively, the joint source channel coding variational autoencoder 1100 may perform a bandwidth expansion, where the size n of the channel input vector X.sup.n is larger than the size m of the source symbols S.sub.m.
[0250] 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.sup.k encode the mean value of the corresponding channel input distributions, while the remaining k/2 elements of the channel input distribution vector Z.sup.k encode the standard deviations of the corresponding channel input distributions. In this example, the i-th channel input X.sub.i is a sample from a Gaussian distribution with mean Z.sub.i and standard deviation Z.sub.i+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 X.sup.n is half the size k of the channel input distribution vector Z.sup.k. Moreover, in such an example, the channel input vector X.sup.n comprises one sample from each distribution of the plurality of distributions.
[0251] 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.
[0252] 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.
[0253] When the neural network of
[0254] The decoder neural network 1104 is to map the channel output sequence to a reconstructed version of the channel input vector Ŝ.sup.m. 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.
[0255] 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.sup.n received from a receiver receiving the signal X.sup.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.
[0256] The decoder neural network 1104 is configured through training to map the representation of the source symbols as the channel output vector Y.sup.n transformed by the communications channel to a reconstruction of the source symbols Ŝ.sup.m output from the output layer of the joint source channel coding variational autoencoder 1100, the reconstruction of the source symbols Ŝ.sup.m being usable to reconstitute the information source.
[0257] 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 Y.sup.n, to the nodes 124 of the output layer 122, corresponding to a reconstruction of the source symbols Ŝ.sup.m, through the neural network.
[0258] 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.
[0259] In an example, the size n of the channel input vector X.sup.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). Alternatively or additionally, the size n of the channel input vector X.sup.n may be based on the size m of the source symbols S.sup.m or the size m of the reconstruction of the source symbols Ŝ.sup.m. In an example, the size of the source symbols S.sup.m is not equal to the size of the reconstruction of the source symbols Ŝ.sup.m. The size k of the channel input distribution vector Z.sup.k may be larger than the size n of the channel input vector X.sup.n. The size m of the reconstruction of the source symbols Ŝ.sup.m may be larger than the size n of the channel output vector Y.sup.n. The size n of the channel input vector X.sup.n may be equal to the size n of the channel output vector Y.sup.n In another example, the size n of the channel input vector X.sup.n may be different from the size n of the channel output vector Y.sup.n, for example, for a multiple input multiple output channel.
[0260]
[0261] The communication system 1200 further comprises a sampler 1206. The sampler 306 receives the channel input distribution vector Z.sup.k={Z.sub.1, Z.sub.2, . . . , Z.sub.K} and samples the respective distribution for each channel input X.sub.i defined by the channel input distribution vector to produce a channel input vector X.sup.n={X.sub.1, X.sub.2, . . . , X.sub.n}. For example, the sampler may produce outputs X.sub.1 1214 and X.sub.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.
[0262] Channel input vector X.sup.n may be transmitted across communications channel 310. Communications channel has been described previously with reference to
[0263] 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 S.sup.m and the reconstruction of the source symbols Ŝ.sup.m may increase.
[0264] The decoder neural network 1104 receives the channel output vector. The decoder neural network 1104 is described above with reference to
[0265]
[0266] 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 σ.sub.2=2 and a mean μ.sub.2=−3. Z.sub.2 1324 provides the standard deviation and Z.sub.4 1326 provides the mean to the sampler. The sampler samples the Gaussian distribution to produce the output X.sub.2 1328. For example, when sampling a Gaussian distribution with a standard deviation σ.sub.2=2 and a mean μ.sub.2=−3, the sampler may produce output X.sub.2=−7.
[0267] In another example, sampler 1206 may receive two inputs Z.sub.1 1304 and Z.sub.3 1306. These inputs are the parameters of a distribution such as distribution 1302. Sampler 1206 may sample the distribution defined by the parameters Z.sub.1 and Z.sub.3 to produce an output X.sub.1 1308, 1310. The output X.sub.1 1308, 1310 may be any value that falls within the distribution 1302 and is illustrated by the spots labelled output X.sub.1 on the scale.
[0268] 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 σ.sub.1=1 and a mean μ.sub.1=2.5. Z.sub.1 1304 provides the standard deviation and Z.sub.3 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 X.sub.1=5. At a second time, the sampler may receive parameters defining the distribution 1302 and produce the output X.sub.1=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.
[0269]
[0270] 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.
[0271] 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.sup.n), the KL divergence D.sub.KL is calculated using the following equation.
D.sub.KL[P.sub.ϕ(X.sup.n|S.sup.m)∥q(X.sup.n]
[0272] Where ϕ 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 P.Math.I, 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.
[0273] 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
[0274]
[0275] 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.
[0276]
[0277] The sampler 1606 of the transmitter device 1600 is configured to produce a channel input vector X.sup.n={X.sub.1, X.sub.2, . . . , X.sub.n} in use by sampling the respective distribution for each channel input X.sub.i defined by the channel input distribution vector Z.sup.k={Z.sub.1, Z.sub.2, . . . , Z.sub.K} output by the channel input layer of the encoder neural network. The sampler may be an example of the sampler 1206 of
[0278]
Referring back to
[0279]
[0280] The communication system may further comprise a sampler 1812, for example sampler 1206 of
[0281] The encoder neural network 1802 of the communication system 1800 of
[0282] The method 900 of
[0283] In another example, for the training method 1000 of
[0284] In summary, there is provided a communication system 300 for conveying information from an information source 302 across a communications channel 310 using a joint source channel coding variational autoencoder 1100, comprising an encoder neural network 1102 of the joint source channel coding variational autoencoder 1100, the encoder neural network 1102 having an input layer 102 having input nodes 104 corresponding to a sequence of source symbols S.sup.m={S.sub.1, S.sub.2, . . . , S.sub.m}, the S.sub.i taking values in a finite 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 corresponding to a channel input distribution vector Z.sup.k={Z.sub.1, Z.sub.2, . . . , Z.sub.K}, the Z.sub.i taking values for parameters defining a plurality of distributions, each distribution being sampleable to provide possible values for the X.sub.i of a channel input vector X.sup.n={X.sub.1, X.sub.2, . . . , X.sub.n}, the X.sub.i taking values from the available input signal values of the communications channel 310, wherein the encoder neural network 1102 is configured through training to map sequences of source symbols S.sup.m received from the information source 302 directly to a representation as a plurality of distributions that provide possible values for the X.sub.i of a channel input vector X.sup.n, usable to drive a transmitter to transmit a corresponding signal over the communications channel 310; a sampler 306, configured to produce a channel input vector X.sup.n={X.sub.1, X.sub.2, . . . , X.sub.n} in use by sampling the respective distribution for each channel input X.sub.i defined by the channel input distribution vector Z.sup.k={Z.sub.1, Z.sub.2, . . . , Z.sub.K} output by the channel input layer of the encoder neural network 1102; and a decoder neural network 1104 of the joint source channel coding variational autoencoder 1100, the decoder neural network 1104 having a channel output layer 114 having nodes 116 corresponding to a channel output vector Y.sup.n received from a receiver receiving the signal X.sup.n transmitted by the transmitter and transformed by the communications channel, and 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 102 of the encoder neural network 1102, wherein the decoder neural network 1104 is configured through training to map the representation of the source symbols as the channel output vector Y.sup.n transformed by the communications channel 310 to a reconstruction of the source symbols Ŝ.sup.m output from the output layer 122 of the joint source channel coding variational autoencoder 1100, the reconstruction of the source symbols Ŝ.sup.m being usable to reconstitute the information source 302.
[0285] 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.
[0286] 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.