WO2020137697A1 - 高速スパース最適化装置、高速スパース最適化方法、及びプログラム - Google Patents
高速スパース最適化装置、高速スパース最適化方法、及びプログラム Download PDFInfo
- Publication number
- WO2020137697A1 WO2020137697A1 PCT/JP2019/049396 JP2019049396W WO2020137697A1 WO 2020137697 A1 WO2020137697 A1 WO 2020137697A1 JP 2019049396 W JP2019049396 W JP 2019049396W WO 2020137697 A1 WO2020137697 A1 WO 2020137697A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- elements
- value
- zero
- objective function
- zero elements
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Definitions
- the present invention relates to a high-speed sparse optimizing device, a high-speed sparse optimizing method, and a program, and particularly to a high-speed sparse optimizing device, a high-speed sparse optimizing method, for obtaining a solution of a non-convex sparse optimizing problem at high speed, and Regarding the program.
- a non-convex sparse optimization problem that appears in fields such as sparse estimation is a variable vector with d elements.
- the variable vector given that k has only k nonzero (nonzero) elements Objective function for Is the problem of optimizing the value of.
- the non-convex sparse optimization problem appears, for example, in a situation in which noise is removed from a signal having d values and noise is restored to restore the value of a true signal composed of k non-zero elements.
- Non-Patent Documents 1 to 3 For the non-convex sparse optimization problem, research has been conducted to find a solution using a speed-up method as in Non-Patent Documents 1 to 3 and a method based on the greedy method as in Non-Patent Document 4.
- Non-Patent Documents 1 to 3 can output a solution at high speed, depending on the problem, the objective function The value of may not be optimal and may result in poor quality output.
- these existing methods can output a good solution for a well-conditioned problem in which the data forming the non-convex sparse optimization problem is not biased, but have a bad bias in the data.
- the quality of the output solution tends to be poor.
- Non-Patent Document 4 the method based on the greedy method (Non-Patent Document 4) can output a relatively good solution to an ill-conditioned problem as compared with the above-described high-speed method.
- this method tends to take long execution time, and is difficult to apply to large-scale problems.
- the present invention has been made in view of the above points, and a high-speed sparse optimizer and a high-speed sparse optimizer that can quickly obtain a high-quality solution of a non-convex sparse optimization problem even for ill-conditioned problems It is an object to provide an optimization method and a program.
- a high-speed sparse optimizing device is a high-speed sparse optimizing device that obtains the value of the variable vector in which the value of the objective function is optimum under the constraint that the variable vector has only a predetermined number of non-zero elements.
- only the elements included in the set obtained by adding the elements not included in the set of non-zero elements to the initial value of the set of non-zero elements or the set of non-zero elements obtained last time are non-zero.
- a calculation unit that calculates the optimum value of the objective function for each of the elements that are not included in the set of non-zero elements when allowing the elements to be zero, and the sum of the additional upper limit numbers is the predetermined number.
- a predetermined additional upper limit number for each number of repetitions so that the optimum value of the objective function is in an optimal order is selected, and a main processing unit is added to the set of non-zero elements,
- an output unit that outputs the value of the variable vector in which the value of the objective function is optimum.
- the fast sparse optimization method is a fast sparse optimal method for obtaining the value of the variable vector in which the value of the objective function is optimal under the constraint that the variable vector has only a predetermined number of non-zero elements.
- the optimum value of the objective function is calculated for each of the elements that are not included in the set of non-zero elements when only the elements included in are allowed to be non-zero elements, and the main processing unit adds A predetermined upper limit number for each number of iterations so that the sum of the upper limit numbers becomes the predetermined number, the optimum value of the objective function is in the optimal order, the added element is selected, and a set of non-zero elements
- the determination unit repeats the calculation by the calculation unit and the selection and addition by the main processing unit for a predetermined number of iterations, and the output unit causes only the set of non-zero elements to be non-zero.
- the value of the variable vector that optimizes the value of the objective function when it is allowed to be an element of is output.
- the calculation unit sets the non-zero value to the non-zero initial value of the non-zero element set or the non-zero element set previously obtained.
- the optimum value of the objective function when only elements included in the set obtained by adding elements not included in the element set are non-zero.
- the main processing unit selects the added elements in the order in which the optimum value of the objective function is optimal by the predetermined maximum number of additions for each number of iterations so that the sum of the maximum additional numbers becomes a predetermined number. , Add to the set of non-zero elements.
- the determination unit repeats the calculation by the calculation unit and the selection and addition by the main processing unit for a predetermined number of iterations, and the output unit has only a set of non-zero elements as non-zero elements. Is output, the value of the variable vector in which the value of the objective function is optimum is output.
- the optimal value of the objective function is calculated for each of the elements that are not included in the set of non-zero elements when it is allowed to become an element of Repeatedly select the added elements in the order in which the optimum value of the objective function is optimal by the predetermined upper limit number of additions and add them to the set of non-zero elements.
- the predetermined upper limit number for each of the number of repetitions of the high-speed sparse optimization apparatus according to the present invention is 1 or more, and at least one of the additional upper limit numbers is 2 or more.
- the program according to the present invention is a program for causing a computer to function as each unit of the above high-speed sparse optimization device.
- the high-speed sparse optimizing device the high-speed sparse optimizing method, and the program of the present invention, it is possible to quickly obtain a high-quality solution of a non-convex sparse optimizing problem even for ill-conditioned problems.
- 5 is a graph showing execution time of the high speed sparse optimizing device according to the exemplary embodiment of the present invention.
- 6 is a graph showing a training error of the high speed sparse optimizing device according to the exemplary embodiment of the present invention.
- Objective function Evaluates the trueness of a signal in a situation where, for example, it is desired to remove noise from a signal having d values with noise and restore the value of a true signal composed of a predetermined number k of non-zero elements. For example, the smaller the value, the more the true signal likeness, that is, the optimum value.
- variable vector The objective function is a solution in which the number of non-zero elements of is less than or equal to a predetermined number k (upper limit number).
- k upper limit number
- FIG. 2 is a diagram showing an example of an algorithm of the high-speed sparse optimization processing according to the embodiment of the present invention.
- the algorithm shown in FIG. 2 has a predetermined number k, which is the number of non-zero elements allowed, an objective function l(•), and an additional upper limit number b 1 , which is a predetermined number m of positive integers.
- B m A vector that is a solution with input satisfying Is output.
- the subscripts of b i are selected from the set U in the ascending order of the values of the subscripts F j , and the set of the subscripts is selected. Is added to S.
- additional upper limit number b i predetermined for each number of repetitions is 1 or more, and adding the upper limit number b 1, ..., at least one additional upper limit number b i of the b m is a 2 or more To do.
- FIG. 1 is a block diagram showing the configuration of a high speed sparse optimization device 10 according to an embodiment of the present invention.
- the high-speed sparse optimizing device 10 is composed of a computer including a CPU, a RAM, and a ROM that stores a program for executing a high-speed sparse optimizing processing routine described later. It is configured.
- the high-speed sparse optimizing device 10 includes an input unit 110, a main processing unit 120, a calculation unit 130, a determination unit 140, and an output unit 150. It
- the input unit 110 is an objective function , A predetermined number k of non-zero elements, an additional upper limit number b 1 to b m for each iteration, and a variable vector The input of the set [d] of the subscripts of is accepted.
- additional upper limit number b i predetermined for each number of repetitions is 1 or more, and adding the upper limit number b 1, ..., at least one additional upper limit number b i of the b m is 2 or more Yes, Meet
- the input unit 110 then receives the accepted objective function. , A predetermined number k of non-zero elements, an additional upper limit number b 1 to b m for each number of iterations, and a set [d] of subscripts are passed to the main processing unit 120. Further, the input unit 110 uses the objective function Is passed to the calculation unit 130, and the number m of the additional upper limit numbers b 1 to b m for each number of iterations is passed to the determination unit 140.
- the main processing unit 120 adds an element to the set S of non-zero elements by a predetermined additional upper limit number b i for each iteration number i so that the total of the additional upper limit number b i becomes the predetermined number k Objective function of The added element j is selected in the order in which the optimum value of is optimum and added to the set S of non-zero elements.
- the main processing unit 120 first sets a non-zero element set S. Then, a subscript set U consisting of subscripts of elements not included in the set S is initialized to a subscript set [d].
- the main processing unit 120 passes the initialized set S of non-zero elements and the subscript set U to the calculation unit 130.
- the main processing unit 120 When the main processing unit 120 receives the optimum value F j for each element j that is not included in the non-zero element set S obtained by the calculation unit 130, the main processing unit 120 adds the added element j in ascending order of the optimum value F j.
- the additional upper limit number b i is selected, and the set B i of the selected element j is added to the previously obtained non-zero set S of elements.
- the main processing unit 120 also deletes the element j included in the set B i added to the set S of non-zero elements from the subscript set U.
- the main processing unit 120 uses the objective function
- the upper limit numbers b 1 to b m for each number of iterations, the set S of non-zero elements, and the subscript set U are passed to the determination unit 140.
- the calculation unit 130 includes an element j that is not included in the non-zero element set S in the set obtained by adding the initial value of the non-zero element set S or the non-zero element set S obtained last time.
- Objective function when only the elements that are set to be non-zero elements are allowed Compute the optimal value of for each element j that is not included in the set S of non-zero elements.
- the calculation unit 130 uses the objective function acquired from the input unit 110. And the set S of non-zero elements acquired from the main processing unit 120 or the determination unit 140 and the subscript set U, the above formula (2) is calculated for each of the elements j included in the subscript set U. And the objective function The optimum value F j of
- the calculation unit 130 determines the objective function for each of the elements j included in the subscript set U.
- the optimum value F j of is passed to the main processing unit 120.
- the determination unit 140 repeats the calculation by the calculation unit 130 and the selection and addition by the main processing unit 120 for a predetermined number of repetitions m.
- the determination unit 140 determines whether or not the number of repetitions is m or more.
- the determination unit 140 passes the set S of non-zero elements and the subscript set U to the calculation unit 130, and the calculation by the calculation unit 130 and the selection and addition by the main processing unit 120 are repeated.
- the determination unit 140 determines that the objective function , The additional upper limit number b 1 to b m for each number of repetitions, the set S of non-zero elements, and the subscript set U are passed to the output unit 150.
- the output unit 150 determines the objective function when only the set S of non-zero elements is allowed to be non-zero elements. Variable vector for which the value of is optimal The value of is output.
- the output unit 150 first determines the objective function. , And an objective function when only the set S of non-zero elements is allowed to be a non-zero element based on the set S of non-zero elements and using the following equation (3). Variable vector that minimizes the value of Calculate the value of.
- the output unit 150 then calculates the calculated objective function. Variable vector that minimizes the value of The value of is output.
- FIG. 3 and 4 show execution results using the high-speed sparse optimizing apparatus 10 (multi-stage greedy method) according to the present embodiment, and execution when each method of Non-Patent Documents 1 to 4 is applied to an ill-conditioned problem. The results are shown.
- FIG. 3 shows the relationship between the predetermined number k and the execution time (Running time) when the predetermined number k which is the upper limit of the allowable non-zero component is changed
- FIG. 4 shows the case where the predetermined number k is changed.
- the relationship between the predetermined number k of and the training error (Training error) is shown. In FIG. 4, the smaller the training error, the better the quality of the solution.
- FIGS. 3 and 4 two types of dotted lines including circles are the experimental results using the multistep greedy method, and two results are obtained depending on how to decide the number of repetitions m.
- the multistage greedy method which is the method according to the present embodiment, is faster than the greedy method, and is as fast as or faster than one of the fast methods (Non-Patent Document 1). You can see that it is working.
- the high-speed sparse optimizing apparatus 10 can efficiently calculate a good solution for an ill-conditioned problem.
- FIG. 5 is a flowchart showing a high-speed sparse optimization processing routine according to the embodiment of the present invention.
- the high-speed sparse optimization apparatus 10 executes the high-speed sparse optimization processing routine shown in FIG.
- step S100 the input unit 110 determines that the objective function , A predetermined number k of non-zero elements, an additional upper limit number b 1 to b m for each iteration, and a variable vector The input of the set [d] of the subscripts of is accepted.
- step S110 the main processing unit 120 first obtains a set S of non-zero elements. And the subscript set U is initialized to the subscript set [d].
- i is a counter that counts the number of repetitions.
- step S130 the calculation unit 130 adds an element j that is not included in the non-zero element set S to the initial value of the non-zero element set S or the non-zero element set S obtained last time.
- Objective function when only elements included in the set are allowed to be non-zero elements Compute the optimal value of for each element j that is not included in the set S of non-zero elements.
- step S140 the main processor 120 in order optimal value F j is small, selecting the added elements j up additional upper limit number b i-th, the set B i of the selected element j, last the obtained nonzero Add to set S of elements.
- step S150 the main processing unit 120 deletes the element j included in the set B i added to the set S of non-zero elements in step S140 from the subscript set U.
- step S160 the determination unit 140 determines whether i is m or more.
- step S160 If i is not greater than or equal to m (NO in step S160 above), the determination unit 140 adds 1 to i in step S170 and returns to step S130.
- the output unit 150 determines in step S180 that the objective function is , And an objective function when only the set S of non-zero elements is allowed to be a non-zero element using the above equation (3) based on the set S of non-zero elements. Variable vector that minimizes the value of Calculate the value of.
- step S190 the output unit 150 determines the objective function calculated in step S180. Variable vector that minimizes the value of The value of is output.
- a non-zero element is set with respect to the initial value of the non-zero element set or the non-zero element set obtained last time.
- the optimum value of the objective function when allowing only the elements included in the set added with the elements not included in the set to be non-zero, for each of the elements not included in the set of non-zero elements Calculated, select the added elements in the order in which the optimum value of the objective function is optimal by the predetermined additional upper limit number for each number of iterations so that the sum of the additional upper limit numbers becomes the predetermined number, and select the non-zero element
- the objective function Although the case has been described as an example in which is optimal when is the minimum, the present invention is not limited to this, and the objective function It can also be applied to the case where is optimal when is maximum.
- the calculation unit 130 uses the following equation (4) to set the non-zero element set S to the non-zero element set S with respect to the initial value of the non-zero element set S or the non-zero element set obtained last time.
- Objective function when only elements included in the set to which the element j not included is added are allowed to be non-zero elements Compute the optimal value of for each element j not included in the set of non-zero elements.
- the main processing unit 120 sets the objective function by the additional upper limit number b i.
- the added element j is selected in descending order of the optimum value of and added to the set S of non-zero elements.
- the output unit 150 outputs the objective function , And an objective function when only the set S of non-zero elements is allowed to be a non-zero element based on the set S of non-zero elements and using the following equation (5).
- the program can be stored in a computer-readable recording medium and provided.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Operations Research (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Complex Calculations (AREA)
Abstract
悪条件な問題に対しても、高速に質の良い非凸スパース最適化問題の解を求めることができるようにする。 計算部130が、前回求められた非ゼロの要素の集合又は非ゼロの要素の集合の初期値に対して、非ゼロの要素の集合に含まれない要素を追加した集合に含まれる要素のみ非ゼロの要素となることを許容した際における、目的関数の最適値を、非ゼロの要素の集合に含まれない要素の各々について計算し、主処理部120が、追加上限数の総和が所定数となるように繰り返し回数毎に予め定められた追加上限数だけ、目的関数の最適値が最適な順に、追加した要素を選択し、非ゼロの要素の集合に追加することを、判定部140が繰り返させ、出力部150が、非ゼロの要素の集合のみ非ゼロの要素となることを許容した際における、目的関数の値が最適となる前記変数ベクトルの値を出力する。
Description
本発明は、高速スパース最適化装置、高速スパース最適化方法、及びプログラムに係り、特に、高速に非凸スパース最適化問題の解を求めるための高速スパース最適化装置、高速スパース最適化方法、及びプログラムに関する。
スパース推定等の分野で現れる非凸スパース最適化問題は、d個の要素を持つ変数ベクトル
がk個の非ゼロ(ゼロでない)要素しか持たないという制約の下で、変数ベクトル
についての目的関数
の値を最適化する問題である。
がk個の非ゼロ(ゼロでない)要素しか持たないという制約の下で、変数ベクトル
についての目的関数
の値を最適化する問題である。
例えば、ノイズの乗ったd個の値を持つ信号からノイズを除去し、k個の非ゼロ要素からなる真の信号の値を復元したいというような状況で、非凸スパース最適化問題は現れる。
非凸スパース最適化問題に対して、非特許文献1~3のような高速化手法や、非特許文献4のような貪欲法に基づく手法を用いて解を求める研究がされてきた。
Jain, P., Tewari, A., and Kar, P. On iterative hard thresholding methods for high-dimensional M-estimation. In Advances in Neural Information Processing Systems 27. Curran Associates, Inc., 2014, pp. 685-693.
Yuan, X., Li, P., and Zhang, T. Exact recovery of hard thresholding pursuit. InAdvances in Neural Information Processing Systems 29. Curran Associates,Inc., 2016, pp. 3558-3566.
Marsousi, M., Abhari, K., Babyn, P., and Alirezaie, J. MULTI-STAGE OMP sparsecoding using local matching pursuit atoms selection. In 2013 IEEE International Conferenceon Acoustics, Speech and Signal Processing, 2013, pp.1783-1787.
Elenberg, E. R., Khanna, R., Dimakis, A. G., and Negahban, S. Restricted strongconvexity implies weak submodularity. Ann. Statist., 46(6B), 2018, pp.3539-3568.
より具体的には、これらの既存の手法は、非凸スパース最適化問題を構成するデータに偏りがない良条件な問題に対しては質の良い解を出力できるが、データに偏りのある悪条件な問題に対しては出力解の質が悪くなる傾向がある。
一方、貪欲法に基づく手法(非特許文献4)は、上述の高速な手法に比べて悪条件な問題に対しても比較的良い解を出力できる。しかし、この手法は、実行時間が長くなる傾向にあり、大規模な問題への適用が難しい。
本発明は上記の点に鑑みてなされたものであり、悪条件な問題に対しても、高速に質の良い非凸スパース最適化問題の解を求めることができる高速スパース最適化装置、高速スパース最適化方法、及びプログラムを提供することを目的とする。
本発明に係る高速スパース最適化装置は、変数ベクトルが非ゼロの要素を高々所定数しか持たないという制約下において、目的関数の値が最適となる前記変数ベクトルの値を求める高速スパース最適化装置であって、前回求められた非ゼロの要素の集合又は非ゼロの要素の集合の初期値に対して、前記非ゼロの要素の集合に含まれない要素を追加した集合に含まれる要素のみ非ゼロの要素となることを許容した際における、前記目的関数の最適値を、前記非ゼロの要素の集合に含まれない要素の各々について計算する計算部と、追加上限数の総和が前記所定数となるように繰り返し回数毎に予め定められた追加上限数だけ、前記目的関数の最適値が最適な順に、前記追加した要素を選択し、非ゼロの要素の集合に追加する主処理部と、予め定められた繰り返し回数だけ、前記計算部による計算と、前記主処理部による選択及び追加とを繰り返させる判定部と、前記非ゼロの要素の集合のみ非ゼロの要素となることを許容した際における、前記目的関数の値が最適となる前記変数ベクトルの値を出力する出力部と、を備えて構成される。
また、本発明に係る高速スパース最適化方法は、変数ベクトルが非ゼロの要素を高々所定数しか持たないという制約下において、目的関数の値が最適となる前記変数ベクトルの値を求める高速スパース最適化方法であって、計算部が、前回求められた非ゼロの要素の集合又は非ゼロの要素の集合の初期値に対して、前記非ゼロの要素の集合に含まれない要素を追加した集合に含まれる要素のみ非ゼロの要素となることを許容した際における、前記目的関数の最適値を、前記非ゼロの要素の集合に含まれない要素の各々について計算し、主処理部が、追加上限数の総和が前記所定数となるように繰り返し回数毎に予め定められた追加上限数だけ、前記目的関数の最適値が最適な順に、前記追加した要素を選択し、非ゼロの要素の集合に追加し、判定部が、予め定められた繰り返し回数だけ、前記計算部による計算と、前記主処理部による選択及び追加とを繰り返させ、出力部が、前記非ゼロの要素の集合のみ非ゼロの要素となることを許容した際における、前記目的関数の値が最適となる前記変数ベクトルの値を出力する。
本発明に係る高速スパース最適化装置及び高速スパース最適化方法によれば、計算部が、前回求められた非ゼロの要素の集合又は非ゼロの要素の集合の初期値に対して、非ゼロの要素の集合に含まれない要素を追加した集合に含まれる要素のみ非ゼロの要素となることを許容した際における、目的関数の最適値を、非ゼロの要素の集合に含まれない要素の各々について計算し、主処理部が、追加上限数の総和が所定数となるように繰り返し回数毎に予め定められた追加上限数だけ、目的関数の最適値が最適な順に、追加した要素を選択し、非ゼロの要素の集合に追加する。
そして、判定部が、予め定められた繰り返し回数だけ、計算部による計算と、主処理部による選択及び追加とを繰り返させ、出力部が、非ゼロの要素の集合のみ非ゼロの要素となることを許容した際における、目的関数の値が最適となる前記変数ベクトルの値を出力する。
このように、前回求められた非ゼロの要素の集合又は非ゼロの要素の集合の初期値に対して、非ゼロの要素の集合に含まれない要素を追加した集合に含まれる要素のみ非ゼロの要素となることを許容した際における、目的関数の最適値を、非ゼロの要素の集合に含まれない要素の各々について計算し、追加上限数の総和が所定数となるように繰り返し回数毎に予め定められた追加上限数だけ、目的関数の最適値が最適な順に、追加した要素を選択し、非ゼロの要素の集合に追加することを繰り返し、非ゼロの要素の集合のみ非ゼロの要素となることを許容した際における、目的関数の値が最適となる前記変数ベクトルの値を出力することにより、悪条件な問題に対しても、高速に質の良い非凸スパース最適化問題の解を求めることができる。
また、本発明に係る高速スパース最適化装置の前記繰り返し回数毎に予め定められた追加上限数は1以上であり、かつ、少なくとも1つの前記追加上限数は2以上であるとすることができる。
本発明に係るプログラムは、コンピュータを、上記の高速スパース最適化装置の各部として機能させるためのプログラムである。
本発明の高速スパース最適化装置、高速スパース最適化方法、及びプログラムによれば、悪条件な問題に対しても、高速に質の良い非凸スパース最適化問題の解を求めることができる。
以下、本発明の実施の形態について図面を用いて説明する。
<本発明の実施の形態に係る高速スパース最適化装置の原理>
まず、本発明の実施形態の原理について説明する。
まず、本発明の実施形態の原理について説明する。
本実施形態では、貪欲法に基づく手法を高速化することで、悪条件な問題に対しても高速に質の良い解を出力できるようにする。
具体的な高速化の手段として、非凸スパース最適化問題とは異なる問題に対して考案された多段階貪欲法(参考文献1)を用いる。
[参考文献1]Wei, K., Iyer, R., and Bilmes, J. Fast multi-stage submodular maximization. In Proceedings of the 31st International Conference on Machine Learning, volume 32 of Proceedingsof Machine Learning Research. PMLR, 22-24 Jun 2014, pp.1494-1502.
[参考文献1]Wei, K., Iyer, R., and Bilmes, J. Fast multi-stage submodular maximization. In Proceedings of the 31st International Conference on Machine Learning, volume 32 of Proceedingsof Machine Learning Research. PMLR, 22-24 Jun 2014, pp.1494-1502.
まず、[d]={1,2,...,d}を変数ベクトル
の添字の集合とする。また、
を変数ベクトル
の非ゼロ要素の個数とし、
を変数ベクトル
の非ゼロ要素の添字の集合とする。さらに、
を変数ベクトル
を引数に持つ目的関数とする。
の添字の集合とする。また、
を変数ベクトル
の非ゼロ要素の個数とし、
を変数ベクトル
の非ゼロ要素の添字の集合とする。さらに、
を変数ベクトル
を引数に持つ目的関数とする。
目的関数
は、例えばノイズの乗ったd個の値を持つ信号からノイズを除去し、所定数k個の非ゼロ要素からなる真の信号の値を復元したいというような状況で、真の信号らしさを評価するための関数であり、例えば値が小さいほど真の信号らしさ、すなわち最適であることを表すものである。
は、例えばノイズの乗ったd個の値を持つ信号からノイズを除去し、所定数k個の非ゼロ要素からなる真の信号の値を復元したいというような状況で、真の信号らしさを評価するための関数であり、例えば値が小さいほど真の信号らしさ、すなわち最適であることを表すものである。
本実施形態では、変数ベクトル
の非ゼロ要素の個数が所定数k(上限数)以下になるような解で、目的関数
の値ができるだけ最適となる解を見つける非凸スパース最適化問題を考える。以下、本実施形態では、目的関数
の値が小さいほど最適であり、当該値ができるだけ小さくなるような解を見つける非凸スパース最適化問題を考える場合を例に説明する。
の非ゼロ要素の個数が所定数k(上限数)以下になるような解で、目的関数
の値ができるだけ最適となる解を見つける非凸スパース最適化問題を考える。以下、本実施形態では、目的関数
の値が小さいほど最適であり、当該値ができるだけ小さくなるような解を見つける非凸スパース最適化問題を考える場合を例に説明する。
この問題は、下記式(1)のように定式化できる。
この問題に対する多段階貪欲法の詳細を図2に示す。図2は、本発明の実施の形態に係る高速スパース最適化処理のアルゴリズムの一例を示す図である。
図2に示すアルゴリズムは、許容される非ゼロ要素の数である所定数k、目的関数l(・)、及び事前に定められたm個の正整数である追加上限数b1,...,bmであり、
を満たすものを入力とし、解であるベクトル
を出力する。
を満たすものを入力とし、解であるベクトル
を出力する。
通常の貪欲法では、非ゼロとなることを許容することで、最も目的関数
の値が小さくなる添字を繰り返し追加する。すなわち、現在の解Sに対し、下記式(2)で示す添字Fjが最小となる
を各反復で選んで解Sに追加するという手続きを取る。
の値が小さくなる添字を繰り返し追加する。すなわち、現在の解Sに対し、下記式(2)で示す添字Fjが最小となる
を各反復で選んで解Sに追加するという手続きを取る。
一方、多段階貪欲法では、i反復目には添字Fjの値が小さい順にbiの添字を集合Uから選択し、その添字の集合
をSに追加する。ここで、繰り返し回数毎に予め定められた追加上限数biは1以上であり、かつ、追加上限数b1,...,bmのうち少なくとも1つの追加上限数biは2以上とする。
をSに追加する。ここで、繰り返し回数毎に予め定められた追加上限数biは1以上であり、かつ、追加上限数b1,...,bmのうち少なくとも1つの追加上限数biは2以上とする。
このように、各反復で非ゼロ要素の添字をまとめて追加することにより、Fjの値を計算する手間を削減し、通常の貪欲法よりも高速な動作を実現する。
<本発明の実施の形態に係る高速スパース最適化装置の構成>
図1を参照して、本発明の実施の形態に係る高速スパース最適化装置10の構成について説明する。図1は、本発明の実施の形態に係る高速スパース最適化装置10の構成を示すブロック図である。
図1を参照して、本発明の実施の形態に係る高速スパース最適化装置10の構成について説明する。図1は、本発明の実施の形態に係る高速スパース最適化装置10の構成を示すブロック図である。
高速スパース最適化装置10は、CPUと、RAMと、後述する高速スパース最適化処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
図1に示すように、本実施形態に係る高速スパース最適化装置10は、入力部110と、主処理部120と、計算部130と、判定部140と、出力部150とを備えて構成される。
そして、入力部110は、受け付けた目的関数
、非ゼロ要素の所定数k、繰り返し回数毎の追加上限数b1~bm、及び添字の集合[d]を、主処理部120に渡す。また、入力部110は、目的関数
を計算部130に渡し、繰り返し回数毎の追加上限数b1~bmの個数mを、判定部140に渡す。
、非ゼロ要素の所定数k、繰り返し回数毎の追加上限数b1~bm、及び添字の集合[d]を、主処理部120に渡す。また、入力部110は、目的関数
を計算部130に渡し、繰り返し回数毎の追加上限数b1~bmの個数mを、判定部140に渡す。
主処理部120は、追加上限数biの総和が所定数kとなるように繰り返し回数i毎に予め定められた追加上限数biだけ、非ゼロの要素の集合Sに要素を追加したときの目的関数
の最適値が最適な順に、当該追加した要素jを選択し、非ゼロの要素の集合Sに追加する。
の最適値が最適な順に、当該追加した要素jを選択し、非ゼロの要素の集合Sに追加する。
次に、主処理部120は、初期化した非ゼロの要素の集合S及び添字集合Uを、計算部130に渡す。
主処理部120は、計算部130により得られた、非ゼロの要素の集合Sに含まれない要素j毎の最適値Fjを受け取ると、最適値Fjが小さい順に、追加した要素jを追加上限数bi番目まで選択し、選択した要素jの集合Biを、前回求められた非ゼロの要素の集合Sに追加する。また、主処理部120は、非ゼロの要素の集合Sに追加した集合Biに含まれる要素jを、添字集合Uから削除する。
計算部130は、前回求められた非ゼロの要素の集合S又は非ゼロの要素の集合Sの初期値に対して、非ゼロの要素の集合Sに含まれない要素jを追加した集合に含まれる要素のみ非ゼロの要素となることを許容した際における、目的関数
の最適値を、非ゼロの要素の集合Sに含まれない要素jの各々について計算する。
の最適値を、非ゼロの要素の集合Sに含まれない要素jの各々について計算する。
具体的には、計算部130は、入力部110から取得した目的関数
と、主処理部120又は判定部140から取得した非ゼロの要素の集合S、及び添字集合Uとに基づいて、当該添字集合Uに含まれる要素jの各々について、上記式(2)を計算し、目的関数
の最適値Fjを求める。
と、主処理部120又は判定部140から取得した非ゼロの要素の集合S、及び添字集合Uとに基づいて、当該添字集合Uに含まれる要素jの各々について、上記式(2)を計算し、目的関数
の最適値Fjを求める。
判定部140は、予め定められた繰り返し回数mだけ、計算部130による計算と、主処理部120による選択及び追加とを繰り返させる。
具体的には、判定部140は、繰り返し回数がm以上であるか否かを判定する。
繰り返し回数がm以上でない場合、判定部140は、非ゼロの要素の集合S、及び添字集合Uを計算部130に渡し、計算部130による計算と、主処理部120による選択及び追加とを繰り返させる。
具体的には、出力部150は、まず、目的関数
、及び非ゼロの要素の集合Sに基づいて、下記式(3)を用いて、非ゼロの要素の集合Sのみ非ゼロの要素となることを許容した際における、目的関数
の値が最小となる変数ベクトル
の値を算出する。
、及び非ゼロの要素の集合Sに基づいて、下記式(3)を用いて、非ゼロの要素の集合Sのみ非ゼロの要素となることを許容した際における、目的関数
の値が最小となる変数ベクトル
の値を算出する。
図3、4に本実施形態に係る高速スパース最適化装置10(多段階貪欲法)を用いた実行結果と、非特許文献1~4の各手法を、悪条件な問題に適用した場合の実行結果を示す。図3は、許容する非ゼロ成分の上限である所定数kを変化させた場合の所定数kと実行時間(Running time)との関係を示し、図4は、所定数kを変化させた場合の所定数kと訓練誤差(Training error)との関係を示す。図4では、訓練誤差が小さい程、解の質が良いことを表す。
図3、4において、四角、菱形、三角を含む線が高速な手法(非特許文献1~3)における実験結果であり、丸を含む実線は通常の貪欲法(非特許文献4)における実験結果である。
また、図3、4において、丸を含む点線2種が、多段階貪欲法を用いた実験結果であり、繰り返し回数mの決め方に応じて2つの結果が得られている。
図3によれば、本実施形態に係る手法である多段階貪欲法は、いずれも貪欲法より高速であり、高速な手法のうちの1つ(非特許文献1)と同等あるいはそれ以上に高速に動作していることが分かる。
一方で、図4によれば、解の質は丸を含む実線の貪欲法に若干劣るものの、他の高速な手法に比べて質の良い解を出力していることがわかる。
以上のように、本実施形態に係る高速スパース最適化装置10によって、悪条件な問題に対し良質な解を効率的に計算することができることが分かった。
<本発明の実施の形態に係る高速スパース最適化装置の作用>
図5は、本発明の実施の形態に係る高速スパース最適化処理ルーチンを示すフローチャートである。
図5は、本発明の実施の形態に係る高速スパース最適化処理ルーチンを示すフローチャートである。
入力部110に目的関数
、非ゼロ要素の所定数k、繰り返し回数毎の追加上限数b1~bm、及び変数ベクトル
の添字の集合[d]が入力されると、高速スパース最適化装置10において、図5に示す高速スパース最適化処理ルーチンが実行される。
、非ゼロ要素の所定数k、繰り返し回数毎の追加上限数b1~bm、及び変数ベクトル
の添字の集合[d]が入力されると、高速スパース最適化装置10において、図5に示す高速スパース最適化処理ルーチンが実行される。
ステップS120において、判定部140は、i=1とする。ここで、iは繰り返し回数を数えるカウンタである。
ステップS130において、計算部130は、前回求められた非ゼロの要素の集合S又は非ゼロの要素の集合Sの初期値に対して、非ゼロの要素の集合Sに含まれない要素jを追加した集合に含まれる要素のみ非ゼロの要素となることを許容した際における、目的関数
の最適値を、非ゼロの要素の集合Sに含まれない要素jの各々について計算する。
の最適値を、非ゼロの要素の集合Sに含まれない要素jの各々について計算する。
ステップS140において、主処理部120は、最適値Fjが小さい順に、追加した要素jを追加上限数bi番目まで選択し、選択した要素jの集合Biを、前回求められた非ゼロの要素の集合Sに追加する。
ステップS150において、主処理部120は、上記ステップS140により非ゼロの要素の集合Sに追加した集合Biに含まれる要素jを、添字集合Uから削除する。
ステップS160において、判定部140は、iがm以上であるか否かを判定する。
iがm以上でない場合(上記ステップS160のNO)、ステップS170において、判定部140は、iに1を加算し、ステップS130に戻る。
一方、iがm以上である場合(上記ステップS160のYES)、ステップS180において、出力部150は、目的関数
、及び非ゼロの要素の集合Sに基づいて、上記式(3)を用いて、非ゼロの要素の集合Sのみ非ゼロの要素となることを許容した際における、目的関数
の値が最小となる変数ベクトル
の値を算出する。
、及び非ゼロの要素の集合Sに基づいて、上記式(3)を用いて、非ゼロの要素の集合Sのみ非ゼロの要素となることを許容した際における、目的関数
の値が最小となる変数ベクトル
の値を算出する。
以上説明したように、本発明の実施形態に係る高速スパース最適化装置によれば、前回求められた非ゼロの要素の集合又は非ゼロの要素の集合の初期値に対して、非ゼロの要素の集合に含まれない要素を追加した集合に含まれる要素のみ非ゼロの要素となることを許容した際における、目的関数の最適値を、非ゼロの要素の集合に含まれない要素の各々について計算し、追加上限数の総和が所定数となるように繰り返し回数毎に予め定められた追加上限数だけ、目的関数の最適値が最適な順に、追加した要素を選択し、非ゼロの要素の集合に追加することを繰り返し、非ゼロの要素の集合のみ非ゼロの要素となることを許容した際における、目的関数の値が最適となる前記変数ベクトルの値を出力することにより、悪条件な問題に対しても、高速に質の良い非凸スパース最適化問題の解を求めることができる。
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
この場合、計算部130は、下記式(4)を用いて、前回求められた非ゼロの要素の集合S又は非ゼロの要素の集合の初期値に対して、非ゼロの要素の集合Sに含まれない要素jを追加した集合に含まれる要素のみ非ゼロの要素となることを許容した際における、目的関数
の最適値を、非ゼロの要素の集合に含まれない要素jの各々について計算する。
の最適値を、非ゼロの要素の集合に含まれない要素jの各々について計算する。
そして、出力部150は、目的関数
、及び非ゼロの要素の集合Sに基づいて、下記式(5)を用いて、非ゼロの要素の集合Sのみ非ゼロの要素となることを許容した際における、目的関数
の値が最大となる変数ベクトル
の値を算出する。
、及び非ゼロの要素の集合Sに基づいて、下記式(5)を用いて、非ゼロの要素の集合Sのみ非ゼロの要素となることを許容した際における、目的関数
の値が最大となる変数ベクトル
の値を算出する。
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
10 高速スパース最適化装置
110 入力部
120 主処理部
130 計算部
140 判定部
150 出力部
110 入力部
120 主処理部
130 計算部
140 判定部
150 出力部
Claims (4)
- 変数ベクトルが非ゼロの要素を高々所定数しか持たないという制約下において、目的関数の値が最適となる前記変数ベクトルの値を求める高速スパース最適化装置であって、
前回求められた非ゼロの要素の集合又は非ゼロの要素の集合の初期値に対して、前記非ゼロの要素の集合に含まれない要素を追加した集合に含まれる要素のみ非ゼロの要素となることを許容した際における、前記目的関数の最適値を、前記非ゼロの要素の集合に含まれない要素の各々について計算する計算部と、
追加上限数の総和が前記所定数となるように繰り返し回数毎に予め定められた追加上限数だけ、前記目的関数の最適値が最適な順に、前記追加した要素を選択し、非ゼロの要素の集合に追加する主処理部と、
予め定められた繰り返し回数だけ、前記計算部による計算と、前記主処理部による選択及び追加とを繰り返させる判定部と、
前記非ゼロの要素の集合のみ非ゼロの要素となることを許容した際における、前記目的関数の値が最適となる前記変数ベクトルの値を出力する出力部と、
を含む高速スパース最適化装置。 - 前記繰り返し回数毎に予め定められた追加上限数は1以上であり、かつ、少なくとも1つの前記追加上限数は2以上である
請求項1記載の高速スパース最適化装置。 - 変数ベクトルが非ゼロの要素を高々所定数しか持たないという制約下において、目的関数の値が最適となる前記変数ベクトルの値を求める高速スパース最適化方法であって、
計算部が、前回求められた非ゼロの要素の集合又は非ゼロの要素の集合の初期値に対して、前記非ゼロの要素の集合に含まれない要素を追加した集合に含まれる要素のみ非ゼロの要素となることを許容した際における、前記目的関数の最適値を、前記非ゼロの要素の集合に含まれない要素の各々について計算し、
主処理部が、追加上限数の総和が前記所定数となるように繰り返し回数毎に予め定められた追加上限数だけ、前記目的関数の最適値が最適な順に、前記追加した要素を選択し、非ゼロの要素の集合に追加し、
判定部が、予め定められた繰り返し回数だけ、前記計算部による計算と、前記主処理部による選択及び追加とを繰り返させ、
出力部が、前記非ゼロの要素の集合のみ非ゼロの要素となることを許容した際における、前記目的関数の値が最適となる前記変数ベクトルの値を出力する
高速スパース最適化方法。 - コンピュータを、請求項1又は2記載の高速スパース最適化装置の各部として機能させるためのプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/417,352 US20220075844A1 (en) | 2018-12-25 | 2019-12-17 | Fast sparse optimization device, fast sparse optimization method, and program |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018240666A JP7031575B2 (ja) | 2018-12-25 | 2018-12-25 | 高速スパース最適化装置、高速スパース最適化方法、及びプログラム |
| JP2018-240666 | 2018-12-25 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020137697A1 true WO2020137697A1 (ja) | 2020-07-02 |
Family
ID=71129727
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2019/049396 Ceased WO2020137697A1 (ja) | 2018-12-25 | 2019-12-17 | 高速スパース最適化装置、高速スパース最適化方法、及びプログラム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20220075844A1 (ja) |
| JP (1) | JP7031575B2 (ja) |
| WO (1) | WO2020137697A1 (ja) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019181347A1 (ja) * | 2018-03-22 | 2019-09-26 | 日本電信電話株式会社 | 最適解探索装置、最適解探索方法及びプログラム |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014160457A (ja) * | 2013-02-20 | 2014-09-04 | Nec Corp | 対話的変数選択装置、対話的変数選択方法および対話的変数選択プログラム |
| JP2014160456A (ja) * | 2013-02-20 | 2014-09-04 | Nec Corp | 疎変数最適化装置、疎変数最適化方法および疎変数最適化プログラム |
-
2018
- 2018-12-25 JP JP2018240666A patent/JP7031575B2/ja active Active
-
2019
- 2019-12-17 US US17/417,352 patent/US20220075844A1/en not_active Abandoned
- 2019-12-17 WO PCT/JP2019/049396 patent/WO2020137697A1/ja not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019181347A1 (ja) * | 2018-03-22 | 2019-09-26 | 日本電信電話株式会社 | 最適解探索装置、最適解探索方法及びプログラム |
Non-Patent Citations (1)
| Title |
|---|
| YUKAWA, MASAHIRO, SPARSE OPTIMIZATION BASED ON 1P REGULARIZATION, vol. 54, 20 November 2011 (2011-11-20), pages 625 - 630, XP036370345 * |
Also Published As
| Publication number | Publication date |
|---|---|
| JP7031575B2 (ja) | 2022-03-08 |
| JP2020102073A (ja) | 2020-07-02 |
| US20220075844A1 (en) | 2022-03-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Jolicoeur-Martineau et al. | Gotta go fast when generating data with score-based models | |
| WO2019240281A1 (ja) | 画像特徴学習装置、画像特徴学習方法、画像特徴抽出装置、画像特徴抽出方法、及びプログラム | |
| US9311403B1 (en) | Hashing techniques for data set similarity determination | |
| CN112529193B (zh) | 基于量子系统的数据处理方法及量子设备 | |
| CN111176810B (zh) | 基于优先级的气象水文数据处理调度系统 | |
| CN112805768B (zh) | 秘密s型函数计算系统及其方法、秘密逻辑回归计算系统及其方法、秘密s型函数计算装置、秘密逻辑回归计算装置、程序 | |
| TWI514169B (zh) | 一種決定對數函數單元的硬體實現方法以及執行該方法的電腦程式產品 | |
| JP2014160456A (ja) | 疎変数最適化装置、疎変数最適化方法および疎変数最適化プログラム | |
| CN115298675A (zh) | 用于利用噪声中等规模的量子计算机进行振幅估计的方法 | |
| Mhanna et al. | Single point-based distributed zeroth-order optimization with a non-convex stochastic objective function | |
| Du et al. | To-flow: Efficient continuous normalizing flows with temporal optimization adjoint with moving speed | |
| CN114661940A (zh) | 一种适用于黑盒攻击下快速获取语音对抗样本的方法 | |
| WO2020137697A1 (ja) | 高速スパース最適化装置、高速スパース最適化方法、及びプログラム | |
| Scovel et al. | Fast rates for support vector machines | |
| Schöbi et al. | PC-Kriging: A new meta-modelling method and its application to quantile estimation | |
| TWI784406B (zh) | 採用迭代計算的模數運算電路 | |
| CN111489307B (zh) | 一种基于差值改正项的图像psf反卷积方法 | |
| JP6059572B2 (ja) | 画像処理装置 | |
| Du-Yi et al. | Derivative-Free Optimization via Finite Difference Approximation: An Experimental Study | |
| JP5268964B2 (ja) | 信号分離装置 | |
| US20140232726A1 (en) | Space-filling curve processing system, space-filling curve processing method, and program | |
| Ştefănescu | Bounds for real roots and applications to orthogonal polynomials | |
| Li et al. | An Improved Boosted DC Algorithm for Nonsmooth Functions with Applications in Image Recovery | |
| KR102036094B1 (ko) | 확률적 함수에 대한 해를 구하는 방법 | |
| WO2019181347A1 (ja) | 最適解探索装置、最適解探索方法及びプログラム |
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: 19903541 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19903541 Country of ref document: EP Kind code of ref document: A1 |









