WO2024013865A1 - 最適化問題求解装置、最適化問題求解方法、およびプログラム - Google Patents

最適化問題求解装置、最適化問題求解方法、およびプログラム Download PDF

Info

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
Application number
PCT/JP2022/027502
Other languages
English (en)
French (fr)
Inventor
崇元 佐々木
正樹 北原
幸浩 坂東
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2022/027502 priority Critical patent/WO2024013865A1/ja
Publication of WO2024013865A1 publication Critical patent/WO2024013865A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix 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)など広い分野で利用されている。
特許第6810003号公報
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(交互方向乗数法)における線形方程式の求解の計算量をより減らすことができ、より高速に最適化問題を解くことができる。
本発明の実施形態を説明する図であり、単調増加数列γとステップ型増加数列γ stepの関係の例を示すグラフである。 アルゴリズム1(最適化問題の求解法)を示す概略図である。 最適化問題求解装置の概略機能構成の例を示すブロック図である。 最適化問題求解装置の処理の流れの例を示すフローチャートである。
 次に、本発明の実施形態について、図面を参照しながら説明する。まず従来のADMM(Alternating Direction Method of Multiplier;交互方向乗数法)について説明し、次に、本願発明(本実施形態)に係るADMMについて説明する。その後、本実施形態に係る最適化問題求解装置1の具体的な機能構成等について説明する。
[従来のADMMについて]
 ADMMで解ける最適化問題は以下の式(1)の形式である。
Figure JPOXMLDOC01-appb-M000003
 これに対しADMMは以下の更新式(2.1), (2.2), (2.3)で表される。
Figure JPOXMLDOC01-appb-M000004
 上記更新式を番号k=0,1,…と反復的に実行することによって、ベクトルu(k),v(k)が最適化問題の解に近づいていく。ここでベクトルw(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)は、
Figure JPOXMLDOC01-appb-M000005
と一般性を失うことなく書くことができる。ここでPは半正定な対称行列で、qはベクトル、rはスカラーである。
このときのADMMの第1更新式(2.1)は
Figure JPOXMLDOC01-appb-M000006
となる。
右辺の目的関数はuについての下に凸な2次式であるため、目的関数を微分することで最適解を得るための線形方程式を獲得できる。上式(4)に関する線形方程式は以下の通りである。
Figure JPOXMLDOC01-appb-M000007
 式(5)は、係数行列と係数ベクトルがそれぞれ
Figure JPOXMLDOC01-appb-M000008
の線形方程式である。これを解く場合、uの次数をnとして、O(n)の計算量が必要である。例えば最適化の対象が画像や点群であれば、nは数万~数千万であるため、非常に大きな計算時間を必要とする。
[本願発明のADMMについて]
 本願発明のADMMについて、上述した従来のADMMと異なる点を中心に説明する。
 本願発明では、ADMMの更新パラメータγを単調増加数列からステップ型増加数列γ stepに変更する。ステップ型増加数列とは、ある特定の番号k,k,k,…でのみ値が増加する数列であり、具体的には
Figure JPOXMLDOC01-appb-M000009
を満たす数列である。
 このような数列の典型的な生成方法は、単調増加数列γを用意して、
Figure JPOXMLDOC01-appb-M000010
とすることである。ここで関数 | | (数式では、左側はL字、右側はL字を左右反転した記載)は数値の床関数(floor function)である。またTは増加の周期で、k=nTとなる。上記のステップ型増加数列の例を図1に示す。図1の例では、T=10である。|k/T|が一定のときステップ型増加数列γ stepの値は一定となっており、|k/T|が増加するときγ stepの値も増加する。
 上述のステップ型増加数列を更新パラメータγ stepとした場合、係数行列
Figure JPOXMLDOC01-appb-M000011
はγ stepが一定の間、変化しない。そこで、式(9)を行列分解してから線形方程式を解く方法を用いる。式(9)の行列分解をL,Uとする。ここでLは下三角行列、Uは上三角行列であり、
Figure JPOXMLDOC01-appb-M000012
を満たすものとする。
このような行列分解は、LU分解あるいはコレスキー分解によりO(n)の計算量で得ることができる。γ stepが一定の間、L,Uも一定であるから、行列分解はk=k,k,k,…の特定の更新の時のみ行えばよい。
 上記行列分解のL,Uは三角行列であるので、線形方程式の求解を前進消去、後退消去によりO(n)の計算量で効率的に求められる。即ち、u(k+1)は、
Figure JPOXMLDOC01-appb-M000013
により計算できる。
 また例えば、式(8)で表される増加の周期がTのステップ型増加数列γ stepを用いると、本願発明のADMMの場合、更新式(2.1)に対応する式(11)の計算量はO(n)+(1/T)O(n)となる。これはTがある程度大きい場合にはO(n)に近いと考えられる。
 図2は、本願発明のADMMのアルゴリズムを示す概略図である。このアルゴリズムは疑似的なコードによって記述されている。以下、この図に沿ってアルゴリズムを説明する。本アルゴリズムにおいて、入力は、n行n列の半正定な対称行列P、n次元ベクトルq、スカラーr、関数G、m行n列行列A、m行l列行列B、m次元ベクトルb、ステップ型増加数列γである。また出力は、以下の式(12)の最適化問題の解(u,v)である。
