The present disclosure is drawn to the reduction of parameters in fully connected layers of neural networks. For a layer whose output is defined by y=Wx, where y is the output vector, x is the input vector, and W is a matrix of connection parameters, vectors uij and ij are defined and submatrices Wi,j are computed as the outer product of uij and ij, so that Wi,j=ijuij, and W is obtained by appending submatrices Wi,j.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method for creating a neural network layer, the method comprising: defining an n-dimensional input vector x and an m-dimensional output vector y; selecting a divisor s of m and a divisor t of n; partitioning the output vector y into equally sized subvectors yl of length s and partitioning the input vector x into equally sized subvectors xj of length t; defining a vector uij of length t and a vector ij of length s for i=(1, . . . , m/s) and j=(1, . . . , n/t); computing submatrices Wij as an outer product of the vector uij and the vector ij so that Wij=uijTij, and determining the output vector y from y=W·x, where W is a matrix composed of all submatrices Wij for i=(1, . . . , m/s) and j=(1, . . . , n/t). 2. The method of claim 1, wherein determining the output vector y from y=W·x comprises: computing yi=Σj=1n/t(Wijxj); and determining the output vector y as y=[y1, y2, y3, . . . , ym/s]. 3. The method of claim 1, wherein determining the output vector y from y=W·x comprises: appending submatrices Wij to obtain matrix W; and computing y=W·x. 4. The method of claim 1, further comprising storing the vectors ij and uij. 5. The method of claim 4, further comprising retrieving the vectors ij and uij to compute the matrices Wi,j. 6. The method of claim 1, wherein the neural network is a feedforward neural network. 7. The method of claim 1, wherein the neural network is a deep neural network. 8. The method of claim 1, further comprising learning the vectors uij and ij during a training phase of the neural network. 9. A system for creating a neural network layer, the system comprising: a processing unit; and a non-transitory memory communicatively coupled to the processing unit and comprising computer-readable program instructions executable by the processing unit for: defining an n-dimensional input vector x and an m-dimensional output vector y; selecting a divisor s of m and a divisor t of n; partitioning the output vector y into equally sized subvectors yi of length s and partitioning the input vector x into equally sized subvectors xj of length t; defining a vector uij of length t and a vector ij of length s for i=(1, . . . , m/s) and j=(1, . . . , n/t); computing submatrices Wij as an outer product of the vector uij and the vector ij so that Wij=uijTij; and determining the output vector y from y=W·x, where W is a matrix composed of all submatrices Wij for i=(1, . . . , m/s) and j=(1, . . . , n/t). 10. A method for implementing a neural network layer, the method comprising: receiving an n-dimensional input vector x; retrieving from memory vector ij of length s and vector uij of length t; partitioning the input vector x into equally sized subvectors xj of length t; computing submatrices Wij as an outer product of the vector uij and the vector ij so that Wij=uijTij; and determining the output vector y from y=W·x, where W is a matrix composed of all submatrices Wij for i=(1, . . . , m/s) and j=(1, . . . , n/t). 11. The method of claim 10, wherein determining the output vector y from y=W·x comprises: computing yi=Σj=1n/t(Wijxj); and determining the output vector y as y=[y1, y2, y3, . . . , ym/s]. 12. The method of claim 10, wherein determining the output vector y from y=W·x comprises: appending submatrices Wij to obtain matrix W; and computing y=W·x. 13. The method of claim 10, wherein the neural network is a feedforward neural network. 14. The method of claim 10, wherein the neural network is a deep neural network. 15. A system for implementing a neural network layer, the system comprising: a processing unit; and a non-transitory memory communicatively coupled to the processing unit and comprising computer-readable program instructions executable by the processing unit for: receiving an n-dimensional input vector x; retrieving from memory vector ij of length s and vector uij of length t; partitioning the input vector x into equally sized subvectors xj using divisor t; computing submatrices Wij as an outer product of the vector uij and the vector ij so that Wij=uijTij; and determining the output vector y from y=W·x, where W is a matrix composed of all submatrices Wij for i=(1, . . . , m/s) and j=(1, . . . , n/t). 16. The system of claim 15, wherein determining the output vector y from y=W·x comprises: computing yi=Σj=1n/t(Wijxj); and determining the output vector y as y=[y1, y2, y3, . . . , ym/s]. 17. The system of claim 15, wherein determining the output vector y from y=W·x comprises: appending submatrices Wij to obtain matrix W; and computing y=W·x. 18. The system of claim 15, wherein the neural network is a feedforward neural network. 19. The system of claim 15, wherein the neural network is a deep neural network.