Forming a tensor network
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
- Filing Date
- 2023-06-16
- Publication Date
- 2026-06-17
Smart Images

Figure IN2023050574_19122024_PF_FP_ABST
Abstract
Description
FORMING A TENSOR NETWORK Technical Field Examples of the present disclosure relate to forming a tensor network. Examples of the present disclosure also relate to using a tensor network.Wireless communication has seen tremendous growth over the past few decades. Global media data traffic is also expected to grow at a compounded annual rate of 45 percent over the coming years, representing a tenfold increase between 2016 and 2022. This growth is mainly due to the increasing number of users of mobile and computing devices. Due to this increased number of users, the existing speed, coverage, and capacity of wireless communication networks has become unreliable, and the introduction of new 5G networks with improved speed, coverage, and capacity is necessary to satisfy the demands of end users. Various new techniques have been developed to improve the coverage and capacity of wireless communication networks. For example, Massive Multi Input Multiple Output (MIMO) technology has been developed to improve the spectral efficiency of 5G communication systems. Additionally, to increase capacity and coverage, large numbers of small cells are densely deployed for 5G cellular networks. This network densification can lead to harmful effects such as high levels of cell overlapping and interference, that result in a large impact on the Quality of Service (QoS) for the users of the network. These impacts must be therefore handled effectively to improve the QoS for the users. Furthermore, antennas in cells and base stations of these networks must be properly orientated to achieve optimal coverage and capacity. Handling the orientation of all the antennas in a network (that is, performing antenna tilt optimization) proves to be a challenging and computationally intensive task. Deep neural networks (DNN) have improved performance in many domains and fields such as image processing and computer vision, video classification, and prediction. Applying deep learning to models used in various applications greatly enhances the accuracy of the models. Deep learning deals with huge volumes of data and involves vast neural networks in the learning process.The accuracy of the deep neural networks is mainly due to the nonlinear behaviour these networks exhibit due to large numbers of hidden units in the network. However, increasing the number of layers in these networks increases the memory required to train the network. It will be appreciated that increasing memory requirements makes it difficult to train these models in low end devices with limited memory and processing power. Moreover, conventional machine learning technologies (such as DNNs) are often considered “black box” approaches. For these “black box” approaches, it is difficult to explain how a network has arrived at a particular output (even if the inference was correct), making it difficult to utilise these networks in applications that require critical decision making. This issue also complicates utilising AI technology for applications which demand absolute reliability [1]. Although explainable algorithms, or explainable AI, may be utilised for these applications, using these explainable techniques often increase the overload in the process. It is also noted that lack of reliability is a well-known issue for reinforcement learning (RL) algorithms. Reinforcement learning (RL) algorithms, especially Deep RL algorithms, tend to be highly variable in performance and considerably sensitive to a range of different factors, including implementation details, hyper-parameters, choice of environments, and random seeds [2]. This variability hinders reproducible research and can be costly or even dangerous for real-world applications, and also introduces statistical uncertainty. Furthermore, this impedes scientific progress when practitioners cannot reliably evaluate or predict the performance of any particular algorithm, compare different algorithms, or even compare different implementations of the same algorithm. In an attempt to address these issues, generally, a set of metrics that quantitatively measure different aspects of reliability will be proposed. However, this typically increases the overload of the process. Therefore, there is a need for explainable machine learning models that do not increase overload during the process of implementing these models, and a need for machine learning models that can be trained on devices with limited computational resources. A first aspect of the present disclosure provides a method of forming a tensor network. The method comprises:forming a tensor network based on a neural network, by, for each of one or more layers of the neural network : reshaping a weight matrix of the layer as a tensor that has a higher order than the weight matrix; applying tensor train decomposition to the tensor to obtain a linear chain of tensor train format tensor cores; and replacing the weight matrix of the layer with the linear chain of tensor train format tensor cores, such that the layer is configured to: receive a respective input vector; and contract the respective input vector with the linear chain of tensor train format tensor cores to obtain a respective output vector of the layer. Another aspect of the present disclosure provides a computer-implemented method of using a tensor network. The method comprises: providing an input vector to the tensor network; and in response to providing the input vector to the tensor network, obtaining an output vector from the tensor network, wherein the tensor network comprises one or more layers that respectively comprise a linear chain of tensor train format tensor cores, such that each of the one or more layers is configured to: receive a respective input vector; and contract the respective input vector with the linear chain of tensor train format tensor cores to obtain a respective output vector of the layer. A further aspect of the present disclosure provides an apparatus for forming a tensor network. The apparatus is configured to form a tensor network based on a neural network, by, for each of one or more layers of the neural network: reshaping a weight matrix of the layer as a tensor that has a higher order than the weight matrix; applying tensor train decomposition to the tensor to obtain a linear chain of tensor train format tensor cores; and replacing the weight matrix of the layer with the linear chain of tensor train format tensor cores, such that the layer is configured to: receive a respective input vector; and contract the respective input vector with the linear chain of tensor train format tensor cores to obtain a respective output vector of the layer.A still further aspect of the present disclosure provides an apparatus for using a tensor network. The apparatus is configured to: provide an input vector to the tensor network; and in response to providing the input vector to the tensor network, obtain an output vector from the tensor network, wherein the tensor network comprises one or more layers that respectively comprise a linear chain of tensor train format tensor cores, such that each of the one or more layers is configured to: receive a respective input vector; and contract the respective input vector with the linear chain of tensor train format tensor cores to obtain a respective output vector of the layer. Brief Description of the Figures For a better understanding of examples of the present disclosure, and to show more clearly how the examples may be carried into effect, reference will now be made, by way of example only, to the following Figures in which: Figure 1 shows a method 100 for the effective compression of lower dimensional tensors; Figure 2 shows a method 200 of forming a tensor network; Figure 3 shows a method 300 of using a tensor network; Figure 4 illustrates an architecture of a DNN model 402 and a TT-model 404 for Deep MIMO detection; Figure 5 is a sequence diagram for performing Deep MIMO detection with both a DNN model 402 and a TT-model 404; Figure 6a illustrates the training loss for both the DNN model 402 and the TT-model 404; Figure 6b illustrates the training accuracy for both the DNN model 402 and the TT-modelFigure 6c illustrates the validation loss for both the DNN model 402 and the TT-model 404; Figure 6d illustrates the validation accuracy for both the DNN model 402 and the TT- model 404; Figure 7 illustrates the architecture of a DNN model 702 and a TT-model 704 for use in a process of antenna tilt optimization; Figure 8 is a sequence diagram for performing antenna tilt optimization using both a DNN model 702 and a TT-model 704; Figure 9 shows a method 900 of decomposing a matrix; Figure 10 is a schematic of an example of an apparatus 1000 for forming a tensor network; and Figure 11 is a schematic of an example of an apparatus 1100 for using a tensor network. Detailed Description The following sets forth specific details, such as particular embodiments or examples for purposes of explanation and not limitation. It will be appreciated by one skilled in the art that other examples may be employed apart from these specific details. In some instances, detailed descriptions of well-known methods, nodes, interfaces, circuits, and devices are omitted so as not obscure the description with unnecessary detail. Those skilled in the art will appreciate that the functions described may be implemented in one or more nodes using hardware circuitry (e.g., analog and / or discrete logic gates interconnected to perform a specialized function, ASICs, PLAs, etc.) and / or using software programs and data in conjunction with one or more digital microprocessors or general purpose computers. Nodes that communicate using the air interface also have suitable radio communications circuitry. Moreover, where appropriate the technology can additionally be considered to be embodied entirely within any form of computer- readable memory, such as solid-state memory, magnetic disk, or optical disk containing an appropriate set of computer instructions that would cause a processor to carry out the techniques described herein.Hardware implementation may include or encompass, without limitation, digital signal processor (DSP) hardware, a reduced instruction set processor, hardware (e.g., digital or analogue) circuitry including but not limited to application specific integrated circuit(s) (ASIC) and / or field programmable gate array(s) (FPGA(s)), and (where appropriate) state machines capable of performing such functions. Certain embodiments of the present disclosure relate to forming and / or training and / or using a tensor network, based on a neural network. Some embodiments relate to forming and / or training and / or using a tensor network representation of a neural network (for example, a DNN or an ANN). In some embodiments of the present disclosure, a tensor network based on a neural network is formed by, for one or more layers of the neural network, performing tensor decomposition of a weight matrix of the layer. This tensor decomposition can be used to effectively reduce the number of trainable parameters in the neural network. This reduction of the number of trainable parameters may make it more feasible to train the model on low end devices, with similar representation power to the original neural network. That is, a tensor network, formed according to embodiments of the present disclosure, may be easier to implement (for example, on a device with limited memory and / or processing power) than the neural network on which it is based. A tensor network formed according to embodiments of the present disclosure may also be similarly accurate, or more accurate, than the neural network on which it is based. It is noted that a tensor network representation of a neural network is more explainable than the original neural network. Tensor networks can be described using intuitive graphical language, and this language can be used understand how the tensor network arrives at a particular output, based on a particular input. That is, a tensor network, formed according to embodiments of the present disclosure may be more reliable than the neural network on which it is based. This may also reduce the overload in a process of utilising the tensor network to determine a solution (or an approximate solution) to a problem, as additional metrics do not need to be calculated to determine the reliability of the solution.A number of use cases, utilising a tensor network formed and / or trained and / or used according to embodiments of the present disclosure, are also described. It will be appreciated that tensor network representations can be utilised, in place of a neural network, in a number of applications (such as healthcare, finance, telecommunications, etc.). Certain embodiments described herein relate to the use of tensor networks in the telecom domain. Certain embodiments of the present disclosure relate to tensor network based RL, in which the DNN element of an RL implementation is replaced with a tensor network. Tensor network based RL may be more reliable than DNN based RL for a number of applications (such as antenna tilt optimisation, for example). It is also noted that utilizing a tensor network model may provide commercial benefits such as business agility, reduction of costs, ease of deployment, infrastructure expansion and faster time-to-market along with reliable operations. Tensors are multi-dimensional arrays of numbers (such as complex numbers). A tensor is defined as a series of numbers labelled by N indices, where N is referred as the order of the tensor. In general, a one dimensional array is referred to as a vector, a two dimensional array is referred to as a matrix, and a higher dimensional array is referred to as a tensor. It will be appreciated that high dimensional data can be mapped to an equivalent tensor, as tensors are general representation of higher dimensional elements. Tensor analysis, tensor approximations, and tensor decompositions are important in areas such as computational mathematics and numerical analysis. Tensors of higher dimension (for example, 3 dimensions or greater) can be converted to a tensor network. A tensor network is a set of tensors where the indices of some or all of the tensors are contracted together. Tensor networks may be used in machine learning techniques to provide certain advantages (such as those described above). For example, tensor networks may be used to compress layers in a neural network architecture. The trainable parameters in a layer of the neural network are considered as tensors, and tensor decomposition is then performed to reduce the number of trainable parameters. This reduction in the number of trainable parameters may improve the flexibility of the model. Tensor networks can also be mapped to quantum circuits,and research involving training machine learning models using tensor networks on quantum hardware provides promising improvements in terms of speed. There are a number of existing methods for decomposing a tensor into smaller tensors. For example, a tensor may be decomposed into a tensor train format (or TT-format). An example of how a tensor may be decomposed into tensor-train format is now described. In this disclosure, bold lower-case letters (e.g., v) are denoted for vectors, ordinary lower- case letters are denoted for vector elements, bold upper-case letters (e.g., B) are denoted for matrices, ordinary upper-case letters are denoted for matrix elements, calligraphic bold upper-case letters (e.g., ^) are denoted for tensors, and ordinary calligraphic upper-case letters are denoted for tensor elements. In general, a tensor may be represented as: ℬ(i)= ℬ(^^, ^^, … ^^), where d is the dimension of the tensor ℬ. A tensor ℬ of dimension d is considered. Tensor ℬ may be represented in TT-format [3] if for each dimension k = 1,2,3…d; for each possible value of the k-th dimensional index ^^= 1,2,3,4 … ^^, there exists a matrix ^^[^^] such that all the elements in ℬ can be computed as the following matrix product: ℬ(^^, ^^, … ^^)= ^^[^^]^^[^^] … ^^[^^] All the d matrices, when multiplied in order, result in a scalar which is equal to the value of that tensor element. It is noted that all the matrices ^^[^^] have the same dimension, ^^^^× ^^. ^^and ^^are equal to 1 to ensure that the result is a scalar. This representation of a tensor is referred as tensor train decomposition or TT-decomposition. The sequence ^^, ^^… ^^is the TT-rank of the tensor ℬ and the maximum of the TT-rank sequence is referred as the max rank. The matrices ^^[^^] are referred to as the cores of the tensor ℬ.The basic representation of a tensor ℬ requires ∏ ^ ^^^^^elements. Representation of the tensor ℬ in TT-format requires only ∑ ^ ^^^^^^^^^^^elements to be stored. The number of elements that are to be stored reduces considerably for very small values of the TT- ranks. It will be appreciated that the weight matrices of one or more layers of a neural network may be decomposed in a tensor train format (or TT-format). These layers, represented in a TT-format [3], can then be trained using existing backpropagation models, as all the derivatives that are required for backpropagation and gradient descent can be computed using the properties of the TT-format. The basic operations required to train the network can therefore be performed in the TT-format. A layer of a network whose weight matrix (or matrices) have been converted to TT-format may be referred to as a TT-layer, and a network comprising one or more TT-layers may be referred to as a tensor network. However, it is noted that if the aforementioned approach is used to convert lower dimensional tensors such as vectors and matrices (for example, a weight matrix of a layer of a neural network) to a TT-format, the resulting TT-format is equivalent to storing either a vector explicitly, or storing a low rank representation format of a matrix, respectively. Embodiments are now described in which the above approach has been reformulated and applied to lower dimensional tensors, for effective compression of these lower dimensional tensors. An example of a method 100 for the effective compression of lower dimensional tensors is now described with reference to Figure 1. In this example, the method 100 is applied to a matrix (that is, a 2-dimensional tensor). The method 100 may be used represent the weight matrices of one or more layers of a neural network in a TT-format. At step 102 of the method 100, the required data is collected. For example, a weight matrix of a hidden unit (or hidden layer) of a neural network may be collected. In some examples, the required data may be collected from one or more of: a RAN node, one ormore UEs, and a core network node. The data may be represented as one or more of: an array format, a matrix format, a vector format, for example. At step 104 of the method 100, appropriate data cleaning and normalization is performed. This cleaning and normalization may change the data such that it is suitable for tensor representation (for example, representing the data as an array format or a matrix format). The data cleaning and normalization may comprise a process of linear transformation in some examples. At step 106 of the method 100, the matrix is reshaped to a tensor of required rank. The required rank may represent the low rank of the tensor derived in the reshaping process (typically, this is a rank 1 tensor in some examples). In some embodiments, the weight matrix is reshaped as a tensor that has a higher order than the weight matrix. Broadly speaking, reshaping generalizes the more familiar operation of vectorizing a matrix. For example, the matrix M, M = [1,2] [3,4] can be vectorized by concatenating the columns of M in a single row to obtain the vector v =
[1324] . For example, a tensor t1 t1 = [[1, 2, 3], ... [4, 5, 6]] Can be reshaped to form the following array array([[1, 2], [3, 4], [5, 6]], dtype=int32) It is noted that this reshaping process does not change the order of, or the total number of elements, in the tensor. As a result, the underlying data buffer can be used,increasing the speed of the operations applied to the tensor independently of the size of the tensor. In another example, the tensor t t = [1, 2, 3, 4, 5, 6, 7, 8, 9] Can be reshaped to form the following array array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) In another example, the array array([[1, 1, 1, 2, 2, 2, 3, 3, 3], [4, 4, 4, 5, 5, 5, 6, 6, 6]) Can be reshaped to form the following array array([[[1, 1, 1], [2, 2, 2], [3, 3, 3]], [[4, 4, 4], [5, 5, 5], [6, 6, 6]]) In this example, as illustrated in Figure 1, a matrix of dimension 4x10 is reshaped to a tensor of dimension 2x2x2x5 (that is, a 4-dimensional tensor). At step 108 of the method 100, the tensor is unfolded by its first dimension, as illustrated in Figure 1. In this example, the shape of the first dimension of the tensor is 2.At step 110 of the method 100, a matrix of dimension (TT-rank) x (the shape of the first dimension of the tensor) is formed. This matrix is the first TT-format core of the tensor. In this example, as illustrated in Figure 1, the matrix that is formed has a dimension of r1 x 2 (that is, the first TT-rank x the shape of the first dimension of the tensor). At step 112 of the method 100, the tensor is reshaped such that the second dimension of the tensor is multiplied with the first TT-rank, and the dimension of the new tensor is reduced by one. That is, a new tensor is obtained with a first dimension having a mode equal to the TT-rank of the TT-cores. In this example, the tensor is reshaped to form a 3-dimensional tensor of dimension (r1x2)x2x5. At step 114 of the method 100, it is determined whether further decomposition can be performed. If the further decomposition can be performed, the method 100 returns to step 110, and the method 100 repeats for the reshaped tensor. If no further decomposition can be performed, the reshaped tensor is also determined to be a TT-core, and the method 100 ends. At this point, the matrix has been decomposed into tensor train format having the desired TT-ranks. The obtained TT-cores can approximate the tensor formed at step 106 of the method. In this example, further decomposition of the 3-dimensional tensor of dimension (r1x2)x2x5 can be performed, and the method returns to step 110 for the reshaped tensor. At step 110, a matrix of dimension (r1 x 2) x r2 is formed (that is, a matrix of dimension (the second TT-rank x the shape of the first dimension of the tensor)). This matrix is the second TT-format core of the tensor. At step 112 of the method 100, the tensor is reshaped such that the second dimension of the tensor is multiplied with the second TT-rank, and the dimension of the new tensor is reduced by one. In this example, the tensor is reshaped to form a 2-dimensional tensor of dimension (r2x2)x5.At step 114, it is determined that further decomposition of the 2-dimensional tensor of dimension (r2x2)x5 can be performed, and the method returns to step 110. At step 110, a matrix of dimension (r2 x 2) x r3 is formed (that is, a matrix of dimension (the third TT-rank x the shape of the first dimension of the tensor)). This matrix is the third TT-format core of the tensor. At step 112 of the method 100, the tensor is reshaped such that the second dimension of the tensor is multiplied with the third TT-rank, and the dimension of the tensor is reduced by one. In this example, the tensor is reshaped to form a 2-dimensional tensor of dimension r3x5. At step 114 of the method, it is determined that no further decomposition can be performed, and the tensor of dimension r3x5 is determined to be the fourth TT-format core of the tensor. Broadly speaking, steps 108-114 can be considered to correspond to applying tensor train decomposition to a tensor to obtain a linear chain of tensor train format tensor cores. The linear chain of tensor train format tensor cores represent the reshaped matrix. The method 100 therefore allows a lower order tensor to be decomposed in such a way that the resulting TT-format comprises fewer parameters than the TT-format obtained for lower order tensors when using the conventional method described above. It is also noted that, when applying the method 100 to the weight matrices of one or more layers of a neural network to form a tensor network, the resulting tensor network will have fewer trainable parameters than the original neural network. Figure 2 shows a method 200 of forming a tensor network. In some embodiments, the method 200 may implement one or more steps of the method 100 described above. In some embodiments, the method 200 is a computer-implemented method.The method 200 comprises forming a tensor network based on a neural network, by, for each of one or more layers of the neural network, performing the steps 202-206 of the method 200. In some embodiments, the neural network may be a fully connected neural network. In these embodiments, the steps 202-206 may be performed for each fully connected layer of the neural network. In this case, the weight matrices in the fully connected layers of the neural network will be decomposed as TT-matrices. In some embodiments, the neural network may comprise a deep neural network, or an artificial neural network (ANN). An ANN is a neural network with fully connected layers. At step 202, the method 200 comprises reshaping a weight matrix of the layer as a tensor that has a higher order than the weight matrix. For example, the weight matrix may be reshaped as a 3-dimensional tensor, a 4-dimensional tensor, or a tensor of higher dimension than 3 or 4. In some embodiments, step 202 of the method 200 may correspond to step 106 of the method 100. At step 204, the method 200 comprises applying tensor train decomposition to the tensor to obtain a linear chain of tensor train format tensor cores. In some embodiments, for each reshaped weight matrix, each element of the reshaped weight matrix is represented by a contraction of the linear chain of tensor train format cores. That is, the linear chain of tensor train format tensor cores represents the reshaped weight matrix. In some embodiments, applying tensor train decomposition to the tensor to obtain the linear chain of tensor train format tensor cores may comprise the following steps: (i) unfolding the tensor by a first dimension of the tensor; (ii) forming a first tensor core in the linear chain of tensor train format tensor cores, wherein the first dimension of the first tensor core is equal to a first tensor train rank, and the second dimension of the first tensor core is equal to the first dimension of the tensor; (iii) forming a reshaped tensor by multiplying the second dimension of the tensor with the first tensor train rank, and reducing the order of the tensor by one; and(iv) repeating steps (ii) and (iii) until the formed reshaped tensor is of order 2. That is, in some embodiments, step 204 of the method 200 may correspond to the steps 108-114 of the method 100. At step 206, the method 200 comprises replacing the weight matrix of the layer with the linear chain of tensor train format tensor cores, such that the layer is configured to: receive a respective input vector; and contract the respective input vector with the linear chain of tensor train format tensor cores to obtain a respective output vector of the layer. That is, as is the case with a neural network (in which the weight matrices of the neural network are multiplied with their inputs to obtain outputs, which are then further passed as inputs to the subsequent weight matrices), inputs to tensor train format matrices are contracted with the tensor train to obtain outputs, which are then further passed on as inputs to the next tensor train layer. A tensor network can be contracted to obtain a single tensor. However, a more computationally efficient way to contract a pair of tensors is by first reshaping them appropriately to obtain matrices, multiplying the matrices, and then reshaping the resulting matrix to obtain the output tensor. A tensor network consisting of more than two tensors may then be contracted by performing a sequence of pairwise tensor contractions. An example contraction of an input is now presented. The input is as follows: [[[ 4.00115877e-01, -1.95152342e-01], [ 3.85494769e-01, -4.70856503e-02], [ 3.60941857e-01, -1.78213194e-02], [ 3.68098974e-01, -5.68741560e-02], [ 3.12261075e-01, 1.83494985e-02], [ 4.15531337e-01, 2.28818998e-01]], [[-3.83816585e-02, -3.27080518e-01],[-7.97044337e-02, -8.38707834e-02], [-3.62697020e-02, 2.80382633e-01], [ 5.19460291e-02, -1.20676525e-01], [-8.31690431e-02, -2.89416492e-01], [ 1.33166716e-01, 3.96092050e-02]], [[ 1.50755450e-01, 1.77336037e-02], [-1.25506371e-01, -1.68864787e-01], [-1.08681619e-04, -1.82941049e-01], [-1.17524732e-02, -3.86955589e-02], [ 4.14323062e-04, -9.08189639e-02], [-4.73694503e-03, -2.08275571e-01]], [[ 3.45198438e-03, -1.20275669e-01], [ 6.41127750e-02, -2.57191986e-01], [ 5.01311533e-02, -1.10784257e-02], [-1.53978139e-01, 1.34011716e-01], [-2.58018747e-02, -3.72381322e-02], [ 3.94809842e-02, 4.17093188e-03]], [[-3.36153656e-02, 9.16364603e-04], [ 3.37098427e-02, -3.94805968e-02], [-1.34152174e-03, -2.04947725e-01], [ 6.69611096e-02, 1.53850824e-01], [-1.04200944e-01, 9.59484875e-02], [ 3.77180241e-02, -1.98164135e-01]], [[ 5.92700765e-03, -1.23901539e-01], [ 5.30725569e-02, 8.19219872e-02], [ 4.21464890e-02, -4.07485440e-02], [-5.12808561e-04, -1.89193517e-01], [-3.18068154e-02, -1.54808015e-01], [-6.78479746e-02, -1.18476577e-01]], [[-1.25456546e-02, 8.38472396e-02], [ 2.95637399e-02, -1.17265232e-01],[-4.43375446e-02, -1.09989703e-01], [ 2.36765370e-02, 2.92762239e-02], [ 1.52600333e-02, -2.11063921e-01], [-1.17391925e-02, 9.37457085e-02]], [[ 1.23689324e-03, -9.87588912e-02], [ 2.13967338e-02, 1.37499645e-02], [-5.21549284e-02, 4.90745865e-02], [-2.68692151e-04, 8.02468881e-02], [ 4.92746010e-02, -8.58019851e-03], [-4.70351428e-03, -1.54526770e-01]], [[ 6.73142634e-03, -7.37132803e-02], [-1.39578115e-02, -3.86537239e-02], [ 2.80920714e-02, 4.84523959e-02], [ 2.74765640e-02, 1.34024337e-01], [-4.55762632e-03, -1.24240676e-02], [-4.55276705e-02, 5.05424328e-02]], [[-4.12617996e-02, -5.05519509e-02], [-2.65584439e-02, 8.56174156e-03], [ 2.90615633e-02, -9.64111835e-02], [-7.69336475e-04, -3.03512497e-04], [ 3.60970758e-02, -1.82676353e-02], [ 1.00471694e-02, -1.46184992e-02]], [[-8.43428727e-03, 3.65990140e-02], [-2.82550231e-04, -3.90752405e-02], [ 9.09156911e-03, 3.52952182e-02], [ 4.91315592e-03, -1.20862005e-02], [ 3.74370161e-03, -2.90497998e-03], [-2.01486982e-03, -3.50179560e-02]], [[ 1.30598061e-03, 2.55133230e-02], [-1.81984995e-03, 3.80879417e-02], [ 5.97685203e-03, 9.58462432e-03],[-4.54055425e-03, 3.00365109e-02], [-1.74487662e-03, -3.45892012e-02], [ 4.84076235e-03, -1.26442909e-02]]] Following the first iteration, the shape of the tensor is (1, 1, 2, 2): [[[[-0.6998594 , -0.71428055], [-0.71428055, 0.69985944]]]] Following the second iteration, the shape of the tensor is (1, 3, 2, 6): [[[[-3.93363237e-01, -1.45024091e-01, 6.78384900e-02, -7.51542524e-02, -2.97668070e-01, 2.98826963e-01, -3.50769401e-01, -2.80537009e-01, 3.62253636e-01, -2.21171826e-01, -1.09520234e-01, -4.92139161e-01], [-3.61474723e-01, 1.11819983e-01, -3.55820328e-01, 9.72287208e-02, 6.62712306e-02, -1.65885359e-01, 7.57281706e-02, 4.05407727e-01, 2.92789966e-01, -6.08409345e-01, 8.27262178e-02, 2.36727998e-01], [-3.82573187e-01, 3.86959203e-02, 1.85805053e-01, -1.31039456e-01, 2.60023654e-01, -7.56951049e-02, -1.12607889e-01, -3.65782320e-01, -6.48337483e-01, -3.65187705e-01, 1.42907828e-01, 8.06297511e-02]], [[-4.41896558e-01, -5.33065140e-01, 1.92514260e-03, 2.32276380e-01, -3.02055866e-01, -1.28037333e-01, 4.73832607e-01, -1.04696736e-01, -7.97646642e-02, 2.02969477e-01, -1.94401473e-01, 1.95327729e-01], [-4.45841640e-01, 2.83382952e-01, -7.69243315e-02, -5.80578335e-02, 4.82526988e-01, 3.63148808e-01, -2.44531035e-02, 6.82546794e-02, 9.46391672e-02, 4.01475847e-01, -3.84801060e-01, 1.53151661e-01], [-4.05309945e-01, 2.96767622e-01, -3.73393326e-04, -1.85777172e-01, -3.14114004e-01, -3.04472238e-01, -1.23468094e-01, 2.69584388e-01, -9.07600969e-02, 4.35294092e-01, 4.58749294e-01, -1.60250455e-01]]]Following the third iteration, the shape of the tensor is (1, 3, 2, 6): [[[[-3.93363237e-01, -1.45024091e-01, 6.78384900e-02, -7.51542524e-02, -2.97668070e-01, 2.98826963e-01, -3.50769401e-01, -2.80537009e-01, 3.62253636e-01, -2.21171826e-01, -1.09520234e-01, -4.92139161e-01], [-3.61474723e-01, 1.11819983e-01, -3.55820328e-01, 9.72287208e-02, 6.62712306e-02, -1.65885359e-01, 7.57281706e-02, 4.05407727e-01, 2.92789966e-01, -6.08409345e-01, 8.27262178e-02, 2.36727998e-01], [-3.82573187e-01, 3.86959203e-02, 1.85805053e-01, -1.31039456e-01, 2.60023654e-01, -7.56951049e-02, -1.12607889e-01, -3.65782320e-01, -6.48337483e-01, -3.65187705e-01, 1.42907828e-01, 8.06297511e-02]], [[-4.41896558e-01, -5.33065140e-01, 1.92514260e-03, 2.32276380e-01, -3.02055866e-01, -1.28037333e-01, 4.73832607e-01, -1.04696736e-01, -7.97646642e-02, 2.02969477e-01, -1.94401473e-01, 1.95327729e-01], [-4.45841640e-01, 2.83382952e-01, -7.69243315e-02, -5.80578335e-02, 4.82526988e-01, 3.63148808e-01, -2.44531035e-02, 6.82546794e-02, 9.46391672e-02, 4.01475847e-01, -3.84801060e-01, 1.53151661e-01], [-4.05309945e-01, 2.96767622e-01, -3.73393326e-04, -1.85777172e-01, -3.14114004e-01, -3.04472238e-01, -1.23468094e-01, 2.69584388e-01, -9.07600969e-02, 4.35294092e-01, 4.58749294e-01, -1.60250455e-01]]], [[[-1.33466804e-02, -4.43752766e-01, -4.06420529e-01, 4.14295703e-01, 2.83252478e-01, 1.54817089e-01, -3.97926360e-01, 4.62141596e-02, -1.04057781e-01, 1.85819551e-01, 3.92421097e-01, -4.53312024e-02], [-2.40780041e-02, -2.95013696e-01, 5.31312644e-01,-4.00641225e-02, -7.11863711e-02, -3.94734778e-02, -5.04379511e-01, 4.66039062e-01, -3.35222445e-02, -2.19998155e-02, -2.01757610e-01, 3.28571409e-01], [ 7.30021298e-02, -1.15672521e-01, -5.55685818e-01, -3.39644521e-01, -1.01733401e-01, -3.64220142e-01, -2.84631014e-01, 9.60906129e-03, -2.43163571e-01, 4.16313745e-02, -5.13023615e-01, -9.47535709e-02]], [[-1.56986751e-02, -5.87742329e-02, 9.67191756e-02, 1.43072709e-01, 1.25852495e-01, 1.33963123e-01, 2.66680300e-01, 5.30803740e-01, -3.58046234e-01, -1.15414456e-01, -1.67923853e-01, -6.40393555e-01], [-5.98081276e-02, -4.19138782e-02, 2.50084758e-01, 2.24336267e-01, 4.51322973e-01, -6.76858604e-01, -4.79972884e-02, -1.57298654e-01, 3.19072992e-01, 7.31950179e-02, -9.80734155e-02, -2.75929958e-01], [-2.69069290e-03, -4.58139807e-01, 1.38479965e-02, -7.18673110e-01, 3.18546593e-01, 4.70614731e-02, 2.25842625e-01, 9.45295095e-02, 1.95101276e-01, 1.65903661e-02, 2.62134343e-01, -5.23176044e-02]]]] Following the fourth iteration, the shape of the tensor is (1, 3, 2, 6): [[[[-3.93363237e-01, -1.45024091e-01, 6.78384900e-02, -7.51542524e-02, -2.97668070e-01, 2.98826963e-01, -3.50769401e-01, -2.80537009e-01, 3.62253636e-01, -2.21171826e-01, -1.09520234e-01, -4.92139161e-01], [-3.61474723e-01, 1.11819983e-01, -3.55820328e-01, 9.72287208e-02, 6.62712306e-02, -1.65885359e-01, 7.57281706e-02, 4.05407727e-01, 2.92789966e-01, -6.08409345e-01, 8.27262178e-02, 2.36727998e-01], [-3.82573187e-01, 3.86959203e-02, 1.85805053e-01, -1.31039456e-01, 2.60023654e-01, -7.56951049e-02, -1.12607889e-01, -3.65782320e-01, -6.48337483e-01, -3.65187705e-01, 1.42907828e-01, 8.06297511e-02]],[[-4.41896558e-01, -5.33065140e-01, 1.92514260e-03, 2.32276380e-01, -3.02055866e-01, -1.28037333e-01, 4.73832607e-01, -1.04696736e-01, -7.97646642e-02, 2.02969477e-01, -1.94401473e-01, 1.95327729e-01], [-4.45841640e-01, 2.83382952e-01, -7.69243315e-02, -5.80578335e-02, 4.82526988e-01, 3.63148808e-01, -2.44531035e-02, 6.82546794e-02, 9.46391672e-02, 4.01475847e-01, -3.84801060e-01, 1.53151661e-01], [-4.05309945e-01, 2.96767622e-01, -3.73393326e-04, -1.85777172e-01, -3.14114004e-01, -3.04472238e-01, -1.23468094e-01, 2.69584388e-01, -9.07600969e-02, 4.35294092e-01, 4.58749294e-01, -1.60250455e-01]]], [[[-1.33466804e-02, -4.43752766e-01, -4.06420529e-01, 4.14295703e-01, 2.83252478e-01, 1.54817089e-01, -3.97926360e-01, 4.62141596e-02, -1.04057781e-01, 1.85819551e-01, 3.92421097e-01, -4.53312024e-02], [-2.40780041e-02, -2.95013696e-01, 5.31312644e-01, -4.00641225e-02, -7.11863711e-02, -3.94734778e-02, -5.04379511e-01, 4.66039062e-01, -3.35222445e-02, -2.19998155e-02, -2.01757610e-01, 3.28571409e-01], [ 7.30021298e-02, -1.15672521e-01, -5.55685818e-01, -3.39644521e-01, -1.01733401e-01, -3.64220142e-01, -2.84631014e-01, 9.60906129e-03, -2.43163571e-01, 4.16313745e-02, -5.13023615e-01, -9.47535709e-02]], [[-1.56986751e-02, -5.87742329e-02, 9.67191756e-02, 1.43072709e-01, 1.25852495e-01, 1.33963123e-01, 2.66680300e-01, 5.30803740e-01, -3.58046234e-01, -1.15414456e-01, -1.67923853e-01, -6.40393555e-01], [-5.98081276e-02, -4.19138782e-02, 2.50084758e-01, 2.24336267e-01, 4.51322973e-01, -6.76858604e-01, -4.79972884e-02, -1.57298654e-01, 3.19072992e-01, 7.31950179e-02, -9.80734155e-02, -2.75929958e-01],[-2.69069290e-03, -4.58139807e-01, 1.38479965e-02, -7.18673110e-01, 3.18546593e-01, 4.70614731e-02, 2.25842625e-01, 9.45295095e-02, 1.95101276e-01, 1.65903661e-02, 2.62134343e-01, -5.23176044e-02]]]] An example input, and a resulting output following the contraction of this input is now presented. The input is as follows: Input Tensors [[[[4.17021990e-017.20324516e-011.14374816e-04] [3.02332580e-011.46755889e-019.23385918e-02] [1.86260208e-013.45560730e-013.96767467e-01] [5.38816750e-014.19194520e-016.85219526e-01]]] [[[2.04452246e-018.78117442e-012.73875929e-02] [6.70467496e-014.17304814e-015.58689833e-01] [1.40386939e-011.98101491e-018.00744593e-01] [9.68261600e-013.13424170e-016.92322612e-01]]]] In this example, the shape of the input tensor is [2, 1, 4, 3] The output is as follows: [[[-0.39377892 -0.8683448 0.16492273] [-0.44369528 0.04150246 -0.26816043] [-0.38462868 0.304637 0.7217577 ] [-0.68758714 0.30466756 -0.34071395]] [[ 0.08130068 0.06661945 0.26980463] [-0.13148303 0.07382246 0.10840277] [ 0.02651502 0.2185781 0.11418483] [ 0.05250359 0.03105967 -0.4077822 ]]]In this example, the shape of the output is
[2433] . In some embodiments, the method 200 further comprises training the tensor network using training data. The training data may comprise a set of input data (or information), and a set of output data (or information), where the output data represents the output that is expected to be obtained upon providing an input (representing the input data) to the tensor network. It will be appreciated the tensor network may be formed and / or trained for use in many different domains. In some embodiments, the tensor network may comprise a tensor network for use in telecommunications applications and / or the neural network may comprise a neural network for use in telecommunications applications. In some embodiments, the tensor network may be formed and / or trained for use in Multiple Input Multiple Output (MIMO) detection. MIMO detection is the process of approximating a radio signal that has been transmitted by a transmitter, based on a corresponding radio signal that has been received by a receiver. An example of forming and training a tensor network for use in MIMO detection is described with reference to Figures 4 to 6. Therefore, in some embodiments, the tensor network may be configured to approximate a radio signal that has been transmitted by a transmitter, based on a corresponding radio signal that has been received by a receiver and based on channel state information. That is, the tensor network may be configured for MIMO detection. In these embodiments, training the tensor network may comprise training the tensor network to approximate a radio signal that has been transmitted by a transmitter, based on a corresponding radio signal that has been received by a receiver and based on channel state information. For example, the tensor network may be trained to output an output vector representing an approximate radio signal that has been transmitted by a transmitter, in response to receiving an input vector representing: a radio signal that has been received by a receiver, and information representing channel state information. In some embodiments, the training data may comprise a set of input data and a set of expected output data, the set of input data comprising:information representing a radio signal that has been received by a receiver, and information representing channel state information, and the set of expected output data comprises information representing a known radio signal that has been transmitted by a transmitter, that is to be compared with the information representing an approximate radio signal that has been transmitted by a transmitter that is output by the tensor network. In other embodiments, the tensor network may be formed and / or trained for use in antenna tilt optimization. antenna tilt optimization involves determining an optimal tilt policy that is formed based on a loss model that predicts respective losses experienced as a consequence of executing respective actions in respective states. For example, in antenna tilt optimization, based on a specific state (the required coverage), an antenna angle can be changed as a required action in order to provide better connectivity. Alternatively, an antenna angle can be changed as a required action to reduce interference with neighbouring cells. Alternatively, an antenna angle can be changed to comply with a radiation emissions mask, for instance in the vicinity of an airport. A tensor network may be used to approximate the loss model. An example of forming, training and using a tensor network for use in antenna tilt optimization is described with reference to Figures 7 and 8. Therefore, in some embodiments, the tensor network may be configured to approximate a loss model that predicts respective losses experienced as a consequence of executing respective actions in respective states, based on a known loss experienced as a consequence of executing a known action in a known state, the known action, and the known state. The approximate loss model may then be used to determine an optimal tilt policy in a process of antenna tilt optimization. In these embodiments, training the tensor network may comprise training the tensor network to approximate a loss model that predicts respective losses experienced as a consequence of executing respective actions in respective states, based on a known loss experienced as a consequence of executing a known action in a known state, the known action, and the known state. For example, the tensor network may be trained to output an output vector representing approximate a loss model that predicts respective losses experienced as a consequence of executing respective actions in respective states, in response to receiving an input vector representing: a known loss experiencedas a consequence of executing a known action in a known state, the known action, and the known state. In other embodiments, the tensor network may be formed and / or trained for use in bandwidth prediction (or online bandwidth prediction). With the increasing popularity of mobile internet, and the higher bandwidth requirement of mobile applications, maintaining and improving user Quality of Experience (QoE) is becoming increasingly important. QoE may relate to video streaming, video conferencing, online gaming, for example. It will be appreciated that, if future bandwidth can be estimated in advance, applications can leverage this estimation and adjust their data transmission strategies to significantly improve the user QoE. That is, accurate bandwidth prediction can be used to improve user QoE . A tensor network can be used (instead of longshort-term- memory (LSTM), a deep learning technique) to improve the online bandwidth prediction. Therefore, in some embodiments, the tensor network may be configured to predict future bandwidth in a network. In these embodiments, training the tensor network may comprise training the tensor network to predict future bandwidth in a network. In other embodiments, the tensor network may be formed and / or trained for use in cellular traffic prediction. Autonomous prediction of traffic demand is likely to be a key function in future cellular networks. In the past, statistical methods such as autoregressive integrated moving average (ARIMA) have been utilized to provide traffic predictions. ARIMA based predictions are unable to provide exact and accurate forecasts for dynamic input quantities such as cellular traffic. Recently, deep learning techniques such as recurrent neural networks (RNN) and longshort-term-memory (LSTM) have been used to autonomously predict future cellular traffic. Although LSTM trains the prediction model in a much shorter time compared to statistical models, a tensor network enhanced 5G network can be provided for predicting cellular traffic with better accuracy, and in a shorter time, than the LSTM models. Therefore, in some embodiments, the tensor network may be configured to predict future cellular traffic in a network. In these embodiments, training the tensor network may comprise training the tensor network to predict future cellular traffic in a network.As noted above, performing tensor decomposition to form a tensor network in accordance with the method 200 effectively reduces the number of trainable parameters in the model. This reduction in the number of trainable parameters may make it more feasible to train the model on devices with limited computational resources, with similar representation power of the original model (that is, the original neural network). Additionally, a forming a tensor network allows an inherently explainable model to be formed. In some embodiments, the method 200 further may comprise, prior to training the tensor network, implementing the tensor network on a quantum computing device. This may enable the tensor network to be trained even more quickly (in comparison to training the tensor network on a classical computing device). It is noted that tensor network methods, when used in the field of quantum physics, can provide efficient approximations to certain classes of quantum states. The graphical language associated with these methods makes it easier to describe and pictorially reason about quantum circuits, channels, protocols, and open systems, for example. Tensor networks can be mapped to equivalent quantum circuits. Quantum circuits are a special class of tensor networks, in which the arrangement of the tensors and their types are restricted. A quantum circuit is inherently a tensor space system as, when multiple qubits are present, the quantum circuit can be considered as a whole (that is, considering all the qubits), as a tensor product vector space of all the state spaces of the individual qubits. By treating a quantum circuit as a network model, the network model can be optimized the order of the calculation by making a contract between tensor and tensor. This contraction reduces the number of intermediate processes on the circuit, and therefore enables the quantum circuit to be reduced. A quantum circuit can be understood as a product of linear operators on a quantum state, and thus a quantum circuit can be mapped to a tensor network. The mapping between quantum circuits and tensor networks provides a visual way of understanding the model that the tensor network represents. This understanding also enables these models to be manipulated and designed accordingly. In tensor-network quantum circuits, the tensor network architecture acts as a guideline for the shape of the quantum circuit.Therefore, in some embodiments, the tensor network may be implemented on, or mapped to, a quantum circuit, prior to training the tensor network. A quantum circuit may be utilised in place of a more hardware dependent quantum computer. In some embodiments, the method 200 may further comprise using the tensor network to obtain an output. In some embodiments, the method 200 may further comprise providing an input vector to the tensor network; and in response to providing the input vector to the tensor network, obtaining an output vector from the tensor network. Figure 3 shows a method 300 of using a tensor network. In some embodiments, the tensor network may have been formed according to the method 200 described above. In some embodiments, the method 300 is a computer-implemented method. At step 302, the method 300 comprises providing an input vector to the tensor network. At step 304, in response to providing the input vector to the tensor network, the method 300 comprises obtaining an output vector from the tensor network, wherein the tensor network comprises one or more layers that respectively comprise a linear chain of tensor train format tensor cores, such that each of the one or more layers is configured to: receive a respective input vector; and contract the respective input vector with the linear chain of tensor train format tensor cores to obtain a respective output vector of the layer. That is, as is the case with a neural network (in which the weight matrices of the neural network are multiplied with their inputs to obtain outputs, which are then further passed as inputs to the subsequent weight matrices), inputs to tensor train format matrices are contracted with the tensor train to obtain outputs, which are then further passed on as inputs to the next tensor train layer. In some embodiments, the tensor network may be implemented on a quantum computing device. In some embodiments, the tensor network may be implemented on, or mapped to, a quantum circuit. In some embodiments, the tensor network may comprise a tensor network for use in telecommunications applications.In some embodiments, the tensor network may be configured for MIMO detection. In these embodiments, the tensor network may be configured to approximate a radio signal that has been transmitted by a transmitter, based on a corresponding radio signal that has been received by a receiver and based on channel state information. In these embodiments, the method 300 may comprise providing an input vector to the tensor network, the input vector representing a radio signal that has been received by a receiver and channel state information; and in response to providing the input vector to the tensor network, obtaining an output vector from the tensor network, the output vector representing an approximate radio signal that has been transmitted by a transmitter. In other embodiments, the tensor network may be configured for use in Antenna Tilt Optimisation. In these embodiments, the tensor network may be configured to approximate a loss model that predicts respective losses experienced as a consequence of executing respective actions in respective states, based on a known loss experienced as a consequence of executing a known action in a known state, the known action, and the known state. In these embodiments, the method 300 may comprise providing an input vector to the tensor network, the input vector representing a known loss experienced as a consequence of executing an known action in a known state, the known action, and the known state; and in response to providing the input vector to the tensor network, obtaining an output vector from the tensor network, the output vector representing information representing approximate a loss model that predicts respective losses experienced as a consequence of executing respective actions in respective states. In some embodiments, the method 300 may further comprise using the approximated loss model to select an action to be executed in a particular state, wherein that will result in the smallest loss in the particular state. In some embodiments, the method 300 may further comprise including the action to be executed in a particular state in a policy. That is, in some embodiments, the approximate loss model output by the tensor network may be used in a process of Antenna Tilt Optimisation.In other embodiments, the tensor network may be configured to predict future cellular traffic in a network. In other embodiments, the tensor network may be configured to predict future bandwidth in a network. In some embodiments, the method 300 further comprises forming the tensor network according to the method 200 described above. A number of use cases for tensor networks in telecom applications are now described. It is noted that the tensor networks described below can be mapped to equivalent quantum circuits to determine approximate solutions in these applications. In these use cases, tensor decomposition can be used to effectively reduce the size of the models utilised in these applications. These reduced models produce comparative results to their classical counterparts. A use case, in which a tensor network for MIMO detection is formed and trained, is now described with reference to Figures 4 to 6. The tensor network may be formed and / or trained in accordance with the method 200 described above. Multiple Input Multiple Output (MIMO) systems have been used in a large number of standards in the past decade. MIMO techniques play a key role in 5G systems to increase the number of antennas in a base station. MIMO enables spatial multiplexing, which increases the capacity of the network by increasing the number of channels through use of multiple antennas without any loss of bandwidth or power. Designing a reliable and energy efficient MIMO system at a receiver end has become more complex due to the difficulty in signal detection as a result of interfering sub streams and noise [4]. As noted above, MIMO detection involves the process of determining the most probable transmitted signal vector at the receiver end, using the received signal. MIMO detection is a NP-complete problem, and therefore, its complexity increases as the number of received signals at the receiver end increases. There is therefore a growing need for techniques for determining sub optimal solutions to this problem, with polynomial complexity. Neural networks (such as deep neural networks) may be used to determine these near optimal solutions in a computationally efficient way.A Data Driven DNN architecture may use an output signal (that is, the signal that has been received by a receiver) and Channel State Information (CSI) to predict a transmitted symbol vector (that is, to predict the corresponding signal that has been received by a receiver). The outputs produced by these models are model independent, and these models can recover transmitted symbols with high accuracy if they are suitably trained. However, this requires that a large number of parameters are trained, which is time consuming and computationally expensive. This limits and / or constrains the application of model driven MIMO detection. A MIMO detection problem may be formulated as a machine learning framework as follows [5]. A data driven downlink (DL) detector has a powerful learning ability and can establish a stable and precise model achieving performance close to a MAP detector (which may also be used for MIMO detection). The normal distribution, whereis the mean and ^^is the variance, is denoted as ^(^, ^^). A uniform distribution is denoted as ^(^, ^) , where ^ is the minimum value and ^ is the maximum value. In this example, boldface lowercase letters denote vectors and boldface upper-case letters denote matrices. The ith element of a vector is denoted by ^^and, a superscript (. )^denotes a transpose. The rectified linear unit (ReLu) is defined as ^(^)= max (0, ^). An independent and identically distributed (i.i.d) Gaussian matrix refers to a matrix where each element of the matrix is sampled from the normal distribution ^(0,1), and each element is a i.i.d. The real and imaginary part of a complex matrix or vector are defined as ℜ(.)and ℑ(. ) respectively. A standard equation for the MIMO model may be given by: ^ = ^^ + ^ Where ^ ∈ ^^is the vector received at the receiver end, ^ ∈ ^^ ×^is the channel matrix, ^ ∈ ^^is an unknown vector signal sent by the transmitter and ^ ∈ ^^is the noise vector with independent, zero mean gaussian variables of variance ^^. The aim is to find ^ given ^ and ^ a using deep neural network. In this example, it is considered that the CSI varies, and therefore the channel matrix will be provided as an input to the model as well.An architecture of the deep neural network is selected. An architecture is a function ^^(^, ^) which is used to detect unknown symbols given ^ and ^. In this example, the created architecture is parameterized by ^. The values of the parameters then are varied to find a value of ^ that leads to strong detector (that is, a detector that produces an accurate result). By choosing various functions and other hyperparameters, different detectors can be formed that trade-off between accuracy and complexity. In this example, a fully connected neural network is used to approximate the symbol vector transmitted by the sender. The fully connected neural network has L layers where the output of each layer is fed as input to the next layer. Each layer can be described by the following equations: ^^= ^ , ^ ^^^^= ^(^^^^) ^ = ^(^^^^) In this example, the model is trained to find an optimal values of the parameters of the neural network, that result in the neural network outputting the most accurate estimated solution. A loss function that is used to measure how close the estimated value is to the true value is fixed. The model is then trained using backpropagation and gradient descent to minimize the loss incurred by the model. The loss function used in this example is a simple ^^distance between the estimated signal and the true signal. ^^^^, ^(^, ^; ^)^ = ‖^ − ^ ‖^ In this example, each fully connected layer of the model has many hidden units and a weight matrix comprising a large number of trainable parameters. The performance of this model can be improved by decomposing these weight matrices to TT-matrices, to form a tensor network, as described above.That is, the performance of model driven MIMO detection can be improved by reducing the number of trainable parameters in the model using a TT-decomposition algorithm. In this example, the neural network for MIMO (in this case, a DNN) comprises 3 hidden layers, each hidden layer comprising 144 hidden units. A tensor network (or TensorNet) based on the architecture of this model is then also formed. Figure 4 illustrates the architecture of the DNN model 402 and the TT-model (the tensor network) 404 for Deep MIMO detection. The DNN model 402 comprises 64,960 parameters, and the TT-model 404 comprises 23,788 parameters. For layers 2 and 3 of the DNN model 402, the weight matrices in these layers have dimensions of 144 × 144 respectively. In this example, to form the TT-model 404, each of these weight matrices are reshaped to a 4-dimensional tensor with modes 4,4,3,3, prior to performing the tensor decomposition. In this example, the ReLu activation function is used in all the layers in the model. The DNN model 402 and the TT-model 404 are then both respectively trained using the same training dataset (comprising 200000 data points). In this example, the training dataset is split in a 70:30 ratio for training and testing sets. Figure 5 is a sequence diagram for performing Deep MIMO detection with both the DNN model 402 and the TT-model 404 described above. At step 502, a signal, that has been transmitted by a transmitter and that has been distorted due to noise, is received at a receiver. At step 504, the DNN model 402 receives the distorted signal.At step 506, the TT-model 404 is formed by reshaping the hidden units of the DNN model 402 to tensors, performing tensor decomposition, and replacing the weight matrices, as described above. At step 508, the TT-model 404 receives the distorted signal. At step 510, the TT-model 404 outputs a predicted original signal (the signal that was originally transmitted by the transmitter), and sends this predicted original signal to the receiver. At step 512, the DNN model 402 outputs a predicted original signal, and sends this predicted original signal to the receiver. The results obtained for training the DNN model 402 for MIMO detection, and the TT- model 404 for MIMO detection, are now discussed. Figures 6a, 6b, 6c and 6d illustrate the training loss, training accuracy, validation loss and validation accuracy for both the DNN model 402 and the TT-model 404 respectively. It is noted that the TT-model 404 converges as the DNN model 402 does, while maintaining the flexibility as provided by the DNN model 402. There is no decrease in accuracy of the TT-model 404 despite the decrease in the number of model parameters in the TT-model 404. The TT-model 404 results in a test accuracy of 96.4%, whereas the DNN model 402 results in a test accuracy of 93.18%. It is noted that the training and test accuracy, and the loss values, vary from time to time for every model, based on the learning of the model since they are random variables. An implementation example, in which a tensor network for use in a method of antenna tilt optimization is formed and trained, is now described with reference to Figures 7 and 8. The tensor network be formed and / or trained in accordance with the method 200 described above. Self-organizing networks (SONs) are a class of radio access networks that offer automated functionalities for improving various KPIs of the network. Coverage-Capacity Optimization (CCO) is an important KPI that a SON may optimize automatically. Themain goal of CCO is to improve the coverage and capacity of the network by controlling the configuration of the network. CCO may ensure the coverage of a targeted geographical location with an appropriate desired capacity. Changes in these parameters may occur due to changes in traffic patterns, or the deployment of new Base Stations (BSs), for example. Antenna tilt is an important configuration parameter that should be set accurately in order to establishing appropriate coverage and capacity values. Failing to update the tilt configuration of an antenna may result in a decrease in KPI, which may lead to a poor Quality of Service and increased network congestion. Tilting an antenna remotely (RET) removes the need for an operator to visit the Base station to tilt the antenna physically, and reduces maintenance costs (as there is no physical tilt involved in the antenna). Hence, RET has become attractive for mobile network operators (MNOs) for the implementation of self-organized CCO. Recently proposed techniques for RET optimization are essentially data-driven learning approaches, mainly based on Reinforcement learning (RL), on Contextual Multi Armed Bandits (CMAB) or Multi Armed Bandits (MAB) [6]. These techniques are referred to as Learning Based methods as they devise a policy, and revise or update the policy based on the context experienced in the environment. In these cases, the policy will at least relate to an optimal antenna tilt for a particular context in the environment. RL based methods, applied to solve RET problems, exhibit performance gains compared to other techniques for solving RET problems. Hybrid methods combining Fuzzy Logic and Reinforcement Learning are also considered for tackling these problems. Shaoshuai et al. [7] implemented a Fuzzy Neural Network in a cooperative Q learning approach to optimize sector-edge and sector-centre performance indicators. Filippo et al. [6] proposed a Contextual Multi Armed Bandit (CMAB) approach that learns an optimal policy using real network data that is collected using a logging policy. This approach is offline as it uses real network data collected using a logging policy, and is more therefore more accurate. This approach utilizes a neural networks (in this case, a DNN) to determine an optimal tilt policy, from a given class of policies, for use in RET. In this example, the DNN for use in RET incorporates successful Long-short term memory (LSTM) structure, to avoid the vanishing gradient problem and to grant more modeling power to DNN. It is noted that the number of trainable parameters in these neural networks may be reduced by through the utilization of tensor network decompositions.That is, the performance of a model for use in antenna tilt optimization can be improved by reducing the number of trainable parameters in the model using a TT-decomposition algorithm. In the following example, a CMAB approach is implemented for RET. The approach uses a Direct Method risk estimator to find an approximate risk function which is then used to assess the performance of a target policy. The Direct Method uses a DNN to find an approximate loss model from the logging dataset, and then uses the loss model to select an action that results in the lowest loss for a given context. The DNN used for the direct method risk estimator is an ANN having 4 hidden units with a LSTM of 64 units after the input layer. The hidden units from the input layer have 128, 64, 32, and 16 hidden units. The total number of parameters present in the DNN is 36,097. A tensor network (or TensorNet) based on the architecture of this model is then also formed. The weight matrix of the second hidden layer of the DNN, having dimension 128 × 64 is reshaped to a tensor where 128 is reshaped to 4×4×4×2 and 64 is reshaped to 4×4×2×2, to form the tensor network. Similarly, 32 is reshaped to 4×2×2×2 and 16 is reshaped into 2×2×2×2. All the weight matrices of the DNN are reshaped into tensors according to the above reshaping formulation, to form the tensor network. Figure 7 illustrates the architecture of the DNN model 702 and the TT-model (the tensor network) 704 for use in a process of antenna tilt optimization. The resulting TT-model 704 comprises only 25,625 parameters. In another example, without LSTM, the number of trainable parameters in the DNN model (with the same architecture as described above) comprises 11,521 parameters, and the TT-model (with the same architecture as described above) comprises only 1,049 parameters (around 10% of the DNN model parameters). A ReLu activation function along with an Adam optimizer is used in both the DNN model 702 and the TT-model 704. In this example, both the TT-model 704 and the DNN model 702 were trained using the same training dataset, comprising around 24,000 datapoints.A loss model is then generated respectively by each of the DNN model 702 and the TT- model 704. Each of these obtained loss models are then used to predict an action for a test context. Figure 8 is a sequence diagram for performing antenna tilt optimization using both the DNN model 702 and the TT-model 704 described above. At step 802, a dataset of context action and loss values (for determining an optimal policy), are transmitted to a policy estimator. At step 804, the DNN model 702 receives the dataset. At step 806, the TT-model 704 is formed by reshaping the hidden units of the DNN model 702 to tensors, performing tensor decomposition, and replacing the weight matrices, as described above. At step 808, the TT-model 704 receives the dataset. At step 810, the TT-model 704 generates a predicted loss model, based on the received dataset, and transmits the predicted loss model to the policy estimator. At step 812, the DNN model 702 generates a predicted loss model, based on the received dataset, and transmits the predicted loss model to the policy estimator. At step 814, an optimal policy is formed by greedily selecting the action that leads to the least loss based on the loss model. Similar to the Deep MIMO detection case described above, the accuracy of the action predicted from the loss model that was obtained using the TT-model 704 is greater than the accuracy of the action predicted from the loss model that was obtained using the DNN model 702. An example of a method 900 of decomposing a matrix, where the method 900 is performed in accordance with the method 100, is now described with reference to Figure 9.In this example, a 8x10 matrix W is decomposed. At step 902 of the method 900, the matrix W is reshaped into a 5-dimensional tensor ^ of dimension 2x2x2x2x5. At step 904 of the method 900, the 5-dimensional tensor ^ is unfolded by its first dimension. At step 906 of the method 900, low rank singular value decomposition is applied to the unfolded tensor, to obtain a first tensor core G1of dimension 2 x r1, and a tensor of dimension r1x2x2x2x5. At step 908 of the method 900, the tensor of dimension r1x2x2x2x5 is reshaped into a 4-dimensional tensor of dimension (r1x2)x2x2x5. At step 910 of the method 900, low rank singular value decomposition is applied to the reshaped tensor, to obtain a second tensor core G2 of dimension (r1x2)xr2, and a tensor of dimension r2x2x2x5. The tensor of dimension r2x2x2x5 is then reshaped into a 3- dimensional tensor of dimension (r2x2)x2x5. At step 912 of the method 900, low rank singular value decomposition is applied to the reshaped tensor, to obtain a third tensor core G3 of dimension (r2x2)xr3, and a tensor of dimension r3x2x5. The tensor of the dimension r3x2x5 is then reshaped into a 2- dimensional tensor of dimension (r3x2)x5. At step 914 of the method 900, low rank singular value decomposition is applied to the reshaped tensor, to obtain a fourth tensor core G4 of dimension (r3x2)xr4, and a tensor of dimension r4x5. As no further decomposition of the tensor of dimension r4x5 can be performed, the r4x5 tensor is then determined to be a fifth tensor core G5. It will be appreciated that the obtained tensor cores G1, G2, G3, G4and G5can approximate the 5-dimensional tensor ^. Figure 10 is a schematic of an example of an apparatus 1000 for forming a tensor network. The apparatus 1000 comprises processing circuitry 1002 (e.g. one or moreprocessors) and a memory 1004 in communication with the processing circuitry 1002. The memory 1004 contains instructions executable by the processing circuitry 1002. The apparatus 1000 also comprises an interface 1006 in communication with the processing circuitry 1002. Although the interface 1006, processing circuitry 1002 and memory 1004 are shown connected in series, these may alternatively be interconnected in any other way, for example via a bus. In one embodiment, the memory 1004 contains instructions executable by the processing circuitry 1002 such that the apparatus 1000 is operable to form a tensor network based on a neural network, by, for each of one or more layers of the neural network: reshaping a weight matrix of the layer as a tensor that has a higher order than the weight matrix; applying tensor train decomposition to the tensor to obtain a linear chain of tensor train format tensor cores; and replacing the weight matrix of the layer with the linear chain of tensor train format tensor cores, such that the layer is configured to: receive a respective input vector; and contract the respective input vector with the linear chain of tensor train format tensor cores to obtain a respective output vector of the layer. In some examples, the apparatus 1000 is operable to carry out the method 200 described above with reference to Figure 2. Figure 11 is a schematic of an example of an apparatus 1100 for using a tensor network. The apparatus 1100 comprises processing circuitry 1102 (e.g. one or more processors) and a memory 1104 in communication with the processing circuitry 1102. The memory 1104 contains instructions executable by the processing circuitry 1102. The apparatus 1100 also comprises an interface 1106 in communication with the processing circuitry 1102. Although the interface 1106, processing circuitry 1102 and memory 1104 are shown connected in series, these may alternatively be interconnected in any other way, for example via a bus. In one embodiment, the memory 1104 contains instructions executable by the processing circuitry 1102 such that the apparatus 1100 is operable to provide an input vector to the tensor network; and in response to providing the input vector to the tensor network, obtain an output vector from the tensor network, wherein the tensor network comprises one or more layers that respectively comprise a linear chain of tensor train format tensor cores, such that each of the one or more layers is configured to: receive a respective input vector; and contract the respective input vector with the linear chain of tensor train format tensor cores to obtain a respective output vector of the layer.. In someexamples, the apparatus 1100 is operable to carry out the method 300 described above with reference to Figure 3. It should be noted that the above-mentioned examples illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative examples without departing from the scope of the appended statements. The word “comprising” does not exclude the presence of elements or steps other than those listed in a claim, “a” or “an” does not exclude a plurality, and a single processor or other unit may fulfil the functions of several units recited in the statements below. Where the terms, “first”, “second” etc. are used they are to be understood merely as labels for the convenient identification of a particular feature. In particular, they are not to be interpreted as describing the first or the second feature of a plurality of such features (i.e., the first or second of such features to occur in time or space) unless explicitly stated otherwise. Steps in the methods disclosed herein may be carried out in any order unless expressly otherwise stated. Any reference signs in the statements shall not be construed so as to limit their scope.Notations • |v>: Pronounced as ”ket” v, this is a notation for a column vector v. • <v|: Pronounced as ”bra” v, this is a notation for a row vector v. • <u|v>: Pronounced as ”braket”, this is a notation for the inner product between u and v.Abbreviations Abbreviation Explanation DMIMO Deep Multiple Input Multiple Output TT Tensor Train DNN Deep Neural Networks RET Remote Electrical Tilt CMAB Contextual Multi Armed BanditReferences [1] Masaru Fuji et al. “Explainable AI Through Combination of DeepTensor and Knowledge graph”. [2] Peter Henderson, Riashat Islam, Philip Bachman, Joelle Pineau, Doina Precup, and David Meger. Deep Reinforcement Learning that Matters. arXiv:1709.06560 [cs, stat], September 2017. [3] I. V. Oseledets, “Tensor-Train decomposition,” SIAM J. Scientific Computing, vol. 33, no.5, pp.2295 -2317, 2011. [4] Qiang Hu, Feifei Gao, Hao Zhang, Geoffrey Y. Li, Zongben Xu “Understanding Deep MIMO Detection“. [5] N. Samuel, T. Diskin and A. Wiesel, "Learning to Detect," in IEEE Transactions on Signal Processing, vol. 67, no. 10, pp. 2554-2564, 15 May15, 2019, doi: 10.1109 / TSP.2019.2899805. [6] F. Vannella, J. Jeong and A. Proutiere, "Off-policy Learning for Remote Electrical Tilt Optimization," 2020 IEEE 92nd Vehicular Technology Conference (VTC2020-Fall), 2020, pp.1-5. [7] Fan Shaoshuai, Hui Tian, and Cigdem Sengul. “Self-optimization of coverage and capacity based on a fuzzy neural network with cooperative reinforcement learning”. EURASIP Journal on Wireless Communications and Networking, 2014.
Claims
CLAIMS 1. A method of forming a tensor network, the method comprising: forming a tensor network based on a neural network, by, for each of one or more layers of the neural network : reshaping a weight matrix of the layer as a tensor that has a higher order than the weight matrix; applying tensor train decomposition to the tensor to obtain a linear chain of tensor train format tensor cores; and replacing the weight matrix of the layer with the linear chain of tensor train format tensor cores, such that the layer is configured to: receive a respective input vector; and contract the respective input vector with the linear chain of tensor train format tensor cores to obtain a respective output vector of the layer.
2. The method according to claim 1, wherein, for each reshaped weight matrix, each element of the reshaped weight matrix is represented by a contraction of the linear chain of tensor train format cores.
3. The method according to claim 1 or 2, wherein applying tensor train decomposition to the tensor to obtain the linear chain of tensor train format tensor cores comprises: (i) unfolding the tensor by a first dimension of the tensor; (ii) forming a first tensor core in the linear chain of tensor train format tensor cores, wherein the first dimension of the first tensor core is equal to a first tensor train rank, and the second dimension of the first tensor core is equal to the first dimension of the tensor; (iii) forming a reshaped tensor by multiplying the second dimension of the tensor with the first tensor train rank, and reducing the order of the tensor by one; and (iv) repeating steps (ii) and (iii) until the formed reshaped tensor is of order 2.
4. The method according to any preceding claim, wherein the neural network is a fully connected neural network.
5. The method according to any preceding claim, wherein the neural network comprises a deep neural network, or an artificial neural network.
6. The method according to any preceding claim, wherein the tensor network comprises a tensor network for use in telecommunications applications and / or the neural network comprises a neural network for use in telecommunications applications.
7. The method according to any preceding claim, wherein the method further comprises training the tensor network using training data.
8. The method according to claim 7, wherein the method further comprises, prior to training the tensor network: implementing the tensor network on a quantum computing device.
9. The method according to claim 7 or 8, wherein training the tensor network comprises training the tensor network to approximate a radio signal that has been transmitted by a transmitter, based on a corresponding radio signal that has been received by a receiver and based on channel state information.
10. The method according to claim 9, wherein the tensor network is trained to output an output vector representing an approximate radio signal that has been transmitted by a transmitter, in response to receiving an input vector representing: a radio signal that has been received by a receiver, and information representing channel state information.
11. The method according to claim 10, wherein the training data comprises a set of input data and a set of expected output data, the set of input data comprising: Information representing a radio signal that has been received by a receiver, and information representing channel state information, and the set of expected output data comprises information representing a known radio signal that has been transmitted by a transmitter, that is to be compared with the information representing an approximate radio signal that has been transmitted by a transmitter that is output by the tensor network.
12. The method according to any preceding claim, wherein the tensor network is configured to approximate a radio signal that has been transmitted by a transmitter,based on a corresponding radio signal that has been received by a receiver and based on channel state information.
13. The method according to any of claim 7 or 8, wherein training the tensor network comprises training the tensor network to approximate a loss model that predicts respective losses experienced as a consequence of executing respective actions in respective states, based on a known loss experienced as a consequence of executing a known action in a known state, the known action, and the known state.
14. The method according to claim 13, wherein the tensor network is trained to output an output vector representing approximate a loss model that predicts respective losses experienced as a consequence of executing respective actions in respective states, in response to receiving, an input vector representing: a known loss experienced as a consequence of executing a known action in a known state, the known action, and the known state.
15. The method according to any of claims 1-8, 13 or 14, wherein the tensor network is configured to approximate a loss model that predicts respective losses experienced as a consequence of executing respective actions in respective states, based on a known loss experienced as a consequence of executing a known action in a known state, the known action, and the known state.
16. The method according to claim 7 or 8, wherein training the tensor network comprises training the tensor network to predict future cellular traffic in a network.
17. The method according to any of claims 1-8 or 16, wherein the tensor network is configured to predict future cellular traffic in a network.
18. The method according to claim 7 or 8, wherein training the tensor network comprises training the tensor network to predict future bandwidth in a network.
19. The method according to any of claims 1-8 or 18, wherein the tensor network is configured to predict future bandwidth in a network.
20. The method according to any preceding claim, the method further comprising: providing an input vector to the tensor network; andin response to providing the input vector to the tensor network, obtaining an output vector from the tensor network.
21. A computer-implemented method of using a tensor network, the method comprising: providing an input vector to the tensor network; and in response to providing the input vector to the tensor network, obtaining an output vector from the tensor network, wherein the tensor network comprises one or more layers that respectively comprise a linear chain of tensor train format tensor cores, such that each of the one or more layers is configured to: receive a respective input vector; and contract the respective input vector with the linear chain of tensor train format tensor cores to obtain a respective output vector of the layer.
22. The method according to claim 21, wherein the tensor network is implemented on a quantum computing device.
23. The method according to claim 21 or 22, wherein the tensor network has been formed according to any of claims 1-8.
24. The method according to any of claims 21-23, wherein the tensor network comprises a tensor network for use in telecommunications applications.
25. The method according to any of claims 21-24, wherein the tensor network is configured to approximate a radio signal that has been transmitted by a transmitter, based on a corresponding radio signal that has been received by a receiver and based on channel state information.
26. The method according to claim 25, wherein the method further comprises: providing an input vector to the tensor network, the input vector representing a radio signal that has been received by a receiver and channel state information; and in response to providing the input vector to the tensor network, obtaining an output vector from the tensor network, the output vector representing an approximate radio signal that has been transmitted by a transmitter.
27. The method according to any of claims 21-24, wherein the tensor network is configured to approximate a loss model that predicts respective losses experienced as a consequence of executing respective actions in respective states, based on a known loss experienced as a consequence of executing a known action in a known state, the known action, and the known state.
28. The method according to claim 27, wherein the method further comprises: providing an input vector to the tensor network, the input vector representing a known loss experienced as a consequence of executing an known action in a known state, the known action, and the known state; and in response to providing the input vector to the tensor network, obtaining an output vector from the tensor network, the output vector representing information representing approximate a loss model that predicts respective losses experienced as a consequence of executing respective actions in respective states.
29. The method of claim 28, the method further comprising: using the approximated loss model to select an action to be executed in a particular state, wherein that will result in the smallest loss in the particular state.
30. The method of 29, the method further comprising: including the action to be executed in a particular state in a policy.
31. The method according to any of claims 21-24, wherein the tensor network is configured to predict future cellular traffic in a network.
32. The method according to any of claims 21-24, wherein the tensor network is configured to predict future bandwidth in a network.
33. The method according to any of claims 21-32, wherein the method further comprises: forming the tensor network according to any of claims 1-8.
34. A computer program comprising instructions which, when executed on at least one processor, cause the at least one processor to carry out a method according to any of claims 1 to 33.
35. A carrier containing a computer program according to claim 34, wherein the carrier comprises one of an electronic signal, optical signal, radio signal or computer readable storage medium.
36. A computer program product comprising non transitory computer readable media having stored thereon a computer program according to claim 34.
37. An apparatus for forming a tensor network, wherein the apparatus is configured to form a tensor network based on a neural network, by, for each of one or more layers of the neural network: reshaping a weight matrix of the layer as a tensor that has a higher order than the weight matrix; applying tensor train decomposition to the tensor to obtain a linear chain of tensor train format tensor cores; and replacing the weight matrix of the layer with the linear chain of tensor train format tensor cores, such that the layer is configured to: receive a respective input vector; and contract the respective input vector with the linear chain of tensor train format tensor cores to obtain a respective output vector of the layer.
38. The apparatus of claim 37, wherein the apparatus is further configured to perform the method of any of claims 2 to 20.
39. An apparatus for using a tensor network, the apparatus configured to: provide an input vector to the tensor network; and in response to providing the input vector to the tensor network, obtain an output vector from the tensor network, wherein the tensor network comprises one or more layers that respectively comprise a linear chain of tensor train format tensor cores, such that each of the one or more layers is configured to: receive a respective input vector; and contract the respective input vector with the linear chain of tensor train format tensor cores to obtain a respective output vector of the layer.
40. The apparatus of claim 39, wherein the apparatus is further configured to perform the method of any of claims 22 to 33.