Matrix simplification device, matrix simplification method, and program
The matrix simplification device and method employ Fast Parallel SVT to efficiently calculate the SVT of the weighted nuclear norm in parallel, addressing computational inefficiencies and enhancing low-rank matrix approximation speed and accuracy.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-07-07
- Publication Date
- 2026-03-18
AI Technical Summary
Existing methods for calculating Singular Value Thresholding (SVT) of the weighted nuclear norm are computationally intensive and lack parallel processing capabilities, particularly when dealing with a large number of small matrices, limiting the speed and efficiency of low-rank matrix approximation.
A matrix simplification device and method that utilize Fast Parallel SVT (FPSVT) to calculate the SVT of the weighted nuclear norm in parallel, using a group star quasi-norm representation and linear transformations, enabling data-parallel processing without singular value decomposition (SVD).
The proposed method significantly reduces computational complexity and time required for low-rank matrix approximation, achieving up to 77 times faster calculations with higher accuracy compared to conventional methods.
Smart Images

Figure 0007832552000052 
Figure 0007832552000053 
Figure 0007832552000054
Abstract
Description
Technical Field
[0001] The present invention relates to a matrix simplification device, a matrix simplification method, and a program.
Background Art
[0002] Data analysis techniques (hereinafter referred to as low-rank modeling) based on the low-rank property latent in data and physical phenomena have been actively studied in recent years in many fields such as computer vision, image processing, and genomic data analysis. Here, the low-rank property means that for a matrix X derived from data or a physical phenomenon, the rank rank(X) is small compared to the size of X (here, the smaller of the number of rows or columns of the matrix X). In low-rank modeling, a mathematical programming problem of minimizing the rank of the target matrix is formulated, and the solution of this problem is obtained to realize the desired analysis.
[0003] The function rank is discontinuous, non-differentiable, and non-convex, and the planning problem based on this becomes NP-hard combinatorial optimization. For this reason, a relaxation approach that regularizes the nuclear norm instead of the rank function is widely used. Since the nuclear norm is the convex hull of the rank function, the low-rank property can be indirectly enhanced by minimizing the nuclear norm. Also, an approach that regularizes the weighted nuclear norm instead of the nuclear norm is widely used. The weighted nuclear norm has a higher effect of enhancing the low-rank property than the nuclear norm. <*
[0004] Optimization problems including the nuclear norm and the weighted nuclear norm are solved by iterative calculations of a proximal splitting method such as the Alternating Direction Method of Multipliers (ADMM), and singular value thresholding (SVT), which is the proximal mapping of the nuclear norm and the weighted nuclear norm, is repeatedly executed.
[0005] However, calculating SVT requires the computationally intensive calculation of Singular Value Decomposition (SVD), thus requiring a significant amount of computation time to obtain the analysis results. Here, we classify the karyotype norm regularization problems formulated in each analysis method into (1) problems that regularize a small number of large matrices and (2) problems that regularize a large number of small matrices. Applications of the former (1) include, for example, robust principal component analysis, missing value estimation and interpolation, optical flow estimation, dynamic MRI (Magnetic Resonance Imaging) analysis, and genome analysis. Applications of the latter (2) include graph simplification and false color removal.
[0006] In the case of the former problem (1), several methods have been proposed to reduce computational complexity and speed up SVT. JFCai et al. have proposed a fast SVT (FSVT) that calculates the SVT without performing SVD by first performing a complete orthogonal decomposition (COD) of the matrix and then iteratively updating it using Newton's method (Non-Patent Literature 1). THOh et al. have also proposed a fast randomized SVT (FRSVT) that speeds up SVT by reducing the input size of SVD by approximating large matrices as the product of an orthogonal matrix and a small core matrix (Non-Patent Literature 2). All of the methods listed here reduce computational complexity and show a significant speed improvement when the input matrix size is large (around 500 to 2000 rows and columns).
[0007] On the other hand, in the case of the latter problem (2), the effect of speeding up using the above methods is considered to be limited. When using FSVT, there is a problem that the computational cost of COD and Newton's method is large compared to direct SVD calculation when the input is small. Also, when using FRSVT, when the input is small, there is a problem that speeding up is not possible because the degeneracy effect of the core matrix is small, and the calculation error is large because it is an approximation method. In addition, these methods cannot take a data parallel approach that processes many matrices simultaneously, and there is a problem that they cannot effectively utilize the computational resources of modern parallel architectures.
[0008] Patent Document 1 and Non-Patent Document 3 propose Fast Parallel SVT (FPSVT), which calculates the SVT of the kernel norm in parallel while reducing the computational load. FPSVT does not use singular values. ∞,2 By representing the kernel norm with a mixed norm, SVT calculations that do not require SVD are achieved, reducing the computational complexity. In addition, parallelization algorithms that process data in parallel can be easily implemented, enabling simultaneous processing of a large number of matrices. [Prior art documents] [Patent Documents]
[0009] [Patent Document 1] Patent No. 6810003 [Non-patent literature]
[0010] [Non-Patent Document 1] J.-F. Cai, O. Stanley, “Fast singular value thresholding without singular value decomposition,” Methods and Applications of Analysis, vol.20, no.4, pp.335-352, Dec. 2013. [Non-Patent Document 2] TH Oh, Y. Matsushita, YW Tai, and IS Kweon, “Fast randomized singular value thresholding for nuclear norm minimization,” 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp.4484-4493, June 2015. [Non-Patent Document 3] Takamoto Sasaki, Masaki Kitahara, and Jun Shimizu, "Mathematical Approach to Fast Singular Value Thresholding for Low-Rank Optimization," Proceedings of the 16th Forum on Information Science and Technology (FIT), Vol. 1, 2017, pp. 5-12. [Overview of the project] [Problems that the invention aims to solve]
[0011] However, while the technologies described in Patent Document 1 and Non-Patent Document 3 can quickly determine the SVT of the nuclear norm, they cannot determine the SVT of the weighted nuclear norm. In order to further improve the low-rank properties in low-rank modeling, there is a need for a technology that can quickly determine the SVT of the weighted nuclear norm.
[0012] This invention was made based on the above-mentioned problem recognition, and aims to provide a matrix simplification device, a matrix simplification method, and a program that can calculate the SVT (Singular Value Threshold) of a weighted kernel norm with less computation and in parallel, and that can lower the rank of a matrix more quickly. [Means for solving the problem]
[0013] One aspect of the present invention is an M x 2 matrix Y = [y1, y2] or a 2 x M matrix Y T =[y1,y2] T This is a vectorization part where y1 and y2 are two M-dimensional vectors, and the weights w=[w1,w2] T This matrix simplification device comprises a low-rank approximation unit that performs a low-rank approximation of matrix Y by calculating the SVT (Singular Value Thresholding) of the weighted kernel norm of matrix Y, based on the fact that the weighted kernel norm of matrix Y is expressed as a group apex quasi-norm based on the weight w, where R is the rotation matrix on the image ImY, and the rotation matrix is [y1-Ry2, y1+Ry2].
[0014] One aspect of the present invention is an M x 2 matrix Y = [y1, y2] or a 2 x M matrix Y T =[y1,y2] TLet y1 and y2 be two M-dimensional vectors, and the weight of matrix Y be w = [w1, w2]. T Based on the fact that when the weighted nuclear norm by the matrix Y's weight w = [w1, w2] is represented by the group star quasi-norm based on (y1 - Ry2, y1 + Ry2) where R is the rotation matrix on the image ImY, perform the low-rank approximation of matrix Y by calculating the SVT (Singular Value Thresholding) of the weighted nuclear norm. This is a matrix simplification method including this low-rank approximation step.
[0015] One aspect of the present invention is to make a computer function as a vectorization unit that regards the M×2 matrix Y = [y1, y2] or the 2×M matrix Y T =[y1, y2] T as two M-dimensional vectors y1 and y2, and a low-rank approximation unit that performs the low-rank approximation of matrix Y by calculating the SVT (Singular Value Thresholding) of the weighted nuclear norm based on the fact that when the weighted nuclear norm by the weight w = [w1, w2] of matrix Y is represented by the group star quasi-norm based on (y1 - Ry2, y1 + Ry2) where R is the rotation matrix on the image ImY. This is a program for this purpose. T Based on the fact that when the weighted nuclear norm by the matrix Y's weight w = [w1, w2] is represented by the group star quasi-norm based on (y1 - Ry2, y1 + Ry2) where R is the rotation matrix on the image ImY, perform the low-rank approximation of matrix Y by calculating the SVT (Singular Value Thresholding) of the weighted nuclear norm. This is a program for this purpose.
Advantages of the Invention
[0016] According to the present invention, the SVT (Singular Value Thresholding) of the weighted nuclear norm can be obtained with less computational complexity and in parallel, enabling faster low-rank approximation of the matrix. [Figure 4] This is a block diagram showing an example of the schematic functional configuration of a matrix simplification device. [Figure 5A] This is a schematic diagram illustrating an example of the structure of the main data processed by the matrix simplifier. [Figure 5B] This is a schematic diagram illustrating an example of the structure of the main data processed by the matrix simplifier. [Figure 5C] This is a schematic diagram illustrating an example of the structure of the main data processed by the matrix simplifier. [Figure 6] This flowchart shows an example of the processing flow of a matrix simplification device. [Modes for carrying out the invention]
[0018] Next, embodiments of the present invention will be described with reference to the drawings. Below, low-rank modeling common to the embodiments will be described, followed by a description of the specific configuration of the matrix simplification device 1 and other components.
[0019] [1. Low-rank modeling based on weighted nuclear norm regularization] The weighted kernel-type norm regularization problem addressed by this embodiment is as follows: Matrix X∈R M×N (Here, R is the set of real numbers. M×N ) is the set of M x N matrices whose elements are real numbers. The same applies below. ) The singular values are σ i Let (X) be a matrix with i = 1, 2, ..., K. Here, K = min(M, N), and min() is a function that returns the minimum value of its arguments. Later, the size of an M x N matrix may simply be expressed as "M x N".
[0020] In this case, the weighted kernel norm is a singular value σ i (X) weighting lol i It is defined as the sum of , as shown in equation (1) below.
number
[0021] This embodiment deals with an optimization problem in which a number of small matrices are regularized by a weighted kernel norm. This problem has the form of equation (2) below.
number
[0022] In equation (2), the second term of the objective function is a low-rank regularization function obtained by summing weighted kernel norms, and the first term is another regularization or fidelity function. Linear map L i This is a linear transformation for generating matrices that conform to low rank.
[0023] To solve "(2) the problem of regularizing a large number of small matrices" as described in the background technology, we need a function f and a linear transformation L. i An algorithm is selected accordingly. As such, Non-Patent Documents 4 and 5 use proximity separation methods such as ADMM or Primal Dual Splitting because the function f is differentiable or computable by proximity mapping.
[0024] [Non-Patent Literature 4] Takamoto Sasaki, Ryuichi Tanida, Jun Shimizu, "Simplification of Graph Shape by Local Linear Approximation of Graph Signals," The 15th Forum on Information Science and Technology (FIT2016), Vol. 3, pp. 1-4, Sept. 2016. [Non-patent document 5] S. Ono and I. Yamada, “Color-line regularization for color artifact removal,” IEEE Transactions on Computational Imaging, vol.2, no.3, pp.204-217, 2016.
[0025] The meaning of "computable for proximity mappings" here is as follows: For a function g, the proximity mapping prox at the point (vector) y is... g It is defined as shown in equation (3) below.
number
[0026] The proximity separation method described above is an iterative computation procedure that generates a convergence sequence toward the optimal solution. In each iteration, the solution is updated based on primary information such as the gradient of the function and proximity mappings, and the objective function is minimized.
[0027] For the regularization function of the sum of weighted kernel norms in the "problem of regularizing a large number of small matrices", the auxiliary variable Y i =L i Introducing X(i=1,…,L), g(Y1,…,Y) can be expressed by the following equation (4). L We just need to calculate the proximity map of ).
number
[0028] g(Y1,…,Y L The proximity mapping of ) can be calculated by independently computing the proximity mapping of each element that makes up the right-hand side, and the following equation (5) holds.
number
[0029] The SVT of the weighted kernel norm is calculated using the following equation (6), where Y is the input matrix and w is the weight vector.
number
[0030] In this embodiment, the singular value decomposition is "thin SVD," that is, Y = UΣV T When decomposed as (Y∈R M×N ), the matrices U and V consist of K = min(M,N) orthonormal vectors, and the calculation of singular vectors from the (K+1)th onward is omitted (U∈R M×K ,V∈R N×K ). Also, the matrix Σ is a K×K diagonal matrix. When describing it in numerical analysis software MATLAB (MathWorks, USA), it is written as "[U,S,V]=svd(Y,'econ');".
[0031] That is, the function g(Y1,Y2,···,Y L The proximity mapping of ) can be calculated using L SVTs, and each SVT requires the calculation of an SVD with a small matrix as input. When performing iterative operations using the proximity separation method, much of the computation time is spent on the computationally intensive SVD calculation.
[0032] Now, the function g(Y1,Y2,···,Y L The proximity mapping of ) is L matrices Y1, Y2, ..., Y L Since there are no dependencies between each of them, task parallel processing is possible. That is, matrices Y1, Y2, ..., Y L Each of these can be processed in L parallel. However, if the size of each matrix is small in the problem being addressed, the overhead of processing allocation and memory loading may be relatively large, and the improvement due to parallelization may be limited.
[0033] Therefore, we will explain data parallel processing, which has low overhead. If the algorithm can be data parallelized, processing can be accelerated by implementing it using data parallel architectures such as Single Instruction Multiple Data (SIMD). However, the calculation of SVD is sequential, and the reference position of matrix elements and the processing content are based on the input Y i Because it is dependent on certain factors, there are few operations that can be commonly computed across matrices, making data parallelism inherently difficult. Based on the above, models that regularize a large number of small matrices to a low rank have difficulty obtaining optimal solutions quickly, due to the enormous computational complexity of SVD and the difficulty of parallelization.
[0034] [2. Fast Parallel SVT (FPSVT)] Here, we derive FPSVT, which rapidly calculates a large number of SVTs. This method is derived based on the characteristic that the weighted kernel norm can be represented by the group apex quasi-norm. This characteristic allows the weighted kernel norm to be represented without using singular values. Furthermore, the SVT can be represented without using SVD. Since this SVT can be described almost entirely by linear transformations, a data-parallel algorithm can be derived. The SVT calculation method obtained in this embodiment has reduced computational complexity and can be executed as a data-parallel algorithm.
[0035] Since equation (7) holds for an input matrix of size M × 2, the calculation of the SVT for an input matrix of size 2 × N can be achieved by applying the transpose operation of equation (7) before and after calculating the SVT for an N × 2 matrix.
number
[0036] First, the singular value sum σ1+σ2 and the singular value difference σ1-σ2 are expressed by the following equation (8) according to Non-Patent Document 3. Note that the signs are in the same order in equation (8).
number
[0037] Furthermore, the above image ImY is as follows: That is, matrix A∈R M×N For a subspace, ImA = {Ax | x ∈ R}N}⊂R M This is called the image of A.
[0038] From this, the following equation (9) holds for the weighted kernel norm.
number
[0039] Here, A and ω are expressed by the following equations (10-1) and (10-2).
number
[0040] Group Apex Star Quasi-Norm Γ ω (y'1, y'2) is represented by the following equation (11) (Non-Patent Literature 6).
number
number
[0041] [Non-Patent Literature 6] Takamoto Sasaki, Yukihiro Bando, Masaki Kitahara, "Edge-preserving smoothing with simultaneous control of gradation and edges based on full-variation regularization of pointed stars," Proceedings of the 36th Signal Processing Symposium, IEICE Signal Processing Technical Committee, 2021, pp.181-186.
[0042] From this, the proximity mapping is,
number
[0043] Also prox Γω (y1',y2') is
number
[0044] Here
number
[0045] prox Ωω In (a,b), if we consider a≧b≧0, ω1+ω2≧0, and ω2≦0, then the sgn function, sorting, and absolute value become unnecessary.
number
[0046] If we calculate this,
number
[0047] Therefore
number
[0048] Therefore,
number
[0049] Here, α and β are
number
[0050] Therefore,
number
[0051] According to Non-Patent Document 3, the matrix R can be calculated as shown in equation (22) below.
number
[0052] Therefore, when M≧3, R[y2,-y1] is,
number
number
[0053] On the other hand, when M=2
number
number
number
[0054] Therefore, (i)Y T Find Y, (ii) trY T Y,detY T (iii) Find Y, (iv) Find σ1, σ2, (iv) Find α, β, (v) Prox||·||*,w The SVT of the weighted kernel norm can be calculated by the procedure of finding (Y) using the above formula. (i), (ii), and (v) can be calculated using sum-of-products calculations, (iii) using arithmetic operations and square root calculations, and (iv) using arithmetic operations and clipping. Thus, a large number of input matrices Y1, ..., Y L It is the SVT.
number
[0055] Figure 2 is a schematic diagram showing the algorithm for calculating SVT (Singular Value Thresholding) when M ≥ 3. This algorithm is written using pseudocode. The algorithm will be explained below in accordance with this diagram.
[0056] In this algorithm, the inputs are an M×2 matrix Y and a weight vector w of an SVT. The column vectors (M-dimensional) of the first and second columns of Y are denoted as y1 and y2, respectively. Also, w = [w1, w2] T w2 ≥ w1 ≥ 0. The output is an SVT with weights w of matrix Y. Let the output matrix be denoted as Z.
[0057] The following explanation will refer to the row numbers indicated on the left side of the diagram. In the first row, assignments are made to variables a, b, and c. Variable a is assigned y1 T y1, variable b is y1 T y2, variable c is y2 T Substitute y2. a, b, and c are all scalar values.
[0058] In the second line, assignments are made to variables d, e, and f. Variable d is assigned ac - b 2 Substitute the value of √d into variable e and the value of a+c into variable f. The value of variable d is matrix Y. T This is the determinant of Y, where the value of variable e is its square root, and the value of variable f is the matrix Y. T This is a trace of Y.
[0059] In the third row, substitutions are made for variables g and h. The value of √(f+2e) is substituted for variable g, and the value of √(f-2e) is substituted for variable h. The value of variable g is the sum of the singular values of matrix Y, and the value of variable h is the difference of the singular values of matrix Y.
[0060] In the fourth row, substitutions are made to the variables σ1 and σ2. The value of (g+h) / 2 is substituted for variable σ1, and the value of (gh) / 2 is substituted for variable σ2. The value of variable σ1 is the largest singular value of matrix Y, and the value of variable σ2 is the smallest singular value of matrix Y.
[0061] In the fifth line, the value is assigned to the variable α. If g is not 0, then
number
[0062] In the sixth line, an assignment is made to the variable β. If h is not 0, then
number
[0063] In the seventh line, the output is assigned to the variable Z.
number
[0064] Figure 3 is a schematic diagram showing the algorithm for calculating SVT (Singular Value Thresholding) when M=2. This algorithm is written using pseudocode. The algorithm will be explained below in accordance with this diagram.
[0065] In this algorithm, the inputs are a 2x2 matrix Y and the weights W of the SVT. The column vectors (2D) of the first and second columns of Y are represented as y1 and y2, respectively, and each element of matrix Y is represented using a suffix (index) in which the row number and column number are arranged in that order. 1,1 ,y 1,2 ,y 2,1 ,y 2,2 This is expressed as follows: Also, w=[w1,w2] T w2 ≥ w1 ≥ 0. The output is an SVT with weights w of matrix Y. Let the output matrix be denoted as Z.
[0066] The following explanation will refer to the row numbers indicated on the left side of the diagram. In the first row, assignments are made to variables a and c. Variable a is assigned y1 T y1, variable c contains y2 T Substitute y2. Both a and c are scalar values.
[0067] In the second line, assignments are made to variables d, e, and f. Variable d will be assigned y 1,1 y 2,2 -y 1,2 y 2,1 Substitute the value of |d| into variable e and the value of a+c into variable f. The value of variable d is the determinant of matrix Y, and the value of variable e is its absolute value, which is the determinant of matrix Y. T The square root of the determinant of Y, and the value of the variable f, are given by the matrix Y. T This is a trace of Y.
[0068] In the third row, substitutions are made for variables g and h. The value of √(f+2e) is substituted for variable g, and the value of √(f-2e) is substituted for variable h. The value of variable g is the sum of the singular values of matrix Y, and the value of variable h is the difference of the singular values of matrix Y.
[0069] In the fourth row, substitutions are made to the variables σ1 and σ2. The value of (g+h) / 2 is substituted for variable σ1, and the value of (gh) / 2 is substituted for variable σ2. The value of variable σ1 is the largest singular value of matrix Y, and the value of variable σ2 is the smallest singular value of matrix Y.
[0070] In the fifth line, the value is assigned to the variable α. If g is not 0, then
number
[0071] In the sixth line, an assignment is made to the variable β. If h is not 0, then
number
[0072] In the seventh line, the output is assigned to the variable Z.
number
[0073] Here, we consider the computational complexity required for SVT calculation using the algorithm of this embodiment. Let the size of matrix Y be M × 2. In the SVT calculation method using SVD (conventional technology), 24M + 160 floating-point operations are required to find SVD, 2 for thresholding, and 6M + 4 for matrix multiplication. In total, 30M + 166 floating-point operations are required.
[0074] On the other hand, the method using algorithm 1 of this embodiment requires 12M + 26 floating-point operations, while the method using algorithm 2 requires 33 floating-point operations. Therefore, it can be seen that floating-point operations can be reduced by approximately 85% when M=2, approximately 76% when M=3, approximately 69% when M=10, and even in cases higher than that, by more than 60%.
[0075] In addition, algorithms 1 and 2 can be efficiently processed in parallel using parallel architectures such as SIMD.
[0076] [3. Matrix simplification device] Next, the matrix simplification device 1 of this embodiment will be described. Figure 4 is a block diagram showing the schematic functional configuration of the matrix simplification device 1 according to this embodiment. As shown in Figure 4, the matrix simplification device 1 is composed of an input unit 11, a vectorization unit 12, a low-rank approximation unit 13, and an output unit 14. Each unit also includes a storage unit for storing data as needed. This storage unit is implemented using storage means such as semiconductor memory or a magnetic hard disk drive. Furthermore, the functions of each unit may be implemented by a computer and a program.
[0077] The matrix simplification device 1 uses an M x 2 (where M ≥ 2) or 2 x M matrix and a 2D vector weight w = [w1, w2] T This device takes a matrix as input, performs a low-rank approximation on that matrix, and outputs the low-rank approximation matrix.
[0078] The input unit 11 obtains data in the form of an M x 2 or 2 x M matrix from an external source, where M is an integer greater than or equal to 2. The elements of this matrix are numerical values (scalar values). The input unit 11 transposes the input matrix as needed. That is, when the subsequent vectorization unit 12 and low-rank approximation unit 13 are configured to process only matrices of either M x 2 or 2 x M format, and the input matrix does not conform to that format (i.e., the rows and columns are reversed), the input unit 11 transposes the input matrix. This allows the matrix simplification device 1 to process either M x 2 or 2 x M matrices.
[0079] In the following description, the vectorization unit 12 and the low-rank approximation unit 13 will be explained as processing an M x 2 matrix. However, they may also process a 2 x M matrix, and the essential processing content will not change.
[0080] The vectorization unit 12 vectorizes an M x 2 matrix (let's call it Y). Vectorization here means splitting the M x 2 matrix Y into two M-dimensional column vectors y1 (first vector) and y2 (second vector) and outputting them. That is, Y = [y1, y2]. The vectorization unit 12 passes these vectors y1 and y2 to the low-rank approximation unit 13.
[0081] In other words, the vectorization unit 12 extracts M-dimensional first and second vectors corresponding to each column from an M-row, 2-column input matrix (or extracts M-dimensional first and second vectors corresponding to each row from a 2-row, M-column input matrix).
[0082] The low-rank approximation unit 13 takes the vectors y1 and y2 passed from the vectorization unit 12 and the weights w=[w1,w2] T Based on this, the matrix Y is approximated to a low rank. In other words, the low-rank approximation unit 13 simplifies the matrix Y. That is, the low-rank approximation unit 13 approximates the matrix Y to a low rank using the calculation method described above in Fast Parallel SVT (FPSVT). Specifically, the low-rank approximation unit 13 performs low-rank approximation of matrix Y using either algorithm 1 or 2 described above, depending on the value of M. More specifically, when M ≥ 3, the low-rank approximation unit 13 uses algorithm 1. When M = 2, the low-rank approximation unit 13 uses algorithm 2. As a result, the low-rank approximation unit 13 outputs the low-ranked matrix Z.
[0083] The output unit 14 outputs the matrix Z data obtained by the low-rank approximation unit 13 to the outside. In other words, the matrix simplification device 1 performs low-rank simplification on the input matrix Y and outputs the resulting matrix Z. If the input unit 11 transposes the matrix, the output unit 14 transposes the matrix Z obtained by the low-rank approximation unit 13 again before outputting it. This makes it possible to match the size of the input matrix (number of rows and columns) with the size of the output matrix.
[0084] Next, we will describe the data structure of matrices and vectors handled by the matrix simplification device 1. Figures 5A to 5C are schematic diagrams showing the structure of the main data processed by the matrix simplification device 1. Figure 5A shows the data structure of the input matrix Y. Here, the matrix is shown as M x 2. Row and column numbers are indicated in this figure, and the elements of matrix Y are y ij (i=1,···,M, j=1,2) are stored in each region. Note that in the case of a 2xM matrix, the direction of rows and columns is reversed. Figure 5B shows the data structure of vectors y1 and y2, which are vectorized based on matrix Y. Vectors y1 and y2 are each M-dimensional column vectors. The first column of matrix Y (Figure 5A) corresponds to vector y1, and the second column corresponds to vector y2. Figure 5C shows the data structure of the output matrix Z. For matrix Z, the matrix is also shown in the case of Mx2. The elements of matrix Z are z ij (i=1,···,M, j=1,2) are stored in each region.
[0085] Next, the processing flow of the matrix simplification device 1 according to this embodiment will be described. Figure 6 is a flowchart showing the processing flow of the matrix simplification device 1 according to this embodiment.
[0086] First, the input section 11 consists of an M x 2 (where M ≥ 2) or 2 x M matrix and a 2D vector weight w = [w1, w2] T Accept (Step S101). Next, if the input matrix is 2 rows and M columns (or not 2 columns), the input unit 11 transposes it to M rows and 2 columns (step S102). Next, the vectorization unit 12 divides the M x 2 matrix Y into two M-dimensional column vectors y1 (first vector) and y2 (second vector) (step S103).
[0087] Next, the low-rank approximation unit 13 determines whether M ≥ 3 or not (step S104). If Yes (M≧3) in step S104, the low-rank approximation unit 13 is y1 T y1, y1 T y2, y2T Calculate y2 and substitute it into variables a, b, and c respectively (step S105). These a, b, and c are all scalar values.
[0088] Next, the low-rank approximation unit 13 performs ac-b 2 Calculate √d and a+c, and substitute them into variables d, e, and f respectively (step S106). The value of variable d is matrix Y T This is the determinant of Y, where the value of variable e is its square root, and the value of variable f is the matrix Y. T This is a trace of Y.
[0089] Next, the low-rank approximation unit 13 calculates √(f+2e) and √(f-2e) and substitutes them into variables g and h, respectively (step S107). The value of variable g is the sum of the singular values of matrix Y, and the value of variable h is the difference of the singular values of matrix Y.
[0090] Next, the low-rank approximation unit 13 calculates (g+h) / 2 and (gh) / 2 and substitutes them into variables σ1 and σ2, respectively (step S108). The value of variable σ1 is the largest singular value of matrix Y, and the value of variable σ2 is the smallest singular value of matrix Y.
[0091] Next, the low-rank approximation unit 13, if g is not 0
number
[0092] Next, the low-rank approximation unit 13, if h is not 0
number
[0093] Next, the low-rank approximation unit 13,
number
[0094] On the other hand, when No (M = 2) in step S104, the low-rank approximation unit 13 calculates y1 T y1, y2 T Calculate y2 and substitute them into variables a and c respectively (step S112). Both a and c are scalar values.
[0095] Next, the low-rank approximation unit 13 calculates y 1,1 y 2,2 -y 1,2 y 2,1 , |d|, a + c, and substitute them into variables d, e, f respectively (step S113). The value of variable d is the determinant of matrix Y, the value of variable e is the square root of its absolute value times matrix Y T The square root of the determinant of Y, the value of variable f is the trace of matrix Y T Y.
[0096] Next, the low-rank approximation unit 13 calculates √(f + 2e), √(f - 2e), and substitutes them into variables g, h respectively (step S114). The value of variable g is the sum of the singular values of matrix Y, and the value of variable h is the difference of the singular values of matrix Y.
[0097] Next, the low-rank approximation unit 13 calculates (g + h) / 2, (g - h) / 2, and substitutes them into variables σ1, σ2 respectively (step S115). The value of variable σ1 is the maximum singular value of matrix Y, and the value of variable σ2 is the minimum singular value of matrix Y.
[0098] Next, when g is not 0, the low-rank approximation unit 13
Number
[0099] Next, when h is not 0, the low-rank approximation unit 13
number
[0100] Next, the low-rank approximation unit 13,
number
[0101] After step S111 or step S118, the output unit 14 outputs the variable Z (if the input matrix was transposed in step S102, then Z T Outputs the value of ). This concludes the explanation of the processing flow of the matrix simplification device 1 shown in Figure 6.
[0102] All or part of the functions of the matrix simplification device 1 in each of the embodiments described above may be implemented by a computer. In that case, the functions may be implemented by recording a program for implementing these functions on a computer-readable recording medium, loading the program recorded on this recording medium into a computer system, and executing it. The term "computer system" here includes hardware such as an OS and peripheral devices. The term "computer-readable recording medium" refers to portable media such as flexible disks, magneto-optical disks, ROMs, CD-ROMs, DVD-ROMs, USB memory sticks, and storage devices such as hard disks built into a computer system. Furthermore, the term "computer-readable recording medium" may also include those that dynamically hold programs for a short period of time, such as communication lines used when transmitting programs via networks such as the Internet or communication lines such as telephone lines, and those that hold programs for a certain period of time, such as volatile memory inside a computer system that acts as a server or client in such cases. The program described above may be for implementing a part of the functions described above, or it may be a program that can implement the functions described above in combination with a program already recorded in the computer system.
[0103] [effect] The matrix simplification device 1 according to the embodiment described above can execute a high-speed calculation algorithm for singular value thresholding (SVT). This makes it possible to quickly find solutions to optimization problems that regularize a large number of small matrices to low rank. Specifically, the matrix simplification device 1 can perform low-rank processing quickly and with minimal computational effort for matrices of size M x 2 or 2 x M (M ≥ 2). Furthermore, the matrix simplification device 1 can perform low-rank processing in parallel for multiple matrices. In other words, the matrix simplification device 1 enables the implementation of the FPSVT (Fast Parallel SVT) algorithm for matrices of size M x 2 or 2 x M.
[0104] More specifically, based on the discovery that the kernel norm can be represented by a vector distance on a subspace, a matrix simplification device 1 was used to realize a data-parallel SVT calculation method that does not require singular value decomposition (SVD). Furthermore, evaluation experiments using actual data confirmed that the SVT can be calculated up to 77 times faster while maintaining higher computational accuracy than conventional methods.
[0105] Although embodiments of the present invention have been described in detail above with reference to the drawings, the specific configuration is not limited to these embodiments, and design modifications and the like are also included within the scope of the gist of the present invention. [Industrial applicability]
[0106] This invention can be applied to techniques for handling optimization problems in which numerous small matrices are regularized by a weighted kernel norm. Furthermore, this invention can be applied to techniques for data analysis based on the low rank inherent in data and physical phenomena, including graph simplification and false color removal. [Explanation of Symbols]
[0107] 1. Matrix simplification device 11. Input section 12. Vectorization section 13. Low-rank approximation section 14.. Output section
Claims
1. M rows and 2 columns matrix Y = [y 1 , y 2 ] or a 2x3 matrix Y T = [y 1 , y 2 ] T to two M-dimensional vectors y 1 , y 2 A vectorization unit, The weight w = [w 1 , w 2 T When the weighted nuclear norm of the matrix Y by [y 1 - Ry 2 , y 1 + Ry 2 and the group star quasi-norm based on the weight w are represented, the low-rank approximation unit that performs low-rank approximation of the matrix Y by calculating the SVT (Singular Value Thresholding) of the weighted nuclear norm, Equipped with, The aforementioned group apex quasi-norm is, [Math 1] In that case, [Math 2] It is expressed as follows: Matrix simplification device.
2. The low-rank approximation unit calculates the SVT of the weighted kernel norm of the matrix Y by the weight w, and the maximum singular value of the matrix Y as σ 1 , the smallest singular value is σ 2 as, σ 1 and σ 2 When the values based on w are α and β, [Math 3] Calculated by The matrix simplification device according to claim 1.
3. The aforementioned low-rank approximation unit is (・) + When the ramp function is, then the above α and β are [Math 4] Calculated by The matrix simplification device according to claim 2.
4. The aforementioned low-rank approximation unit, when M ≥ 3, and detY is the determinant of Y, then R[y 2 , -y 1 ]of [Math 5] Calculated by The matrix simplification device according to claim 2.
5. The aforementioned low-rank approximation unit, when M = 2, [Math 6] Let sgn(•) be the sign function and detY be the determinant of Y. Then R[y 2 , -y 1 ]of [Number 7] Calculated by The matrix simplification device according to claim 2.
6. A method for simplifying a matrix performed by a computer, M rows and 2 columns matrix Y = [y 1 , y 2 ] or a 2x3 matrix Y T = [y 1 , y 2 ] T to two M-dimensional vectors y 1 , y 2 The vectorization step is as follows: The weights w of matrix Y = [w 1 ,w 2 ] T The weighted kernel norm is given by (y) when R is the rotation matrix on the image ImY. 1 -Ry 2 , y 1 +Ry 2 A low-rank approximation step is performed by calculating the SVT (Singular Value Thresholding) of the weighted kernel norm based on the fact that it is represented by a group apex quasi-norm based on ) and w, thereby performing a low-rank approximation of the matrix Y, Includes, The aforementioned group apex quasi-norm is, [Number 8] In that case, [Number 9] It is expressed as, A method for simplifying matrices.
7. Computers, M rows and 2 columns matrix Y = [y 1 , y 2 ] or a 2x3 matrix Y T = [y 1 , y 2 ] T to two M-dimensional vectors y 1 , y 2 A vectorization unit, The weights w of matrix Y = [w 1 ,w 2 ] T The weighted kernel norm is given by (y) when R is the rotation matrix on the image ImY. 1 -Ry 2 , y 1 +Ry 2 Based on the fact that it is represented by a group apex quasi-norm based on ) and w, the SVT (Singular Value Thresholding) of the weighted kernel norm is calculated, and a low-rank approximation unit performs low-rank approximation of matrix Y. It is a program designed to function as such. The aforementioned group apex quasi-norm is, [Number 10] In that case, [Math 11] It is expressed as, program.
Citation Information
Patent Citations
Matrix simplification device, program, and matrix simplification method
JP6810003B2