Figure JPOXMLDOC01-appb-M000014
 以下では、図の左側に付した行番号を参照しながら説明する。第1行において、変数v(0)にゼロベクトル、変数w(0)にゼロベクトル、変数kに0、γ-1に-Inf(負のInfinity)を代入する。
 第2行から第11行は、この間を繰り返し処理することを示している。この繰り返し処理は、第10行において終了条件を満たした場合には終了する。
 第3行から第5行は、条件分岐を示している。γ≠γk-1を満たす場合(ステップ型増加数列γが増加する場合)にのみ第4行を実行する。なおγ-1が-Infであるため、k=0のときは必ず第4行目が実行される。
 第4行では、係数行列
Figure JPOXMLDOC01-appb-M000015
を計算し、係数行列の分解結果をL,Uに代入することを示している。行列分解はLU分解あるいはコレスキー分解により計算できる。
 第6行では、変数u(k+1)への代入が行われる。まず係数ベクトル
Figure JPOXMLDOC01-appb-M000016
の計算を行い、係数行列をLとする線形方程式の解を求める。求めた解を新たな係数ベクトルとし、係数行列をUとする線形方程式の解を求める。求めた解をu(k+1)に代入する。
 第7行では、変数v(k+1)への代入が行われる。以下の最小化問題の解vをv(k+1)に代入する。
Figure JPOXMLDOC01-appb-M000017
 第8行では、変数w(k+1)への代入が行われる。
Figure JPOXMLDOC01-appb-M000018
の値をw(k+1)に代入する。
 第9行では、変数kへの代入が行われる。k+1の値をkに代入する。
 第12行は、第2行から第11行の繰り返し処理が終了した場合に実行される。第12行目では、出力u,vへの代入が行われる。u(k)の値をuに、v(k)の値をvに代入してアルゴリズムを終了する。
[最適化問題求解装置]
 次に、本実施形態に係る最適化問題求解装置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=0,1,…)を受付け、最適化問題
Figure JPOXMLDOC01-appb-M000019
を解いて、その解u、vを出力する装置である。
 初期設定部11は、ベクトル変数v(0)、ベクトル変数w(0)、変数k、変数γ-1に初期値を設定して出力する。例えばこれらの値は、それぞれゼロベクトル、ゼロベクトル、0、-Inf(負のInfinity)である。
 行列分解部12は、P,A,γ(k=0,1,…)を入力として受付け、係数行列
