WO2020235104A1 - パラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラム - Google Patents

パラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラム Download PDF

Info

Publication number
WO2020235104A1
WO2020235104A1 PCT/JP2019/020540 JP2019020540W WO2020235104A1 WO 2020235104 A1 WO2020235104 A1 WO 2020235104A1 JP 2019020540 W JP2019020540 W JP 2019020540W WO 2020235104 A1 WO2020235104 A1 WO 2020235104A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
function
optimum
objective function
partial
Prior art date
Application number
PCT/JP2019/020540
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/JP2019/020540 priority Critical patent/WO2020235104A1/ja
Priority to US17/613,042 priority patent/US20220222542A1/en
Priority to JP2021520026A priority patent/JP7310884B2/ja
Publication of WO2020235104A1 publication Critical patent/WO2020235104A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Definitions

  • the disclosed technology relates to a parameter estimation device, a parameter estimation method, and a parameter estimation program.
  • Non-Patent Document 1 Non-Patent Document 1
  • Bayesian optimization is a method of finding the optimum value (maximum value or minimum value) of the black box function based on the posterior distribution of the function obtained from the observation information. It is known that Bayesian optimization determines the parameters to be observed based on the probability distribution, so that the optimum values can be obtained more efficiently than the random search in which the parameters are randomly selected. However, even if Bayesian optimization is used, there still exists a problem that the calculation cost is high, especially when the parameters are high-dimensional or the range of possible values is large. For example, if one search takes 7 minutes, 100 trials will take 10 hours or more.
  • the decomposition method assuming an additive structure is a method that can be decomposed into several low-dimensional partial functions.
  • the decomposition method that assumes an additive structure is a method for speeding up, and is a method that assumes the additive structure of a function and optimizes each partial function.
  • Non-Patent Document 2 assumes that the divided subsets are relatively prime, and it is possible to calculate the acquisition function of the partial function individually. By dividing into partial functions, the number of search dimensions decreases, so it can be expected that the optimum solution can be found with the number of searches based on a small number of observation points.
  • Non-Patent Document 3 assumes a model in which the divided subsets do not need to be relatively prime, and can be applied to a wider range of situations.
  • Non-Patent Document 2 If the knowledge of the above technology is used, the speed of parameter search can be expected. However, the decomposition method of Non-Patent Document 2 cannot be applied when there is duplication between variables. Further, in the method of Non-Patent Document 3, since the calculation of the acquisition function of the partial function needs to be performed in order from the lower layer, the calculation of the acquisition function cannot be processed in parallel, and an efficient search by parallel processing can be performed. I can't do it.
  • the disclosed technique has been made in view of the above points, and an object of the present invention is to provide a parameter estimation device, a parameter estimation method, and a parameter estimation program capable of obtaining optimum input parameters at high speed.
  • the first aspect of the present disclosure is a parameter estimator, which is a function decomposition unit that determines each number of subfunctions and variables for each of the subfunctions, and a partial function optimization execution for the determined number. For each of the subfunctions, one of the subfunctions, the predetermined input parameter selected for the variable is sent to a predetermined device that outputs the objective function value for the observed value given in advance. It is repeated to input and acquire the objective function value, one or more next observation target parameters are determined based on the acquired objective function value, and the determined next observation target parameters are input to the predetermined device.
  • each of the partial function optimization execution units that obtains the objective function value and calculates the optimum input parameter and the objective function optimum value of the partial function based on the acquired objective function value, and each of the partial functions.
  • each of the optimum value candidates related to the input parameters of the entire function is calculated, and among the calculated optimum value candidates, the objective function value based on the objective function optimum value is optimal.
  • the second aspect of the present disclosure of the present disclosure is a parameter estimation method, in which the number of each subfunction and the variable for each of the subfunctions are determined, and in each of the determined subfunctions.
  • the predetermined input parameter selected for the variable is input to a predetermined device that outputs the objective function value for the observed value given in advance, and the objective function value is input. Is repeated, one or more next observation target parameters are determined based on the acquired objective function value, the determined next observation target parameter is input to the predetermined device, and the objective function value is obtained.
  • the optimum input parameter of the partial function and the optimum value of the objective function are calculated based on the acquired objective function value, and the variables of the optimum input parameter of each of the partial functions are combined to form the input parameter of the entire function.
  • Each of the optimum value candidates related to the above is calculated, and among the calculated optimum value candidates, the optimum value candidate for which the objective function value based on the objective function optimum value is optimal is selected as the optimum input parameter for the entire function. It is characterized in that the computer executes a process including determining as.
  • a third aspect of the present disclosure of the present disclosure is a parameter estimation program, in which each number of subfunctions and variables for each of the subfunctions are determined, and in each of the determined subfunctions.
  • the predetermined input parameter selected for the variable is input to a predetermined device that outputs the objective function value for the observed value given in advance, and the objective function value is input. Is repeated, one or more next observation target parameters are determined based on the acquired objective function value, the determined next observation target parameter is input to the predetermined device, and the objective function value is obtained.
  • the optimum input parameter of the partial function and the optimum value of the objective function are calculated based on the acquired objective function value, and the variables of the optimum input parameter of each of the partial functions are combined to form the input parameter of the entire function.
  • Each of the optimum value candidates related to the above is calculated, and among the calculated optimum value candidates, the optimum value candidate for which the objective function value based on the objective function optimum value is optimal is selected as the optimum input parameter for the entire function. Let the computer do what it decides to do.
  • the optimum input parameters can be obtained at high speed.
  • the Bayesian optimization is speeded up by optimizing each partial function. Moreover, even if the variables of the partial functions are duplicated, the optimum value can be uniquely determined by adopting the entire optimum value. In addition, by decomposing the function, it is possible to search for parameters in a high dimension where Bayesian optimization is difficult to adapt.
  • Bayesian optimization can be accelerated, it will be possible to make faster decisions using estimation results in the tourism, transportation, and medical fields.
  • x D-dimensional vector with the number of agents passing through each route R j as an element
  • f Difference between the output data y sim of the simulation with x as the input and the actual observed value y obs
  • this problem can be considered as an optimization problem for finding x in Eq. (1) below. Assuming that there are a plurality of observation points, the error f (i) of each observation point is the sum.
  • FIG. 1 is a block diagram showing an example of the configuration of the parameter estimation device 100 of the present embodiment.
  • the parameter estimation device 100 includes a function decomposition unit 101 and an optimization execution unit 102.
  • the function decomposition unit 101 is configured to include a function decomposition determination unit 110 and a decomposition information DB 120.
  • Optimization execution unit 102 partial function optimization execution unit 130 (130 1 ⁇ 130 N), the optimum value determining unit 150, a partial function optimization DB 160, a partial function optimum value DB 170, the optimization database 180, the optimum It is configured to include the value DB190.
  • FIG. 2 is a block diagram showing the hardware configuration of the parameter estimation device 100.
  • the parameter estimation device 100 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, an input unit 15, a display unit 16, and a communication interface. It has (I / F) 17. Each configuration is communicably connected to each other via a bus 19.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the CPU 11 is a central arithmetic processing unit that executes various programs and controls each part. That is, the CPU 11 reads the program from the ROM 12 or the storage 14, and executes the program using the RAM 13 as a work area. The CPU 11 controls each of the above configurations and performs various arithmetic processes according to the program stored in the ROM 12 or the storage 14. In the present embodiment, the parameter estimation program is stored in the ROM 12 or the storage 14.
  • the ROM 12 stores various programs and various data.
  • the RAM 13 temporarily stores a program or data as a work area.
  • the storage 14 is composed of an HDD (Hard Disk Drive) or an SSD (Solid State Drive), and stores various programs including an operating system and various data.
  • the input unit 15 includes a pointing device such as a mouse and a keyboard, and is used for performing various inputs.
  • the display unit 16 is, for example, a liquid crystal display and displays various types of information.
  • the display unit 16 may adopt a touch panel method and function as an input unit 15.
  • the communication interface 17 is an interface for communicating with other devices such as terminals, and for example, standards such as Ethernet (registered trademark), FDDI, and Wi-Fi (registered trademark) are used.
  • Ethernet registered trademark
  • FDDI FDDI
  • Wi-Fi registered trademark
  • Each functional configuration is realized by the CPU 11 reading the parameter estimation program stored in the ROM 12 or the storage 14 and expanding and executing the parameter estimation program in the RAM 13.
  • the function decomposition unit 101 receives the decomposition information of the function and determines the number of each partial function and the variable for each of the partial functions.
  • Each number and variable of the determined partial function is recorded in the decomposition information DB 120.
  • Variables are variables that affect partial functions.
  • the decomposition information is received by input from the user, but the decomposition information automatically determined without receiving from the user may be used. The optimization method described below describes an example using Bayesian optimization.
  • the optimization execution unit 102 creates each of the partial function optimization execution units 130 (130 1 to 130 N ) for the number of the determined partial functions, and executes each process of the partial function optimization execution unit 130 in parallel. To do. Since each process of the partial function optimization execution unit 130 is the same, the processing of one partial function optimization execution unit 130 will be described below.
  • the partial function optimization execution unit 130 repeatedly inputs the input parameter x selected for the variable to the simulator for one partial function of each of the partial functions, and acquires the objective function value.
  • the simulator may be a predetermined device corresponding to the optimization method, and a predetermined device that outputs the objective function value related to the observed value given in advance is used.
  • the partial function optimization execution unit 130 determines one or more next observation target parameters x next based on the acquired objective function values, inputs the determined next observation target parameters x next to the simulator, and inputs the determined next observation target parameters x next to the simulator. Get the objective function value.
  • the next observation target parameter x next is a function that approximates the function representing the relationship between the input parameter x and the objective function value by a stochastic model, for example, a Gaussian process, and the function that is function-approximate and the input parameter that optimizes the objective function value. It is determined using the acquisition function ⁇ using x. Then, the partial function optimization execution unit 130 calculates the optimum input parameter of the partial function and the optimum value of the objective function based on the objective function values acquired in each of the above processes.
  • a stochastic model for example, a Gaussian process
  • the optimum value determination unit 150 combines the variables of the optimum input parameters of each of the partial functions and calculates each of the optimum value candidates of the entire function.
  • the optimum value determination unit 150 determines the optimum input parameter for the entire function by the optimum value candidate for which the objective function value based on the objective function optimum value is optimal among each of the calculated optimum value candidates. Further, the optimum value determination unit 150 acquires the objective function value using the next observation target parameter x next by the partial function optimization execution unit 130, calculates the optimum input parameter of the partial function and the objective function optimum value, and the above. The process by the optimum value determination unit 150 is repeated a predetermined number of times.
  • the decomposition information DB 120 is a database for recording IDs, partial function numbers, and variables.
  • FIG. 3 is a diagram showing an example of the decomposition information DB 120 in which the data is recorded in the database table.
  • the partial function optimization DB 160 is a database that records the ID, the number of the partial function, the input parameter of the partial function, the partial function, and the objective function value acquired for the input parameter.
  • FIG. 4 is a diagram showing an example of the partial function optimization DB 160 in which the data is recorded in the database table. Variables of the input parameters are recorded in the input parameters of the partial function. In the objective function value, the value acquired for the input parameter by the partial function optimization execution unit 130 is recorded.
  • the partial function optimum value DB170 is a database that records the ID, the number of the partial function, the optimum input parameter of the partial function, and the objective function optimum value acquired for the optimum input parameter.
  • FIG. 5 is a diagram showing an example of a partial function optimum value DB 170 in which data is recorded in a database table.
  • the values calculated by the partial function optimization execution unit 130 are recorded. Since only the number N of the partial functions is recorded in the partial function optimum value DB 170, the number of records matches the number N of the partial functions. Variables of the optimum input parameter are recorded in the optimum input parameter of the partial function.
  • the value acquired for the optimum input parameter by the partial function optimization execution unit 130 is recorded.
  • the optimization DB 180 is a database that records IDs, input parameters, and objective function values.
  • FIG. 6 is a diagram showing an example of the optimization DB 180 in which the data is recorded in the database table.
  • the input parameter the variable of the input parameter of the optimum value candidate is recorded.
  • the objective function value the value acquired for the optimum value candidate is recorded.
  • the optimum value DB 190 is a database that records the ID, the optimum input parameters of the entire function, and the objective function optimum values acquired for the optimum input parameters.
  • FIG. 7 is a diagram showing an example of the optimum value DB 190 in which the data is recorded in the database table.
  • the optimum input parameter the variable of the input parameter of the optimum value among the optimum value candidates is recorded.
  • the value of the optimum value of the optimum value candidate is recorded in the objective function value.
  • FIG. 8 is a flowchart showing a parameter estimation process in the parameter estimation device 100 according to the embodiment of the present disclosure.
  • the parameter estimation process is performed by the CPU 11 reading the parameter estimation program from the ROM 12 or the storage 14, expanding it into the RAM 13 and executing it.
  • the parameter estimation device 100 receives the decomposition information of the function as an input and performs the following processing.
  • the CPU 11 receives the decomposition information of the function and determines the number of each partial function and the variable for each of the partial functions.
  • the CPU 11 inputs the input parameter x selected for the variable for the partial function of each of the partial functions to the simulator as the partial function optimization execution unit 130, and acquires the objective function value. repeat.
  • One or more next observation target parameters x next are determined based on the acquired objective function value, and the determined next observation target parameter x next is input to the simulator to acquire the objective function value.
  • the optimum input parameters of the partial function and the optimum value of the objective function are calculated based on the objective function values obtained in each of the above processes. As described above, the processes for calculating the optimum input parameters and the optimum values of the objective functions are executed in parallel.
  • the CPU 11 as the optimum value determination unit 150, combines the variables of the optimum input parameters of the partial functions and calculates each of the optimum value candidates of the entire function. Among each of the calculated optimum value candidates, the optimum input parameter for the entire function is determined by the optimum value candidate for which the objective function value based on the objective function optimum value is optimal.
  • the CPU 11 determines whether the number of executions of S102 and S104 of the optimization execution unit 102 is equal to or more than the threshold value as the optimum value determination unit 150, and if it is equal to or more than the threshold value, shifts to S108, and if it is less than the threshold value, moves to S102. Go back and repeat the process.
  • the processing of S102 differs depending on whether the number of optimization executions is the first time, but the details will be described later. As a result, the acquisition of the objective function value using the next observation target parameter x next by S102, the calculation of the optimum input parameter and the objective function optimum value of the partial function, and the processing by S104 are repeated a predetermined number of times.
  • the optimum input parameter of the optimum value DB 190 is output and the process ends. Specifically, the record of the optimum value DB190 is acquired, and (1, x * , f (1) (x * )) including the optimum input parameter x * is output as the optimum parameter information.
  • FIG. 9 is a flowchart showing the partial function optimization process of S102.
  • the partial function optimization process is executed by the CPU 11 as the partial function optimization execution unit 130.
  • the following describes an example of executing the partial function 1 of the partial function number 1.
  • the CPU 11 determines whether or not the number of executions of the partial function optimization process of the partial function optimization execution unit 130 is the first time, shifts to S810 in the case of the first time, and shifts to S810 in the case of the second time or later. , S860.
  • the CPU 11 sets the number of random search executions to R.
  • R a value stored in advance in a DB such as the partial function optimization DB 160 may be used, or a value received from the user may be used.
  • the following processing step of S820 is repeatedly executed R times.
  • the CPU 11 randomly selects the parameter x for the variable of the partial function 1 of the decomposition information DB 120, inputs it to the simulator, and acquires the objective function values f (1) and (x). Then, (1, x, f (1) (x)) is added to the record of the partial function optimization DB 160.
  • the CPU 11 functionally approximates the function f representing the relationship between the input parameter x and the objective function values f (1) and (x) based on the data of the partial function 1 of the partial function optimization DB 160 by a Gaussian process.
  • any subset follows the following Gaussian distribution.
  • K nn is a variance-covariance matrix of n ⁇ n
  • its (d, d ′) element k dd ′ is k (x d , x ′ d ) using the kernel function k ( ⁇ , ⁇ ).
  • C nn K nn + ⁇ 2 I n
  • I n denotes the identity matrix of n ⁇ n. Therefore, it can be predicted by using the equation (3).
  • the CPU 11 determines the next observation target parameter x next that is likely to satisfy the equation (5) according to the following equation (4).
  • x next may not be one, but may be selected in the order of high possibility.
  • is called an acquisition function
  • several functions have been proposed (Non-Patent Document 1).
  • EI Exected Improvement
  • the acquisition function can be calculated by the following (6).
  • is the mean
  • is the standard deviation
  • ⁇ and ⁇ are the CDFs and PDFs of the standard normal distribution, and are derived using the function f approximated by the Gaussian process in S630. Is the past optimum parameter x best , and when the process of the optimization execution unit 102 is repeatedly executed for the first time, the optimum input parameter of the partial function optimum value DB170 of the partial function 1 is used. In the case of the second and subsequent times, the optimum input parameter of the optimum value DB190 is used.
  • S860 to S890 are the second and subsequent processes.
  • the CPU 11 functions-approximates the objective functions f (1) and (x) by a Gaussian process based on the data of the partial function 1 of the partial function optimization DB 160. It is the same as S830.
  • the CPU 11 uses the acquisition function to determine the next observation target parameter x next that is likely to satisfy the above equation (5).
  • x next may not be one, but may be selected in the order of high possibility.
  • a means such as acquiring the information of the optimum input parameter from the optimum value DB 190 and processing the acquisition function or limiting the search range is used so that the vicinity of the optimum value can be easily searched.
  • a processing method of the acquisition function a method of adding a Gaussian distribution averaging the optimum input parameter x fbest to the acquisition function can be considered as shown in the following equation (7).
  • a method of limiting the search range a method of limiting the function around the optimum input parameter x fbest may be used.
  • processing or restriction may be added at the stage of function approximation in S860. In this way, the partial function optimization execution unit 130 gives priority to the periphery of the optimum input parameter for the entire function determined by the processing by the optimum value determination unit 150 before one of the iterations, so that the next observation target Determine the parameters.
  • the CPU 11 calculates the optimum input parameter x * of the partial function 1 according to the following equation (8) based on the data of the partial function 1 of the partial function optimization DB 160, and the partial function 1 of the partial function optimum value DB 170. Update the record of (1, x * , f (1) (x * )).
  • S830 to S850 or S860 to S880 are carried out only for one cycle, but after carrying out a plurality of cycles, the process may proceed to S890.
  • FIG. 10 is a flowchart showing the optimum value determination process of S104.
  • the optimum value determination process is executed by the CPU 11 as the optimum value determination unit 150.
  • the CPU 11 acquires each record of the partial function from the partial function optimum value DB170.
  • i 1,. .. .. , C ⁇ is calculated.
  • various methods can be considered for calculating the optimum value candidates, such as taking the average of the optimum values when the optimum value candidates of each variable compete with each other.
  • the CPI 11 inputs the optimum value candidate into the simulator for obtaining the original function, obtains the optimum value, and saves the result in the optimization DB 180.
  • the objective function value of the partial function is also stored in the partial function optimization DB 160.
  • the optimum input parameter x * of the entire function is calculated by the following equation (9), and the optimum value DB 190 is updated with the value of (1, x * , f (x * )).
  • step 106 After that, the process proceeds to step 106.
  • the processing of calculating the optimum input parameter and the optimum value of the objective function is executed in parallel for each partial function.
  • Optimal value candidates are calculated for the entire function from the calculation result, and the optimum input parameters and the objective function optimum values for the entire function are calculated.
  • Bayesian optimization can be accelerated.
  • this method can be applied to black box optimization methods other than Bayesian optimization.
  • adaptation to a genetic algorithm (GA) or evolution strategy (ES) can be considered.
  • various processors other than the CPU may execute the multitask learning executed by the CPU reading the software (program) in each of the above embodiments.
  • the processors include PLD (Programmable Logic Device) whose circuit configuration can be changed after the manufacture of FPGA (Field-Programmable Gate Array), and ASIC (Application Specific Integrated Circuit) for executing ASIC (Application Special Integrated Circuit).
  • An example is a dedicated electric circuit or the like, which is a processor having a circuit configuration designed exclusively for the purpose.
  • multitask learning may be performed on one of these various processors, or a combination of two or more processors of the same type or different types (eg, a plurality of FPGAs, and a combination of a CPU and an FPGA). Etc.).
  • the hardware structure of these various processors is, more specifically, an electric circuit in which circuit elements such as semiconductor elements are combined.
  • the program is a non-temporary storage medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital entirely Disk Online Memory), and a USB (Universal Serial Bus) memory. It may be provided in the form. Further, the program may be downloaded from an external device via a network.
  • (Appendix 1) With memory With at least one processor connected to the memory Including The processor Determine the number of each subfunction and the variables for each of the subfunctions.
  • the predetermined input parameter selected for the variable is input to a predetermined device that outputs the objective function value for the observed value given in advance, and the objective function value.
  • One or more next observation target parameters are determined based on the acquired objective function value, the determined next observation target parameter is input to the predetermined device, and the objective function value is acquired. Based on the acquired objective function value, the optimum input parameter of the partial function and the optimum objective function value are calculated.
  • the variables of the optimum input parameters of each of the partial functions are combined, each of the optimum value candidates related to the input parameters of the entire function is calculated, and among the calculated optimum value candidates, the said based on the objective function optimum value.
  • the optimum value candidate for which the objective function value is optimal is determined as the optimum input parameter for the entire function.
  • a parameter estimator configured to.
  • (Appendix 2) Determine the number of each subfunction and the variables for each of the subfunctions.
  • the predetermined input parameter selected for the variable is input to a predetermined device that outputs the objective function value for the observed value given in advance, and the objective function value.
  • One or more next observation target parameters are determined based on the acquired objective function value, the determined next observation target parameter is input to the predetermined device, and the objective function value is acquired. Based on the acquired objective function value, the optimum input parameter of the partial function and the optimum objective function value are calculated.
  • the variables of the optimum input parameters of each of the partial functions are combined, each of the optimum value candidates related to the input parameters of the entire function is calculated, and among the calculated optimum value candidates, the said based on the objective function optimum value.
  • the optimum value candidate for which the objective function value is optimal is determined as the optimum input parameter for the entire function.
  • a non-temporary storage medium that stores a parameter estimation program that causes a computer to do things.
  • Parameter estimation device 101 Function decomposition unit 102 Optimization execution unit 110 Function decomposition determination unit 130 Partial function optimization execution unit 150 Optimum value determination unit 120 Decomposition information DB 160 Partial function optimization DB 170 Partial function optimum value DB 180 optimization DB 190 Optimal value DB

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computational Linguistics (AREA)
  • Algebra (AREA)
  • Physiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Genetics & Genomics (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

部分関数の各々の数と、前記部分関数の各々に対する変数とを決定する。決定した数分の部分関数最適化実行部の各々であって、1の部分関数について、変数について選んだ所定の入力パラメータを、シミュレータに入力し、目的関数値を取得することを繰り返し、取得した目的関数値に基づいて1つ以上の次の観測対象パラメータを決定し、決定した次の観測対象パラメータをシミュレータに入力し、目的関数値を取得し、取得した目的関数値に基づいて、部分関数の最適入力パラメータ及び目的関数最適値を算出する部分関数最適化実行部の各々と、部分関数の各々の最適入力パラメータの変数を組み合わせ、全体の関数の入力パラメータに関する最適値候補の各々を算出し、算出した最適値候補の各々のうち、目的関数最適値に基づく目的関数値が最適となる最適値候補を、全体の関数についての最適入力パラメータとして決定する。

Description

パラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラム
 開示の技術は、パラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラムに関する。
 IoTの普及により、沢山の人やものの情報を収集できるようになってきており、取得した情報を、観光や交通、医療分野等に活かす動きが活発化している。データ解析手法として、機械学習やシミュレーション等の技術が利用されているが、これらに最適なパラメータを探索するためには、膨大な計算コストがかかることも多い。そこで、効率的なパラメータ探索の一手法として、ベイズ最適化が存在する(非特許文献1)。
 ベイズ最適化は、観測情報から得られる関数の事後分布を元に、ブラックボックス関数の最適値(最大値または最小値)を求める手法である。ベイズ最適化は、観測対象とするパラメータを、確率分布をもとに決定することで、無作為にパラメータを選定するランダムサーチなどに比べて効率的に最適値が求まることが知られている。しかし、ベイズ最適化を用いても、特にパラメータが高次元であったり、とりうる値の範囲が大きかったりする場合、計算コストがかかるという問題は依然存在している。例えば、1回の探索に7分かかる場合、100回試行すれば10時間以上かかることになる。
 例えば、加法構造を仮定した分解手法がある。加法構造を仮定した分解手法は、いくつかの低次元部分関数に分解可能な手法である。加法構造を仮定した分解手法は、高速化の一手法であり、関数の加法構造を仮定し、それぞれの部分関数を最適化する手法である。
 また、例えば非特許文献2は、分割した部分集合が互いに素であると仮定しており、部分関数の獲得関数の計算を個別に行うことが可能である。部分関数に分割することで、探索次元数が下がるため、少ない観測点を元にした探索数で最適解を見つけることが期待できる。
 また、非特許文献3は、分割した部分集合が互いに素である必要のないモデルを仮定しており、より幅広い状況への適応が可能である。
J.Snoek, H.Larochelle, R.P.Adams. Practical Bayesian optimization of machine learning algorithms. In Advances in Neural Information Processing Systems (NIPS), 2012. Kandasamy, K., Schneider, J., Poczos, B.: High Dimensional
Bayesian Optimisation and Bandits via Additive Models. In: Proceedings of the 32nd International Conference on Machine Learning (ICML), vol. 37, pp.295{304 (2015)
Rolland, P., Scarlett, J., Bogunovic, I., and Cevher, V.: Highdimensional Bayesian optimization via additive models with overlapping groups.International Conference on Articial Intelligence and Statistics (AISTATS),pp. 298{307 (2018)
 上記技術の知見を利用すれば、パラメータ探索の高速化が期待できる。しかし、非特許文献2の分解手法では、変数間に重複がある場合に適応できない。また、非特許文献3の手法では、部分関数の獲得関数の計算を低階層から順番に行う必要があるため、獲得関数の計算を並列処理することができず、並列処理による効率的な探索を行うことができない。
 開示の技術は、上記の点に鑑みてなされたものであり、最適な入力パラメータを高速に求めることができるパラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラムを提供することを目的とする。
 本開示の第1態様は、パラメータ推定装置であって、部分関数の各々の数と、前記部分関数の各々に対する変数とを決定する関数分解部と、決定した前記数分の部分関数最適化実行部の各々であって、前記部分関数の各々のうちの1の前記部分関数について、前記変数について選んだ所定の入力パラメータを、予め与えられた観測値に関する目的関数値を出力する所定の装置に入力し、前記目的関数値を取得することを繰り返し、取得した前記目的関数値に基づいて1つ以上の次の観測対象パラメータを決定し、決定した次の観測対象パラメータを前記所定の装置に入力し、前記目的関数値を取得し、取得した前記目的関数値に基づいて、前記部分関数の最適入力パラメータ及び目的関数最適値を算出する部分関数最適化実行部の各々と、前記部分関数の各々の前記最適入力パラメータの変数を組み合わせ、全体の関数の入力パラメータに関する最適値候補の各々を算出し、算出した前記最適値候補の各々のうち、前記目的関数最適値に基づく前記目的関数値が最適となる前記最適値候補を、全体の関数についての最適入力パラメータとして決定する最適値決定部と、を含む。
 本開示の本開示の第2態様は、パラメータ推定方法であって、部分関数の各々の数と、前記部分関数の各々に対する変数とを決定し、決定した前記数分の部分関数の各々において、前記部分関数の各々のうちの1の前記部分関数について、前記変数について選んだ所定の入力パラメータを、予め与えられた観測値に関する目的関数値を出力する所定の装置に入力し、前記目的関数値を取得することを繰り返し、取得した前記目的関数値に基づいて1つ以上の次の観測対象パラメータを決定し、決定した次の観測対象パラメータを前記所定の装置に入力し、前記目的関数値を取得し、取得した前記目的関数値に基づいて、前記部分関数の最適入力パラメータ及び目的関数最適値を算出し、前記部分関数の各々の前記最適入力パラメータの変数を組み合わせ、全体の関数の入力パラメータに関する最適値候補の各々を算出し、算出した前記最適値候補の各々のうち、前記目的関数最適値に基づく前記目的関数値が最適となる前記最適値候補を、全体の関数についての最適入力パラメータとして決定する、ことを含む処理をコンピュータが実行することを特徴とする。
 本開示の本開示の第3態様は、パラメータ推定プログラムであって、部分関数の各々の数と、前記部分関数の各々に対する変数とを決定し、決定した前記数分の部分関数の各々において、前記部分関数の各々のうちの1の前記部分関数について、前記変数について選んだ所定の入力パラメータを、予め与えられた観測値に関する目的関数値を出力する所定の装置に入力し、前記目的関数値を取得することを繰り返し、取得した前記目的関数値に基づいて1つ以上の次の観測対象パラメータを決定し、決定した次の観測対象パラメータを前記所定の装置に入力し、前記目的関数値を取得し、取得した前記目的関数値に基づいて、前記部分関数の最適入力パラメータ及び目的関数最適値を算出し、前記部分関数の各々の前記最適入力パラメータの変数を組み合わせ、全体の関数の入力パラメータに関する最適値候補の各々を算出し、算出した前記最適値候補の各々のうち、前記目的関数最適値に基づく前記目的関数値が最適となる前記最適値候補を、全体の関数についての最適入力パラメータとして決定する、ことをコンピュータに実行させる。
 開示の技術によれば、最適な入力パラメータを高速に求めることができる。
本実施形態のパラメータ推定装置の構成の一例を示すブロック図である。 パラメータ推定装置のハードウェア構成を示すブロック図である。 データをデータベーステーブルに記録した分解情報DBの一例を示す図である。 データをデータベーステーブルに記録した部分関数最適化DBの一例を示す図である。 データをデータベーステーブルに記録した部分関数最適値DBの一例を示す図である。 データをデータベーステーブルに記録した最適化DBの一例を示す図である。 データをデータベーステーブルに記録した最適値DBの一例を示す図である。 本開示の実施形態に係るパラメータ推定装置におけるパラメータ推定処理を示すフローチャートである。 部分関数最適化処理を示すフローチャートである。 最適値決定処理を示すフローチャートである。
 以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
 上記課題に対して、本開示の実施形態では、分解手法を用いたベイズ最適化において、分解した部分集合が互いに素である必要のないモデルを仮定し、さらに分解した部分集合の最適化を並列処理できる手法を提案する。
 本開示の実施形態では、部分関数ごとに最適化を行うことで、ベイズ最適化の高速化を実現する。また、部分関数の変数が重複した場合でも、全体の最適値を採用することで最適値を一意に決めることができる。また、関数を分解することで、ベイズ最適化が適応困難な高次元でのパラメータ探索を可能とする。
 ベイズ最適化を高速化できれば、観光、交通、及び医療分野等において、推定結果を用いたより早い意思決定等が可能となる。
[前提条件]
 ここで、本開示の実施形態の前提条件について説明する。本実施形態では、局所的な場所で観察された通行人数yをもとに、実際の人流に近い人流シミュレーションを再現する入力パラメータxの推定を行う問題を例に説明する。
 本問題では、入力パラメータxおよびfを以下のように定義する。
 x:各ルートRを通るエージェント数を要素とするD次元ベクトル
 f:xを入力としたシミュレーションの出力データysimと、実際の観測値yobsの差
 上記定義から、本問題は、以下(1)式のxを求める最適化問題と考えることができる。なお、複数観測地点がある場合を想定し、各観測地点の誤差f(i)の合計とする。
Figure JPOXMLDOC01-appb-M000001

                                   ・・・(1)
そして、例えば観測地点が2箇所存在する場合を想定し、以下(2)式の加法構造を仮定する。
Figure JPOXMLDOC01-appb-M000002

                                   ・・・(2)
 以上のように局所的な場所で観察された通行人数をもとに、実際の人流に近い人流シミュレーションを再現するパラメータの推定を行う例を用いて説明するが、機械学習やシミュレーションのパラメータ推定を行う他のデータ、事例に用いても良い。また、(2)式の加法構造を仮定し、部分関数の並列数N=2を例に説明するが、並列数は関数の加法構造に応じて自由に設定して良い。なお、並列数だけ部分関数があるとする。
 以上の前提条件をもとに、以下、本開示の実施形態の構成および作用について詳細に説明する。
<本開示の実施形態に係るパラメータ推定装置の構成>
 次に、本開示の実施形態に係るパラメータ推定装置の構成について説明する。
 図1は、本実施形態のパラメータ推定装置100の構成の一例を示すブロック図である。
 図1に示すように、パラメータ推定装置100は、関数分解部101と、最適化実行部102とを含んで構成されている。
 関数分解部101は、関数分解決定部110と、分解情報DB120と、を含んで構成されている。
 最適化実行部102は、部分関数最適化実行部130(130~130)と、最適値決定部150と、部分関数最適化DB160と、部分関数最適値DB170と、最適化DB180と、最適値DB190とを含んで構成されている。
 図2は、パラメータ推定装置100のハードウェア構成を示すブロック図である。
 図2に示すように、パラメータ推定装置100は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16及び通信インタフェース(I/F)17を有する。各構成は、バス19を介して相互に通信可能に接続されている。
 CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM12又はストレージ14には、パラメータ推定プログラムが格納されている。
 ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
 入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、各種の入力を行うために使用される。
 表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能しても良い。
 通信インタフェース17は、端末等の他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
 次に、パラメータ推定装置100の各機能構成について説明する。各機能構成は、CPU11がROM12又はストレージ14に記憶されたパラメータ推定プログラムを読み出し、RAM13に展開して実行することにより実現される。
 関数分解部101は、関数の分解情報を受け付けて、部分関数の各々の数と、部分関数の各々に対する変数とを決定する。部分関数の数はN個であり、以下、N(1,...,N)を部分関数の番号とする。また、本実施形態はN=2である。決定した、部分関数の各々の数及び変数は分解情報DB120に記録する。変数は、部分関数に影響を与える変数である。分解情報は、ユーザからの入力により受け付けるが、ユーザから受け付けずに自動的に判断した分解情報を用いてもよい。以下で説明する最適化手法は、ベイズ最適化を用いた例を説明する。
 最適化実行部102は、決定した部分関数の数分の部分関数最適化実行部130(130~130)の各々を作成し、部分関数最適化実行部130の各々の処理を並列に実行する。部分関数最適化実行部130の各々の各処理は同様であるため、以下では1つの部分関数最適化実行部130の処理について説明する。
 部分関数最適化実行部130は、部分関数の各々のうちの1の部分関数について、変数について選んだ入力パラメータxを、シミュレータに入力し、目的関数値を取得することを繰り返す。シミュレータは、最適化手法に対応した所定の装置であればよく、予め与えられた観測値に関する目的関数値を出力する所定の装置を用いる。次に、部分関数最適化実行部130は、取得した目的関数値に基づいて1つ以上の次の観測対象パラメータxnextを決定し、決定した次の観測対象パラメータxnextをシミュレータに入力し、目的関数値を取得する。次の観測対象パラメータxnextは、入力パラメータxと目的関数値との関係を表す関数を、確率モデル、例えばガウス過程により関数近似し、関数近似した関数と、目的関数値が最適となる入力パラメータxを用いた獲得関数αを用いて決定する。そして、部分関数最適化実行部130は、上記各々の処理で取得した目的関数値に基づいて、部分関数の最適入力パラメータ及び目的関数最適値を算出する。
 最適値決定部150は、部分関数の各々の最適入力パラメータの変数を組み合わせ、全体の関数の最適値候補の各々を算出する。最適値決定部150は、算出した最適値候補の各々のうち、目的関数最適値に基づく目的関数値が最適となる最適値候補によって、全体の関数についての最適入力パラメータを決定する。また、最適値決定部150は、部分関数最適化実行部130による次の観測対象パラメータxnextを用いた目的関数値の取得及び部分関数の最適入力パラメータ及び目的関数最適値の算出、並びに上記の最適値決定部150による処理を所定の回数繰り返させる。
 分解情報DB120は、ID、部分関数の番号、及び変数を記録しておくデータベースである。図3は、データをデータベーステーブルに記録した分解情報DB120の一例を示す図である。
 部分関数最適化DB160は、ID、部分関数の番号、部分関数の入力パラメータ、及び部分関数及び当該入力パラメータについて取得された目的関数値を記録しておくデータベースである。図4は、データをデータベーステーブルに記録した部分関数最適化DB160の一例を示す図である。部分関数の入力パラメータには、入力パラメータの変数が記録される。目的関数値には、部分関数最適化実行部130で当該入力パラメータについて取得された値が記録される。
 部分関数最適値DB170は、ID、部分関数の番号、部分関数の最適入力パラメータ、及び当該最適入力パラメータについて取得された目的関数最適値を記録しておくデータベースである。図5は、データをデータベーステーブルに記録した部分関数最適値DB170の一例を示す図である。部分関数の最適入力パラメータ及び目的関数最適値は、部分関数最適化実行部130で算出された値が記録される。部分関数最適値DB170には、部分関数の数Nだけ値を記録するため、レコード数は部分関数の数Nと一致する。部分関数の最適入力パラメータには、最適入力パラメータの変数が記録される。目的関数最適値には、部分関数最適化実行部130で当該最適入力パラメータについて取得された値が記録される。
 最適化DB180は、ID、入力パラメータ、及び目的関数値を記録しておくデータベースである。図6は、データをデータベーステーブルに記録した最適化DB180の一例を示す図である。入力パラメータには、最適値候補の入力パラメータの変数が記録される。目的関数値には、最適値候補について取得された値が記録される。
 最適値DB190は、ID、全体の関数の最適入力パラメータ、及び当該最適入力パラメータについて取得された目的関数最適値を記録しておくデータベースである。図7は、データをデータベーステーブルに記録した最適値DB190の一例を示す図である。最適入力パラメータには、最適値候補のうちの最適値の入力パラメータの変数が記録される。目的関数値には、最適値候補の最適値の値が記録される。
<本開示の実施形態に係るパラメータ推定装置の作用>
 次に、本開示の実施形態に係るパラメータ推定装置100の作用について説明する。図8は、本開示の実施形態に係るパラメータ推定装置100におけるパラメータ推定処理を示すフローチャートである。CPU11がROM12又はストレージ14からパラメータ推定プログラムを読み出して、RAM13に展開して実行することにより、パラメータ推定処理が行なわれる。パラメータ推定装置100は、入力として関数の分解情報を受け付けて以下の処理を行う。
 S100では、CPU11が、関数の分解情報を受け付けて、部分関数の各々の数と、部分関数の各々に対する変数とを決定する。
 S102では、CPU11が、部分関数最適化実行部130として、部分関数の各々のうちの1の部分関数について、変数について選んだ入力パラメータxを、シミュレータに入力し、目的関数値を取得することを繰り返す。取得した目的関数値に基づいて1つ以上の次の観測対象パラメータxnextを決定し、決定した次の観測対象パラメータxnextをシミュレータに入力し、目的関数値を取得する。上記各々の処理で取得した目的関数値に基づいて、部分関数の最適入力パラメータ及び目的関数最適値を算出する。以上のように、最適入力パラメータ及び目的関数最適値を算出する処理を並列に実行する。
 S104では、CPU11が、最適値決定部150として、部分関数の各々の最適入力パラメータの変数を組み合わせ、全体の関数の最適値候補の各々を算出する。算出した最適値候補の各々のうち、目的関数最適値に基づく目的関数値が最適となる最適値候補によって、全体の関数についての最適入力パラメータを決定する。
 S106では、CPU11が、最適値決定部150として、最適化実行部102のS102及びS104の実行回数が閾値以上かを判定し、閾値以上であればS108へ移行し、閾値未満であればS102に戻って処理を繰り返す。最適化実行回数が初回か否かに応じてS102の処理が異なるが、詳細については後述する。これにより、S102による次の観測対象パラメータxnextを用いた目的関数値の取得及び部分関数の最適入力パラメータ及び目的関数最適値の算出、並びにS104による処理を所定の回数繰り返させる。
 S108では、最適値DB190の最適入力パラメータを出力して処理を終了する。詳細には、最適値DB190のレコードを取得し、最適入力パラメータxを含む(1,x,f(1)(x))を最適パラメータ情報として出力する。
 以下、上記S102及びS104の処理の詳細について説明する。
 図9は、S102の部分関数最適化処理を示すフローチャートである。部分関数最適化処理は、CPU11が部分関数最適化実行部130として実行する。以下は、部分関数の番号1の部分関数1について実行する場合を例に説明する。
 S801では、CPU11が、部分関数最適化実行部130の部分関数最適化処理の実行回数が1回目か否かを判定し、1回目の場合にはS810に移行し、2回目以降の場合には、S860に移行する。
 S810では、CPU11が、ランダムサーチ実行回数をRとする。Rの値は、予め部分関数最適化DB160等のDBに保存した値を用いても良いし、ユーザから入力を受け付けた値を用いても良い。
 以下のS820の処理ステップは、R回だけ繰り返し実行する。
 S820では、CPU11が、分解情報DB120の部分関数1の変数について、ランダムにパラメータxを選び、シミュレータに入力して目的関数値f(1)(x)を取得する。そして、部分関数最適化DB160のレコードに(1,x,f(1)(x))を追加する。
 S830では、CPU11が、部分関数最適化DB160の部分関数1のデータに基づいて、入力パラメータxと目的関数値f(1)(x)との関係を表す関数fをガウス過程により関数近似する。
 ここで、関数fがガウス過程に従うとすると、任意の部分集合は次のガウス分布に従う。
P(f)=N(f|0,Knn
 ただし、Knnはn×nの分散共分散行列であり、その(d,d′)要素kdd′はカーネル関数k(・,・)を用いて、k(x,x′)で表される。そして、y=f(x)が与えられたもとでの未知の入力変数xの出力変数yの事後確率は、以下(3)式のガウス分布で与えられる。
Figure JPOXMLDOC01-appb-M000003

                                   ・・・(3)
 ただし、Cnn=Knn+σと定義し、Iはn×nの単位行列を表す。よって、(3)式を用いて予測ができる。
 S840では、CPU11が、以下(4)式に従い、(5)式を満たす可能性が高い次の観測対象パラメータxnextを決定する。この時、xnextは一つではなくて、可能性が高い順に複数選んでもよい。
Figure JPOXMLDOC01-appb-M000004

                                   ・・・(4)
Figure JPOXMLDOC01-appb-I000005

                                   ・・・(5)
 ここで、αは獲得関数と呼ばれ、いくつかの関数が提案されている(非特許文献1)。例えば、EI(Expected Improvement)を用いる場合、獲得関数は以下(6)で計算できる。
Figure JPOXMLDOC01-appb-M000006

                                   ・・・(6)
 ここで、μは平均、σは標準偏差、Φ及びφは標準正規分布のCDFおよびPDFであり、S630でガウス過程により近似した関数fを用いて導出される。
Figure JPOXMLDOC01-appb-I000007

は過去の最適なパラメータxbestであり、最適化実行部102の処理の繰り返し実行が初回の場合には、当該部分関数1の部分関数最適値DB170の最適入力パラメータを用いる。2回目以降の場合には最適値DB190の最適入力パラメータを用いる。
 S850では、CPU11が、入力パラメータxをx=xnextとしてシミュレータに入力し、目的関数値f(1)(x)を取得する。そして、部分関数最適化DB160に(1,x,f(1)(x))を追加する。
 以上が、部分関数最適化処理の1回目の処理である。以下、S860~S890は2回目以降の処理である。
 S860では、CPU11が、部分関数最適化DB160の部分関数1のデータに基づき、目的関数f(1)(x)をガウス過程により関数近似する。S830と同様である。
 S870では、CPU11が、獲得関数を用いて、上記(5)式を満たす可能性が高い次の観測対象パラメータxnextを決定する。この時、xnextは一つではなくて、可能性が高い順に複数選んでもよい。また、獲得関数計算の際は、最適値周辺が探索されやすいように、最適値DB190から最適入力パラメータの情報を取得し、獲得関数を加工する、又は探索範囲を限定する等の手段を用いる。獲得関数の加工方法としては、以下(7)式のように、最適入力パラメータxfbestを平均とするガウス分布を獲得関数に加える方法等が考えられる。
Figure JPOXMLDOC01-appb-M000008

                                   ・・・(7)
 また、探索範囲を限定する方法としては、最適入力パラメータxfbest周辺に関数を制限する方法等を用いても良い。さらに、獲得関数に加工や制限を加えるのではなく、S860の関数近似の段階で、加工や制限を加えても良い。このように、部分関数最適化実行部130は、繰り返しの一つの前の最適値決定部150による処理で決定された全体の関数についての最適入力パラメータの周辺を優先するように、次の観測対象パラメータを決定する。
 S880では、CPU11が、入力パラメータxをx=xnextとしてシミュレータに入力し、目的関数値f(1)(x)を取得する。そして、部分関数最適化DB160に(1,x,f(1)(x))を追加する。
 S890では、CPU11が、部分関数最適化DB160の部分関数1のデータをもとに、以下(8)式に従って部分関数1の最適入力パラメータxを算出し、部分関数最適値DB170の部分関数1のレコードを(1,x,f(1)(x))で更新する。
Figure JPOXMLDOC01-appb-M000009

                                   ・・・(8)
 なお、本実施形態では、S830~S850、又はS860~S880を、1サイクルのみ実施しているが、複数サイクル実施した後に、S890に進んでも良い。
 以上が、S102の部分関数最適化処理の説明である。
 図10は、S104の最適値決定処理を示すフローチャートである。最適値決定処理は、CPU11が最適値決定部150として実行する。
 S910では、CPU11が、部分関数最適値DB170から部分関数の各々のレコードを取得する。
 S920では、CPU11が、取得した各変数の最適値を組み合わせて、全体の関数の最適値候補D=f{x|i=1,...,C}を算出する。ただし、Cは部分関数の組み合わせの数であり、x=(x1i,x2i,x3i)等で表される。最適値候補の算出には組み合わせ以外にも、各変数の最適値候補が競合した場合、最適値同士の平均を取るなど、様々な方法が考えられる。
S930では、CPI11が、元の関数を求めるシミュレータに最適値候補を入力し、最適値を求め、最適化DB180に結果を保存する。また、部分関数の目的関数値も部分関数最適化DB160に保存する。S940では、以下(9)式で全体の関数の最適入力パラメータxを算出し、(1,x,f(x))の値で最適値DB190を更新する。
Figure JPOXMLDOC01-appb-M000010

                                   ・・・(9)
 以降は、ステップ106へ移行する。
 以上が、S104の最適値決定処理の説明である。
 以上説明したように本実施形態のパラメータ推定装置100によれば、部分関数ごとに最適入力パラメータ及び目的関数最適値を算出する処理を並列に実行する。算出結果から全体の関数について最適値候補を算出して、全体の関数についての最適入力パラメータ及び目的関数最適値を算出する。これにより、ベイズ最適化を高速化できる。
 なお、本開示は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
 例えば、本手法は、ベイズ最適化以外のブラックボックス最適化手法にも適用可能である。例えば、遺伝的アルゴリズム(GA)や進化戦略(ES)などへの適応が考えられる。
 上述した実施形態では、ベイズ最適化において、ガウス過程による近似を用いる場合を例に説明したが、ランダムフォレストなど、別の確率モデルを用いた近似手法を用いてもよい。
 上述した実施形態では、ベイズ最適化に適用した場合に、所定の装置をシミュレータとして、入力パラメータをシミュレータに入力して目的関数値を得る場合を例に説明したが、各々の最適化手法に対応した所定の装置に入力し、目的関数値を取得すればよい。
 なお、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行したマルチタスク学習を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、マルチタスク学習を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
 また、上記各実施形態では、マルチタスク学習プログラムがストレージ14に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
 以上の実施形態に関し、更に以下の付記を開示する。
 (付記項1)
 メモリと、
 前記メモリに接続された少なくとも1つのプロセッサと、
 を含み、
 前記プロセッサは、
 部分関数の各々の数と、前記部分関数の各々に対する変数とを決定し、
 決定した前記数分の部分関数の各々において、
 前記部分関数の各々のうちの1の前記部分関数について、前記変数について選んだ所定の入力パラメータを、予め与えられた観測値に関する目的関数値を出力する所定の装置に入力し、前記目的関数値を取得することを繰り返し、
 取得した前記目的関数値に基づいて1つ以上の次の観測対象パラメータを決定し、決定した次の観測対象パラメータを前記所定の装置に入力し、前記目的関数値を取得し、
 取得した前記目的関数値に基づいて、前記部分関数の最適入力パラメータ及び目的関数最適値を算出し、
 前記部分関数の各々の前記最適入力パラメータの変数を組み合わせ、全体の関数の入力パラメータに関する最適値候補の各々を算出し、算出した前記最適値候補の各々のうち、前記目的関数最適値に基づく前記目的関数値が最適となる前記最適値候補を、全体の関数についての最適入力パラメータとして決定する、
 ように構成されているパラメータ推定装置。
 (付記項2)
 部分関数の各々の数と、前記部分関数の各々に対する変数とを決定し、
 決定した前記数分の部分関数の各々において、
 前記部分関数の各々のうちの1の前記部分関数について、前記変数について選んだ所定の入力パラメータを、予め与えられた観測値に関する目的関数値を出力する所定の装置に入力し、前記目的関数値を取得することを繰り返し、
 取得した前記目的関数値に基づいて1つ以上の次の観測対象パラメータを決定し、決定した次の観測対象パラメータを前記所定の装置に入力し、前記目的関数値を取得し、
 取得した前記目的関数値に基づいて、前記部分関数の最適入力パラメータ及び目的関数最適値を算出し、
 前記部分関数の各々の前記最適入力パラメータの変数を組み合わせ、全体の関数の入力パラメータに関する最適値候補の各々を算出し、算出した前記最適値候補の各々のうち、前記目的関数最適値に基づく前記目的関数値が最適となる前記最適値候補を、全体の関数についての最適入力パラメータとして決定する、
 ことをコンピュータに実行させるパラメータ推定プログラムを記憶した非一時的記憶媒体。
100 パラメータ推定装置
101 関数分解部
102 最適化実行部
110 関数分解決定部
130 部分関数最適化実行部
150 最適値決定部
120 分解情報DB
160 部分関数最適化DB
170 部分関数最適値DB
180 最適化DB
190 最適値DB

Claims (8)

  1.  部分関数の各々の数と、前記部分関数の各々に対する変数とを決定する関数分解部と、
     決定した前記数分の部分関数最適化実行部の各々であって、
     前記部分関数の各々のうちの1の前記部分関数について、前記変数について選んだ所定の入力パラメータを、予め与えられた観測値に関する目的関数値を出力する所定の装置に入力し、前記目的関数値を取得することを繰り返し、
     取得した前記目的関数値に基づいて1つ以上の次の観測対象パラメータを決定し、決定した次の観測対象パラメータを前記所定の装置に入力し、前記目的関数値を取得し、
     取得した前記目的関数値に基づいて、前記部分関数の最適入力パラメータ及び目的関数最適値を算出する部分関数最適化実行部の各々と、
     前記部分関数の各々の前記最適入力パラメータの変数を組み合わせ、全体の関数の入力パラメータに関する最適値候補の各々を算出し、算出した前記最適値候補の各々のうち、前記目的関数最適値に基づく前記目的関数値が最適となる前記最適値候補を、全体の関数についての最適入力パラメータとして決定する最適値決定部と、
     を含むパラメータ推定装置。
  2.  前記所定の入力パラメータと前記目的関数値との関係を表す関数を、確率モデルにより近似し、前記近似した関数と、前記目的関数値が最適となる前記所定の入力パラメータを用いた獲得関数を用いて、次の観測対象パラメータを決定する請求項1に記載のパラメータ推定装置。
  3.  前記最適値決定部は、
     前記部分関数最適化実行部による前記次の観測対象パラメータを用いた目的関数値の取得、前記部分関数の最適入力パラメータ及び目的関数最適値の算出、並びに前記最適値決定部による処理を所定の回数繰り返させる請求項1又は請求項2に記載のパラメータ推定装置。
  4.  前記繰り返させる場合において、前記部分関数最適化実行部は、繰り返しの一つの前の前記最適値決定部による処理で決定された前記全体の関数についての最適入力パラメータの周辺を優先するように、前記次の観測対象パラメータを決定する請求項3に記載のパラメータ推定装置。
  5.  部分関数の各々の数と、前記部分関数の各々に対する変数とを決定し、
     決定した前記数分の部分関数の各々において、
     前記部分関数の各々のうちの1の前記部分関数について、前記変数について選んだ所定の入力パラメータを、予め与えられた観測値に関する目的関数値を出力する所定の装置に入力し、前記目的関数値を取得することを繰り返し、
     取得した前記目的関数値に基づいて1つ以上の次の観測対象パラメータを決定し、決定した次の観測対象パラメータを前記所定の装置に入力し、前記目的関数値を取得し、
     取得した前記目的関数値に基づいて、前記部分関数の最適入力パラメータ及び目的関数最適値を算出し、
     前記部分関数の各々の前記最適入力パラメータの変数を組み合わせ、全体の関数の入力パラメータに関する最適値候補の各々を算出し、算出した前記最適値候補の各々のうち、前記目的関数最適値に基づく前記目的関数値が最適となる前記最適値候補を、全体の関数についての最適入力パラメータとして決定する、
     ことを含む処理をコンピュータが実行することを特徴とするパラメータ推定方法。
  6.  前記所定の入力パラメータと前記目的関数値との関係を表す関数を、確率モデルにより近似し、前記近似した関数と、前記目的関数値が最適となる前記所定の入力パラメータを用いた獲得関数を用いて、次の観測対象パラメータを決定する請求項5に記載のパラメータ推定方法。
  7.  前記次の観測対象パラメータを用いた目的関数値の取得、前記部分関数の最適入力パラメータ及び目的関数最適値の算出、並びに前記全体の関数についての最適入力パラメータとして決定するための処理を所定の回数繰り返させる請求項5又は請求項6に記載のパラメータ推定方法。
  8.  部分関数の各々の数と、前記部分関数の各々に対する変数とを決定し、
     決定した前記数分の部分関数の各々において、
     前記部分関数の各々のうちの1の前記部分関数について、前記変数について選んだ所定の入力パラメータを、予め与えられた観測値に関する目的関数値を出力する所定の装置に入力し、前記目的関数値を取得することを繰り返し、
     取得した前記目的関数値に基づいて1つ以上の次の観測対象パラメータを決定し、決定した次の観測対象パラメータを前記所定の装置に入力し、前記目的関数値を取得し、
     取得した前記目的関数値に基づいて、前記部分関数の最適入力パラメータ及び目的関数最適値を算出し、
     前記部分関数の各々の前記最適入力パラメータの変数を組み合わせ、全体の関数の入力パラメータに関する最適値候補の各々を算出し、算出した前記最適値候補の各々のうち、前記目的関数最適値に基づく前記目的関数値が最適となる前記最適値候補を、全体の関数についての最適入力パラメータとして決定する、
     ことをコンピュータに実行させるパラメータ推定プログラム。
PCT/JP2019/020540 2019-05-23 2019-05-23 パラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラム WO2020235104A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2019/020540 WO2020235104A1 (ja) 2019-05-23 2019-05-23 パラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラム
US17/613,042 US20220222542A1 (en) 2019-05-23 2019-05-23 Parameter estimation device, parameter estimation method, and parameter estimation program
JP2021520026A JP7310884B2 (ja) 2019-05-23 2019-05-23 パラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/020540 WO2020235104A1 (ja) 2019-05-23 2019-05-23 パラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラム

Publications (1)

Publication Number Publication Date
WO2020235104A1 true WO2020235104A1 (ja) 2020-11-26

Family

ID=73459433

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/020540 WO2020235104A1 (ja) 2019-05-23 2019-05-23 パラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラム

Country Status (3)

Country Link
US (1) US20220222542A1 (ja)
JP (1) JP7310884B2 (ja)
WO (1) WO2020235104A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10317857B2 (en) * 2013-03-15 2019-06-11 Rockwell Automation Technologies, Inc. Sequential deterministic optimization based control system and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016523402A (ja) * 2013-05-30 2016-08-08 プレジデント アンド フェローズ オブ ハーバード カレッジ ベイズの最適化を実施するためのシステムおよび方法
JP2018156619A (ja) * 2017-03-16 2018-10-04 株式会社デンソー 連続最適化問題の大域的探索装置及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016523402A (ja) * 2013-05-30 2016-08-08 プレジデント アンド フェローズ オブ ハーバード カレッジ ベイズの最適化を実施するためのシステムおよび方法
JP2018156619A (ja) * 2017-03-16 2018-10-04 株式会社デンソー 連続最適化問題の大域的探索装置及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HOANG, TRONG NGHIA ET AL.: "Decentralized High- Dimensional Bayesian Optimization with Factor Graphs", ARXIV, 24 January 2018 (2018-01-24), XP081308161, Retrieved from the Internet <URL:https://arxiv.org/pdf/1711.07033v3.pdf> [retrieved on 20190807] *

Also Published As

Publication number Publication date
US20220222542A1 (en) 2022-07-14
JPWO2020235104A1 (ja) 2020-11-26
JP7310884B2 (ja) 2023-07-19

Similar Documents

Publication Publication Date Title
Isufi et al. Forecasting time series with VARMA recursions on graphs
Baumann et al. Reliable estimation of prediction errors for QSAR models under model uncertainty using double cross-validation
Dasari et al. Random forest surrogate models to support design space exploration in aerospace use-case
WO2018157752A1 (en) Approximate random number generator by empirical cumulative distribution function
Palar et al. Efficient global optimization with ensemble and selection of kernel functions for engineering design
WO2020071187A1 (ja) 秘密シグモイド関数計算システム、秘密ロジスティック回帰計算システム、秘密シグモイド関数計算装置、秘密ロジスティック回帰計算装置、秘密シグモイド関数計算方法、秘密ロジスティック回帰計算方法、プログラム
Bauer et al. An automated forecasting framework based on method recommendation for seasonal time series
CN108280513B (zh) 模型生成方法和装置
JPWO2017131081A1 (ja) 量子情報処理システム、量子情報処理方法、プログラム、及び記録媒体
Seijo-Pardo et al. Using data complexity measures for thresholding in feature selection rankers
Liu et al. Induction of modular classification rules by information entropy based rule generation
WO2020235104A1 (ja) パラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラム
JP2019016193A (ja) 分析方法、分析装置及び分析プログラム
Liu et al. A surrogate model assisted evolutionary algorithm for computationally expensive design optimization problems with discrete variables
Pillonetto Consistent identification of Wiener systems: A machine learning viewpoint
JP6743902B2 (ja) マルチタスク関係学習システム、方法およびプログラム
WO2020179627A1 (ja) パラメータ推定装置、方法、及びプログラム
JP2022070386A (ja) 学習方法、系列解析方法、学習装置、系列解析装置、及びプログラム
JP6992821B2 (ja) 分類木生成方法、分類木生成装置および分類木生成プログラム
Sala et al. SQG-Differential Evolution for difficult optimization problems under a tight function evaluation budget
Song et al. A data-efficient reinforcement learning method based on local Koopman operators
Kiran et al. Cost-complexity pruning of random forests
Das et al. A novel restart strategy for solving complex multi-modal optimization problems using real-coded genetic algorithm
Pekaslan et al. Performance and Interpretability in Fuzzy Logic Systems–can we have both?
US20190180180A1 (en) Information processing system, information processing method, and recording medium

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: 19929504

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021520026

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19929504

Country of ref document: EP

Kind code of ref document: A1