Apparatus and method for spot enumeration
By using machine learning algorithms and multi-layer deep neural networks to process the matrix and radius values of the dot generator, the high computational complexity of the dot enumeration problem is solved, and efficient prediction of the number of dot points is achieved.
Patent Information
- Application Number
- CN202080048278.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-07-01
- Filing Date
- 2020-06-24
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2040-06-24
AI Technical Summary
Existing technologies have high computational complexity when solving lattice-related problems such as lattice point enumeration, shortest vector, and closest vector problems, making them difficult to implement effectively in practical systems.
By employing machine learning algorithms, particularly multi-layer deep neural networks, combined with QR decomposition and supervised learning, the number of lattice points within a bounded region in vector space is predicted by processing the input data of the lattice generator matrix and radius values.
It reduces the computational complexity of the lattice enumeration problem, provides reliable lattice point enumeration results, and improves the efficiency of solving these problems.
Smart Images

Figure CN114072812B_ABST
Abstract
Description
Technical Field
[0001] This invention relates generally to computer science, and more particularly to a method and apparatus for solving the problem of enumerating points in an infinite lattice. Background Technology
[0002] Raster graphics are an effective tool with many applications in fields such as computer science, coding theory, digital communication and storage, and cryptography.
[0003] For example, in computer science, lattices are used to construct integer linear programming algorithms, which are used to factor polynomials on rational numbers and solve systems of polynomial equations.
[0004] For example, in coding theory, lattices are used to construct efficient error-correcting codes and efficient algebraic space-time codes for transmitting or storing data over noisy channels (e.g., in cloud computing systems). Signal constellation diagrams with lattice structures are used for signal transmission over Gaussian and single-antenna Rayleigh fading channels.
[0005] For example, in digital communications, dot arrays are used to detect coded or uncoded signals transmitted over wireless multiple-input multiple-output channels.
[0006] For example, in cryptography, lattices are used to construct secure cryptographic primitives that can withstand attacks, especially in post-quantum cryptography and proofs of security in major cryptosystems. Exemplary lattice-based cryptosystems include encryption schemes (e.g., GGH encryption scheme and NTRUE Encrypt), signatures (e.g., GGH signature scheme), and hash functions (e.g., SWIFFT and LASH for lattice-based hash functions).
[0007] Lattice problems are a class of optimization problems related to lattices. These problems have been solved over the decades, including the Shortest Vector Problem (SVP), the Closest Vector Problem (CVP), and the Lattice Enumeration Problem. In practical applications, such lattice problems arise in areas such as data detection in wireless communication systems, integer ambiguity resolution of carrier phase GNSS in positioning systems, and the construction or security proof of cryptographic algorithms.
[0008] A lattice of dimension n≥1 is a regular infinite permutation of points in an n-dimensional vector space V, which is assigned a primitive denoted by B and a norm denoted by N. In geometry and group theory, A lattice spans the real vector space. additive group A subgroup of . This means that for For any primitive element, a subgroup of all linear combinations of the primitive vectors forms a lattice. Each lattice point represents a vector of n integer values in the vector space V.
[0009] Solving the shortest vector problem in an n-dimensional lattice L over a vector space V with a basis B and a norm N includes finding the shortest non-zero vector in the lattice L measured by the norm N. Exemplary techniques for solving the shortest vector problem under the Euclidean norm include:
[0010] - lattice enumeration, e.g., as disclosed in "R. Kannan, Improved Algorithms for Integer Programming and related Lattice Problems, In Proceedings of the Fifeteenth Annual ACM Symposium on Theory of Computing, pages 193-206";
[0011] - random sampling reduction, e.g., as disclosed in "C. P. Schnorr, Lattice Reduction by Random Sampling and Birthday Methods, In Proceedings of Annual Symposium on Theoretical Aspects of Computer Science, pages 145-156, Springer, 2003";
[0012] - lattice sieving, e.g., as disclosed in "M. Ajtai, R. Kumar, and D. Sivakumar, A Sieve Algorithm for the Shortest Lattice Vector Problem, In Proceedings of the Thrity-third Annual ACM Symposium on Theory of Computing, pages 601-610, 2001";
[0013] - computing the Voronoi cell of a lattice, e.g., as disclosed in "D. Micciancio and P. Voulgaris, A deterministic Single Exponential Time Algorithm for Most Lattice Problems based on Voronoi Cell Computations, SIAM Journal on Computing, vol. 42, pages 1364-1391", and
[0014] - Discrete Gaussian sampling, for example as disclosed in "D. Aggrawal, D. Dadush, O. Regev, and N. Stephens-Davidowitz, Solving the Shortest Vector Problem in 2n time Using Discrete Gaussian Sampling, In Proceedings of the Forty-seventh Annual ACM Symposium on Theory of Computing, pages 733-742, 2013".
[0015] Lattice enumeration and random sampling reduction require super-exponential time and memory. Lattice sieving, computing Voronoi cells of a lattice, and discrete Gaussian sampling require high computational complexity that scales polynomially in the dimension of the lattice.
[0016] Solving the closest vector problem in an n-dimensional lattice L over a vector space V with basis B and metric M includes finding a vector in the lattice L that is closest to a given vector v in the vector space V (not necessarily in the lattice L), as measured by the metric M. An exemplary technique for solving the closest vector problem includes the Fincke and Pohst variant disclosed in "U. Fincke and M. Pohst, Improved Methods for Calculating Vectors of Short Length in a Lattice, Including a Complexity Analysis".
[0017] Lattice point enumeration in an n-dimensional lattice L over a vector space V with basis B and metric M includes counting (i.e., determining the number of) lattice points that lie within a given n-dimensional bounded region, denoted S, in the vector space V (a sphere or a ball). The number of lattice points within a ball of dimension n is proportional to the volume of the ball.
[0018] Figure 1 A two-dimensional lattice L in a vector space is illustrated. The black solid circles refer to lattice points belonging to the lattice L. The dashed circle 100 refers to a 2-dimensional ball centered at the origin (denoted by the empty circle) of the vector space , and containing the four lattice points that lie within the ball.
[0019] Lattice point enumeration problems are closely related to the closest vector problem and the shortest vector problem, which are known to be NP-hard problems that are difficult to solve exactly. Prior art techniques require high computational complexity that increases with the dimension of the lattice, which makes their implementation in practical systems challenging.
[0020] Therefore, there is a need to develop low-complexity and efficient techniques to address lattice-related problems, including lattice point enumeration problems and closest vector problems. SUMMARY
[0021] To address these and other issues, a lattice prediction apparatus for predicting a number of lattice points falling within a bounded region in a given vector space is provided. The bounded region is defined by a radius value, and a lattice point represents a digital signal in a lattice constructed on the vector space. The lattice is defined by a lattice generator matrix comprising components. The lattice prediction apparatus comprises a computing unit configured to determine a predicted lattice point number by applying a machine learning algorithm to input data resulting from the radius value and the components of the lattice generator matrix.
[0022] According to some embodiments, the computing unit can be configured to perform a QR decomposition on the lattice generator matrix, the QR decomposition providing an upper triangular matrix, the computing unit being configured to determine the input data by performing a multiplication operation between respective components of the upper triangular matrix and an inverse of the radius value.
[0023] According to some embodiments, the machine learning algorithm can be a supervised machine learning algorithm selected from a group comprising a support vector machine, a linear regression, a logistic regression, a naive Bayes, a linear discriminant analysis, a decision tree, a k-nearest neighbors algorithm, a neural network, and a similarity learning.
[0024] According to some embodiments, the supervised machine learning algorithm can be a multi-layered deep neural network comprising an input layer, one or more hidden layers, and an output layer, each layer comprising a plurality of computing nodes, the multi-layered deep neural network being associated with model parameters and an activation function, the activation function being implemented in at least one computing node among the plurality of computing nodes of the one or more hidden layers.
[0025] According to some embodiments, the activation function can be selected from a group comprising a linear activation function, a sigmoid function, a Relu function, a Tanh, a softmax function, and a CUBE function.
[0026] According to some embodiments, the computing unit can be configured to determine the model parameters from received training data during a training phase, the computing unit being configured to determine a plurality of training data sets from the training data, each training data set being associated with a respective expected lattice point number, the training phase comprising two or more processing iterations, at each processing iteration, the computing unit being configured to:
[0027] - processing the deep neural network using a set of training data among the plurality of training data as input, the processing providing an intermediate number of lattice points associated with the set of training data;
[0028] - determining a loss function from the expected number of lattice points and the intermediate number of lattice points associated with the set of training data, and
[0029] - determining updated model parameters by applying an optimization algorithm according to the minimization of the loss function.
[0030] According to some embodiments, the optimization algorithm can be selected among the group comprising an Adadelta optimization algorithm, an Adagrad optimization algorithm, an adaptive moment estimation algorithm, a Nesterov accelerated gradient algorithm, a Nesterov accelerated adaptive moment estimation algorithm, an RMSprop algorithm, a stochastic gradient optimization algorithm and an adaptive learning rate optimization algorithm.
[0031] According to some embodiments, the loss function can be selected among the group comprising a mean squared error function and an exponential log-likelihood function.
[0032] According to some embodiments, the computing unit can be configured to determine the initial model parameters for the first processing iteration from a randomly generated set of values.
[0033] According to some embodiments, the computing unit can be configured to determine the expected number of lattice points from the radius value and the point-lattice generator matrix by applying a list sphere decoding algorithm or a list Spherical-Bound stack decoding algorithm.
[0034] There is also provided a point-lattice prediction method for predicting a number of lattice points falling within a bounded region in a given vector space, the bounded region being defined by a radius value, a lattice point representing a digital signal in a point-lattice constructed on the vector space. The point-lattice is defined by a point-lattice generator matrix comprising components. The point-lattice prediction method comprises determining a predicted number of lattice points by applying a machine learning algorithm to input data resulting from the radius value and the components of the point-lattice generator matrix.
[0035] There is also provided a computer program product for predicting a number of lattice points falling within a bounded region in a given vector space, the bounded region being defined by a radius value, a lattice point representing a digital signal in a point-lattice constructed on the vector space. The point-lattice is defined by a point-lattice generator matrix comprising components. The computer program product comprises a non-transitory computer-readable storage medium and instructions stored on the non-transitory readable storage medium, the instructions, when executed by a processor, causing the processor to apply a machine learning algorithm to input data resulting from the radius value and the components of the point-lattice generator matrix, the machine learning algorithm providing a predicted number of lattice points.
[0036] Advantageously, the embodiments of the present application enable solving the lattice enumeration problem with reduced complexity.
[0037] Advantageously, the embodiments of the present application provide lattice enumeration techniques that provide reliable results compared to existing bounds in the literature. BRIEF DESCRIPTION OF DRAWINGS
[0038] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various embodiments of the application.
[0039] Figure 1 An exemplary 2-dimensional lattice in vector space is illustrated.
[0040] Figure 2 is a block diagram illustrating the structure of a lattice prediction apparatus according to some embodiments of the present application.
[0041] Figure 3 is a schematic diagram illustrating a machine learning algorithm using a deep neural network according to some embodiments of the present application.
[0042] Figure 4 is a flowchart illustrating a method for predicting the number of lattice points according to some embodiments of the present application.
[0043] Figure 5 is a flowchart illustrating a method for determining the parameters of a deep neural network model according to some embodiments of the present application.
[0044] Figure 6 is a graph illustrating an error histogram evaluating the prediction error between the expected number of lattice points and the estimated value during the training phase for a lattice of dimension n = 5 according to some embodiments of the present application.
[0045] Figure 7 is a graph illustrating an error histogram evaluating the prediction error between the expected number of lattice points and the estimated value during the training phase for a lattice of dimension n = 10 according to some embodiments of the present application.
[0046] Figure 8 is a graph illustrating the variation of the normalized root mean square deviation (NRMSD) value as a function of the number of hidden layers for two lattices of dimension n = 4 and n = 6 according to some embodiments of the present application.
[0047] Figure 9 is a graph illustrating the performance of a multi-layer deep neural network for a lattice of dimension equal to n = 5, considering the training set respectively according to some embodiments of the present application.
[0048] Figure 10 These are diagrams illustrating the performance of multilayer deep neural networks with a lattice dimension of n=5, considering test sets according to some embodiments of the present invention. Detailed Implementation
[0049] Embodiments of the present invention provide apparatus, methods, and computer programs for predicting the number of lattice points falling within a bounded region of a given spatial vector with reduced complexity using machine learning methods.
[0050] To facilitate understanding of the embodiments of the present invention, some definitions and symbols used below are provided.
[0051] K refers to the field that defines the operations of addition, subtraction, multiplication, and division, i.e., the algebraic structure.
[0052] V refers to the n-dimensional (finite-dimensional) K-vector space over the field K.
[0053] B = {v1, ..., v} n} represents the K-element of the vector space V.
[0054] N(.) denotes the norm of the vector space V.
[0055] m(.) denotes the metric of the vector space V.
[0056] The n-dimensional lattice K constructed on the vector space V is represented by non-unique lattice primitives B = {v1,…,v...}. n The discrete subgroup of the generated vector space V. The lattice Λ consists of n linearly independent vectors v1,…,v p Spanning, and corresponding to the set given by the following formula:
[0057]
[0058] Vectors v1,…,v p This represents a non-unique lattice element of the lattice Λ.
[0059] The lattice generator matrix is denoted as M∈V nxn , refers to a matrix whose column vectors represent non-unique lattice elements of the lattice Λ.
[0060] A lattice point u belonging to the lattice Λ refers to an n-dimensional vector u∈V, which, according to the following formula, can be written as a function of the lattice generator matrix M:
[0061] u=Ms,s∈K (2)
[0062] Let it be u min The shortest vector is the shortest non-zero vector in the lattice Λ, denoted as λ when measured by the norm N. min , so that:
[0063] λ min = min u∈Λ(O}N(u) (3)
[0064] The shortest vector problem refers to an optimization problem whose goal is to find the shortest non-zero vector u min in a vector space V min that belongs to a lattice Λ and has the shortest length measured by a norm N. The shortest vector problem still amounts to solving the optimization problem given by:
[0065] i min = argmin u∈Λ{O} N(u) (4)
[0066] The closest vector problem refers to an optimization problem whose goal is to find, given a vector v in a vector space V, a vector u in a lattice Λ that is closest to the vector v, the distance between the vector v and the vector u being measured by a metric m. The closest vector problem still amounts to solving the optimization problem given by:
[0067] u cvp = argmin u∈Λ{O} m(v-u) (5)
[0068] The lattice enumeration problem refers to an optimization problem whose goal is to count (i.e., determine the number of) lattice points that fall within a bounded region in a vector space V. Since a lattice point corresponds to a vector u = Ms, solving the lattice enumeration problem in a bounded region in a vector space V defined by a radius value r and centered at the origin still amounts to enumerating the vectors u e Λ that belong to a lattice Λ and whose metric m(u) is less than or equal to the radius value r, such that m(u) < r.
[0069] The lattice enumeration problem is closely related to the shortest vector problem and the closest vector problem. For example, given the definition of the corresponding optimization problem, solving the lattice enumeration problem for a radius value equal to the shortest vector length can provide the number of lattice points of shortest length. Moreover, when the metric m(u) corresponds to the distance between a vector in a vector space and another vector belonging to a lattice, solving the lattice enumeration problem can provide the number of vectors that fall within a given bounded region that are closest to that vector belonging to the vector space.
[0070] For a lattice Λ constructed on a Euclidean space V as a vector space Λ represents an additive discrete subgroup of the Euclidean space V . The lattice Λ is spanned by n linearly independent vectors v1,..., vn of V n . Accordingly, the lattice Λ is given by a set of integer linear combinations according to:
[0071]
[0072] dot-matrix generator matrix denotes a real-valued matrix comprising real-valued components A vector u belonging to the dot-matrix Λ is an n-dimensional vector According to the following formula, it can be written as a function of the dot-matrix generator matrix M:
[0073]
[0074] Exemplary dot-matrices include cubic dot-matrices or integer dot-matrices denoted A n hexagonal dot-matrices denoted D n and root dot-matrices denoted E n .
[0075] Exemplary norms of constructed on a Euclidean vector space are the Euclidean norms denoted (.) = ‖.‖2, which define the Euclidean metric (also called "Euclidean distance") as the distance between two points in a Euclidean space.
[0076] Solving the closest dot problem in a dot-matrix constructed on a Euclidean space is equivalent to solving an optimization problem whose aim is to find the least-squares solution of a system of linear equations, where the unknown vector consists of integer numbers, but the matrix coefficients and the given vector consist of real numbers.
[0077] D(K, θ k=1,…,K , σ) denotes a multi-layered deep neural network composed of an input layer, K ≥ 2 layers including one or more hidden layers and an output layer, and artificial neurons (hereinafter referred to as "nodes" or "computing nodes") connected to each other. The number of layers K represents the depth of the deep neural network, and the number of nodes in each layer represents the width of the deep neural network. (k) Nkdenotes the width of the k-th layer and corresponds to the number of computing nodes in the k-th layer.
[0078] The multi-layered deep neural network is associated with model parameters denoted θ k=1,…,K and an activation function denoted σ. The activation function σ denotes a computational non-linear function that defines the output of a neuron in the hidden layers of the multi-layered deep neural network. The model parameters θ k=1,…,K comprise a set of parameters θ k , k = 1,..., K, the k-th set denotes a set of layer parameters associated with the k-th layer of the multi-layered deep neural network, comprising:
[0079] - first layer parameters, denoted as denotes a weight matrix comprising real-valued coefficients, each coefficient denoting a weight value associated with a connection between a node belonging to the k-th layer and a node belonging to the (k-1)-th layer;
[0080] - second layer parameters, denoted as denotes a vector of bias values associated with the k-th layer.
[0081] L denotes a loss function and refers to a mathematical function used to estimate the loss (also referred to as "error" or "cost") between an estimated value (also referred to as "intermediate") and an expected value during the training process of a deep neural network.
[0082] Optimizer (hereinafter referred to as "optimization algorithm" or "gradient descent optimization algorithm") refers to an optimization algorithm used to update the parameters of a deep neural network during the training phase.
[0083] Epoch refers to the number of times the training data passes through the deep neural network in the training phase.
[0084] Mini-batch refers to a subset of training data extracted from the training data and used in an iteration of the training phase. The size of the mini-batch refers to the number of training data samples in each mini-batch divided.
[0085] The learning rate of the gradient descent algorithm (also referred to as "step size") refers to a scalar value multiplied by the size of the gradient.
[0086] Embodiments of the present invention provide apparatuses, methods and computer program products that enable solving lattice enumeration problems and can be used in conjunction with solving closest vector problems and shortest vector problems. Such lattice problems arise in several fields and applications, including but not limited to computer science, coding, digital communications and storage, and cryptography. Embodiments of the present invention can thus be implemented in various digital systems designed to store, process or communicate information in digital form. Exemplary applications include, but are not limited to:
[0087] - digital electronic devices;
[0088] - communications (e.g., digital data encoding and decoding using lattice-structured signal constellations);
[0089] - data processing (e.g., in computing networks / systems, data centers);
[0090] - data storage (e.g., cloud computing);
[0091] - cryptography (e.g. protecting data and controlling and authenticating access to data, devices and systems, such as ensuring anti-theft protection in the automotive industry, authenticating control and access to batteries and accessories in mobile phone devices, protecting bank accounts and financial transactions and data in the banking industry, protecting medical data and medical devices (such as implantable medical devices) in medicine, ensuring hardware security of electronic components in sensitive applications in FPGAs);
[0092] - and so on.
[0093] Exemplary digital systems include, but are not limited to:
[0094] - communication systems (e.g. radio, wireless, single-antenna communication systems, multi-antenna communication systems, optical fiber-based communication systems);
[0095] - communication devices (e.g. transceivers in single-antenna or multi-antenna devices, base stations, relay stations for encoding and / or decoding digital uncoded or coded signals represented by signal constellations, mobile phone devices, computers, laptops, tablets, drones, loT devices);
[0096] - storage systems and devices (e.g. cloud computing applications and cloud servers, mobile storage devices, etc.);
[0097] - cryptographic systems and devices for communication, data processing or storage (e.g. digital electronic devices such as RFID tags and electronic keys, smart cards, tokens for storing keys, smart card readers such as automated teller machines, and storage cards and hard disks with login access monitored by cryptographic mechanisms) and implementing lattice-based encryption schemes (e.g. GGH encryption scheme and NTRUEncrypt), lattice-based signatures (e.g. GGH signature scheme) and lattice-based hash functions (e.g. SWIFFT and LASH);
[0098] - integer programming systems / devices (e.g. computers, quantum computers);
[0099] - positioning systems (e.g. integer ambiguity resolution for carrier phase GNSS in GNSS);
[0100] - and so on.
[0101] Embodiments of the present invention provide apparatuses, methods and computer program products for solving lattice enumeration problems by predicting the number of lattice points within a bounded region in a given vector space. For illustrative purposes only, reference will be made to the construction of a lattice in a Euclidean space The lattice is described below. Those skilled in the art will readily understand that embodiments of the present invention are applicable to any lattice constructed on any vector space. In the following text, Λ denotes Euclidean space. n-dimensional constructs above A lattice, Λ, is composed of lattice primitives B, the Euclidean norm N(.) = ||.|2, the Euclidean metric m(.), and the lattice generator matrix. definition.
[0102] Reference Figure 2 This provides a method for predicting, in a given vector space V, the number N of lattice points u∈Λ that fall within a bounded region denoted as S in a finite-dimensional lattice Λ. pred The dot matrix prediction device 200 constructs a dot matrix Λ on a vector space V. The bounded region is defined by a radius value denoted as r. The dot matrix Λ is generated by the dot matrix generator matrix. Defined, this matrix contains, denoted as M ij The components (row and column indices i and j vary between 1 and n). Therefore, the number N of lattice points falling within a bounded region S with radius r. pred The counting is reduced to the number N of such lattice points u∈Λ. pred Counting: These points belong to the lattice Λ and each has a metric m(u) = ||u||2 such that ||u||2 ≤ r.
[0103] The dot matrix prediction device 200 can be implemented in digital data processing, communication or storage devices or systems used for digital data transmission, processing or storage (including but not limited to the digital systems and applications described above).
[0104] Embodiments of the present invention rely on artificial intelligence models and algorithms to solve the dot matrix enumeration problem. Therefore, the dot matrix prediction device 200 may include a computing unit 201 configured to receive a radius value r and a dot matrix generator matrix M, and determine the predicted number of dot matrix points N by processing a machine learning algorithm. pred The machine learning algorithm processes input data derived from the radius value r and the components of the lattice generator matrix M. The lattice prediction device 200 may include a storage unit 203 configured to store the radius value r and the lattice generator matrix M, and load their values into the computation unit 201.
[0105] According to some implementations, the computation unit 201 can be configured to perform QR decomposition on the lattice generator matrix, M = QR, which provides an upper triangular matrix. unitary matrix The computing unit 201 can be configured to determine the input data from the received radius value r and the components of the point lattice generator matrix M by performing multiplication operations between the components of the upper triangular matrix and the inverse of the radius value. More specifically, denoting the components of the upper triangular matrix as R ij (where i = 1,..., n and j = 1,..., n), the computing unit 201 can be configured to determine the input data denoted by the vector x0= (R1, R2,..., Rn)T (0) comprising N 2 = n
[0106] The machine learning algorithm takes the input vector as input and provides as output (also referred to as “prediction”) the predicted number N pred of lattice points falling within the bounded region S of radius value r.
[0107] According to some embodiments, the machine learning algorithm can be a supervised machine learning algorithm that maps input data to prediction data using a function determined based on labeled training data consisting of a set of labeled outputs. Exemplary supervised machine learning algorithms include, but are not limited to, support vector machines (SVM), linear regression, logistic regression, naive Bayes, linear discriminant analysis, decision trees, k-nearest neighbors, neural networks, and similarity learning.
[0108] In a preferred embodiment, the supervised machine learning algorithm can be a multilayer perceptron, which is a multilayer feed-forward artificial neural network consisting of at least three layers.
[0109] Referring to Figure 3 , a multilayer deep neural network D(K, θ k=1,…,K , σ) 300 is illustrated that consists of an input layer 301 and at least two layers (K > 2) including one or more hidden layers 303 and an output layer 305.
[0110] The multilayer deep neural network 300 is fully connected. Thus, each computational node in a layer is connected to every computational node in the next layer with some weight, i.e., the input from the connected node of the previous layer is combined with a set of weights that amplify or attenuate the input value. Starting from the input layer 301 that is configured to receive the input data, the output of each layer is simultaneously the input of the subsequent layer.
[0111] Each computational node 3011 included in the one or more hidden layers implements, except for the input computational nodes (i.e., the computational nodes 3011 in the input layer), a non-linear activation function σ that maps the weighted input of the computational node to the output of the computational node.
[0112] According to the multi-layer structure, the deep neural network defines a mapping from an input vector x to an output vector denoted as y , the k-th layer among the K layers of the deep neural network carries a mapping denoted as f which maps an input vector x received as input by the k-th layer to an output vector y The mapping at the k-th layer depends on the input vector x k-1 corresponding to the output vector of the preceding layer and a set of parameters associated with the k-th layer The mapping f k (x k-1 ; θ k ) associated with the k-th layer (except for the input layer) can be expressed as:
[0113] f k (x k-1 ; θ k ) = σ(W (k) x k-1 + b (k) ) (8)
[0114] The input weight products performed at the computing nodes of the k-th layer are represented in equation (8) by the product function W (k) x k-1 between the weight matrix W (k) and the input vector x k-1 processed as input by the k-th layer, then these input weight products are summed and the sum is passed through the activation function σ.
[0115] According to some embodiments, the activation function can be implemented in at least one computing node 3011 among the plurality of computing nodes of one or more hidden layers 303.
[0116] According to some embodiments, the activation function can be implemented at each node of the hidden layers.
[0117] According to some embodiments, the activation function can be selected in a group comprising a linear activation function, a sigmoid function, a Tanh, a softmax function, a rectified linear unit (ReLU) function and a CUBE function.
[0118] The linear activation function is the identity function where the signal does not change.
[0119] The sigmoid function converts a nearly infinite range of independent variables into a simple probability between 0 and 1. It is a nonlinear function that takes a value as input and outputs another value between "0" and "1".
[0120] The tanh function represents the relationship between hyperbolic sine and hyperbolic cosine tanh(x) = sinh(x) / cosh(x).
[0121] The softmax activation generalizes logistic regression and returns a probability distribution over mutually exclusive output classes. The softmax activation function can be implemented in the output layer of a deep neural network.
[0122] The ReLu activation function activates a neuron if its input is above a given threshold. In particular, the given threshold can be equal to zero (“0”), in which case the ReLu activation function outputs a zero value if the input variable is negative and outputs the input variable according to the identity function if the input variable is positive. Mathematically, the ReLu function can be represented as σ(x) = max(0, x).
[0123] According to some embodiments, the computing device 201 can be configured to determine and update model parameters of the multi-layer deep neural network from training data during a training phase. The training phase (also referred to as a “learning phase”) is a global optimization problem that is performed to adjust the model parameters θ k=1,…,K in a manner such that a prediction error is minimized. The prediction error quantifies how close the multi-layer deep neural network is to the ideal model parameters that provide the best predictions. The model parameters can be initially set to initial parameters, which can be randomly generated for example. The initial parameters are then updated during the training phase and adjusted in a manner such that the neural network is able to converge to the best predictions.
[0124] According to some embodiments, the multi-layer deep neural network can be trained using a backpropagation supervised learning technique and the training data can be used to predict unobserved data.
[0125] The backpropagation technique is an iterative process of forward and backward propagation of information through the different layers of the multi-layer deep neural network.
[0126] During the forward propagation phase, the neural network receives training data comprising training input values and desired values (also referred to as“labels”) associated with the training input values, which correspond to the desired output of the neural network when the training input values are used as input. The dot-matrix prediction device 200 knows the desired values in the application of the supervised machine learning technique. The neural network passes the training data through the entire multi-layer neural network to determine estimated values (also referred to as“intermediate values”) corresponding to the predictions obtained for the training input values. The training data is passed in such a way that all computing nodes comprised in the different layers of the multi-layer deep neural network apply their transformation or computation to the input values they receive from the computing nodes of the previous layer and send their output values to the computing nodes of the subsequent layer. When the data has passed through all layers and all computing nodes have made their computations, the output layer provides the estimated values corresponding to the training data.
[0127] The last step of the forward propagation phase comprises comparing the desired values associated with the training data with the estimated values obtained when the training data is passed as input through the neural network. This comparison enables to measure how good / bad the estimated values are with respect to the desired values and to update the model parameters with the aim of bringing the estimated values closer to the desired values so that the prediction error (also referred to as“estimation error” or“cost”) is close to zero. The prediction error can be estimated using a loss function based on a gradient process that updates the model parameters in the direction of the gradient of the objective function.
[0128] The forward propagation phase is followed by a backward propagation phase during which the model parameters, e.g. the weights of the interconnections of the computing nodes 3011, are gradually adjusted in the opposite order by applying an optimization algorithm until a good prediction is obtained and the loss function is minimized.
[0129] First, the computed prediction error is propagated backwards from the output layer to all computing nodes 3011 of one or more hidden layers 303 that directly contribute to the computation of the estimated values. The individual computing nodes receive a portion of the total prediction error based on their relative contribution to the output of the deep neural network. This process is repeated layer by layer until all computing nodes in the deep neural network have received a prediction error corresponding to their relative contribution to the total prediction error. Once the prediction error is propagated backwards, the layer parameters, e.g. the first layer parameters (i.e. the weights) and the second layer parameters (i.e. the biases), can be updated by applying an optimization algorithm according to the minimization of the loss function.
[0130] According to some embodiments, the computing unit 201 can be configured to update the model parameters during the training phase according to the“batch gradient descent method” by computing the loss function and updating the model parameters for the entire training data.
[0131] According to some embodiments, the computing unit 201 can be configured to update the model parameters during the training phase according to online learning by adjusting the model parameters for individual samples of the training data. With online learning, the loss function is evaluated for individual samples of the training data. Online learning is also referred to as "online training" and "stochastic gradient descent".
[0132] According to other embodiments, the computing unit 201 can be configured to update the model parameters from the training data during the training phase using mini-batch learning (also referred to as "mini-batch gradient descent") using mini-batch data of size s b The mini-batch data is a subset of the training samples of size s b Thus, the computing unit 201 can be configured to divide the training data into two or more batches of size s b Each batch comprises s b input data samples. The input data is then passed through the network in batches. The loss function is evaluated for each mini-batch of data passed through the neural network and the model parameters are updated for each mini-batch. Thus, the forward and backward propagation phase is performed for each mini-batch until the last batch.
[0133] According to some embodiments, the computing unit 201 can be configured to pass all training data through the deep neural network 300 multiple times (referred to as epochs) during the training process. The number of epochs can be increased until an accuracy measure evaluating the accuracy of the training data starts to decrease or continues to increase (e.g. when potential overfitting is detected).
[0134] The received training data denoted by may comprise Nb s training samples denoted by These training samples depend on the components of the upper triangular matrix R resulting from the lattice generator matrix M and the radius value r.
[0135] Based on supervised learning, the training samples can be labeled, i.e. associated with a known desired output value (also referred to as "target" or "label") corresponding to the output of the deep neural network when the training sample is used as input to the deep neural network. More specifically, each sample x *,m (m = 1,..., Nb s ) can be associated with the desired value of the number of lattice points falling within the bounded region of radius r
[0136] According to some implementations using mini-batch learning, computation unit 201 can be configured to determine (update or adjust) mini-batch model parameters extracted from the received training data during the training phase. In such an implementation, computation unit 201 can be configured to divide the received training data into groups denoted as x. (*,1) ,x (*,2) ,…,x (*,NB) Multiple (NB) training datasets, where each training dataset includes data from training data. b The size of the set of training examples is s b Small batches, that is, each small batch x (*,l) Including s b Sample x *,m Where m is between 1 and Nb s Variations between [variables]. Small batch x (*,l) Also by S l This indicates that it has Nb s The training samples extracted from each training sample, i.e.
[0137] Each small batch x (*,l) (l = 1, ..., NB) can be associated with a target value that corresponds to the value obtained when the mini-batch data x... (*,l) When used as input to a deep neural network, the expected number of matrix points obtained by the deep neural network is... The training data set and the target value can be grouped into vector pairs, such that they are denoted as . Each vector pair corresponds to the training example and target value of the l-th mini-batch.
[0138] Given training data and desired output values, computation unit 201 can be configured to perform the forward and backward propagation phases of the training process.
[0139] Based on mini-batch training, the training phase may include two or more processing iterations. In each processing iteration, computation unit 201 can be configured as follows:
[0140] - Use mini-batch x from multiple training sets (*,l) As input to a deep neural network, it provides a mini-batch of x (*,l) Related ones are denoted as The number of intermediate lattice points. It is predicted at the output layer of a multi-layer deep neural network;
[0141] -Based on small batch x (*,l) Associated expected number of points and by using small batches of data x (*,l)The number of intermediate points determined through processing Calculate for the processed mini-batch x (*,l) The loss function is denoted as .
[0142] - By applying optimization algorithms, based on the loss function Minimization determines the value of x in a small batch. (*,l) The updated model parameters after processing. More specifically, computation unit 201 can be configured to determine the parameters of the multi-layer deep neural network D(K,θ). k=1,…,K The updated first-layer parameters associated with each of the K layers of σ). and the updated second-level parameters The first layer parameters and the second layer parameters correspond to the weights and biases associated with the connections between neurons in the deep neural network, respectively.
[0143] For the first processing iteration, computation unit 201 can be configured to determine the initial model parameters to be used during the forward propagation phase of the first processing iteration of the training process. More specifically, computation unit 201 can be configured to determine the parameters of the multilayer deep neural network D(K,θ). k=1,…,K The initial first-layer parameters associated with each of the K layers of σ). and initial second-layer parameters
[0144] According to some implementations, the computing unit 201 can be configured to randomly determine initial first layer parameters and initial second layer parameters associated with different layers of a deep neural network from a set of random values, for example, following a standard normal distribution.
[0145] According to some implementations, an optimization algorithm for adjusting model parameters and determining updated model parameters can be selected from the group including Adadelta optimization algorithm, Adagrad optimization algorithm, adaptive moment estimation algorithm (ADAM) that calculates adaptive learning rates for each model parameter, Nesterov accelerated gradient (NAG) algorithm, Nesterov accelerated adaptive moment estimation (Nadam) algorithm, RMSprop algorithm, stochastic gradient optimization algorithm and adaptive learning rate optimization algorithm.
[0146] According to some implementations, a loss function may be selected from the group including the mean squared error function (MSE) for linear regression and the exponential log-likelihood (EXPLL) function for Poisson regression to be considered for evaluating prediction error or loss.
[0147] Based on some implementations that use the mean squared error function, the loss function calculated for the l-th mini-batch of data can be expressed as:
[0148]
[0149] According to some embodiments, the computing unit 201 can be configured to determine, according to the radius value r and the lattice generator matrix M, the number of expected lattice points associated with each small batch S l (l = 1,..., NB) by applying a list sphere decoding algorithm or a list SB stack decoding algorithm. The list sphere decoding (LSD) algorithm and the list SB stack decoding algorithm are sphere-based decoding algorithms that solve the closest vector problem. They output a list of codewords that lie within a given bounded region of a given radius. More details on the LSD implementation are disclosed in “M. El-Khamy et al., Reduced Complexity List Sphere Decoding for MIMO Systems, Digital Signal Processing, Vol. 25, Pages 84-92, 2014”.
[0150] With reference to Figure 4 A lattice prediction method is also provided for predicting, in a given vector space V, the number N of lattice points u e Λ that fall within a bounded region denoted by S pred The lattice Λ is constructed on the vector space V. The bounded region is defined by a radius value r. Λ denotes an n-dimensional lattice constructed on the Euclidean space Λ = {u e Rn | u = Bx, x e Zn} where B is a lattice basis. The lattice Λ is defined by a lattice basis B, a Euclidean norm N(.) = ‖.‖2, a Euclidean metric m(.) and a lattice generator matrix M ij including components M i,j (row and column indices i and j varying from 1 to n). pred The prediction of the number N pred of lattice points u e Λ that fall within a bounded region S of radius value r is reduced to the prediction of the number N pred of lattice points u e Λ that belong to the lattice Λ and each have a metric m(u) = ‖u‖2 less than or equal to the radius value r, such that ‖u‖2≤ r.
[0151] At step 401, the lattice generator matrix M and the radius value r can be received.
[0152] At step 403, a QR decomposition can be performed on the lattice generator matrix, M = QR, which provides an upper triangular matrix Q and a unitary matrix R
[0153] At step 405, input data can be determined from the received radius value r and the components of the lattice generator matrix M by performing multiplication operations between the respective components of the upper triangular matrix and the inverse of the radius value, which provides an input data vector comprising N (0) = n 2 real-valued inputs
[0154] At step 407, the number N pred of predicted lattice points that fall within the bounded region S of radius value r may be determined by processing the input data vector
[0155] According to some embodiments, the machine learning algorithm can be a supervised machine learning algorithm selected from the group including, but not limited to, support vector machines, linear regression, logistic regression, naive Bayes, linear discriminant analysis, decision trees, k-nearest neighbors, neural networks, and similarity learning.
[0156] In a preferred embodiment, the supervised machine learning algorithm can be a multilayer perceptron, which is a multilayer feedforward artificial neural network D(K, θ k=1,…,K , σ) composed of an input layer and at least two layers (K≥2) including one or more hidden layers and an output layer, and associated with model parameters θ k=1,…,K and an activation function σ, the model parameters θ k=1,…,K comprising a plurality of sets of layer parameters Each set of layer parameters comprises first layer parameters W (k) and second layer parameters b (k) .
[0157] According to some embodiments, the activation function can be selected from the group comprising linear activation functions, sigmoid functions, Tanh, softmax functions, rectified linear unit (ReLU) functions, and CUBE functions.
[0158] According to some embodiments in which the machine learning algorithm is a multilayer deep neural network, step 407 can comprise a sub-step that is performed to determine updated model parameters according to a backpropagation supervised training or learning process that trains the multilayer deep neural network using training data.
[0159] According to some embodiments, the model parameters can be updated during the training process according to a “batch gradient descent method” by computing a loss function and updating the model parameters for the entire training data.
[0160] According to some implementations, model parameters can be updated during the training process by adjusting the model parameters for each sample of the training data and calculating the loss for each sample of the training data based on online learning.
[0161] According to other implementations, model parameters can be updated from training data during the training process based on mini-batch learning using mini-batch data, with a size of s. b Small batch data is s b A subset of training samples. Therefore, the training data can be divided into two or more subsets of size s. b Small batches of data, each batch including the input data s b A sample is taken. Then, the input data is passed through the network in mini-batches. The loss function is evaluated for each mini-batch, and the model parameters are updated for each mini-batch.
[0162] Figure 5 This describes some implementations of training a multi-layer deep neural network D(K,θ) using mini-batch learning. k=1,…,K ,σ) in order to determine the model parameters θ that provide the best predictions in terms of minimizing prediction error. k=1,…,K The flowchart of the method.
[0163] In step 501, Nb can be received. s training samples Training data and the expected number of lattice points Each sample x *,m (m=1,…,Nb s The expected value of the number of lattice points falling within a bounded region of radius r. Correlated, when sample x *,m When used as input to a neural network, this expected value corresponds to the expected output or prediction of a multi-layer deep neural network.
[0164] In step 503, the training data can be divided into multiple (NB) training data sets x (*,1) ,x (*,2) ,…,x (*,NB) The training dataset is a collection of data extracted from the training data. b The size of the set of training examples is s b Small batches. Each small batch x (*,l) (l=1,…,NB) can be used with small batch data x (*,l) The expected number of matrix points to be obtained by the deep neural network when used as input. Correlation. The training data set and the expected value can be grouped into vector pairs, such that each vector pair... The training examples and target values corresponding to the l-th mini-batch.
[0165] The training process may include two or more iterations of processing, repeated until a stopping condition is met. The stopping condition may be related to the size of the mini-batch of training data processed and / or the goodness of the updated model parameters in minimizing the prediction error produced by the updated model parameters.
[0166] In step 505, a first processing iteration can be performed, during which initial model parameters for processing the first mini-batch of data can be determined. More specifically, at step 505, the parameters related to the multilayer deep neural network D(K,θ) can be determined. k=1…K The initial first-layer parameters associated with each of the K layers of σ). and initial second-layer parameters
[0167] According to some implementations, the initial first layer parameters and initial second layer parameters associated with different layers of a deep neural network can be randomly determined from, for example, a set of random values that follow a standard normal distribution.
[0168] Steps 507 to 513 can be repeated to process small batches of data until the stopping condition is met. The processing iterations of the training process consist of steps 509 to 513 and involve multiple training sets x. (*,l) The mini-batch x in (l=1,…,NB) (*,l) The processing.
[0169] In step 509, mini-batch x from multiple training sets can be used. (*,l) Using it as input to process multi-layer deep neural networks provides the advantage of mini-batch x (*,l) The number of associated intermediate lattice points (denoted as) Number of intermediate lattice points It is predicted at the output layer of a multi-layer deep neural network.
[0170] In step 511, it can be based on the small batch x (*,l) Associated known number of expected lattice points and by processing small batches of data x in step 509 (*,l) The number of intermediate lattice points determined To calculate for the processed mini-batch x (*,l) loss function
[0171] In step 513, by applying an optimization algorithm, based on the loss function... Minimize, when processing small batches of x (*,l)Then, the updated model parameters can be determined. More specifically, the parameters of the multilayer deep neural network D(K,θ) can be updated in step 513. k=1,…,K The first-layer parameters associated with each of the K layers of σ) Second layer parameters The first layer parameters and the second layer parameters correspond to the weights and biases associated with the connections between neurons in the deep neural network, respectively.
[0172] According to some implementation methods, an optimization algorithm can be selected from the group including Adadelta optimization algorithm, Adagrad optimization algorithm, adaptive moment estimation algorithm, Nesterov accelerated gradient algorithm, Nesterov accelerated adaptive moment estimation algorithm, RMSprop algorithm, stochastic gradient optimization algorithm and adaptive learning rate optimization algorithm.
[0173] According to some implementation methods, the loss function can be selected from a group including the mean squared error function and the exponential log-likelihood function.
[0174] According to some implementations, step 501 may include determining the relationship between each mini-batch S based on the radius value r and the dot matrix generator matrix M by applying a list ball decoding algorithm based on a ball decoder or a list SB stack decoding algorithm based on an SB stack decoder. l The number of expected lattice points associated with (l=1,…,NB)
[0175] Also provided is a computer program product for predicting, in a given vector space V, the number N of lattice points u∈Λ in a finite-dimensional lattice Λ that fall within a bounded region S. pred The lattice Λ is constructed on the vector space V. The bounded region is defined by the radius r. Λ represents the region in Euclidean space. n-dimensional constructs above A lattice, Λ, consists of lattice primitives B, the Euclidean norm N(.) = ||.|2, the Euclidean metric m(.), and components M. ij Lattice generator matrix (where row and column indices i and j vary between 1 and n) Definition. This computer program product includes a non-transitory computer-readable storage medium and instructions stored on the non-transitory readable storage medium, which, when executed by a processor, cause the processor to use components M from the radius value r and the lattice generator matrix M. ij The obtained input data is processed by machine learning algorithms, which provides the number of prediction points N. pred .
[0176] The performance of the provided lattice prediction device and method has been evaluated through several simulation experiments. Figure 6 to Figure 10are plots illustrating the results obtained considering different lattice dimensions n varying from 2 to 10. The components M ij are modeled as i.i.d. zero-mean Gaussian random variables with unit variance. The training data for each lattice dimension comprises 50000 training samples. Small batch learning is considered for these simulation experiments, where the training samples are divided into NB=2500 batches of size s b = 20. An adaptive moment estimation (Adam) optimization algorithm is used with an adaptive learning rate equal to 0.001. The multi-layer deep neural network consists of an input layer taking as input vector a vector of dimension n 2 The number of computational nodes in the hidden layers depends on the lattice dimension and is chosen to be greater or equal to the number of input variables.
[0177] Figure 6 and Figure 7 are plots of error histograms illustrating the prediction error between the expected number of lattice points during the training phase and the estimated value during the training phase for lattices of dimension n = 5 and n = 10, respectively. Figure 6 and 7 The plots of
[0178] Figure 8 are plots illustrating the variation of the normalized root mean square deviation (NRMSD) values as a function of the number of hidden layers for two lattice dimensions n = 4 and n = 6. The normalized root mean square deviation evaluates the ratio between the root mean square deviation (used as a measure to evaluate the prediction error) and the mean value. Figure 8 shows that the NRMSD decreases with the increase of the number of hidden layers, while a sufficient number of hidden layers (equal to 3) is enough to achieve a significant prediction accuracy.
[0179] Figure 9 and Figure 10 are plots illustrating the performance of the multi-layer deep neural network considering the training set and the test set, respectively, for a lattice dimension equal to n = 5. The predicted output of the multi-layer deep neural network is plotted with respect to the target output, i.e. the predicted number of lattice points is plotted with respect to the expected number of lattice points. Figure 9 and Figure 10 The plots of
[0180] The apparatus, methods, and computer program products described herein can be implemented by various means. For example, these techniques can be implemented in hardware, software, or a combination thereof. For a hardware implementation, the processing elements of the dot pattern prediction apparatus 200 can be implemented within one or more ASICs, FPGAs, or VLSI
[0181] Moreover, the methods described herein can be implemented by way of machine, programmable, computer system or computer subsystems. As used herein, the terms "machine-readable medium" "computer-readable medium," and "processor-readable medium" are entirely restricted to tangible, physical objects that can be programmed to operate in a particular manner. As used herein, the terms "machine-readable medium," "computer-readable medium," and "processor-readable medium" include, but are not limited to, non-transitory computer-readable media, such as a random access memory (RAM), a read-only memory (ROM), a magnetic or optical disk, a compact disk (CD), a digital versatile disk (DVD), a floppy disk, a tape, a flash memory, a file, a set of files, a database, a database structure, a computer register, a processor register, a programmable logic array, a programmable logic controller, a computing machine, a microprocessor, a microcontroller, a microcomputer, a digital signal processor, a microprocessor-based or other hardware-based computer system, a mobile device, a portable computer, a server, a computer system, a computer network, a computer subsystem, a computer, a computerized system, a computerized device, a computerized apparatus, a computerized unit, a computerized machine, a computerized signal processor, a computerized processor, a computerized controller, a computerized system, a computerized subsystem, a computerized device, a computerized apparatus, a computerized unit, a computerized machine, a computerized signal processor, a computerized processor, a computerized controller, a computerized system, a computerized subsystem, a computerized device, a computerized apparatus, a computerized unit, a computerized machine, a computerized signal processor, a computerized processor, a computerized controller, a computerized system, a computerized subsystem, a computerized device, a computerized apparatus, a computerized unit, a computerized machine, a computerized signal processor, a computerized processor, a computerized controller, a computerized system, a computerized subsystem
Claims
1. A lattice prediction apparatus (200) for predicting the number of lattice points falling within a bounded region in a given vector space, wherein the lattice points represent digital signals in a lattice constructed on the vector space, the lattice being defined by a lattice generator matrix including components, wherein, The dot-matrix prediction device (200) comprises a computing unit (201) configured to receive a radius value defining the bounded region and to determine a number of predicted dot-matrix points falling within the bounded region by applying a machine learning algorithm taking as input an input data vector comprising inputs determined from the radius value and from the components of a dot-matrix generator matrix and providing as output the number of predicted dot-matrix points.
2. The block prediction apparatus (200) according to claim 1, wherein The computing unit (201) is configured to perform a QR decomposition of the dot-matrix generator matrix providing an upper triangular matrix, the computing unit (201) being configured to determine the input data by performing a multiplication operation between respective components of the upper triangular matrix and the inverse of the radius value.
3. The block prediction apparatus (200) of claim 1, wherein The machine learning algorithm is a supervised machine learning algorithm selected in the group comprising a support vector machine, a linear regression, a logistic regression, a naive Bayes, a linear discriminant analysis, a decision tree, a k-nearest neighbors algorithm, a neural network and a similarity learning.
4. The block prediction apparatus (200) according to claim 3, wherein The supervised machine learning algorithm is a multi-layered deep neural network (300) comprising an input layer (301), one or more hidden layers (303) and an output layer (305), each layer comprising a plurality of computing nodes (3011), the multi-layered deep neural network (300) being associated with model parameters and an activation function, the activation function being implemented in at least one computing node (3011) among the plurality of computing nodes of the one or more hidden layers.
5. The block prediction apparatus (200) according to claim 4, wherein The activation function is selected in the group comprising a linear activation function, a sigmoid function, a Relu function, a Tanh, a softmax function and a CUBE function.
6. The block prediction apparatus (200) of claim 4, wherein The computing unit (201) is configured to determine the model parameters during a training phase from received training data, the computing unit (201) being configured to determine a number of expected dot-matrix points and a plurality of training data sets from the training data, each number of expected dot-matrix points being associated with a training data set among the plurality of training data sets, the training phase comprising two or more processing iterations, at each processing iteration, the computing unit (201) is configured to: - process the deep neural network (300) using a training data set among the plurality of training data as input, the processing providing an intermediate number of dot-matrix points associated with the training data set; - determine a loss function from the number of expected dot-matrix points associated with the training data set and the intermediate number of dot-matrix points, and - determine updated model parameters by applying an optimization algorithm from a minimization of the loss function.
7. The block prediction apparatus (200) according to claim 6, wherein The optimization algorithm is selected in the group comprising an Adadelta optimization algorithm, an Adagrad optimization algorithm, a stochastic gradient descent algorithm, a Nesterov accelerated gradient algorithm, a Nesterov accelerated stochastic gradient descent algorithm, an RMSprop algorithm, a stochastic gradient optimization algorithm and an adaptive learning rate optimization algorithm.
8. The block prediction apparatus (200) according to claim 6, wherein The loss function is selected from a group comprising a mean squared error function and an exponential log-likelihood function.
9. The block prediction apparatus (200) of claim 6, wherein The computing unit (201) is configured to determine initial model parameters for a first processing iteration from a randomly generated set of values.
10. The block prediction apparatus (200) of claim 6, wherein, The computing unit (201) is configured to determine the expected number of lattice points from the radius value and a lattice generator matrix by applying a list sphere decoding algorithm or a list Spherical-Bound stack decoding algorithm.
11. A lattice prediction method of predicting the number of lattice points falling within a given bounded region in a vector space, the lattice points representing digital signals in a lattice constructed over said vector space, said lattice being defined by a lattice generator matrix comprising components, wherein, The lattice prediction method comprises receiving a radius value defining the bounded region and determining a predicted number of lattice points falling within the bounded region by applying a machine learning algorithm taking as input an input data vector comprising inputs determined from the radius value and from the components of a lattice generator matrix and providing as output the predicted number of lattice points.
12. A computer program product for predicting a number of lattice points falling within a bounded region in a given vector space, the bounded region being defined by a radius value, a lattice point representing a digital signal in a lattice constructed on the vector space, the lattice being defined by a lattice generator matrix comprising components, the computer program product comprising a non-transitory computer readable storage medium and instructions stored on the non-transitory readable storage medium, the instructions, when executed by a processor, causing the processor to perform the lattice prediction method according to claim 11.