WO2024013865A1 - 最適化問題求解装置、最適化問題求解方法、およびプログラム - Google Patents
最適化問題求解装置、最適化問題求解方法、およびプログラム Download PDFInfo
- Publication number
- WO2024013865A1 WO2024013865A1 PCT/JP2022/027502 JP2022027502W WO2024013865A1 WO 2024013865 A1 WO2024013865 A1 WO 2024013865A1 JP 2022027502 W JP2022027502 W JP 2022027502W WO 2024013865 A1 WO2024013865 A1 WO 2024013865A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- matrix
- optimization problem
- variable
- triangular matrix
- coefficient
- Prior art date
Links
- 238000005457 optimization Methods 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 title claims abstract description 38
- 239000011159 matrix material Substances 0.000 claims abstract description 109
- 239000013598 vector Substances 0.000 claims abstract description 38
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 35
- 238000004364 calculation method Methods 0.000 abstract description 15
- 230000006870 function Effects 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000008030 elimination Effects 0.000 description 3
- 238000003379 elimination reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- -1 update parameters Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Definitions
- the present invention relates to an optimization problem solving device, an optimization problem solving method, and a program.
- ADMM Alternating Direction Method of Multiplier
- Non-Patent Document 2 uses a method of quickly solving a linear equation using fast Fourier transform (FFT).
- FFT fast Fourier transform
- the present invention was made based on the recognition of the above problems, and it is possible to further reduce the amount of calculation for solving linear equations in ADMM (alternating direction multiplier method), and to solve optimization problems faster.
- the purpose of the present invention is to provide an optimization problem solving device, an optimization problem solving method, and a program that can solve the problem.
- One aspect of the present invention is an optimization problem solving device that calculates an alternating direction multiplier method in which a variable update equation is expressed by a linear equation consisting of a coefficient matrix and a coefficient vector including update parameters, Matrix decomposition that uses a step-type increasing sequence, which is a sequence whose value only increases, as the update parameter, and decomposes the coefficient matrix into a lower triangular matrix and an upper triangular matrix only when the value of the sequence increases by the specific number. and a variable updating unit that uses the lower triangular matrix, the upper triangular matrix, and the coefficient vector to find a solution to the linear equation and updates the value of the variable for each number. It is a problem solving device.
- One aspect of the present invention is an optimization problem solving method that calculates an alternating direction multiplier method in which a variable update equation is expressed by a linear equation consisting of a coefficient matrix and a coefficient vector including update parameters, the method comprising: Matrix decomposition that uses a step-type increasing sequence, which is a sequence whose value only increases, as the update parameter, and decomposes the coefficient matrix into a lower triangular matrix and an upper triangular matrix only when the value of the sequence increases by the specific number. and a variable updating step of finding a solution to the linear equation and updating the value of the variable using the lower triangular matrix, the upper triangular matrix, and the coefficient vector for each number. It is a problem solving method.
- One aspect of the present invention is for a computer to function as an optimization problem solving device that calculates an alternating direction multiplier method in which a variable update equation is represented by a linear equation consisting of a coefficient matrix and a coefficient vector including update parameters.
- the program uses a step-type increasing number sequence, which is a number sequence whose value increases only at a specific number, as the update parameter, and causes the computer to update the coefficient matrix only when the value of the number sequence increases at the specific number.
- a matrix decomposition unit that decomposes into a lower triangular matrix and an upper triangular matrix; for each number, the solution to the linear equation is obtained using the lower triangular matrix, the upper triangular matrix, and the coefficient vector;
- This is a program that functions as a variable update unit that updates the .
- the amount of calculation for solving linear equations in ADMM (alternating direction multiplier method) can be further reduced, and optimization problems can be solved faster.
- FIG. 2 is a schematic diagram showing Algorithm 1 (method for solving an optimization problem).
- ADMM is expressed by the following update equations (2.1), (2.2), and (2.3).
- the vectors u (k) and v (k) approach the solution of the optimization problem.
- the vector w (k) is an auxiliary variable.
- ⁇ k is an update parameter in ADMM and is set in advance by the user.
- Non-Patent Document 3 S. Ono, “L_0 Gradient Projection,” IEEE Trans. Image Process., vol. 26, no. 4, pp. 1554-1564, 2017.
- H(u) is a downwardly convex quadratic equation.
- H(u) is can be written without loss of generality.
- P is a positive semidefinite symmetric matrix
- q is a vector
- r is a scalar.
- Equation (5) shows that the coefficient matrix and coefficient vector are is a linear equation of To solve this, the amount of calculation is O(n 3 ), assuming the degree of u as n. For example, if the object to be optimized is an image or a point cloud, n is in the range of tens of thousands to tens of millions, which requires a very long calculation time.
- ADMM of the claimed invention will be explained focusing on the points that are different from the conventional ADMM described above.
- the ADMM update parameter ⁇ k is changed from a monotonically increasing number sequence to a step type increasing number sequence ⁇ k step .
- a step-type increasing number sequence is a number sequence whose value increases only at certain specific numbers k 1 , k 2 , k 3 , etc. Specifically, It is a sequence that satisfies the following.
- a typical method for generating such a number sequence is to prepare a monotonically increasing number sequence ⁇ k , That is to say.
- in the formula, the left side is the letter L, and the right side is the letter L reversed horizontally
- T is the period of increase
- k n nT.
- T 10.
- the value of the step-type increasing sequence ⁇ k step is constant, and when
- the calculation amount of formula (11) corresponding to update formula (2.1) is becomes O(n 2 )+(1/T)O(n 3 ). This is considered to be close to O(n 2 ) when T is large to some extent.
- FIG. 2 is a schematic diagram showing the ADMM algorithm of the present invention. This algorithm is written in pseudo code. The algorithm will be explained below with reference to this diagram.
- the inputs are an n-by-n positive semidefinite symmetric matrix P, an n-dimensional vector q, a scalar r, a function G, an m-by-n matrix A, an m-by-l matrix B, an m-dimensional vector b, and a step. It is a type increasing sequence ⁇ k .
- the output is the solution (u, v) of the optimization problem of equation (12) below.
- the 2nd to 11th lines indicate that the process is repeated. This repeated process ends when the end condition is satisfied in the 10th line.
- the third to fifth lines show conditional branching.
- the coefficient matrix This shows that the coefficient matrix is calculated and the decomposition results of the coefficient matrix are substituted into L and U. Matrix decomposition can be calculated by LU decomposition or Cholesky decomposition.
- assignment to variable k is performed. Assign the value of k+1 to k.
- the 12th line is executed when the repeated processing from the 2nd line to the 11th line is completed. In the 12th line, assignments are made to the outputs u and v. The algorithm ends by assigning the value of u (k) to u and the value of v (k) to v.
- FIG. 3 is a block diagram showing a schematic functional configuration of the optimization problem solving device 1 according to this embodiment.
- the optimization problem solving device 1 includes an initial setting section 11, a matrix decomposition section 12, and a variable updating section 13. Further, each unit includes a storage unit therein for storing data as necessary. This storage unit is realized using storage means such as a semiconductor memory or a magnetic hard disk device. Moreover, the functions of each part may be realized by a computer and a program.
- This is a device that solves the problem and outputs the solutions u and v.
- the initial setting unit 11 sets and outputs initial values for the vector variable v (0) , the vector variable w (0) , the variable k, and the variable ⁇ -1 .
- these values are zero vector, zero vector, 0, and -Inf (negative Infinity), respectively.
- Matrix decomposition can be calculated by LU decomposition or Cholesky decomposition. Note that L and U are updated (calculated) only when ⁇ k ⁇ ⁇ k ⁇ 1 is satisfied.
- variable update unit 13 updates the values of u (k) , v (k) , and w (k) with the calculated u (k+1) , v (k+1) , and w (k+1) , respectively, and The value of is updated to k+1 and these processes are repeated again. Further, the variable update unit 13 outputs u (k) and v (k) when the termination condition is satisfied as u and v.
- FIG. 4 is a flowchart showing the process flow of the optimization problem solving device 1 according to this embodiment.
- the initial setting unit 11 sets a zero vector to the variable v (0) , a zero vector to the variable w (0) , 0 to the variable (number) k, and -Inf (negative Infinity) to the variable (number) k as initial values. is set (step S102).
- step S103 the matrix decomposition unit 12 is calculated, the coefficient matrix is decomposed, and the decomposition results are substituted into L and U (step S104).
- Matrix decomposition of a coefficient matrix can be calculated by LU decomposition or Cholesky decomposition. Note that in the case of No in step S103, the matrix decomposition unit 12 does not newly calculate and update L and U.
- variable update unit 13 first updates the coefficient vector Calculations are performed to find a solution to a linear equation where the coefficient matrix is L.
- the variable update unit 13 uses the obtained solution as a new coefficient vector and obtains a solution to a linear equation in which U is a coefficient matrix. Then, the variable update unit 13 substitutes the obtained solution into u (k+1) (step S105).
- variable updating unit 13 solves the minimization problem of the following equation (22) and assigns the solution v to the variable v (k+1) (step S106).
- variable update unit 13 calculates the value of the following equation (23) and substitutes it for w (k+1) (step S107).
- variable update unit 13 updates the values of u (k) , v (k) , and w (k) with the calculated u (k+1) , v (k+1) , and w (k+1) (step S108). .
- variable update unit 13 updates the value of number k to k+1 (step S109).
- Termination conditions include, for example, repetition being performed a predetermined number of times, or fluctuations in u (k) and v (k) becoming small.
- All or part of the functions of the optimization problem solving device 1 in each of the embodiments described above may be realized by a computer.
- the program for realizing this function is recorded on a computer-readable recording medium
- the program recorded on this recording medium is read into the computer system, and the CPU (control unit) executes the program. It's okay.
- the "computer system” herein includes hardware such as an OS and peripheral devices.
- “computer-readable recording media” refers to portable media such as flexible disks, magneto-optical disks, ROM, CD-ROM, DVD-ROM, and USB memory, and storage devices such as hard disks built into computer systems. Say something.
- a "computer-readable recording medium” refers to a storage medium that dynamically stores a program for a short period of time, such as a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. In that case, it may also include something that retains a program for a certain period of time, such as a volatile memory inside a computer system that is a server or client. Further, the above-mentioned program may be one for realizing a part of the above-mentioned functions, or may be one that can realize the above-mentioned functions in combination with a program already recorded in the computer system.
- the optimization problem solving device can further reduce the amount of calculation for solving linear equations in the alternating direction multiplier method (ADMM), and therefore can execute the high-speed calculation algorithm of the alternating direction multiplier method. be. Therefore, the optimization problem solving device can solve optimization problems using the alternating direction multiplier method more quickly.
- ADMM alternating direction multiplier method
- matrix decomposition is a calculation process with a large amount of calculation proportional to O(n 3 ) (the size of the symmetric matrix P to the third power of n), but as mentioned above, the coefficient matrix is often Since the value is constant except when the value of the type increasing sequence increases, the number of times matrix decomposition is performed can be reduced.
- the linear equation for the triangular matrix can be efficiently solved using forward elimination and backward elimination with a calculation amount of O(n 2 ). Therefore, the optimization problem solving device can solve a linear equation with a calculation amount close to O(n 2 ).
- the present invention can be applied to a technique for solving an optimization problem using the alternating direction multiplier method (ADMM). Furthermore, the present invention is applicable to a wide range of techniques, such as graph simplification and edge-preserving smoothing of images, which can be formulated as optimization problems using alternating direction multipliers.
- ADMM alternating direction multiplier method
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Operations Research (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
Abstract
最適化問題求解装置は、変数の更新式が更新パラメータを含む係数行列と係数ベクトルとからなる線形方程式で表される交互方向乗数法を計算する最適化問題求解装置であって、特定の番号でのみ値が増加する数列であるステップ型増加数列を前記更新パラメータに用い、前記特定の番号で前記数列の値が増加したときのみ、前記係数行列を下三角行列と上三角行列に分解する行列分解部と、前記番号ごとに、前記下三角行列と前記上三角行列と前記係数ベクトルとを用いて、前記線形方程式の解を求め、前記変数の値を更新する変数更新部と、を備える。
Description
本発明は、最適化問題求解装置、最適化問題求解方法、およびプログラムに関する。
交互方向乗数法(Alternating Direction Method of Multiplier;ADMM)は広いクラスの最適化問題を解くことが可能な反復計算手法である。もともとADMMは凸問題を解くためのソルバーとして考案されたものである。近年では非凸問題における収束性の研究(非特許文献1)が進んだため、ADMMはグラフ単純化(特許文献1)や画像のエッジ保存平滑化(非特許文献2)など広い分野で利用されている。
Y. Wang, W. Yin, and J. Zeng, "Global Convergence of ADMM in Nonconvex Nonsmooth Optimization," J. Sci. Comput., vol. 78, no. 1, pp. 29-63, Jan. 2019.
佐々木崇元, 坂東幸浩, 北原正樹, "尖星全変動正則化に基づくグラデーションとエッジ同時制御可能なエッジ保存平滑化," 第36回信号処理シンポジウム講演論文集, 電子情報通信学会信号処理研究専門委員会, 2021, pp. 181-186.
しかしながら、最適化問題の設定の仕方によっては、ADMMの反復更新の中で巨大な線形方程式を繰り返し解く必要が生じ、計算時間のボトルネックとなっていた。非特許文献2では、高速フーリエ変換(Fast Fourier transform;FFT)を利用して線形方程式の求解を高速に実行する方法を利用している。しかしこの方法が利用できるのは最適化問題の入力行列がFFTにより対角化できるものに限られている。そのため、一般の入力行列の場合はADMMにおける線形方程式を高速に解くことができない。
以上のような状況から、ADMMにおいて繰り返し実行される線形方程式の求解を高速に実行する方法が求められている。
以上のような状況から、ADMMにおいて繰り返し実行される線形方程式の求解を高速に実行する方法が求められている。
本発明は、上記の課題認識に基づいて行われたものであり、ADMM(交互方向乗数法)における線形方程式の求解の計算量をより減らすことができ、より高速に最適化問題を解くことができる最適化問題求解装置、最適化問題求解方法、およびプログラムを提供することを目的とする。
本発明の一態様は、変数の更新式が更新パラメータを含む係数行列と係数ベクトルとからなる線形方程式で表される交互方向乗数法を計算する最適化問題求解装置であって、特定の番号でのみ値が増加する数列であるステップ型増加数列を前記更新パラメータに用い、前記特定の番号で前記数列の値が増加したときのみ、前記係数行列を下三角行列と上三角行列に分解する行列分解部と、前記番号ごとに、前記下三角行列と前記上三角行列と前記係数ベクトルとを用いて、前記線形方程式の解を求め、前記変数の値を更新する変数更新部と、を備える最適化問題求解装置である。
本発明の一態様は、変数の更新式が更新パラメータを含む係数行列と係数ベクトルとからなる線形方程式で表される交互方向乗数法を計算する最適化問題求解方法であって、特定の番号でのみ値が増加する数列であるステップ型増加数列を前記更新パラメータに用い、前記特定の番号で前記数列の値が増加したときのみ、前記係数行列を下三角行列と上三角行列に分解する行列分解ステップと、前記番号ごとに、前記下三角行列と前記上三角行列と前記係数ベクトルとを用いて、前記線形方程式の解を求め、前記変数の値を更新する変数更新ステップと、を含む最適化問題求解方法である。
本発明の一態様は、コンピュータを、変数の更新式が更新パラメータを含む係数行列と係数ベクトルとからなる線形方程式で表される交互方向乗数法を計算する最適化問題求解装置として機能させるためのプログラムであって、前記コンピュータを、特定の番号でのみ値が増加する数列であるステップ型増加数列を前記更新パラメータに用い、前記特定の番号で前記数列の値が増加したときのみ、前記係数行列を下三角行列と上三角行列に分解する行列分解部、前記番号ごとに、前記下三角行列と前記上三角行列と前記係数ベクトルとを用いて、前記線形方程式の解を求め、前記変数の値を更新する変数更新部、として機能させるためのプログラムである。
本発明によれば、ADMM(交互方向乗数法)における線形方程式の求解の計算量をより減らすことができ、より高速に最適化問題を解くことができる。
次に、本発明の実施形態について、図面を参照しながら説明する。まず従来のADMM(Alternating Direction Method of Multiplier;交互方向乗数法)について説明し、次に、本願発明(本実施形態)に係るADMMについて説明する。その後、本実施形態に係る最適化問題求解装置1の具体的な機能構成等について説明する。
上記更新式を番号k=0,1,…と反復的に実行することによって、ベクトルu(k),v(k)が最適化問題の解に近づいていく。ここでベクトルw(k)は補助変数である。γkはADMMにおける更新パラメータであり、ユーザが事前に設定する。最適化問題が非凸であるときは、更新パラメータを単調増加数列に設定するのが良いとされてきた(例えば非特許文献3)。
[非特許文献3]S. Ono, “L_0 Gradient Projection,” IEEE Trans. Image Process., vol. 26, no. 4, pp. 1554-1564, 2017.
ADMMで最も良く利用される形式は、H(u)が下に凸な2次式の場合である。この場合のH(u)は、
と一般性を失うことなく書くことができる。ここでPは半正定な対称行列で、qはベクトル、rはスカラーである。
式(5)は、係数行列と係数ベクトルがそれぞれ
の線形方程式である。これを解く場合、uの次数をnとして、O(n3)の計算量が必要である。例えば最適化の対象が画像や点群であれば、nは数万~数千万であるため、非常に大きな計算時間を必要とする。
[本願発明のADMMについて]
本願発明のADMMについて、上述した従来のADMMと異なる点を中心に説明する。
本願発明では、ADMMの更新パラメータγkを単調増加数列からステップ型増加数列γk stepに変更する。ステップ型増加数列とは、ある特定の番号k1,k2,k3,…でのみ値が増加する数列であり、具体的には
を満たす数列である。
本願発明のADMMについて、上述した従来のADMMと異なる点を中心に説明する。
本願発明では、ADMMの更新パラメータγkを単調増加数列からステップ型増加数列γk stepに変更する。ステップ型増加数列とは、ある特定の番号k1,k2,k3,…でのみ値が増加する数列であり、具体的には
このような数列の典型的な生成方法は、単調増加数列γkを用意して、
とすることである。ここで関数 | | (数式では、左側はL字、右側はL字を左右反転した記載)は数値の床関数(floor function)である。またTは増加の周期で、kn=nTとなる。上記のステップ型増加数列の例を図1に示す。図1の例では、T=10である。|k/T|が一定のときステップ型増加数列γk
stepの値は一定となっており、|k/T|が増加するときγk
stepの値も増加する。
上述のステップ型増加数列を更新パラメータγk
stepとした場合、係数行列
はγk
stepが一定の間、変化しない。そこで、式(9)を行列分解してから線形方程式を解く方法を用いる。式(9)の行列分解をLk,Ukとする。ここでLkは下三角行列、Ukは上三角行列であり、
を満たすものとする。
このような行列分解は、LU分解あるいはコレスキー分解によりO(n3)の計算量で得ることができる。γk
stepが一定の間、Lk,Ukも一定であるから、行列分解はk=k1,k2,k3,…の特定の更新の時のみ行えばよい。
また例えば、式(8)で表される増加の周期がTのステップ型増加数列γk
stepを用いると、本願発明のADMMの場合、更新式(2.1)に対応する式(11)の計算量はO(n2)+(1/T)O(n3)となる。これはTがある程度大きい場合にはO(n2)に近いと考えられる。
図2は、本願発明のADMMのアルゴリズムを示す概略図である。このアルゴリズムは疑似的なコードによって記述されている。以下、この図に沿ってアルゴリズムを説明する。本アルゴリズムにおいて、入力は、n行n列の半正定な対称行列P、n次元ベクトルq、スカラーr、関数G、m行n列行列A、m行l列行列B、m次元ベクトルb、ステップ型増加数列γkである。また出力は、以下の式(12)の最適化問題の解(u,v)である。
以下では、図の左側に付した行番号を参照しながら説明する。第1行において、変数v(0)にゼロベクトル、変数w(0)にゼロベクトル、変数kに0、γ-1に-Inf(負のInfinity)を代入する。
第2行から第11行は、この間を繰り返し処理することを示している。この繰り返し処理は、第10行において終了条件を満たした場合には終了する。
第3行から第5行は、条件分岐を示している。γk≠γk-1を満たす場合(ステップ型増加数列γkが増加する場合)にのみ第4行を実行する。なおγ-1が-Infであるため、k=0のときは必ず第4行目が実行される。
第4行では、係数行列
を計算し、係数行列の分解結果をL,Uに代入することを示している。行列分解はLU分解あるいはコレスキー分解により計算できる。
第4行では、係数行列
第6行では、変数u(k+1)への代入が行われる。まず係数ベクトル
の計算を行い、係数行列をLとする線形方程式の解を求める。求めた解を新たな係数ベクトルとし、係数行列をUとする線形方程式の解を求める。求めた解をu(k+1)に代入する。
第9行では、変数kへの代入が行われる。k+1の値をkに代入する。
第12行は、第2行から第11行の繰り返し処理が終了した場合に実行される。第12行目では、出力u,vへの代入が行われる。u(k)の値をuに、v(k)の値をvに代入してアルゴリズムを終了する。
第12行は、第2行から第11行の繰り返し処理が終了した場合に実行される。第12行目では、出力u,vへの代入が行われる。u(k)の値をuに、v(k)の値をvに代入してアルゴリズムを終了する。
[最適化問題求解装置]
次に、本実施形態に係る最適化問題求解装置1について説明する。次に図3は、本実施形態による最適化問題求解装置1の概略機能構成を示すブロック図である。図3に示すように、最適化問題求解装置1は、初期設定部11と、行列分解部12と、変数更新部13とを含んで構成される。また、各部は、必要に応じてデータを記憶するための記憶部を内部に備える。この記憶部は、半導体メモリーや磁気ハードディスク装置などといった記憶手段を用いて実現される。また、各部の機能は、コンピュータとプログラムとで実現されてもよい。
次に、本実施形態に係る最適化問題求解装置1について説明する。次に図3は、本実施形態による最適化問題求解装置1の概略機能構成を示すブロック図である。図3に示すように、最適化問題求解装置1は、初期設定部11と、行列分解部12と、変数更新部13とを含んで構成される。また、各部は、必要に応じてデータを記憶するための記憶部を内部に備える。この記憶部は、半導体メモリーや磁気ハードディスク装置などといった記憶手段を用いて実現される。また、各部の機能は、コンピュータとプログラムとで実現されてもよい。
最適化問題求解装置1は、入力として、n行n列の半正定な対称行列P、n次元ベクトルq、スカラーr、関数G、m行n列行列A、m行l列行列B、m次元ベクトルb、ステップ型増加数列γk(k=0,1,…)を受付け、最適化問題
を解いて、その解u、vを出力する装置である。
初期設定部11は、ベクトル変数v(0)、ベクトル変数w(0)、変数k、変数γ-1に初期値を設定して出力する。例えばこれらの値は、それぞれゼロベクトル、ゼロベクトル、0、-Inf(負のInfinity)である。
行列分解部12は、P,A,γk(k=0,1,…)を入力として受付け、係数行列
を計算し、係数行列の分解結果の下三角行列Lと上三角行列Uを出力する。行列分解はLU分解あるいはコレスキー分解により計算できる。なお、γk≠γk-1を満たす時のみL,Uを更新する(計算する)。
変数更新部13は、P,q,r,G,A,B,b,γk(k=0,1,…),v(0),w(0),k,γ-1,L,Uを入力として受付け、下記の式(19.1), (19.2), (19.3)に従ってu(k+1),v(k+1),w(k+1)を算出する。そして終了条件が満たされた時のu(k),v(k)をu,vとして出力する。
具体的には、変数更新部13は、v(0),w(0),k=0を初期値とする。
まず、変数更新部13は、番号k(≧0)に対して、γk≠γk-1が成立する場合に、行列分解部12から、L,Uを取得する。そして、変数更新部13は、v(k),w(k),L,U、γk等を用いて、式(19.1), (19.2), (19.3)に従ってu(k+1),v(k+1),w(k+1)を算出する。そして、変数更新部13は、u(k),v(k),w(k)の値を、算出されたu(k+1),v(k+1),w(k+1)でそれぞれ更新するとともに、kの値をk+1で更新し、再度これらの処理を繰り返す。また、変数更新部13は、終了条件が満たされた時のu(k),v(k)をu,vとして出力する。
まず、変数更新部13は、番号k(≧0)に対して、γk≠γk-1が成立する場合に、行列分解部12から、L,Uを取得する。そして、変数更新部13は、v(k),w(k),L,U、γk等を用いて、式(19.1), (19.2), (19.3)に従ってu(k+1),v(k+1),w(k+1)を算出する。そして、変数更新部13は、u(k),v(k),w(k)の値を、算出されたu(k+1),v(k+1),w(k+1)でそれぞれ更新するとともに、kの値をk+1で更新し、再度これらの処理を繰り返す。また、変数更新部13は、終了条件が満たされた時のu(k),v(k)をu,vとして出力する。
続いて、本実施形態に係る最適化問題求解装置1の処理の流れについて説明する。図4は、本実施形態に係る最適化問題求解装置1の処理の流れを示すフローチャートである。
まず、最適化問題求解装置1は、入力として、n行n列の半正定な対称行列P、n次元ベクトルq、スカラーr、関数G、m行n列行列A、m行l列行列B、m次元ベクトルb、ステップ型増加数列γk(k=0,1,…)を受付ける(ステップS101)。
次に、初期設定部11は、初期値として、変数v(0)にゼロベクトル、変数w(0)にゼロベクトル、変数(番号)kに0、γ-1に-Inf(負のInfinity)を設定する(ステップS102)。
次に、行列分解部12は、γk≠γk-1(ステップ型増加数列γkが増加する)か成立するか否か判定する(ステップS103)。なおγ-1が-Infに設定されているため、k=0のときは必ずγ0≠γ-1が成立する。
ステップS103でYesの場合は、行列分解部12は、係数行列
を計算し、係数行列を分解して、分解結果をL,Uに代入する(ステップS104)。係数行列の行列分解はLU分解あるいはコレスキー分解により計算できる。なお、ステップS103でNoの場合は、行列分解部12は、L,Uを新たに計算して更新することはしない。
次に、変数更新部13は、まず係数ベクトル
の計算を行い、係数行列をLとする線形方程式の解を求める。変数更新部13は、求めた解を新たな係数ベクトルとし、係数行列をUとする線形方程式の解を求める。そして、変数更新部13は、求めた解をu(k+1)に代入する(ステップS105)。
次に、変数更新部13は、u(k),v(k),w(k)の値を、算出したu(k+1),v(k+1),w(k+1)で更新する(ステップS108)。
次に、変数更新部13は、番号kの値を、k+1で更新する(ステップS109)。
次に、変数更新部13は、番号kの値を、k+1で更新する(ステップS109)。
次に、変数更新部13は、終了条件が成立するか否か判定する(ステップS110)。終了条件としては、例えば、繰り返しを所定回数行ったとか、u(k),v(k)の変動が小さくなったなどがある。
ステップS110でNo(終了条件が成立しない)の場合は、最適化問題求解装置1は、制御をステップS103へ戻す。ステップS110でYes(終了条件が成立した)の場合は、最適化問題求解装置1(変数更新部13)は、(u,v)=(u(k),v(k))を結果として出力する(ステップS111)。
以上で、図4の最適化問題求解装置1の処理の流れの説明は終了である。
以上で、図4の最適化問題求解装置1の処理の流れの説明は終了である。
上述した各実施形態における最適化問題求解装置1の機能の全部または一部を、コンピュータで実現するようにしても良い。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、CPU(制御部)が実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM、DVD-ROM、USBメモリー等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピュータシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
[効果]
以上、説明した本実施形態による最適化問題求解装置は、交互方向乗数法(ADMM)における線形方程式の求解の計算量をより減らすことができるため、交互方向乗数法の高速算出アルゴリズムを実行可能である。したがって、最適化問題求解装置は、交互方向乗数法を用いる最適化問題をより高速に解くことができる。
以上、説明した本実施形態による最適化問題求解装置は、交互方向乗数法(ADMM)における線形方程式の求解の計算量をより減らすことができるため、交互方向乗数法の高速算出アルゴリズムを実行可能である。したがって、最適化問題求解装置は、交互方向乗数法を用いる最適化問題をより高速に解くことができる。
より具体的には、行列分解はO(n3)(対称行列Pのサイズnの3乗)に比例する計算量の多い計算過程であるが、上述の通り係数行列は、多くの場合(ステップ型増加数列の値が増加するとき以外)で一定値となるため、行列分解を行う回数の多くを減らすことができる。そして、三角行列に対する線形方程式の求解は、前進消去、後退消去によりO(n2)の計算量で効率的に求められる。したがって、最適化問題求解装置は、O(n2)に近い計算量で線形方程式の求解を行うことができる。
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
本発明は、交互方向乗数法(ADMM)を用いる最適化問題の求解をする技術に適用できる。また、本発明は、交互方向乗数を用いる最適化問題として定式化可能なグラフ単純化や画像のエッジ保存平滑化などの広い分野の技術に適用できる。
1・・・・最適化問題求解装置
11・・・初期設定部
12・・・行列分解部
13・・・変数更新部
11・・・初期設定部
12・・・行列分解部
13・・・変数更新部
Claims (7)
- 変数の更新式が更新パラメータを含む係数行列と係数ベクトルとからなる線形方程式で表される交互方向乗数法を計算する最適化問題求解装置であって、
特定の番号でのみ値が増加する数列であるステップ型増加数列を前記更新パラメータに用い、前記特定の番号で前記数列の値が増加したときのみ、前記係数行列を下三角行列と上三角行列に分解する行列分解部と、
前記番号ごとに、前記下三角行列と前記上三角行列と前記係数ベクトルとを用いて、前記線形方程式の解を求め、前記変数の値を更新する変数更新部と、
を備える最適化問題求解装置。 - 前記変数更新部は、前記数列の値が増加する前記特定の番号でないときは、それ以前の番号で用いた前記下三角行列及び前記上三角行列と同じ前記下三角行列及び前記上三角行列を用いる
請求項1に記載の最適化問題求解装置。 - 前記ステップ型増加数列は、一定の番号の周期で値が増加する
請求項1に記載の最適化問題求解装置。 - 変数の更新式が更新パラメータを含む係数行列と係数ベクトルとからなる線形方程式で表される交互方向乗数法を計算する最適化問題求解方法であって、
特定の番号でのみ値が増加する数列であるステップ型増加数列を前記更新パラメータに用い、前記特定の番号で前記数列の値が増加したときのみ、前記係数行列を下三角行列と上三角行列に分解する行列分解ステップと、
前記番号ごとに、前記下三角行列と前記上三角行列と前記係数ベクトルとを用いて、前記線形方程式の解を求め、前記変数の値を更新する変数更新ステップと、
を含む最適化問題求解方法。 - コンピュータを、変数の更新式が更新パラメータを含む係数行列と係数ベクトルとからなる線形方程式で表される交互方向乗数法を計算する最適化問題求解装置として機能させるためのプログラムであって、前記コンピュータを、
特定の番号でのみ値が増加する数列であるステップ型増加数列を前記更新パラメータに用い、前記特定の番号で前記数列の値が増加したときのみ、前記係数行列を下三角行列と上三角行列に分解する行列分解部、
前記番号ごとに、前記下三角行列と前記上三角行列と前記係数ベクトルとを用いて、前記線形方程式の解を求め、前記変数の値を更新する変数更新部、
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/027502 WO2024013865A1 (ja) | 2022-07-13 | 2022-07-13 | 最適化問題求解装置、最適化問題求解方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/027502 WO2024013865A1 (ja) | 2022-07-13 | 2022-07-13 | 最適化問題求解装置、最適化問題求解方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024013865A1 true WO2024013865A1 (ja) | 2024-01-18 |
Family
ID=89536129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/027502 WO2024013865A1 (ja) | 2022-07-13 | 2022-07-13 | 最適化問題求解装置、最適化問題求解方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024013865A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020026474A1 (en) * | 2018-07-30 | 2020-02-06 | Mitsubishi Electric Corporation | Method and system for controlling operation of machine, and storage medium |
WO2020162189A1 (ja) * | 2019-02-05 | 2020-08-13 | 日本電信電話株式会社 | 非負値行列分解最適化装置、非負値行列分解最適化方法、プログラム |
-
2022
- 2022-07-13 WO PCT/JP2022/027502 patent/WO2024013865A1/ja unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020026474A1 (en) * | 2018-07-30 | 2020-02-06 | Mitsubishi Electric Corporation | Method and system for controlling operation of machine, and storage medium |
WO2020162189A1 (ja) * | 2019-02-05 | 2020-08-13 | 日本電信電話株式会社 | 非負値行列分解最適化装置、非負値行列分解最適化方法、プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Flow straight and fast: Learning to generate and transfer data with rectified flow | |
Soltanolkotabi et al. | Theoretical insights into the optimization landscape of over-parameterized shallow neural networks | |
EP3340129B1 (en) | Artificial neural network class-based pruning | |
CN108846445B (zh) | 一种图像处理方法 | |
CN110288030B (zh) | 基于轻量化网络模型的图像识别方法、装置及设备 | |
EP0448890B1 (en) | Method of processing signal data on the basis of prinicipal component transform, apparatus for performing the method | |
KR102214837B1 (ko) | 컨벌루션 신경망 파라미터 최적화 방법, 컨벌루션 신경망 연산방법 및 그 장치 | |
JP6517537B2 (ja) | 単語ベクトル学習装置、自然言語処理装置、方法、及びプログラム | |
Liao et al. | Mesh-robustness of an energy stable BDF2 scheme with variable steps for the Cahn–Hilliard model | |
CN114282666A (zh) | 基于局部稀疏约束的结构化剪枝方法和装置 | |
Lahoud et al. | Self-binarizing networks | |
US20240185025A1 (en) | Flexible Parameter Sharing for Multi-Task Learning | |
WO2019053835A1 (ja) | 演算回路、演算方法、およびプログラム | |
WO2019198618A1 (ja) | 単語ベクトル変更装置、方法、及びプログラム | |
KR20210015990A (ko) | 학습된 파라미터의 형태변환을 이용한 컨벌루션 신경망 파라미터 최적화 방법, 컨벌루션 신경망 연산방법 및 그 장치 | |
CN107292323B (zh) | 用于训练混合模型的方法和设备 | |
WO2024013865A1 (ja) | 最適化問題求解装置、最適化問題求解方法、およびプログラム | |
US11886832B2 (en) | Operation device and operation method | |
WO2019142241A1 (ja) | データ処理システムおよびデータ処理方法 | |
JP3809062B2 (ja) | マルチレベル不完全ブロック分解による前処理を行う処理装置 | |
JP7070051B2 (ja) | 計算装置、計算方法及びプログラム | |
CN113779498A (zh) | 离散傅里叶矩阵重构方法、装置、设备和存储介质 | |
WO2024009469A1 (ja) | 行列単純化装置、行列単純化方法、およびプログラム | |
JP2020030702A (ja) | 学習装置、学習方法及び学習プログラム | |
Rebegoldi et al. | Efficient block coordinate methods for blind cauchy denoising |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22951079 Country of ref document: EP Kind code of ref document: A1 |