Figure JPOXMLDOC01-appb-M000020
を計算し、係数行列の分解結果の下三角行列Lと上三角行列Uを出力する。行列分解はLU分解あるいはコレスキー分解により計算できる。なお、γ≠γk-1を満たす時のみL,Uを更新する(計算する)。
 変数更新部13は、P,q,r,G,A,B,b,γ(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として出力する。
Figure JPOXMLDOC01-appb-M000021
 具体的には、変数更新部13は、v(0),w(0),k=0を初期値とする。
 まず、変数更新部13は、番号k(≧0)に対して、γ≠γk-1が成立する場合に、行列分解部12から、L,Uを取得する。そして、変数更新部13は、v(k),w(k),L,U、γ等を用いて、式(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=0,1,…)を受付ける(ステップS101)。
 次に、初期設定部11は、初期値として、変数v(0)にゼロベクトル、変数w(0)にゼロベクトル、変数(番号)kに0、γ-1に-Inf(負のInfinity)を設定する(ステップS102)。
 次に、行列分解部12は、γ≠γk-1(ステップ型増加数列γが増加する)か成立するか否か判定する(ステップS103)。なおγ-1が-Infに設定されているため、k=0のときは必ずγ≠γ-1が成立する。
 ステップS103でYesの場合は、行列分解部12は、係数行列
Figure JPOXMLDOC01-appb-M000022
を計算し、係数行列を分解して、分解結果をL,Uに代入する(ステップS104)。係数行列の行列分解はLU分解あるいはコレスキー分解により計算できる。なお、ステップS103でNoの場合は、行列分解部12は、L,Uを新たに計算して更新することはしない。
 次に、変数更新部13は、まず係数ベクトル
Figure JPOXMLDOC01-appb-M000023
の計算を行い、係数行列をLとする線形方程式の解を求める。変数更新部13は、求めた解を新たな係数ベクトルとし、係数行列をUとする線形方程式の解を求める。そして、変数更新部13は、求めた解をu(k+1)に代入する(ステップS105)。
 次に、変数更新部13は、次式(22)の最小化問題を解いて、解vを変数v(k+1)に代入する(ステップS106)。
Figure JPOXMLDOC01-appb-M000024
 次に、変数更新部13は、次式(23)の値を計算し、w(k+1)に代入する(ステップS107)。
Figure JPOXMLDOC01-appb-M000025
 次に、変数更新部13は、u(k),v(k),w(k)の値を、算出したu(k+1),v(k+1),w(k+1)で更新する(ステップS108)。
 次に、変数更新部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の処理の流れの説明は終了である。
 上述した各実施形態における最適化問題求解装置1の機能の全部または一部を、コンピュータで実現するようにしても良い。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、CPU(制御部)が実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM、DVD-ROM、USBメモリー等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピュータシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
[効果]
 以上、説明した本実施形態による最適化問題求解装置は、交互方向乗数法(ADMM)における線形方程式の求解の計算量をより減らすことができるため、交互方向乗数法の高速算出アルゴリズムを実行可能である。したがって、最適化問題求解装置は、交互方向乗数法を用いる最適化問題をより高速に解くことができる。
 より具体的には、行列分解はO(n)(対称行列Pのサイズnの3乗)に比例する計算量の多い計算過程であるが、上述の通り係数行列は、多くの場合(ステップ型増加数列の値が増加するとき以外)で一定値となるため、行列分解を行う回数の多くを減らすことができる。そして、三角行列に対する線形方程式の求解は、前進消去、後退消去によりO(n)の計算量で効率的に求められる。したがって、最適化問題求解装置は、O(n)に近い計算量で線形方程式の求解を行うことができる。
 以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
 本発明は、交互方向乗数法(ADMM)を用いる最適化問題の求解をする技術に適用できる。また、本発明は、交互方向乗数を用いる最適化問題として定式化可能なグラフ単純化や画像のエッジ保存平滑化などの広い分野の技術に適用できる。
 1・・・・最適化問題求解装置
 11・・・初期設定部
 12・・・行列分解部
 13・・・変数更新部

Claims (7)

  1.  変数の更新式が更新パラメータを含む係数行列と係数ベクトルとからなる線形方程式で表される交互方向乗数法を計算する最適化問題求解装置であって、
     特定の番号でのみ値が増加する数列であるステップ型増加数列を前記更新パラメータに用い、前記特定の番号で前記数列の値が増加したときのみ、前記係数行列を下三角行列と上三角行列に分解する行列分解部と、
     前記番号ごとに、前記下三角行列と前記上三角行列と前記係数ベクトルとを用いて、前記線形方程式の解を求め、前記変数の値を更新する変数更新部と、
     を備える最適化問題求解装置。
  2.  前記変数更新部は、前記数列の値が増加する前記特定の番号でないときは、それ以前の番号で用いた前記下三角行列及び前記上三角行列と同じ前記下三角行列及び前記上三角行列を用いる
     請求項1に記載の最適化問題求解装置。
  3.  前記ステップ型増加数列は、一定の番号の周期で値が増加する
     請求項1に記載の最適化問題求解装置。
  4.  前記係数行列は、n行n列の半正定な対象行列をP、m行n列行列をA、前記番号をk=0,1,…、前記ステップ型増加数列をγ stepとするとき、
    Figure JPOXMLDOC01-appb-M000001
    で表される
     請求項1に記載の最適化問題求解装置。
  5.  前記線形方程式は、m行n列行列をA、m行l列行列をB、n次元ベクトルをq、m次元ベクトルをb、前記番号をk=0,1,…、前記ステップ型増加数列をγ step、前記下三角行列をL、前記上三角行列U、他の更新式によって更新される変数をv(k),w(k)、求める変数をu(k+1)とするとき、
    Figure JPOXMLDOC01-appb-M000002
    で表される
     請求項1に記載の最適化問題求解装置。
  6.  変数の更新式が更新パラメータを含む係数行列と係数ベクトルとからなる線形方程式で表される交互方向乗数法を計算する最適化問題求解方法であって、
     特定の番号でのみ値が増加する数列であるステップ型増加数列を前記更新パラメータに用い、前記特定の番号で前記数列の値が増加したときのみ、前記係数行列を下三角行列と上三角行列に分解する行列分解ステップと、
     前記番号ごとに、前記下三角行列と前記上三角行列と前記係数ベクトルとを用いて、前記線形方程式の解を求め、前記変数の値を更新する変数更新ステップと、
     を含む最適化問題求解方法。
  7.  コンピュータを、変数の更新式が更新パラメータを含む係数行列と係数ベクトルとからなる線形方程式で表される交互方向乗数法を計算する最適化問題求解装置として機能させるためのプログラムであって、前記コンピュータを、
     特定の番号でのみ値が増加する数列であるステップ型増加数列を前記更新パラメータに用い、前記特定の番号で前記数列の値が増加したときのみ、前記係数行列を下三角行列と上三角行列に分解する行列分解部、
     前記番号ごとに、前記下三角行列と前記上三角行列と前記係数ベクトルとを用いて、前記線形方程式の解を求め、前記変数の値を更新する変数更新部、
     として機能させるためのプログラム。
PCT/JP2022/027502 2022-07-13 2022-07-13 最適化問題求解装置、最適化問題求解方法、およびプログラム WO2024013865A1 (ja)

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)

* Cited by examiner, † Cited by third party
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 日本電信電話株式会社 非負値行列分解最適化装置、非負値行列分解最適化方法、プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
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