WO2024018571A1 - 情報処理装置および処理条件決定システム - Google Patents

情報処理装置および処理条件決定システム Download PDF

Info

Publication number
WO2024018571A1
WO2024018571A1 PCT/JP2022/028264 JP2022028264W WO2024018571A1 WO 2024018571 A1 WO2024018571 A1 WO 2024018571A1 JP 2022028264 W JP2022028264 W JP 2022028264W WO 2024018571 A1 WO2024018571 A1 WO 2024018571A1
Authority
WO
WIPO (PCT)
Prior art keywords
function
learning
variables
information processing
unit
Prior art date
Application number
PCT/JP2022/028264
Other languages
English (en)
French (fr)
Inventor
康行 味松
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2022/028264 priority Critical patent/WO2024018571A1/ja
Publication of WO2024018571A1 publication Critical patent/WO2024018571A1/ja

Links

Images

Classifications

    • 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]

Definitions

  • the present invention relates to an information processing device and a processing condition determination system.
  • annealing machine As an effective analysis device for efficiently solving combinatorial optimization problems, there is an annealing machine (or Ising machine) that converts the objective function into an Ising model and uses an annealing method to search for a global solution.
  • annealing methods mainly include simulated annealing and quantum annealing.
  • the Ising model is a model that considers first-order terms and second-order terms regarding multiple spin variables that take values of -1 or 1. For example, it is known that some objective functions of combinatorial optimization problems, such as the traveling salesman problem, can be expressed by an Ising model.
  • Patent Document 1 is a conventional technique that uses an annealing machine to find the optimal combination.
  • Patent Document 1 describes that an objective function is formulated from data, and conditions for minimizing or maximizing the objective function are optimized using annealing such as quantum annealing.
  • the objective function in order to optimize the conditions for minimizing or maximizing the objective function using an annealing machine or the like using the method shown in Patent Document 1, the objective function must be converted into an Ising model by some method. There is a need to. However, as the size of the explanatory variables appearing in the objective function and the number of sample data used for regression increase, the number of variables used in the Ising model and, by extension, the annealing machine, etc. also increases. Generally, an annealing machine has an upper limit on the total number of variables that can be used, and if the total number of variables used exceeds the upper limit, the annealing machine will no longer be able to handle it.
  • the present invention has been made in view of the above, and one of its purposes is to provide an information processing device and a processing condition determination system that can facilitate analysis using an annealing machine or the like. It is in.
  • An information processing device analyzes a learning database consisting of sample data regarding one or more explanatory variables and one or more objective variables, and derives an unconstrained quadratic form function or a linearly constrained linear form function. It has a learning section, a machine learning setting section, and a function conversion section.
  • the learning unit derives the objective function by performing machine learning using the kernel method on the learning database.
  • the machine learning setting section sets a machine learning method.
  • the function conversion unit converts the objective function into an unconstrained quadratic form function or a linearly constrained linear form function regarding dummy variables and explanatory variables.
  • the learning unit includes a data conversion method setting unit that sets a conversion method for the learning database, and a learning data conversion unit that converts the learning database so that the number of dummy variables is reduced based on the set conversion method. , and a function derivation unit that derives an objective function from the converted learning database.
  • FIG. 1 is a functional block diagram showing a configuration example of an information processing device according to a first embodiment
  • FIG. FIG. 2 is a block diagram showing an example of the hardware configuration of the information processing device in FIG. 1.
  • FIG. FIG. 2 is a diagram showing a configuration example of a learning database in FIG. 1.
  • FIG. FIG. 2 is a diagram showing a configuration example of a learning database in FIG. 1.
  • FIG. FIG. 2 is a diagram illustrating an example of the processing content of the learning unit in FIG. 1 and showing an example of a true regression function that is satisfied by an explanatory variable and an objective variable.
  • 4A is a diagram showing how the true regression shown in FIG. 4A is estimated from the sample data shown in FIG. 3A.
  • FIG. 3 is a diagram showing how an acquisition function is estimated using Bayesian optimization.
  • 2 is a diagram showing an example of an output result from a function conversion section in FIG. 1.
  • FIG. 2 is a diagram showing an example of an output result from a function conversion section in FIG. 1.
  • FIG. 2 is a diagram showing an example of an output result from a function conversion section in FIG. 1.
  • FIG. 2 is a diagram showing an example of an output result from a function conversion section in FIG. 1.
  • FIG. 2 is a flowchart illustrating an example of processing contents of the information processing apparatus in FIG. 1.
  • FIG. FIG. 2 is a diagram illustrating an example of a discretization method by the learning data converter in FIG. 1.
  • FIG. FIG. 2 is a diagram illustrating an example of a discretization method by the learning data converter in FIG.
  • FIG. FIG. 2 is a diagram illustrating an example of a method of converting learning data by a learning data converter in FIG. 1.
  • FIG. 2 is a diagram illustrating an example of a method of converting learning data by a learning data converter in FIG. 1.
  • FIG. 8B is a diagram illustrating an example of a conversion method different from FIGS. 8A and 8B.
  • FIG. 8B is a diagram illustrating an example of a conversion method different from FIGS. 8A and 8B.
  • 8A and 8B are diagrams illustrating an example of a conversion method that is further different from FIGS. 8A and 8B.
  • 8A and 8B are diagrams illustrating an example of a conversion method that is further different from FIGS. 8A and 8B.
  • FIG. 8A and 8B are diagrams illustrating an example of a conversion method that is further different from FIGS. 8A and 8B.
  • FIG. 2 is a functional block diagram showing a configuration example of an information processing device according to a second embodiment.
  • 12 is a flowchart illustrating an example of processing contents of the information processing apparatus in FIG. 11.
  • FIG. 7 is a functional block diagram showing a configuration example of a processing condition determination system according to a third embodiment.
  • 14 is a flowchart showing an example of processing contents of the processing condition determination system in FIG. 13.
  • 14 is a flowchart showing an example of processing contents of the processing condition determination system in FIG. 13.
  • FIG. 13 is a diagram showing an example of an input screen displayed on the information processing device.
  • 14 is a diagram showing an example of an output screen displayed on the information processing device in FIG. 13.
  • FIG. 16A is a diagram showing an example of an output screen different from FIG. 16A.
  • a polynomial kernel or an RBF (Radial Basis Function) kernel is used in the regression analysis.
  • the unconstrained quadratic form function is also called a QUBO (Quadratic Unconstrained Binary Optimization) model.
  • the information processing device and processing condition determination system are based on a conversion method to an Ising model using dummy variables. Therefore, first, an overview of the conversion method to the Ising model, which is the premise, will be explained.
  • the Ising model is a model that takes into account up to the quadratic terms of variables. Therefore, in order to convert a general combinatorial optimization problem into an Ising model, it is necessary to reduce the order of terms higher than quadratic, for example, by introducing dummy variables. It is known that the Ising model is equivalent to an unconstrained quadratic form function regarding a variable that is created by arranging binary variables that take values only 0 or 1 through a predetermined transformation. Therefore, below, conversion to the Ising model will be explained as conversion of an objective function using a binary variable as an explanatory variable to an unconstrained quadratic form function.
  • the objective function f(x) regarding the explanatory variable x which is obtained using machine learning such as the kernel method, is converted into an unconstrained quadratic form by appropriately generating dummy variables. Convert to a function or a linearly constrained linear form function.
  • the unconstrained quadratic function regarding the explanatory variable x in other words, the variable vector x, is at most a quadratic function with respect to , is a function expressed as the following equation (1).
  • the superscript T in equation (1) indicates a transposition operation for a matrix.
  • this matrix Q will be referred to as a coefficient matrix.
  • a linear form function with linear constraints on a variable vector x is a vector a with dimensions equal to the number of dimensions of x, a matrix A with a number of columns equal to the number of dimensions of This is a function expressed as the following equation (2) using the vector c.
  • vector a will be referred to as a coefficient vector, matrix A as a constraint matrix, and vector c as a constraint constant vector.
  • a T x s. t. Ax c...(2)
  • equation (3A) For example, assume that the objective function f(x) with a binary variable as an explanatory variable is a regression function using a polynomial kernel as shown in equation (3A).
  • x T (x 1 , x 2 , ..., x d ) is the explanatory variable vector that is the solution
  • x p (x p1 , x p2 , ..., x pd ) is the regression vector
  • N is the number of sample data
  • ⁇ p is a coefficient obtained by regression analysis
  • is a constant of a hyperparameter.
  • equation (3A) can be converted into an unconstrained quadratic form function like equation (3B).
  • equation (4A) the objective function f(x) is a regression function using an RBF kernel or a Gaussian kernel as shown in equation (4A).
  • the regression function shown in equation (4A) can be converted into an unconstrained quadratic form function like equation (4B).
  • dummy variables must be incorporated into the annealing machine.
  • an annealing machine has an upper limit on the total number of variables that can be used, and if the total number of variables used exceeds the upper limit, the annealing machine will no longer be able to handle it.
  • the values of explanatory variables in a given learning database are converted so that the number of dummy variables is reduced.
  • the value range of x T x p is narrowed so that the number of possible values of the inner product x T x p is reduced.
  • the value range of the explanatory variable of the sample data is shifted so that the component of x p includes many zero values.
  • the explanatory variable represents a label, ie, an identifier, rather than a quantity
  • the labels are reassigned so that, for example, zero values appear more frequently.
  • 2 is narrowed so that the possible values of
  • the range of the explanatory variable may be shifted so that the maximum absolute value of x i -x pi becomes smaller.
  • the optimal solution of the explanatory variables obtained by analysis with the annealing machine also reflects the conversion. Therefore, the value of the explanatory variable obtained by analysis using an annealing machine, that is, the optimal solution obtained by analyzing the objective function obtained from the training database after transformation, is subjected to the inverse transformation of the transformation performed. Obtain the value of the explanatory variable before conversion.
  • the method of converting a learning database is not limited to one type; for example, it is possible to prepare multiple learning databases with different conversions, compare multiple objective functions obtained by learning each, and calculate the total number of variables required. It is also possible to use the objective function with the least number of . Furthermore, when searching for an optimal solution, it is also possible to use not only annealing but also linear programming, integer programming, and the like.
  • FIG. 1 is a functional block diagram showing a configuration example of an information processing apparatus according to the first embodiment.
  • the information processing apparatus 100 shown in FIG. 1 uses machine learning to derive an objective function from data of explanatory variables and objective variables, and converts the objective function into an Ising model, in other words, maps it.
  • the information processing device 100 generates an additional dummy variable X' for the explanatory variable X, and converts the objective function into a quadratic function without constraints or with linear constraints regarding the explanatory variable Convert to linear form function and output.
  • the information processing device 100 includes a learning database 210, a machine learning setting section 220, a learning section 230, a function conversion section 300, and a function selection section 310.
  • the learning database 210 stores sample data regarding one or more explanatory variables X and one or more objective variables Y.
  • the machine learning setting unit 220 sets the details of the machine learning method, such as the type and specifications, based on user input, for example.
  • the learning unit 230 derives an objective function by performing machine learning using a kernel method or the like on the learning database 210 based on the machine learning method set by the machine learning setting unit 220.
  • the function conversion unit 300 converts the objective function derived by the learning unit 230 into an unconstrained quadratic form function or a linearly constrained linear form function and outputs the converted function. That is, the function conversion unit 300 converts the objective function into an Ising model.
  • the function selection unit 310 selects a function with a smaller total number of variables from among the plurality of functions output from the function conversion unit 300 when the function conversion unit 300 converts each of the plurality of objective functions into an Ising model.
  • FIG. 2 is a block diagram showing an example of the hardware configuration of the information processing device in FIG. 1.
  • the information processing device 100 is realized using, for example, a computer system as shown in FIG. 2.
  • the computer system includes a computer 1400, a display device 1404, and an input device 1405.
  • Computer 1400 includes a processor 1401, memory 1402, and input/output port 1403. Each of these components is connected by a communication path 1406 for transmitting and receiving data.
  • Communication path 1406 can be realized by a data bus or a network.
  • the memory 1402 is configured, for example, by a combination of volatile memory and nonvolatile memory. Specifically, the memory 1402 is realized by appropriately combining semiconductor memories such as DRAM, SRAM, flash memory, SSD (Solid State Drive), magnetic storage media such as HDD (Hard Disk Drive), and the like.
  • the memory 1402 stores an information processing program 1410, learning data 1411, and processing data 1412.
  • the information processing program 1410 is a computer program that defines the content to be executed by the processor 1401.
  • the learning data 1411 corresponds to detailed data in the learning database 210 shown in FIG.
  • the processing data 1412 is, for example, data representing parameters input by the user, data representing intermediate results or final results of calculations by the processor 1401, or the like.
  • Processed data 1412 may be stored in memory 1402 in a data format such as a file that can be accessed by a program.
  • the processor 1401 is, for example, a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit). By executing the information processing program 1410 stored in the memory 1402, the processor 1401 functions as the machine learning setting section 220, learning section 230, function conversion section 300, and function selection section 310 shown in FIG. let The processor 1401 reads data from the memory 1402 and the input/output port 1403, processes or performs operations on the read data, and outputs the processed data to the memory 1402 and the input/output port 1403 based on instructions defined in the program. , receives data from the input device 1405, transmits data to the display device 1404, etc.
  • a CPU Central Processing Unit
  • GPU Graphics Processing Unit
  • the input/output port 1403 is an interface for inputting learning data into the computer 1400 from the outside and outputting processing results from the computer 1400 to the outside.
  • the input/output port 1403 can be realized, for example, by a general-purpose input/output port such as a USB port provided in a general computer, a network port such as an Ethernet (registered trademark) terminal, or the like.
  • the display device 1404 is an interface that displays information provided to the user from the information processing device 100, that is, the computer 1400.
  • the display device 1404 can be realized using, for example, a general liquid crystal display.
  • the input device 1405 is an interface for a user to input information into the computer 1400, and can be implemented using, for example, a keyboard or a mouse.
  • each part shown in Fig. 1 is not limited to the computer system shown in Fig. 2, but can also be partially or entirely realized using FPGA (Field Programmable Gate Array), ASIC (Application Specific Integrated Circuit), etc. good. That is, each part shown in FIG. 1 may be realized by a combination of hardware and software.
  • FPGA Field Programmable Gate Array
  • ASIC Application Specific Integrated Circuit
  • the information processing program 1410 may be stored in a non-transitory tangible computer-readable recording medium and then supplied to the computer 1400.
  • Examples of such recording media include magnetic recording media such as HDDs, optical recording media such as DVDs (Digital Versatile Discs) and Blu-ray discs, and semiconductor memories such as flash memories.
  • information processing program 1410 may be supplied to computer 1400 via a telecommunications line such as Ethernet.
  • 3A and 3B are diagrams showing an example of the configuration of the learning database in FIG. 1.
  • the learning database 210 is structured data that includes the number of samples, here N pieces, of sample data consisting of combinations of the values of explanatory variables X1, X2, ... and the value of the objective variable Y1. is stored.
  • the number of objective variables Y1, Y2, . . . may be two or more.
  • the machine learning setting unit 220 includes a kernel method selection unit 221 and a kernel function selection unit 222, as shown in FIG.
  • the kernel method selection unit 221 selects a kernel method to be used for deriving the objective function based on user input. Examples of kernel methods include kernel regression, Bayesian optimization, multi-objective optimization, and the like.
  • the kernel function selection unit 222 selects the type of kernel function used in the kernel method based on user input. Examples of the kernel function include an RBF kernel, a polynomial kernel, and the like.
  • FIG. 4A explains an example of the processing content of the learning unit in FIG. 1, and is a diagram showing an example of a true regression function that is satisfied by the explanatory variable and the objective variable.
  • FIG. 4B is a diagram showing how the true regression shown in FIG. 4A is estimated from the sample data shown in FIG. 3A.
  • FIG. 4C is a diagram showing how the acquisition function is estimated using Bayesian optimization.
  • the learning unit 230 When kernel regression is selected, the learning unit 230 derives an objective function that becomes a regression function from the sample data in the learning database 210, as shown in FIG. 4B. Furthermore, when Bayesian optimization is selected, the learning unit 230 derives an acquisition function as shown in FIG. 4C. The acquisition function is the regression function estimated in FIG. 4B modified using the prediction variance. Note that, as shown in FIG. 3B, when there are two or more objective variables, that is, in the case of multi-objective optimization, the learning unit 230 may calculate a linear sum of regression functions for each objective variable as the objective function.
  • the learning unit 230 includes a data conversion method setting unit 231, a learning data conversion unit 232, and a function derivation unit 233.
  • the data conversion method setting unit 231 sets a conversion method for sample data stored in the learning database 210, for example, based on user input.
  • the learning data conversion unit 232 converts the learning database 210, specifically, the values of sample data therein, based on the set conversion method. At this time, the learning data converter 232 converts the learning database 210 so that the number of dummy variables generated by the function converter 300, that is, the number of dummy variables spk in equation (3B) or equation (4B), is reduced. Convert.
  • the function derivation unit 233 derives an objective function from the converted learning database 210, as shown in FIGS. 4A, 4B, and 4C.
  • the function conversion unit 300 uses a dummy variable to eliminate one or more explanatory variables that explicitly appear in the objective function using the above-described conversion method to the Ising model, and converts the explanatory variables into higher-order Performs processing to reduce nonlinear terms to a dimension of quadratic or lower. Then, through such processing, the function conversion unit 300 converts the objective function into a quadratic form function without constraints or a linear form function with linear constraints regarding dummy variables and explanatory variables.
  • FIG. 5A, FIG. 5B, FIG. 5C, and FIG. 5D are diagrams showing examples of output results from the function conversion section in FIG. 1.
  • Figure 5A shows a list of variables of the unconstrained quadratic form function or the linearly constrained linear form function, including N explanatory variables X1 to XN and N' generated dummy variables X'1 to X. Contains 'N'.
  • the function conversion unit 300 When converting the objective function into an unconstrained quadratic form function, the function conversion unit 300 outputs each element of the coefficient matrix Q in equation (1), as shown in FIG. 5B.
  • the coefficient matrix Q is composed of N+N' square matrices.
  • the function converting unit 300 also uses the coefficient vector a, the constraint matrix A, and the constraint constant vector c in equation (2), as shown in FIGS. 5C and 5D. Output each element of .
  • Coefficient vector a has a number of dimensions of N+N'
  • constraint matrix A has a number of columns equal to the number of dimensions of coefficient vector a
  • constraint constant vector c has a number of dimensions equal to the number of rows of constraint matrix A. has.
  • FIG. 6 is a flowchart showing an example of processing contents of the information processing apparatus in FIG. The flowchart is realized, for example, by the processor 1401 shown in FIG. 2 executing the information processing program 1410 in the memory 1402.
  • FIG. 6 shows a state from a state in which sample data of an explanatory variable The processing details are shown.
  • the information processing device 100 uses the kernel method selection unit 221 to set one of kernel regression, Bayesian optimization, and multi-objective optimization using kernel regression based on user input from the input device 1405 (step S101). For example, when there is a sparse learning area with little data, the Bayesian optimization method is selected to efficiently determine the next search data. Further, for example, if it is desired to obtain an optimal solution when there are a plurality of objective variables and they are in a trade-off relationship with each other, a multi-objective optimization method using kernel regression is selected.
  • the information processing device 100 uses the kernel function selection unit 222 to set the type of kernel function in the kernel method selected in step S101 based on the user input from the input device 1405 (step S102).
  • Types of kernel functions include functions such as RBF kernel, polynomial kernel, and sigmoid kernel.
  • the information processing device 100 uses the data conversion method setting unit 231 to set a method for converting the sample data in the learning database 210 based on the user input from the input device 1405 (step S103).
  • the user specifies the resolution for discretizing continuous variables for the values of sample data, that is, the values of each explanatory variable X.
  • the resolution of a continuous variable is specified as the number of bits representing the interval or entire range of continuous values when discretized. For example, if 8 bits is specified as the resolution for discretizing a certain explanatory variable, the value of the explanatory variable X will be converted into a 256-step discrete value using eight binary variables.
  • the user specifies, for each explanatory variable of the sample data, whether or not the explanatory variable can have its value replaced. That is, the user specifies whether each explanatory variable represents a label, that is, an identifier, or a meaningful quantity in terms of magnitude.
  • explanatory variables representing the types of materials and tools used hold labels, that is, numbers assigned to each object as an identifier. In this case, the magnitude relationship and the difference value have no meaning, so as long as a unique number is assigned to the object, the number can be changed arbitrarily while retaining the information of the original sample data.
  • the user may specify a search range for explanatory variables when an annealing machine or the like searches for an optimal solution for the explanatory variables for each explanatory variable of the sample data.
  • the search range for the optimal solution is specified when searching for the optimal solution in a range narrower than the value range of the explanatory variable of the sample data. For example, even if experimental values as sample data are obtained over a wide range of explanatory variables, if the preferred value range of the explanatory variables is limited under practical conditions, it is possible to search for the optimal solution within that range. good.
  • the information processing device 100 uses the learning data converter 232 to convert the sample data in the learning database 210 based on the data conversion method set in step S103 (step S104).
  • the learning data conversion unit 232 divides the range of values included in the sample data for each explanatory variable at intervals specified in step S103 or at a resolution of the specified number of bits, and discretizes the range.
  • FIGS. 7A and 7B are diagrams illustrating an example of a discretization method by the learning data converter in FIG. 1.
  • the explanatory variable X1 includes values ranging from 34.2 to 36.2.
  • the learning data conversion unit 232 discretizes the explanatory variable X1 at intervals of 0.4 using, for example, three binary variables X1[1], X1[2], and X1[3].
  • 34.2 is the lowest value "000”
  • 35.4 and 36.2 are discretized into "011” and "101", respectively, in binary notation.
  • the learning data conversion unit 232 converts the value of the explanatory variable X of the sample data so that the number of necessary dummy variables is reduced. For example, when using a polynomial kernel, the learning data conversion unit 232 converts the explanatory variable x or sample data of the explanatory variable x , that is, the explanatory variable The conversion is performed so that the number of zero values increases in the value x p .
  • FIGS. 8A and 8B are diagrams illustrating an example of a method of converting learning data by the learning data converter in FIG. 1.
  • 9A and 9B are diagrams illustrating an example of a conversion method different from those in FIGS. 8A and 8B.
  • 10A and 10B are diagrams illustrating an example of a conversion method that is further different from FIGS. 8A and 8B.
  • the learning data conversion unit 232 changes the value of the explanatory variable Shift the range by adding or subtracting the offset value.
  • the values of the explanatory variable X2, which is sample data include many "3"s
  • the values of the explanatory variable X4, which is sample data include many "5"s.
  • the learning data conversion unit 232 searches for a value that is frequently included for each explanatory variable X that does not represent a label, and sets that value as an offset value.
  • the learning data conversion unit 232 subtracts the offset value “3” from each value of the explanatory variable X2, and subtracts the offset value “5” from each value of the explanatory variable , shift the range of explanatory variables X2 and X4.
  • the number of zero values increases among the values of the explanatory variables X2 and X4, so the number of dummy variables required when using a polynomial kernel, for example, can be reduced.
  • the learning data conversion unit 232 shifts the range of the explanatory variables X2 and All you have to do is process it.
  • the learning data conversion unit 232 increases the number of zero values in xp when the explanatory variable X represents a label.
  • a specific set of values is determined from , and values are exchanged for the specific set of values.
  • the explanatory variable X1 represents a label
  • the value of the explanatory variable X1 which is sample data, contains many "1"s.
  • the learning data conversion unit 232 sets one of the set of specific values to "1" and the other to "0", and swaps "1" and "0” as shown in FIG. 9B.
  • the number of zero values increases among the values of the explanatory variable X1, so the number of dummy variables required when using a polynomial kernel, for example, can be reduced.
  • the learning data conversion unit 232 replaced the values of the explanatory variable X1, but if the same process is performed on at least some, preferably all, of the explanatory variables X representing the label. good. Further, it is also possible to convert the explanatory variable X representing the label using the method shown in FIG. 8B.
  • the learning data conversion unit 232 may shift the range of the explanatory variable based on the search range for the optimal solution. For example, if the original search range for a certain explanatory variable X is from -10 to 10, if the explanatory variable can take 0 or 1. In this case, if the number of binary digits is M, M binary variables are required.
  • the learning data conversion unit 232 shifts the value range in the search range by +10, for example, and converts it into a range from 0 to 20.
  • the number of necessary binary variables can be reduced to five, and the components representing the upper M-5 digits can be set to zero. .
  • the number of necessary dummy variables can also be reduced.
  • the shift width of the optimal value range based on the distribution of the value x p included in the sample data is different from the shift width of the optimal value range based on the search range of the optimal solution, two learning databases converted using both methods will be used. 210 may be created. Furthermore, even when using a kernel other than a polynomial kernel, the number of dummy variables can be reduced by converting the sample data, that is, the values of the explanatory variables, by shifting the range or replacing the values. At this time, if it is not clear what kind of conversion should be performed to reduce the number of dummy variables, a plurality of converted learning databases 210 may be created in which shift widths and values are randomly exchanged.
  • the learning unit 230 may set a plurality of conversion methods for the learning database 210.
  • the learning unit 230 performs, for example, exchanging the values of the explanatory variable X representing the label, and predetermines a plurality of types of exchanging methods.
  • the learning unit 230 shifts the range of the explanatory variable X that does not represent a label, and predetermines a plurality of methods for determining the shift width.
  • the learning unit 230 sets a plurality of conversion methods for the learning database 210 by randomly combining a plurality of types of replacement methods and a plurality of types of shift width determination methods, and performs a plurality of conversions based on the plurality of conversion methods.
  • a completed learning database 210 may also be created.
  • the information processing device 100 uses the function derivation unit 233 to derive an objective function based on the learning database 210 after conversion in step S104 (step S105). That is, the function derivation unit 233 derives, for example, an objective function as shown in equation (3A). At this time, as described in step S104, if a plurality of conversion methods are set for the learning database 210, the function derivation unit 233 uses a plurality of conversion methods based on the plurality of conversion methods, that is, the plurality of converted learning databases 210. Derive the objective function of
  • the information processing device 100 uses the function conversion unit 300 to convert the objective function derived in step S105 into an unconstrained quadratic form function or a linearly constrained linear form function (step S106). That is, the function conversion unit 300 transforms the objective function into the unconstrained quadratic form function shown in equation (1) or the equation (2 ) into a linear form function with linear constraints. At this time, if a plurality of objective functions have been derived, the function conversion unit 300 converts each of the plurality of objective functions into an unconstrained quadratic form function or a linearly constrained linear form function.
  • the information processing device 100 obtains the total number of variables in the function converted in step S106.
  • the information processing device 100 uses the function selection unit 310 to determine the total number of variables from among the plurality of functions. Select the function with the least number of functions and thus the objective function.
  • the information processing device 100 outputs an unconstrained quadratic form function or a linearly constrained linear form function corresponding to the objective function, that is, the data shown in FIG. 5B or the data shown in FIGS. 5C and 5D. (Step S107).
  • the method of the first embodiment focuses on dummy variables that are determined depending on the values of explanatory variables that are sample data in the learning database 210, and converts the learning database 210 so that the number of dummy variables can be reduced.
  • an objective function is derived from the transformed learning database 210. This allows conversion to an Ising model using fewer variables, making it easier to analyze using an annealing machine or the like.
  • the number of variables can be reduced to a level that can be handled by an annealing machine.
  • the time it takes for an annealing machine to obtain an optimal solution can be reduced.
  • FIG. 11 is a functional block diagram showing a configuration example of an information processing device according to the second embodiment. This embodiment differs from the configuration example of FIG. 1 described in the first embodiment in that a plurality of objective functions with different search ranges for the optimal solution are derived. Hereinafter, differences from Embodiment 1 will be explained.
  • the information processing device 100 shown in FIG. 11 has a different configuration of the learning unit 230 compared to the configuration example in FIG. 1. That is, the learning section 230 in FIG. 11 includes a problem dividing section 234 in addition to the components shown in FIG. When the total number of required variables is large, the problem dividing unit 234 divides one problem into a plurality of subproblems with different search ranges for optimal solutions.
  • the problem dividing unit 234 is also realized, for example, by the processor 1401 shown in FIG. 2 executing the information processing program 1410 in the memory 1402.
  • FIG. 12 is a flowchart illustrating an example of the processing content of the information processing device in FIG. 11.
  • FIG. 12 from a state where sample data of explanatory variables The processing content up to outputting the linear form function is shown.
  • the explanation will focus mainly on the differences from the flowchart shown in FIG. 6.
  • the information processing device 100 performs each setting in steps S101, S102, and S103 based on user input, as in the case of FIG. 6.
  • the information processing apparatus 100 uses the data conversion method setting unit 231 to set the number of divisions for dividing the problem for each explanatory variable X based on user input in step S103.
  • the number of divisions indicates how many parts the search range of each explanatory variable X is divided into.
  • the problem dividing unit 234 divides the problem into subproblems with different search ranges based on the number of divisions specified for each explanatory variable X (step S104-1). For example, assume that the user specifies the search range for the optimal solution from Min1 to Max1 and specifies the number of divisions as 2 for the explanatory variable X1. In this case, the problem division unit 234 divides one problem into a subproblem [1] whose search range is limited from Min1 to (Min1+Max1)/2, and a subproblem [2] whose search range is limited from (Min1+Max1)/2 to Max1. Divide into.
  • the learning data conversion unit 232 converts the learning database 210 for each of the plurality of subproblems with a limited search range for the optimal solution in the same manner as in step S104 in FIG. 6 (step S104-2). ).
  • the function derivation unit 233 derives the objective function for each subproblem (step S105), and the function conversion unit 300 converts the unconstrained quadratic form function or the linear constraint function for each objective function. Conversion to a temporary form function is performed (step S106).
  • the function selection unit 310 selects the objective function with the smallest total number of variables for each subproblem (step 107- 1). Furthermore, in FIG. 12, the function selection unit 310 determines whether the total number of variables required by each objective function selected in step S107-1 does not exceed a predetermined upper limit (step S108 ).
  • step S108: Yes If the total number of variables does not exceed the upper limit (step S108: Yes), the function selection unit 310 outputs an unconstrained quadratic form function or a linearly constrained temporary form function corresponding to the target objective function (step S107- 2). On the other hand, if the total number of variables exceeds the upper limit (step S108: No), the function selection unit 310 returns to step S103 and resets the data conversion method, for example, resets the number of divisions.
  • the function selection unit 310 may allow the user to make a decision, for example, by presenting the total number of variables required by each objective function to the user. In this case, when the user confirms that the total number of required variables does not exceed the upper limit, the function selection unit 310 outputs the selected function (step 107-2). On the other hand, if the total number of required variables exceeds the upper limit, for example, the function selection unit 310 may select variables that are necessary for each subproblem, such as presenting to the user a number larger than the number of divisions previously specified as the number of divisions. The user is presented with a setting that reduces the total number of . Then, the function selection unit 310 prompts the user to re-enter the data conversion method (step S103).
  • FIG. 13 is a functional block diagram showing a configuration example of a processing condition determination system according to the third embodiment.
  • the processing condition determination system 400 shown in FIG. 13 includes an information processing device 100, a processing device 500, a learning data generation section 600, and a processing condition analysis device 700.
  • the information processing device 100 has the same configuration as in the case of FIG. 11.
  • the explanatory variable X corresponds to the processing conditions of the processing device 500
  • the objective variable corresponds to the processing result of the processing device 500.
  • the processing condition analysis device 700 is typically an annealing machine that performs simulated annealing or quantum annealing. However, the processing condition analysis device 700 may be a device that performs analysis using integer programming or linear programming.
  • the annealing machine can be realized by, for example, dedicated hardware called a CMOS annealing machine or dedicated hardware called a quantum annealing machine.
  • the processing condition analysis device 700 searches for an optimal solution of explanatory variables for the unconstrained quadratic form function or the linearly constrained linear form function derived by the information processing device 100, and converts the optimum solution into a processing condition.
  • the processing condition analysis device 700 includes a processing condition analysis section 710 and a processing condition output section 720.
  • the processing condition analysis unit 710 searches for an optimal solution of explanatory variables that gives the minimum value or maximum value of the function output from the information processing device 100.
  • the processing condition output unit 720 processes or converts the optimal solution of the explanatory variables obtained by the processing condition analysis unit 710 into processing conditions, and outputs the processing conditions to the processing device 500.
  • the processing device 500 performs predetermined processing using the processing conditions from the processing condition analysis device 700, and uses the learning data generation unit 600 to convert the processing conditions and processing results into explanatory variables and objective variables, respectively, and performs information processing.
  • the learning database 210 of the device 100 is updated.
  • the processing device 500 is, for example, a device that processes a target sample by some kind of processing.
  • Processing device 500 includes a semiconductor processing device.
  • Semiconductor processing equipment includes lithography equipment, film forming equipment, pattern processing equipment, ion implantation equipment, heating equipment, cleaning equipment, and the like.
  • Lithography apparatuses include exposure apparatuses, electron beam lithography apparatuses, and X-ray lithography apparatuses.
  • the film forming apparatus include a CVD (Chemical Vapor Deposition) apparatus, a PVD (Physical Vapor Deposition) apparatus, a vapor deposition apparatus, a sputtering apparatus, and a thermal oxidation apparatus.
  • Examples of pattern processing devices include wet etching devices, dry etching devices, electron beam processing devices, and laser processing devices.
  • Examples of ion implantation devices include plasma doping devices and ion beam doping devices.
  • Examples of the heating device include a resistance heating device, a lamp heating device, and a laser heating device.
  • the processing device 500 may be an additive manufacturing device. Additive manufacturing equipment includes various types of additive manufacturing equipment, such as bath photopolymerization, material extrusion, powder bed fusion bonding, binder jetting, sheet lamination, material jetting, and directed energy deposition. Note that the processing device 500 is not limited to a semiconductor processing device or an additive manufacturing device.
  • the processing device 500 includes a processing condition input section 510, a processing section 520, and a processing result acquisition section 530.
  • the processing condition input unit 510 inputs the processing conditions output from the processing condition analysis device 700.
  • the processing unit 520 performs processing, such as processing, using the processing conditions input by the processing condition input unit 510.
  • a sample is placed inside, and processing is performed on the sample.
  • the processing result acquisition unit 530 acquires the processing result of the processing unit 520.
  • the processing results may be various things that can serve as objective variables, for example, processing dimensions and the like.
  • the learning data generation unit 600 processes or converts the processing conditions input to the processing condition input unit 510 into explanatory variable data and the processing results obtained by the processing result acquisition unit 530 into target variable data, and then performs learning.
  • the information is stored in the database 210.
  • the processing result acquisition unit 530 may be installed in a standalone device separate from the processing device 500, for example, in the form of a test device or the like.
  • the learning data generation section 600 is realized by, for example, a computer 1400 as shown in FIG. 2.
  • the computer 1400 may be provided inside or outside the processing device 500.
  • FIG. 14A and 14B are flowcharts showing an example of processing contents of the processing condition determination system in FIG. 13.
  • the user inputs arbitrary processing conditions using the processing condition input section 510 (step S201).
  • the input processing conditions are referred to as initial processing conditions.
  • the user may select, as the initial processing conditions, processing conditions that have been processed in the past by the processing device 500 and its related devices, or may select them using a design of experiments method.
  • the processing unit 520 processes the sample using the conditions input to the processing condition input unit 510 (step S202). At this time, if a processed sample remains, the processing unit 520 removes it, places a new unprocessed sample, and then performs the processing. When there are multiple processing conditions, the processing unit 520 performs the processing by replacing the sample each time. After the processing by the processing unit 520, the processing result acquisition unit 530 acquires the processing result (step S203).
  • the processing condition determination system ends the processing if a processing result that satisfies the user is obtained (step S204: Yes), and if not (step S204: No), the processing condition determination system ends the processing at step S205. to move to.
  • the learning data generation unit 600 converts the processing conditions input by the processing condition input unit 510 into explanatory variable data, and converts the processing results obtained by the processing result acquisition unit 530 into objective variable data. Then, the information is stored in the learning database 210, and the learning database 210 is updated.
  • the information processing device 100 uses the updated learning database 210 to perform steps S101 to S103, S104-1, S104-2, S105, S106, S107-1, S108a, S107, as in the case of FIG. -2 processes are executed in order.
  • step S108a the information processing device 100 determines whether or not to permit analysis by the processing condition analysis device 700 by providing the user with the total number of variables, etc. Let the user decide.
  • step S108a determines to permit the analysis
  • the information processing device 100 sends the unconstrained quadratic form function or the linearly constrained linear form function to be analyzed to the processing condition analysis device 700.
  • Output step S107-2
  • step S101 unlike the case in FIG. 12.
  • the user specifies not only the data conversion method but also the kernel method and kernel function again (steps S101 to S103).
  • the processing condition analysis unit 710 analyzes the function output from the information processing device 100 and searches for an optimal solution for the explanatory variables (step S301). For example, the processing condition analysis unit 710 analyzes the objective function for each subproblem output from the function selection unit 310 using annealing, integer programming, or linear programming. Thereby, the processing condition analysis unit 710 can search for the optimal solution x opt for the variable x such that each function is maximized or minimized.
  • the variable x to be searched for is a variable composed of an explanatory variable X and a dummy variable X', as shown in FIG. 5A.
  • the processing condition analysis unit 710 calculates a total of P optimal solutions X for each function in step S301. Explore opt .
  • the processing condition output unit 720 converts the data of the optimal solution X opt of the explanatory variable X obtained in step S301 into processing conditions (step S302).
  • the learning data conversion unit 232 converts the learning data, such as exchanging the values of explanatory variables and shifting the ranges, in step S104-2.
  • the processing condition output unit 720 converts the optimal solution X opt of the explanatory variable generate.
  • the processing condition output unit 720 converts the optimal solution of the explanatory variable Shift “+3”.
  • the processing condition output unit 720 In the optimal solution, the value "0" and the value "1" are exchanged.
  • step S302 if P subproblems with different search ranges have been processed, the processing condition output unit 720 selects the more optimal solution among the P optimal solutions X opt as the overall optimal solution.
  • the data of the optimal solution is converted into processing conditions.
  • the processing condition output unit 720 may output not only the optimal processing condition but also a plurality of processing conditions including the second and subsequent best processing conditions, as in the case of step S201.
  • the processing condition output unit 720 allows the user to determine whether or not to allow the processing device 500 to perform the processing (step S303). Then, if the user determines that execution of the process is permitted (step S303: Yes), the process condition output unit 720 outputs the process condition selected in step S302 to the process condition input unit 510, and Return to S202 (step S304). Along with this, processing by the processing device 500 is performed. On the other hand, if the user determines that execution of the process is not permitted (step S303: No), the processing condition output unit 720 returns to step S101 in FIG. let
  • step S204 a series of processes in which the processing device 500, the information processing device 100, and the processing condition analysis device 700 cooperate are repeatedly executed until a processing result that satisfies the user is obtained in step S204.
  • the processing device 500 sequentially updates the learning database 210 until a processing result that satisfies the user is obtained (step S205), and the information processing device 100 uses the updated learning database 210 to improve accuracy.
  • An objective function with a high value is derived (step S105). As a result, it becomes possible to determine high-quality processing conditions.
  • FIG. 15 is a diagram showing an example of an input screen displayed on the information processing device in FIG. 13.
  • the input screen is displayed on the display device 1404, for example, when the computer 1400 shown in FIG. 2 executes the information processing program 1410. Specifically, this input screen is presented to the user at steps S201, S101 to S103 in FIG. 14A.
  • the input GUI (Graphical User Interface) 1200 shown in FIG. 15 includes an initial processing condition setting box 1210, a data conversion setting box 1220, a machine learning setting box 1230, an analysis method setting box 1240, and a valid/invalid display. section 1260 and a decision button 1270.
  • the initial processing condition setting box 1210 has a condition input section 1211, and is used in the process of step S201 in FIG. 14A.
  • the user can input the data number, the name of each factor of the processing condition, and the value of each factor of each data into a structure such as a csv file as the initial processing condition.
  • These factors are control factors of the processing device 500, and in the example of FIG. 15, the factors include power, pressure, etc.
  • the information processing device 100 outputs the initial processing conditions set in the initial processing condition setting box 1210 to the processing condition input unit 510 of the processing device 500.
  • the data conversion setting box 1220 has an explanatory variable setting input section 1221 for setting the data conversion method, and is used in the process of step S103 in FIG. 14A.
  • the explanatory variable setting input section 1221 the user specifies, for each explanatory variable, whether it is a variable representing a label or not, the number of divisions when dividing the problem, the search range for the optimal solution, and the resolution when discretizing. do.
  • the learning data conversion unit 232 in FIG. 13 converts the learning data based on the settings in the data conversion setting box 1220.
  • the machine learning setting box 1230 has a kernel method input section 1231 and a kernel function input section 1232, and is used in the processing of steps S101 and S102 in FIG. 14A.
  • the kernel method input unit 1231 the user selects, for example, one of kernel regression, Bayesian optimization, and multi-objective optimization using kernel regression.
  • the kernel method selection unit 221 in FIG. 13 selects a kernel method based on the settings in the kernel method input unit 1231.
  • the user selects, for example, an RBF kernel, a polynomial kernel, a Sigmoid kernel, or the like.
  • the kernel function selection unit 222 in FIG. 13 selects a kernel function based on the settings in the kernel function input unit 1232. Note that in FIG. 15, multi-objective optimization using kernel regression is simply abbreviated as multi-objective optimization.
  • the analysis method setting box 1240 has an analysis method input section 1241.
  • the user can select one of annealing, integer programming, and linear programming as the analysis method.
  • the processing condition analysis unit 710 in FIG. 13 executes analysis using an analysis method based on the settings in the analysis method input unit 1241.
  • a valid/invalid display section 1260 provided in each of the setting boxes.
  • FIG. 16A is a diagram showing an example of an output screen displayed on the information processing device in FIG. 13.
  • FIG. 16B is a diagram showing an example of an output screen different from FIG. 16A.
  • the output screen is displayed on the display device 1404, for example, when the computer 1400 shown in FIG. 2 executes the information processing program 1410.
  • the objective function output GUI 1500 shown in FIG. 16A is presented to the user at steps S107-1 and S108a in FIG. 14A. That is, the objective function output GUI 1500 displays the output of the function conversion unit 300 together with the conditions used by the learning data conversion unit 232 and the problem division unit 234, and informs the user of the objective function to be used and whether or not to proceed to the next step. It allows you to choose between.
  • the objective function output GUI 1500 is displayed by the function selection unit 310, for example.
  • the objective function output GUI 1500 includes an analysis range display box 1510, a continuation/resetting selection section 1540, and a decision button 1550.
  • One analysis range display box 1510 is displayed for each partial problem. In the example of FIG. 16A, two partial problems with different search ranges for pressure in the processing conditions are displayed.
  • Each analysis range display box 1510 has a search range display section 1501, an objective function selection check box 1502, a learning condition display section 1503, and a required variable display section 1504.
  • One objective function selection check box 1502, learning condition display section 1503, and required variable display section 1504 are displayed for each objective function output by the function conversion section 300 for each partial problem.
  • the user selects the objective function to be used in the objective function selection check box 1502. That is, the user can perform the work in step S107-1 in FIG. 14A using this GUI. Further, the user uses the continuation/resetting selection section 1540 and the determination button 1550 to select whether to proceed to the next procedure. That is, the user can perform the work in step S108a in FIG. 14A using this GUI.
  • the user when selecting an objective function, the user usually selects the objective function with the least total number of variables.
  • the present invention is not limited to this, and the user may select an objective function, for example, taking into consideration each error value displayed on the learning condition display section 1503.
  • the analysis result output GUI 1600 shown in FIG. 16B is presented to the user at step S303 in FIG. 14B. That is, the analysis result output GUI 1600 displays the current status and allows the user to select whether to proceed to the next step.
  • the analysis result output GUI 1600 includes an analysis result display section 1610, a continuation/resetting selection section 1620, and a decision button 1630. The user can use the continuation/reset selection section 1620 to select whether to continue or reset. That is, the user can perform the work in step S303 on this GUI.
  • the analysis result display section 1610 includes a function conversion result display section 1612 and a processing condition analysis result display section 1613.
  • the function conversion result display section 1612 displays information on the unconstrained quadratic form function or the linearly constrained linear form function output in step S107-2 in FIG. 14A.
  • the processing condition analysis result display unit 1413 acquires the processing conditions obtained in step S302 in FIG. 14B from the processing condition analysis device 700 and displays them.
  • the user can select whether to continue or reset using the continuation/resetting selection section 1620. If the user wants to permit the processing apparatus 500 to perform processing using the processing conditions displayed on the processing condition analysis result display section 1613, the user selects "Continue” and presses the enter button 1630. As a result, the processing conditions are input to the processing condition input unit 510 of the processing device 500, and the process moves to step S202 in FIG. 14A.
  • the user selects resetting and presses the enter button 1630. This causes a transition to step S101 in FIG. 14A.
  • an input GUI 1200 as shown in FIG. 15 is displayed. For example, when it is determined that the numerical value of a specific factor of the processing condition displayed on the processing condition analysis result display section 1613 is not favorable for the operation of the processing apparatus 500, resetting may be selected.
  • 100 Information processing device, 210: Learning database, 220: Machine learning setting unit, 221: Kernel method selection unit, 222: Kernel function selection unit, 230: Learning unit, 231: Data conversion method setting unit, 232: Learning data conversion unit, 233: function derivation unit, 234: problem division unit, 300: function conversion unit, 310: function selection unit, 400: processing condition determination system, 500: processing device, 510: processing condition input unit, 520: processing unit, 530: Processing result acquisition unit, 600: Learning data generation unit, 700: Processing condition analysis device, 710: Processing condition analysis unit, 720: Processing condition output unit, 1200: Input GUI, 1210: Initial processing condition setting box, 1211 : Condition input section, 1220: Data conversion setting box, 1221: Explanatory variable setting input section, 1230: Machine learning setting box, 1231: Kernel method input section, 1232: Kernel function input section, 1240: Analysis method setting box, 1241: Analysis method input section, 1260: Valid/invalid display section, 1270

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

アニーリングマシン等での解析を容易化することが可能な情報処理装置および処理条件決定システムを提供する。そこで、学習部230は、学習データベース210に対してカーネル法を用いた機械学習を行うことで目的関数を導出する。関数変換部300は、目的関数を、ダミー変数および説明変数に関する制約なし二次形式関数または線形制約あり一次形式関数へ変換する。ここで、学習部230は、学習データベース210の変換手法を設定するデータ変換手法設定部231と、設定された変換手法に基づいて、ダミー変数の数が少なくなるように学習データベース210を変換する学習データ変換部232と、変換された学習データベース210から目的関数を導出する関数導出部233と、を備える。

Description

情報処理装置および処理条件決定システム
 本発明は、情報処理装置および処理条件決定システムに関する。
 組み合わせ最適化問題を効率的に解く有効な解析装置として、目的関数をイジングモデルに変換してアニーリング法を用いて大局解を探索するアニーリングマシン(あるいはイジングマシン)がある。ここで、アニーリングの方式には、主に、シミュレーティッドアニーリング(Simulated Annealing)、量子アニーリング(Quantum Annealing)がある。イジングモデルとは、-1もしくは1の値をとる複数のスピン変数に関して、一次の項と二次の項までを考慮したモデルである。例えば、巡回セールスマン問題など、組み合わせ最適化問題の一部の目的関数は、イジングモデルで表せることが知られている。
 このような場合に、アニーリングマシンを用いて最適な組み合わせを求める従来技術として特許文献1がある。特許文献1には、データから目的関数を定式化し、それを最小化あるいは最大化するような条件を、量子アニーリング等のアニーリングを用いて最適化することが記載されている。
特開2019-96334号公報
 例えば、特許文献1に示されるような方法により、目的関数を最小化あるいは最大化するような条件を、アニーリングマシン等を用いて最適化するためには、何らかの方法で目的関数をイジングモデルに変換する必要がある。しかし、目的関数に現れる説明変数のサイズや、回帰に利用する標本データの数が増加すると、イジングモデル、ひいてはアニーリングマシン等で使用する変数も増加する。一般にアニーリングマシンには、利用できる変数の総数に上限があり、使用する変数の総数が上限を超えるとアニーリングマシンで扱えなくなる。
 本発明は、このようなことに鑑みてなされたものであり、その目的の一つは、アニーリングマシン等での解析を容易化することが可能な情報処理装置および処理条件決定システムを提供することにある。
 本願において開示される発明のうち、代表的な実施の形態の概要を簡単に説明すれば、次のとおりである。
 一実施の形態による情報処理装置は、1つ以上の説明変数および1つ以上の目的変数に関する標本データからなる学習データベースを解析し、制約なし二次形式関数または線形制約あり一次形式関数を導出するものであり、学習部と、機械学習設定部と、関数変換部と、を有する。学習部は、学習データベースに対してカーネル法を用いた機械学習を行うことで目的関数を導出する。機械学習設定部は、機械学習の手法を設定する。関数変換部は、目的関数を、ダミー変数および説明変数に関する制約なし二次形式関数または線形制約あり一次形式関数へ変換する。ここで、学習部は、学習データベースの変換手法を設定するデータ変換手法設定部と、設定された変換手法に基づいて、ダミー変数の数が少なくなるように学習データベースを変換する学習データ変換部と、変換された学習データベースから目的関数を導出する関数導出部と、を備える。
 前記一実施の形態によれば、アニーリングマシン等での解析を容易化することが可能になる。
実施の形態1による情報処理装置の構成例を示す機能ブロック図である。 図1における情報処理装置のハードウェア構成例を示すブロック図である。 図1における学習データベースの構成例を示す図である。 図1における学習データベースの構成例を示す図である。 図1における学習部の処理内容の一例を説明するものであり、説明変数と目的変数が満たす、真の回帰関数の一例を示す図である。 図3Aに示される標本データから、図4Aに示される真の回帰を推定する様子を示す図である。 ベイズ最適化を用いて獲得関数を推定する様子を示す図である。 図1における関数変換部での出力結果の一例を示す図である。 図1における関数変換部での出力結果の一例を示す図である。 図1における関数変換部での出力結果の一例を示す図である。 図1における関数変換部での出力結果の一例を示す図である。 図1における情報処理装置の処理内容の一例を示すフローチャートである。 図1における学習データ変換部による離散化方法の一例を説明する図である。 図1における学習データ変換部による離散化方法の一例を説明する図である。 図1における学習データ変換部による学習データの変換方法の一例を示す図である。 図1における学習データ変換部による学習データの変換方法の一例を示す図である。 図8Aおよび図8Bとは異なる変換方法の一例を示す図である。 図8Aおよび図8Bとは異なる変換方法の一例を示す図である。 図8Aおよび図8Bとはさらに異なる変換方法の一例を示す図である。 図8Aおよび図8Bとはさらに異なる変換方法の一例を示す図である。 実施の形態2による情報処理装置の構成例を示す機能ブロック図である。 図11における情報処理装置の処理内容の一例を示すフローチャートである。 実施の形態3による処理条件決定システムの構成例を示す機能ブロック図である。 図13における処理条件決定システムの処理内容の一例を示すフローチャートである。 図13における処理条件決定システムの処理内容の一例を示すフローチャートである。 図13において、情報処理装置に表示される入力画面の一例を示す図である。 図13において、情報処理装置に表示される出力画面の一例を示す図である。 図16Aとは異なる出力画面の一例を示す図である。
 以下、図面を用いて本発明の実施の形態を説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
 また、図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
 <実施の形態の概略>
 特許文献1に示されるような方法により、目的関数を最小化あるいは最大化するような条件を、アニーリングマシン等を用いて最適化するためには、目的関数をイジングモデルに変換する必要がある。その方法の一つとして、回帰分析により導出した強い非線形性を持つ目的関数を、説明変数以外の追加の変数であるダミー変数を導入することにより、イジングモデルと等価な制約なし二次形式関数または線形制約あり一次形式関数にマッピングする方法が考えられる。
 ここで、回帰分析には、例えば、多項式カーネルやRBF(Radial Basis Function)カーネルが用いられる。また、制約なし二次形式関数は、QUBO(Quadratic Unconstrained Binary Optimization)モデルとも呼ばれる。一実施の形態による情報処理装置および処理条件決定システムは、ダミー変数を用いたイジングモデルへの変換方法を前提としてなされたものである。そこで、まず、前提となるイジングモデルへの変換方法の概要について説明する。
 イジングモデルは、変数の二次の項までを考慮したモデルである。このため、一般の組み合わせ最適化問題をイジングモデルに変換するためには、例えば、ダミー変数の導入により、二次より高次の項の次数を落とすことが必要となる。イジングモデルは、所定の変換により、0か1のみの値をとるバイナリ変数を並べてできる変数に関する制約なし二次形式関数と等価であることが知られている。このため、以下では、イジングモデルへの変換を、バイナリ変数を説明変数とする目的関数の制約なし二次形式関数への変換として説明する。
 前提となるイジングモデルへの変換方法では、特にカーネル法等の機械学習を用いて得られる、説明変数xに関する目的関数f(x)を、ダミー変数を適宜生成することで、制約なし二次形式関数または線形制約あり一次形式関数に変換する。ここで、説明変数x、言い換えれば変数ベクトルxに関する制約なし二次形式関数は、xに関して高々二次の関数であり、xの次元数と等しい行数と列数を持つ正方行列Qを用いて、次の式(1)のように表される関数である。式(1)における上添え字のTは、行列に対する転置演算を示す。以下、この行列Qを係数行列と呼ぶ。
 xQx  …(1)
 一方、変数ベクトルxに関する線形制約あり一次形式関数とは、xの次元数と等しい次元のベクトルaと、xの次元数と等しい列数を持つ行列Aと、Aの行数と等しい次元数を持つベクトルcとを用いて、次の式(2)ように表される関数である。以下、ベクトルaを係数ベクトル、行列Aを制約行列、ベクトルcを制約定数ベクトルと呼ぶ。
 ax  s.t. Ax=c  …(2)
 例えば、バイナリ変数を説明変数とする目的関数f(x)が、式(3A)に示されるように多項式カーネルを用いた回帰関数である場合を想定する。式(3A)において、x=(x,x,…,x)は、解となる説明変数ベクトルであり、x=(xp1,xp2,…,xpd)は、回帰分析に用いる標本データの説明変数ベクトルである。また、Nは、標本データの数であり、αは、回帰分析により得られる係数であり、γは、ハイパーパラメータの定数である。
Figure JPOXMLDOC01-appb-M000001
 この場合、式(3A)に示される回帰関数は、式(3B)のような制約なし二次形式関数に変換できる。式(3B)において、dは、説明変数ベクトルxの次元であり、s=(sp0,sp1,…,spd)は、ダミー変数からなるバイナリ変数ベクトルであり、λ,λ’は、制約のペナルティ係数である。
Figure JPOXMLDOC01-appb-M000002
 式(3B)に示される変換例では、sを要素の1つだけが1となるone-hotベクトルとして、内積xの取り得る値に対してダミー変数を1つ割り当てることにより、x=Σ(kspk)と表している。したがって、必要なダミー変数の数は、内積xの取り得る値が多いほど多くなる。このことは、必要なダミー変数の数がxの値に依存することを意味する。
 別の例として、目的関数f(x)が、式(4A)に示されるようなRBFカーネルあるいはガウスカーネルを用いた回帰関数である場合を想定する。この場合、式(4A)に示される回帰関数は、式(4B)のような制約なし二次形式関数に変換できる。
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000004
 式(4B)に示される変換例では、|x-x=Σ((1-2xpi)x+xpi)の取り得る値に対してダミー変数を1つ割り当てることにより、|x-x=Σ(kspk)と表している。このことは、式(3B)の場合と同様、必要なダミー変数の数がxの値に依存することを意味する。上記では、簡単な式で表せるように説明変数がバイナリ変数である場合を例としたが、説明変数が非バイナリ変数、すなわち“0,1”以外の離散値も取り得る変数の回帰関数であっても同様に、必要なダミー変数の数は、xの値に依存する。
 しかし、このように、機械学習で導出される非線形性の強い目的関数に対して、説明変数の二次より高次の非線形項を二次以下の次元に落とすためのダミー変数を導入すると、説明変数に加えてダミー変数をアニーリングマシンに組み込む必要がある。一般に、アニーリングマシンには利用できる変数の総数に上限があり、使用する変数の総数が上限を超えるとアニーリングマシンで扱えなくなる。
 そこで、一実施の形態では、機械学習を行う前に、与えられた学習データベース内の説明変数の値、すなわち上記xを、ダミー変数の数が少なくなるように変換する。多項式カーネルを用いる例では、内積xが取り得る値が少なくなるように、xの値域を狭くする。具体的には、例えば、xの成分に多くのゼロ値が含まれるように、標本データの説明変数の値域をシフトする。あるいは、説明変数が量ではなくラベル、すなわち識別子を表している場合は、例えば、ゼロ値の出現頻度が高くなるようラベルを割り当て直す。
 また、変数の総数が多すぎる場合には、例えば、xのゼロ値を増やす、すなわち、解の探索範囲を限定することにより、多数の変数を必要とする大規模問題を、少ない変数で足りる複数の問題に分割する。
 なお、RBFカーネルを用いる例では、|x-xの取り得る値が少なくなるように|x-xの値域を狭くする。そのために、例えば、x-xpiの絶対値の最大値が小さくなるように説明変数の値域をシフトすればよい。
 このようにして、説明変数の値をシフトや入れ替えによって変換した後の学習データベースから目的関数を導出することにより、変換前の学習データベースから目的関数を導出する場合と比べて、より少ない変数を用いてイジングモデルへの変換を行える。その結果、アニーリングマシンでの解析を容易化することが可能になる。具体的には、例えば、アニーリングマシンで扱える程度に変数を削減することができる。また、変換前における変数の総数がアニーリングマシンで扱える場合であっても、変換によって変数を削減することで、アニーリングマシンが最適解を得るまでの時間を短縮できる。
 なお、このようにして学習データベース内の説明変数の値を変換すると、アニーリングマシンでの解析によって得られる説明変数の最適解も、当該変換が反映されたものとなる。そこで、アニーリングマシンでの解析によって得られる説明変数の値、すなわち、変換後の学習データベースから得られた目的関数を解析することで得られる最適解に対して、施した変換の逆変換を施すことにより、変換前の説明変数の値を得る。
 また、学習データベースの変換方法は一種類に限らず、例えば、異なる変換を施した学習データベースを複数用意し、それぞれを学習することで得られた複数の目的関数を比較し、必要な変数の総数が一番少ない目的関数を使用することもできる。また、最適解の探索に際しては、アニーリングに限らず、線形計画法や整数計画法などを用いることも可能である。
 (実施の形態1)
 <情報処理装置の概略>
 図1は、実施の形態1による情報処理装置の構成例を示す機能ブロック図である。図1に示される情報処理装置100は、説明変数と目的変数のデータから機械学習を用いて目的関数を導出し、その目的関数を、イジングモデルに変換、言い換えればマッピングするものである。具体的には、情報処理装置100は、説明変数Xに対して追加のダミー変数X’を生成し、目的関数を、説明変数Xおよびダミー変換X’に関する制約なし二次形式関数または線形制約あり一次形式関数に変換し、出力する。
 情報処理装置100は、学習データベース210と、機械学習設定部220と、学習部230と、関数変換部300と、関数選択部310と、を備える。学習データベース210には、1つ以上の説明変数Xおよび1つ以上の目的変数Yに関する標本データが格納される。機械学習設定部220は、例えば、ユーザ入力に基づいて、機械学習の手法、例えば種類や仕様などの詳細を設定する。
 学習部230は、機械学習設定部220で設定された機械学習の手法に基づいて、学習データベース210に対してカーネル法等を用いた機械学習を行うことで目的関数を導出する。関数変換部300は、学習部230で導出された目的関数を、制約なし二次形式関数または線形制約あり一次形式関数に変換して出力する。すなわち、関数変換部300は、目的関数を、イジングモデルに変換する。関数選択部310は、関数変換部300が複数の目的関数をそれぞれイジングモデルに変換した場合に、関数変換部300から出力された複数の関数の中から変数の総数がより少ない関数を選択する。
 図2は、図1における情報処理装置のハードウェア構成例を示すブロック図である。情報処理装置100は、例えば、図2に示されるようなコンピュータシステムを用いて実現される。当該コンピュータシステムは、コンピュータ1400と、表示装置1404と、入力装置1405と、を備える。コンピュータ1400は、プロセッサ1401と、メモリ1402と、入出力ポート1403と、を備える。これらの各構成要素は、データを送受信するための通信路1406で接続される。通信路1406は、データバスやネットワークによって実現され得る。
 メモリ1402は、例えば、揮発性メモリおよび不揮発性メモリの組み合わせで構成される。具体的には、メモリ1402は、DRAM、SRAM、フラッシュメモリ、SSD(Solid State Drive)等の半導体メモリや、HDD(Hard Disk Drive)等の磁気記憶媒体等を、適宜組み合わせることで実現される。メモリ1402は、情報処理プログラム1410と、学習データ1411と、処理データ1412とを格納する。
 情報処理プログラム1410は、プロセッサ1401が実行する内容を定めたコンピュータプログラムである。学習データ1411は、図1に示した学習データベース210内の詳細なデータに該当する。処理データ1412は、例えば、ユーザが入力したパラメータを表すデータや、プロセッサ1401による演算の中間結果や最終結果を表すデータ等である。処理データ1412は、それぞれプログラムでアクセス可能なファイル等のデータ形式でメモリ1402に格納され得る。
 プロセッサ1401は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等である。プロセッサ1401は、メモリ1402に格納された情報処理プログラム1410を実行することで、プロセッサ1401を、図1に示した機械学習設定部220、学習部230、関数変換部300および関数選択部310として機能させる。プロセッサ1401は、プログラムに定められた命令に基づいて、メモリ1402や入出力ポート1403からのデータの読み出し、読み出したデータの加工または演算、加工されたデータのメモリ1402や入出力ポート1403への出力、入力装置1405からのデータの受信、表示装置1404へのデータの送信等を行う。
 入出力ポート1403は、外部からコンピュータ1400に学習データを入力したり、コンピュータ1400から外部に処理結果を出力するインタフェースである。入出力ポート1403は、例えば、一般的なコンピュータに設けられるUSBポートのような汎用入出力ポートや、イーサネット(登録商標)端子のようなネットワークポート等で実現され得る。
 表示装置1404は、情報処理装置100、すなわちコンピュータ1400からユーザに提供する情報を表示するインタフェースである。表示装置1404は、例えば、一般的な液晶ディスプレイ等を用いて実現できる。入力装置1405は、ユーザがコンピュータ1400に情報を入力するためのインタフェースであり、例えば、キーボードやマウスを用いて実現できる。
 なお、図1に示した各部は、図2に示したようなコンピュータシステムに限らず、一部または全てが、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)等で実現されてもよい。すなわち、図1に示した各部は、ハードウェアとソフトウェアの組み合わせで実現されてもよい。
 また、情報処理プログラム1410は、非一時的な有形のコンピュータ可読記録媒体に格納された上で、コンピュータ1400に供給され得る。このような記録媒体として、例えば、HDD等を代表とする磁気記録媒体、DVD(Digital Versatile Disc)やブルーレイディスク等を代表とする光記録媒体、フラッシュメモリ等を代表とする半導体メモリ等が挙げられる。さらに、情報処理プログラム1410は、イーサネット等のような電気通信回線を介してコンピュータ1400に供給され得る。
 <情報処理装置の各部の詳細>
 図3Aおよび図3Bは、図1における学習データベースの構成例を示す図である。学習データベース210は、図3Aに示されるように、説明変数X1,X2,…の値と目的変数Y1の値との組み合わせからなる標本データを標本数分、ここではN個分含んだ構造化データを格納している。また、図3Bに示されるように、目的変数Y1,Y2,…の数は、2つ以上であっても良い。
 機械学習設定部220は、詳細には、図1に示されるように、カーネル手法選択部221と、カーネル関数選択部222と、を備える。カーネル手法選択部221は、ユーザ入力に基づいて、目的関数を導出するために用いるカーネル手法が選択する。カーネル手法として、例えば、カーネル回帰、ベイズ最適化、多目的最適化等が挙げられる。カーネル関数選択部222は、ユーザ入力に基づいて、カーネル法で用いるカーネル関数の種類を選択する。カーネル関数として、例えば、RBFカーネル、多項式カーネル等が挙げられる。
 学習部230で得られる目的関数としては、例えば、説明変数X=(X1,X2,…)と目的変数Y=(Y1,Y2,…)と間の回帰関数Y=f(X)がある。図4Aは、図1における学習部の処理内容の一例を説明するものであり、説明変数と目的変数が満たす、真の回帰関数の一例を示す図である。図4Bは、図3Aに示される標本データから、図4Aに示される真の回帰を推定する様子を示す図である。図4Cは、ベイズ最適化を用いて獲得関数を推定する様子を示す図である。
 学習部230は、カーネル回帰が選択された場合、図4Bに示されるように、学習データベース210内の標本データから、回帰関数となる目的関数を導出する。また、学習部230は、ベイズ最適化が選択された場合、図4Cに示されるような獲得関数を導出する。当該獲得関数は、図4Bで推定された回帰関数を、予測分散を用いて修正したものである。なお、図3Bに示したように、目的変数が2つ以上ある場合、すなわち多目的最適化の場合、学習部230は、目的関数として目的変数ごとの回帰関数の線形和を算出すればよい。
 学習部230は、より詳細には、図1に示されるように、データ変換手法設定部231と、学習データ変換部232と、関数導出部233と、を有する。データ変換手法設定部231は、例えば、ユーザ入力に基づいて、学習データベース210に格納された標本データの変換手法を設定する。
 学習データ変換部232は、設定された変換手法に基づいて、学習データベース210、詳細にはその中の標本データの値を変換する。この際に、学習データ変換部232は、関数変換部300で生成されるダミー変数の数、すなわち、式(3B)または式(4B)におけるダミー変数spkの数が少なくなるように学習データベース210を変換する。関数導出部233は、図4A、図4Bおよび図4Cに示したように、変換された学習データベース210から目的関数を導出する。
 関数変換部300は、例えば、前述した前提なるイジングモデルへの変換方法により、目的関数に陽に現れる1つ以上の説明変数をダミー変数を用いて消去し、説明変数の二次より高次の非線形項を二次以下の次元に落とす処理を行う。そして、このような処理を経て、関数変換部300は、目的関数を、ダミー変数および説明変数に関する制約なし二次形式関数または線形制約あり一次形式関数へ変換する。
 図5A、図5B、図5Cおよび図5Dは、図1における関数変換部での出力結果の一例を示す図である。図5Aは、制約なし二次形式関数または線形制約あり一次形式関数の持つ変数の一覧を示しており、N個の説明変数X1~XNと、生成したN’個のダミー変数X’1~X’N’と、を含んでいる。
 関数変換部300は、目的関数を制約なし二次形式関数に変換する場合、図5Bに示されるように、式(1)における係数行列Qの各要素を出力する。係数行列Qは、N+N’個の正方行列で構成される。また、関数変換部300は、目的関数を線形制約あり一次形式関数に変換する場合、図5Cおよび図5Dに示されるように、式(2)における係数ベクトルa、制約行列A、制約定数ベクトルcの各要素を出力する。係数ベクトルaは、N+N’個の次元数を有し、制約行列Aは、係数ベクトルaの次元数と等しい列数を有し、制約定数ベクトルcは、制約行列Aの行数と等しい次元数を有する。
 <情報処理装置の動作(学習データの変換方法)>
 図6は、図1における情報処理装置の処理内容の一例を示すフローチャートである。当該フローチャートは、例えば、図2に示したプロセッサ1401がメモリ1402内の情報処理プログラム1410を実行することで実現される。図6には、学習データベース210に説明変数Xと目的変数Yの標本データが格納された状態から、情報処理装置100が、制約なし二次形式関数または線形制約ありの一次形式関数を出力するまでの処理内容が示される。
 まず、情報処理装置100は、入力装置1405からのユーザ入力に基づき、カーネル手法選択部221を用いて、カーネル回帰、ベイズ最適化、カーネル回帰による多目的最適化のいずれかの手法を設定する(ステップS101)。例えば、データが少なく疎な学習領域があるときに次の探索データを効率良く決めるような場合には、ベイズ最適化の手法が選択される。また、例えば、目的変数が複数あって互いにトレードオフの関係にあるときに最適解を得たい場合には、カーネル回帰による多目的最適化の手法が選択される。
 次に、情報処理装置100は、入力装置1405からのユーザ入力に基づき、カーネル関数選択部222を用いて、ステップS101で選択したカーネル手法におけるカーネル関数の種類を設定する(ステップS102)。カーネル関数の種類としては、RBFカーネル、多項式カーネル、Sigmoidカーネル等の関数が挙げられる。
 続いて、情報処理装置100は、入力装置1405からのユーザ入力に基づき、データ変換手法設定部231を用いて、学習データベース210内の標本データを変換する手法を設定する(ステップS103)。変換手法の設定例として、ユーザは、標本データの値、すなわち各説明変数Xの値について、連続変数を離散化する際の解像度を指定する。連続変数の解像度は、離散化する際の連続値の間隔もしくは全体の範囲を表すビット数として指定される。例えば、ある説明変数を離散化する解像度として8ビットが指定された場合、その説明変数Xの値は、8つのバイナリ変数を用いて256段階の離散値に変換されることになる。
 また、変換手法の別の設定例として、ユーザは、標本データの説明変数毎に、値を入れ替え可能な説明変数であるか否かを指定する。すなわち、ユーザは、各説明変数が、ラベル、すなわち識別子を表しているのか、それとも大小関係に意味のある量を表しているのかを指定する。例えば、材料の加工条件の最適化問題を考えると、材料や使用工具の種類を表す説明変数は、ラベル、つまり、それぞれの対象に識別子として割り当てられた番号を保持する。この場合、値の大小関係や差分値に意味はないため、対象に一意な番号が割り当てられている限り、元の標本データの情報を保持しながら数字を任意に変更することができる。
 このように、ラベルを表す説明変数である場合、その説明変数の値は、任意に入れ替え可能である。逆に、ラベルを表さない説明変数である場合、その説明変数の値は、入れ替えが不可能な量を表す。この場合、例えば、変数の値域全体をシフトさせるといったように、大小関係が保たれるような変換のみが許される。
 さらに、変換手法の別の設定例として、ユーザは、標本データの説明変数毎に、アニーリングマシン等に説明変数の最適解を探索させる際の説明変数の探索範囲を指定してもよい。最適解の探索範囲は、標本データの説明変数の値域よりも狭い範囲に限定して最適解を探索するような場合に指定される。例えば、標本データとしての実験値は説明変数の広い範囲で得られていたとしても、実用的な条件、すなわち説明変数の好ましい値域が限定される場合、その範囲内で最適解を探索させればよい。
 ステップS103ののち、情報処理装置100は、ステップS103で設定したデータ変換手法に基づき、学習データ変換部232を用いて、学習データベース210内の標本データを変換する(ステップS104)。この際に、連続変数をアニーリングマシン等で扱うためには変数を離散化することが必要となる。このため、学習データ変換部232は、各説明変数について、標本データに含まれる値の範囲を、ステップS103で指定された間隔もしくは指定されたビット数の解像度で区切り、離散化する。
 図7Aおよび図7Bは、図1における学習データ変換部による離散化方法の一例を説明する図である。例えば、図7Aの例では、説明変数X1には、34.2から36.2までの範囲の値が含まれている。学習データ変換部232は、当該説明変数X1を、例えば3つのバイナリ変数X1[1],X1[2],X1[3]を用いて0.4間隔で離散化する。この場合、図7Bに示されるように、34.2を最低値“000”として、35.4および36.2は、それぞれ2進数表記で“011”および“101”に離散化される。
 また、学習データ変換部232は、必要なダミー変数の数が少なくなるように、標本データの説明変数Xの値を変換する。例えば、多項式カーネルを用いる場合、学習データ変換部232は、式(3B)に示した内積xの値域を狭くするために、説明変数x、または説明変数xの標本データ、すなわち説明変数の値xの中にゼロ値が増えるように変換を行う。
 図8Aおよび図8Bは、図1における学習データ変換部による学習データの変換方法の一例を示す図である。図9Aおよび図9Bは、図8Aおよび図8Bとは異なる変換方法の一例を示す図である。図10Aおよび図10Bは、図8Aおよび図8Bとはさらに異なる変換方法の一例を示す図である。
 学習データ変換部232は、説明変数Xがラベルを表さない場合、xの中にゼロ値が増えるようにするため、図8Aおよび図8Bに示されるように、説明変数Xの値に一定のオフセット値を加算または減算することで、値域をシフトする。例えば、図8Aにおいて、標本データである説明変数X2の値には、“3”が多く含まれ、標本データである説明変数X4の値には、“5”が多く含まれている。学習データ変換部232は、このように、ラベルを表さない説明変数X毎に、多く含まれる値を探索し、その値をオフセット値に定める。
 そして、学習データ変換部232は、説明変数X2の各値からオフセット値“3”を減算し、説明変数X4の各値からオフセット値“5”を減算することで、図8Bに示されるように、説明変数X2,X4の値域をシフトする。その結果、図8Bに示されるように、説明変数X2,X4の値の中にゼロ値が増えるため、例えば多項式カーネルを用いる場合に必要なダミー変数の数を減らすことができる。なお、この例では、学習データ変換部232は、説明変数X2,X4に対して値域のシフトを行ったが、ラベルを表さない少なくとも一部、望ましく全ての説明変数Xに対して、同様の処理を行えばよい。
 また、学習データ変換部232は、説明変数Xがラベルを表す場合、xの中にゼロ値が増えるようにするため、図9Aおよび図9Bに示されるように、説明変数Xの値の中から特定の値の組を定め、当該特定の値の組に対して値の入れ替えを行う。図9Aの例では、説明変数X1がラベルを表しているものとし、標本データである説明変数X1の値には、“1”が多く含まれている。この場合、学習データ変換部232は、特定の値の組の一方を“1”に、他方を“0”に定め、図9Bに示されるように“1”と“0”とを入れ替える。
 その結果、図9Bに示されるように、説明変数X1の値の中にゼロ値が増えるため、例えば多項式カーネルを用いる場合に必要なダミー変数の数を減らすことができる。なお、この例では、学習データ変換部232は、説明変数X1に対して値の入れ替えを行ったが、ラベルを表す少なくとも一部、望ましく全ての説明変数Xに対して、同様の処理を行えばよい。また、ラベルを表す説明変数Xに対しては、図8Bに示される方法を用いて変換を行うことも可能である。
 一方、学習データ変換部232は、xの中にゼロ値が増えるようにするためには、最適解の探索範囲に基づいて説明変数の値域をシフトすればよい。例えば、ある説明変数Xの元々の探索範囲が-10から10までの範囲であった場合、その説明変数Xを2進数表現であるバイナリ変数で表すと図10Aに示されるように、すべての桁が0または1を取り得る。この場合、2進数の桁数をMとするとM個のバイナリ変数が必要となる。
 そこで、学習データ変換部232は、例えば、探索範囲における値域を+10シフトし、0から20までの範囲に変換する。この場合、図10Bに示されるように、下位5桁のみが変化するため、必要なバイナリ変数を、5個に減らすことができ、上位M-5桁を表す成分をゼロ値に定めることができる。その結果、必要なダミー変数の数も減らすことができる。
 なお、標本データに含まれる値xの分布に基づく最適な値域のシフト幅と、最適解の探索範囲に基づく最適な値域のシフト幅が異なる場合は、両方の方法で変換した2つの学習データベース210を作成してもよい。また、多項式カーネル以外のカーネルを用いる場合も、標本データ、すなわち説明変数の値を、値域のシフトあるいは値の入れ替えによって変換することにより、ダミー変数の数を減らせると考えられる。この際に、どのような変換を施せばダミー変数が減るのか明らかでない場合には、シフト幅や値の入れ替えをランダムに行った複数の変換済み学習データベース210を作成してもよい。
 すなわち、学習部230は、学習データベース210の変換手法を複数設定してもよい。この際に、学習部230は、ラベルを表す説明変数Xに対しては、例えば、値の入れ替えを行うこととし、その入れ替え方法を予め複数種類定めておく。また、学習部230は、ラベルを表さない説明変数Xに対しては、値域のシフトを行うこととし、そのシフト幅の決定方法を予め複数種類定めておく。そして、学習部230は、複数種類の入れ替え方法および複数種類のシフト幅の決定方法をランダムに組み合わせることで、学習データベース210の変換手法を複数設定し、当該複数の変換手法に基づいて複数の変換済み学習データベース210を作成してもよい。
 ステップS104ののち、情報処理装置100は、ステップS104での変換後の学習データベース210に基づき、関数導出部233を用いて目的関数を導出する(ステップS105)。すなわち、関数導出部233は、例えば、式(3A)に示したような目的関数を導出する。この際に、ステップS104で述べたように、学習データベース210の変換手法が複数設定されている場合、関数導出部233は、当該複数の変換手法、すなわち複数の変換済み学習データベース210に基づいて複数の目的関数を導出する。
 その後、情報処理装置100は、関数変換部300を用いて、ステップS105で導出された目的関数を、制約なし二次形式関数または線形制約あり一次形式関数に変換する(ステップS106)。すなわち、関数変換部300は、例えば、式(3B)に示したようなダミー変数spkを導入することで、目的関数を、式(1)に示した制約なし二次形式関数または式(2)に示した線形制約あり一次形式関数に変換する。この際に、関数変換部300は、複数の目的関数が導出されている場合には、複数の目的関数をそれぞれ制約なし二次形式関数または線形制約あり一次形式関数に変換する。
 最後に、情報処理装置100は、ステップS106で変換された関数における変数の総数を取得する。ここで、情報処理装置100は、ステップS106にて複数の目的関数を複数の関数にそれぞれ変換している場合には、関数選択部310を用いて、当該複数の関数の中から変数の総数が最も少ない関数、ひいては目的関数を選択する。そして、情報処理装置100は、当該目的関数に対応する制約なし二次形式関数または線形制約あり一次形式関数、すなわち、図5Bに示されるデータ、または図5Cおよび図5Dに示されるデータを出力する(ステップS107)。
 <実施の形態1の主要な効果>
 以上、実施の形態1の方式では、学習データベース210内の標本データである説明変数の値に依存して決まるダミー変数に着目し、当該ダミー変数の数を減らせるように学習データベース210を変換し、変換後の学習データベース210から目的関数を導出する。これにより、より少ない変数を用いてイジングモデルへの変換を行えるようになり、アニーリングマシン等での解析を容易化することが可能になる。具体的には、例えば、アニーリングマシンで扱える程度に変数を削減することができる。または、アニーリングマシンが最適解を得るまでの時間を短縮できる。
 (実施の形態2)
 <情報処理装置の構成および動作>
 実施の形態2では、導出した目的関数が必要とする変数の総数が、ある決められた上限を超えるときに、最適解の探索範囲を変更することで、1個の問題を複数の部分問題に分割する方法について説明する。図11は、実施の形態2による情報処理装置の構成例を示す機能ブロック図である。実施の形態1で述べた図1の構成例と比較して、最適解の探索範囲が異なる複数の目的関数を導出する点が異なる。以下、実施の形態1と異なる点について説明する。
 図11に示される情報処理装置100は、図1の構成例と比較して、学習部230の構成が異なっている。すなわち、図11における学習部230は、図1に示した各構成要素に加えて、問題分割部234を備える。問題分割部234は、必要とする変数の総数が多いときに、1個の問題を、最適解の探索範囲が異なる複数の部分問題に分割する。問題分割部234も、例えば、図2に示したプロセッサ1401がメモリ1402内の情報処理プログラム1410を実行することで実現される。
 図12は、図11における情報処理装置の処理内容の一例を示すフローチャートである。図12には、学習データベース210に説明変数Xと目的変数Yの標本データが格納された状態から、情報処理処理100が、分割された各部分問題に対応する制約なし二次形式関数または線形制約あり一次形式関数を出力するまでの処理内容が示される。ここでは、主に、図6に示したフローチャートとの相違点に着目して説明を行う。
 情報処理装置100は、図6の場合と同様に、ユーザ入力に基づいて、ステップS101,S102,S103での各設定を行う。これらの設定に加えて、情報処理装置100は、ステップS103において、ユーザ入力に基づいて、データ変換手法設定部231を用いて、各説明変数Xについて問題を分割する際の分割数を設定する。分割数は、各説明変数Xの探索範囲をいくつに分割するかを表す。
 問題分割部234は、各説明変数Xに対して指定された分割数に基づき、問題を探索範囲の異なる部分問題に分割する(ステップS104-1)。例えば、ユーザが、説明変数X1に関して、最適解の探索範囲をMin1からMax1に指定し、かつ、分割数を2に指定した場合を想定する。この場合、問題分割部234は、1個の問題を、探索範囲をMin1から(Min1+Max1)/2に限定した部分問題[1]と、(Min1+Max1)/2からMax1に限定した部分問題[2]とに分割する。
 そして、学習データ変換部232は、最適解の探索範囲が限定された複数の部分問題のそれぞれを対象に、図6におけるステップS104の場合と同様にして学習データベース210を変換する(ステップS104-2)。その後は、図6の場合と同様に、関数導出部233は、部分問題毎に目的関数を導出し(ステップS105)、関数変換部300は、目的関数毎に制約なし二次形式関数または線形制約あり一時形式関数への変換を行う(ステップS106)。
 次いで、関数選択部310は、図6の場合と同様にして部分問題毎に複数の目的関数が導出される場合、部分問題毎に、変数の総数が最も少ない目的関数を選択する(ステップ107-1)。さらに、図12では、関数選択部310は、ステップS107-1で選択したそれぞれの目的関数が必要とする変数の総数が、予め決められた上限を超えていないか否かを判定する(ステップS108)。
 関数選択部310は、変数の総数が上限を超えていない場合(ステップS108:Yes)、対象の目的関数に対応する制約なし二次形式関数または線形制約あり一時形式関数を出力する(ステップS107-2)。一方、関数選択部310は、変数の総数が上限を超えている場合(ステップS108:No)、ステップS103に戻って、データ変換手法の再設定、例えば、分割数の再設定等を行う。
 なお、ステップS108において、関数選択部310は、例えば、それぞれの目的関数が必要とする変数の総数をユーザに提示することで、ユーザに判断させてもよい。この場合、必要な変数の総数が上限を超えていないことをユーザが確認すると、関数選択部310は、選択された関数が出力する(ステップ107-2)。一方、必要な変数の総数が上限を超えている場合、例えば、関数選択部310は、分割数として前回指定された分割数よりも大きい数をユーザに提示するなど、各部分問題で必要な変数の総数がより少なくなる設定をユーザに提示する。そして、関数選択部310は、ユーザに、データ変換手法の再入力を促す(ステップS103)。
 <実施の形態2の主要な効果>
 以上、実施の形態2の方式を用いることで、実施の形態1で述べた各種効果と同様の効果が得られる。さらに、問題分割部234を設けて図12に示されるようなフローを実行することで、必要とする変数の総数が、利用できる変数の上限を超えるような大規模な問題を、必要とする変数の総数が少ない部分問題に分割して扱うことが可能となる。その結果、アニーリングマシン等での解析をより容易化することが可能になる。
 (実施の形態3)
 <処理条件決定システムの構成>
 実施の形態3では、前述した情報処理装置を用いて処理装置の処理条件を決定する、処理条件決定システムについて説明する。図13は、実施の形態3による処理条件決定システムの構成例を示す機能ブロック図である。図13に示す処理条件決定システム400は、情報処理装置100と、処理装置500と、学習データ生成部600と、処理条件解析装置700と、を備える。情報処理装置100は、この例では、図11の場合と同様の構成を備える。情報処理装置100で学習される目的関数において、説明変数Xは、処理装置500の処理条件に該当し、目的変数は、処理装置500の処理結果に該当する。
 処理条件解析装置700は、代表的には、シミュレーティッドアニーリングや量子アニーリングを行うアニーリングマシンである。ただし、処理条件解析装置700は、整数計画法や線形計画法によって解析を行う装置であってもよい。アニーリングマシンは、例えば、CMOSアニーリングマシンと呼ばれる専用のハードウェアや、量子アニーリングマシンと呼ばれる専用のハードウェアによって実現され得る。
 処理条件解析装置700は、情報処理装置100で導出された制約なし二次形式関数または線形制約あり一次形式関数に対して説明変数の最適解を探索し、当該最適解を処理条件に変換する。詳細には、処理条件解析装置700は、処理条件解析部710と、処理条件出力部720と、を有する。処理条件解析部710は、情報処理装置100から出力される関数の最小値または最大値を与える説明変数の最適解を探索する。処理条件出力部720は、処理条件解析部710で得られた説明変数の最適解を処理条件に加工または変換して処理装置500へ出力する。
 処理装置500は、処理条件解析装置700からの処理条件を用いて所定の処理を行い、学習データ生成部600を用いて、処理条件および処理結果をそれぞれ説明変数および目的変数に変換して情報処理装置100の学習データベース210を更新する。処理装置500は、例えば、対象の試料に対して何らかの処理により加工を行う装置である。処理装置500には、半導体処理装置が含まれる。
 半導体処理装置には、リソグラフィ装置、製膜装置、パターン加工装置、イオン注入装置、加熱装置および洗浄装置などが含まれる。リソグラフィ装置としては、露光装置、電子線描画装置およびX線描画装置などがある。製膜装置としては、CVD(Chemical Vapor Deposition)装置、PVD(Physical Vapor Deposition)装置、蒸着装置、スパッタリング装置および熱酸化装置などがある。パターン加工装置としては、ウェットエッチング装置、ドライエッチング装置、電子ビーム加工装置およびレーザー加工装置などがある。
 イオン注入装置としては、プラズマドーピング装置およびイオンビームドーピング装置などがある。加熱装置としては、抵抗加熱装置、ランプ加熱装置およびレーザー加熱装置などがある。また、処理装置500は、付加製造装置であってもよい。付加製造装置には、液槽光重合、材料押出、粉末床溶融結合、結合剤噴射、シート積層、材料噴射、指向性エネルギー堆積など、各方式の付加製造装置が含まれる。なお、処理装置500は、半導体処理装置や付加製造装置に限定されない。
 処理装置500は、処理条件入力部510と、処理部520と、処理結果取得部530と、を有する。処理条件入力部510は、処理条件解析装置700から出力された処理条件を入力する。処理部520は、処理条件入力部510で入力された処理条件を用いて処理、例えば加工等を行う。処理部520では、内部に試料が設置され、それに対して処理が行われる。処理結果取得部530は、処理部520の処理結果を取得する。処理結果は、例えば、加工寸法等を代表に、目的変数になり得る様々なものであってよい。
 学習データ生成部600は、処理条件入力部510に入力された処理条件を説明変数データに、処理結果取得部530で取得された処理結果を目的変数データに、それぞれ加工または変換した上で、学習データベース210に格納する。なお、処理結果取得部530は、例えば、テスト装置等の形態で、処理装置500とは個別のスタンドアロンな装置に搭載されてもよい。また、学習データ生成部600は、例えば、図2に示したようなコンピュータ1400によって実現される。当該コンピュータ1400は、処理装置500の内部または外部に設けられ得る。
 <処理条件決定システムの動作>
 図14Aおよび図14Bは、図13における処理条件決定システムの処理内容の一例を示すフローチャートである。図14Aにおいて、まず、ユーザは、処理条件入力部510にて任意の処理条件を入力する(ステップS201)。ここでは、入力された処理条件を初期処理条件と呼ぶ。初期処理条件は、複数個あってもよい。ユーザは、初期処理条件として、処理装置500やその関連装置で過去に処理実績がある処理条件を選択しても良いし、実験計画法を用いて選択しても良い。
 次に、処理部520は、処理条件入力部510に入力された条件を用いて、試料に対する処理を行う(ステップS202)。この際に、処理部520は、処理済みの試料が残っていた場合は、それを取り除き、新しい処理前の試料を設置してから処理を行う。処理条件が複数ある場合、処理部520は、その都度、試料を取り替えて処理を行う。処理部520による処理の後、処理結果取得部530は、処理結果を取得する(ステップS203)。
 ここで、処理条件決定システムは、ユーザが満足する処理結果が得られた場合(ステップS204:Yes)には、処理を終了し、そうでなかった場合(ステップS204:No)には、ステップS205に移行する。ステップS205において、学習データ生成部600は、処理条件入力部510で入力された処理条件を説明変数のデータに変換し、処理結果取得部530で取得された処理結果を目的変数のデータに変換した上で、学習データベース210に格納し、学習データベース210を更新する。
 以降、情報処理装置100は、更新された学習データベース210を用いて、図12の場合と同様に、ステップS101~S103,S104―1,S104-2,S105,S106,S107-1,S108a,S107-2の処理を順に実行する。ここで、ステップS108aでは、情報処理装置100は、図12におけるステップS108でも述べたように、変数の総数等をユーザに提供することで、処理条件解析装置700による解析を許可するか否かをユーザに判断させる。
 ここで、解析を許可するとユーザが判断した場合(ステップS108a:Yes)、情報処理装置100は、解析対象となる制約なし二次形式関数または線形制約あり一次形式関数を、処理条件解析装置700に出力する(ステップS107-2)。一方、解析を許可しないとユーザが判断した場合(ステップS108a:No)、図12の場合と異なりステップS101への移行が行われる。この場合、ユーザは、データ変換手法に限らず、カーネル手法やカーネル関数も再度指定する(ステップS101~S103)。
 ステップS107-2の後、図14Bに示されるように、処理条件解析部710は、情報処理装置100から出力された関数を解析し、説明変数の最適解を探索する(ステップS301)。例えば、処理条件解析部710は、関数選択部310から出力された部分問題毎の目的関数を、アニーリング、整数計画法または線形計画法により解析する。これにより、処理条件解析部710は、それぞれの関数が最大あるいは最小となるような変数xの最適解xoptを探索することができる。
 ここで、探索される変数xは、図5Aに示したように、説明変数Xとダミー変数X’で構成される変数である。この場合、処理条件解析部710は、変数xの最適解xoptからダミー変数X’の成分を除去することで、最適な説明変数X=Xoptを求めることができる。部分問題の目的関数がP個ある場合、つまり問題分割部234により問題がP個に分割されている場合、処理条件解析部710は、ステップS301において、それぞれの関数について合計P個の最適解Xoptを探索する。
 続いて、処理条件出力部720は、ステップS301で得られた説明変数Xの最適解Xoptのデータを処理条件に変換する(ステップS302)。ここで、学習データ変換部232が、ステップS104-2にて、説明変数の値の入れ替えや値域のシフトといった学習データの変換を行っている場合を考える。この場合、処理条件出力部720は、ステップS302において、探索によって得られた説明変数Xの最適解Xoptに対して、学習データ変換部232での変換と逆の変換を行うことで処理条件を生成する。
 具体例として、図8Aおよび図8Bに示したように、学習データ変換部232が説明変数X2の値を“-3”シフトさせた場合、処理条件出力部720は、説明変数X2の最適解を“+3”シフトさせる。また、図9Aおよび図9Bに示したように、学習データ変換部232が、説明変数X1において、値“1”と値“0”を入れ替えた場合、処理条件出力部720は、説明変数X1の最適解において、値“0”と値“1”を入れ替える。
 また、処理条件出力部720は、ステップS302において、探索範囲が異なるP個の部分問題が処理された場合は、P個の最適解Xoptの中でもより最適となるものを全体の最適解として、当該最適解のデータを処理条件に変換する。ただし、この際に、処理条件出力部720は、ステップS201の場合と同様に、最適な処理条件だけでなく、2番目以降に良い処理条件を含んだ複数の処理条件を出力してもよい。
 次に、処理条件出力部720は、処理装置500による処理の実行を許可するか否かを、ユーザに判断させる(ステップS303)。そして、処理条件出力部720は、処理の実行を許可するとユーザが判断した場合(ステップS303:Yes)には、ステップS302で選択した処理条件を処理条件入力部510に出力し、図14AにおけるステップS202に戻る(ステップS304)。これに伴い、処理装置500による処理が行われる。一方、処理条件出力部720は、処理の実行を許可しないとユーザが判断した場合(ステップS303:No)には、図14AにおけるステップS101に戻り、再度、情報処理装置100に目的関数等を導出させる。
 このようにして、処理装置500と、情報処理装置100と、処理条件解析装置700とを連携させた一連の処理が、ステップS204にてユーザが満足する処理結果が得られるまで繰り返し実行される。この際に、処理装置500は、ユーザが満足する処理結果が得られるまで、学習データベース210を逐次更新し、(ステップS205)、情報処理装置100は、更新された学習データベース210を用いてより精度が高い目的関数を導出する(ステップS105)。その結果、良質な処理条件を決定することが可能となる。
 <ユーザインタフェースについて>
 図15は、図13において、情報処理装置に表示される入力画面の一例を示す図である。当該入力画面は、例えば、図2に示したコンピュータ1400が情報処理プログラム1410を実行することで、表示装置1404に表示されるものである。詳細には、当該入力画面は、図14AにおけるステップS201,S101~S103に際して、ユーザに提示されるものである。図15に示される入力用GUI(Graphical User Interface)1200は、初期処理条件設定ボックス1210と、データ変換設定ボックス1220と、機械学習設定ボックス1230と、解析手法設定ボックス1240と、有効/非有効表示部1260と、決定ボタン1270と、を有する。
 初期処理条件設定ボックス1210は、条件入力部1211を有し、図14AにおけるステップS201の処理で用いられる。条件入力部1211では、ユーザは、初期処理条件として、例えば、csvファイルなどの構造に、データ番号、処理条件の各因子名、およびそれぞれのデータの各因子の値を入力することができる。これらの因子は、処理装置500の制御因子であり、図15の例では、パワーや圧力等を因子としている。情報処理装置100は、このような初期処理条件設定ボックス1210で設定された初期処理条件を、処理装置500の処理条件入力部510に出力する。
 データ変換設定ボックス1220は、データ変換手法を設定するための説明変数設定入力部1221を有し、図14AにおけるステップS103の処理で用いられる。説明変数設定入力部1221では、ユーザは、各説明変数について、ラベルを表す変数であるか否かの指定、問題分割の際の分割数、最適解の探索範囲、離散化の際の解像度を指定する。図13における学習データ変換部232は、データ変換設定ボックス1220での設定内容に基づいて、学習データを変換する。
 機械学習設定ボックス1230は、カーネル手法入力部1231と、カーネル関数入力部1232と、を有し、図14AにおけるステップS101,S102の処理で用いられる。カーネル手法入力部1231では、ユーザは、例えば、カーネル回帰、ベイズ最適化、カーネル回帰による多目的最適化、のいずれかを選択する。図13におけるカーネル手法選択部221は、カーネル手法入力部1231での設定内容に基づいて、カーネル手法を選択する。
 カーネル関数入力部1232では、ユーザは、例えば、RBFカーネル、多項式カーネル、Sigmoidカーネル等のいずれかを選択する。図13におけるカーネル関数選択部222は、カーネル関数入力部1232での設定内容に基づいて、カーネル関数を選択する。なお、図15では、カーネル回帰による多目的最適化を、単に多目的最適化と略記している。
 解析手法設定ボックス1240は、解析方法入力部1241を有する。ユーザは、解析方法として、アニーリング、整数計画法、線形計画法のいずれかを選択することができる。図13における処理条件解析部710は、解析方法入力部1241での設定内容に基づく解析方法を用いて、解析を実行する。
 以上の入力が有効に行われた否かは、上記各設定ボックスに設けられた有効/非有効表示部1260により表示される。有効/非有効表示部1260がすべて有効になると、ユーザが決定ボタン1270を押すことで、処理条件決定システム400は、例えば、図14AにおけるステップS202の処理を開始する。
 図16Aは、図13において、情報処理装置に表示される出力画面の一例を示す図である。図16Bは、図16Aとは異なる出力画面の一例を示す図である。当該出力画面は、例えば、図2に示したコンピュータ1400が情報処理プログラム1410を実行することで、表示装置1404に表示されるものである。
 図16Aに示される目的関数出力用GUI1500は、図14AにおけるステップS107-1,S108aに際してユーザに提示されるものである。すなわち、目的関数出力用GUI1500は、関数変換部300の出力を学習データ変換部232および問題分割部234で用いた条件とともに表示し、ユーザに、使用する目的関数と、次の手順に進むか否かを選択させるものである。目的関数出力用GUI1500は、例えば、関数選択部310によって表示される。
 目的関数出力用GUI1500は、解析範囲表示ボックス1510と、継続/再設定選択部1540と、決定ボタン1550と、を有する。解析範囲表示ボックス1510は、部分問題毎に1つ表示される。図16Aの例では、処理条件の圧力の探索範囲が異なる2つの部分問題が表示されている。各解析範囲表示ボックス1510は、探索範囲表示部1501と、目的関数選択チェックボックス1502と、学習条件表示部1503と、必要とする変数の表示部1504と、を有する。
 目的関数選択チェックボックス1502、学習条件表示部1503、必要とする変数の表示部1504は、各部分問題に対して関数変換部300が出力する目的関数毎に1つ表示される。ユーザは、これらの情報を参考に、使用する目的関数を目的関数選択チェックボックス1502で選択する。すなわち、ユーザは、図14AにおけるステップS107-1での作業を、このGUIを用いて行うことができる。また、ユーザは、継続/再設定選択部1540と、決定ボタン1550とを用いて次の手順に進むか否かを選択する。すなわち、ユーザは、図14AにおけるステップS108aでの作業を、このGUIを用いて行うことができる。
 なお、ユーザは、目的関数を選択する際、通常は、変数の総数が最も少ない目的関数を選択する。ただし、必ずしもこれに限らず、ユーザは、例えば、学習条件表示部1503に表示された各誤差値等を考慮して、目的関数を選択してもよい。
 図16Bに示される解析結果出力用GUI1600は、図14BにおけるステップS303に際してユーザに提示されるものである。すなわち、解析結果出力用GUI1600は、現在のステータスを表示し、ユーザに次の手順に進むか否かを選択させるものである。解析結果出力用GUI1600は、解析結果表示部1610と、継続/再設定選択部1620と、決定ボタン1630と、を有する。ユーザは、継続/再設定選択部1620を用いて、継続か再設定かを選択することができる。すなわち、ユーザは、ステップS303での作業をこのGUI上で行うことができる。
 解析結果表示部1610は、関数変換結果表示部1612と、処理条件解析結果表示部1613と、を有する。関数変換結果表示部1612は、図14AにおけるステップS107-2で出力された制約なし二次形式関数または線形制約あり一次形式関数の情報を表示する。処理条件解析結果表示部1413は、図14BにおけるステップS302で得られた処理条件を、処理条件解析装置700から取得して表示する。
 ユーザは、解析結果表示部1610に表示される情報に基づき、継続/再設定選択部1620を用いて、継続か再設定かを選択することができる。ユーザは、処理条件解析結果表示部1613に表示された処理条件を用いて処理装置500が処理を行うことを許可する場合、継続を選択して決定ボタン1630を押す。これにより、処理装置500の処理条件入力部510に当該処理条件が入力され、図14AにおけるステップS202への移行が行われる。
 一方、ユーザは、処理条件解析結果表示部1613に表示された処理条件を用いて処理装置500が処理を行うことを許可しない場合、再設定を選択して決定ボタン1630を押す。これにより、図14AにおけるステップS101への移行が行われる。これに伴い、図15に示したような入力用GUI1200が表示される。例えば、処理条件解析結果表示部1613に表示された処理条件の特定の因子の数値が、処理装置500の運用上好ましくないと判断された場合に、再設定が選択されても良い。
 <実施の形態3の主要な効果>
 以上、実施の形態3の方式を用いることで、実施の形態1および実施の形態2で述べた各種効果と同様の効果が得られる。また、処理装置500における最適な処理条件を高精度に探索することが可能になり、製造期間の短縮や、製造コストの低減や、製造品質の向上等を実現することが可能になる。さらに、処理条件出力部720によって学習データ変換部232での変換とは逆の変換を行うことで、正しい処理条件を維持することが可能になる。
 100:情報処理装置、210:学習データベース、220:機械学習設定部、221:カーネル手法選択部、222:カーネル関数選択部、230:学習部、231:データ変換手法設定部、232:学習データ変換部、233:関数導出部、234:問題分割部、300:関数変換部、310:関数選択部、400:処理条件決定システム、500:処理装置、510:処理条件入力部、520:処理部、530:処理結果取得部、600:学習データ生成部、700:処理条件解析装置、710:処理条件解析部、720:処理条件出力部、1200:入力用GUI、1210:初期処理条件設定ボックス、1211:条件入力部、1220:データ変換設定ボックス、1221:説明変数設定入力部、1230:機械学習設定ボックス、1231:カーネル手法入力部、1232:カーネル関数入力部、1240:解析手法設定ボックス、1241:解析方法入力部、1260:有効/非有効表示部、1270:決定ボタン、1400:コンピュータ、1401:プロセッサ、1402:メモリ、1403:入出力ポート、1404:表示装置、1405:入力装置、1410:情報処理プログラム、1411:学習データ、1412:処理データ、1500:目的関数出力用GUI、1510:解析範囲表示ボックス、1502:目的関数選択チェックボックス、1503:学習条件表示部、1504:必要とする変数の表示部、1540:継続/再設定選択部、1550:決定ボタン、1600:解析結果出力用GUI、1610:解析結果表示部、1611:目的関数表示部、1612:関数変換結果表示部、1613:処理条件解析結果表示部、1620:継続/再設定選択部、1630:決定ボタン

Claims (15)

  1.  1つ以上の説明変数および1つ以上の目的変数に関する標本データからなる学習データベースを解析し、制約なし二次形式関数または線形制約あり一次形式関数を導出する情報処理装置であって、
     前記学習データベースに対してカーネル法を用いた機械学習を行うことで目的関数を導出する学習部と、
     前記機械学習の手法を設定する機械学習設定部と、
     前記目的関数に陽に現れる説明変数をダミー変数を用いて消去することで、前記説明変数の二次より高次の非線形項を二次以下に次元を落とし、前記目的関数を、前記ダミー変数および前記説明変数に関する前記制約なし二次形式関数または前記線形制約あり一次形式関数へ変換する関数変換部と、
     を有し、
     前記学習部は、
     前記学習データベースの変換手法を設定するデータ変換手法設定部と、
     前記設定された変換手法に基づいて、前記ダミー変数の数が少なくなるように前記学習データベースを変換する学習データ変換部と、
     前記変換された学習データベースから前記目的関数を導出する関数導出部と、
     を備える、
     情報処理装置。
  2.  請求項1記載の情報処理装置において、
     さらに、関数選択部を備え、
     前記学習部は、前記変換手法を複数設定し、前記複数の変換手法に基づいて前記目的関数を複数導出し、
     前記関数変換部は、前記複数の目的関数をそれぞれ前記制約なし二次形式関数または前記線形制約あり一次形式関数へ変換し、
     前記関数選択部は、前記関数変換部で変換された複数の関数の中から変数の総数が最も少ない関数を選択する、
     情報処理装置。
  3.  請求項1記載の情報処理装置において、
     前記データ変換手法設定部で設定される情報は、前記学習データベースに含まれる前記説明変数毎に、値を入れ替え可能な説明変数であるか否かを定める情報を含んでいる、
     情報処理装置。
  4.  請求項1記載の情報処理装置において、
     前記データ変換手法設定部で設定される情報は、前記説明変数の最適解を探索させる際の前記説明変数の探索範囲を含んでいる、
     情報処理装置。
  5.  請求項1記載の情報処理装置において、
     前記データ変換手法設定部で設定される情報は、前記学習データベース上で前記説明変数の値を離散化する際の解像度を含んでいる、
     情報処理装置。
  6.  請求項1記載の情報処理装置において、
     前記学習データ変換部は、前記学習データベースに含まれる前記説明変数の値に一定のオフセット値を加算または減算する、
     情報処理装置。
  7.  請求項3記載の情報処理装置において、
     前記学習データ変換部は、前記説明変数の値を入れ替え可能である場合、前記学習データベースに含まれる前記説明変数の値の中から特定の値の組を定め、当該特定の値の組に対して値を入れ替える、
     情報処理装置。
  8.  1つ以上の説明変数および1つ以上の目的変数に関する標本データからなる学習データベースを解析し、制約なし二次形式関数または線形制約あり一次形式関数を導出する情報処理装置と、
     前記情報処理装置で導出された前記制約なし二次形式関数または前記線形制約あり一次形式関数に対して前記説明変数の最適解を探索し、当該最適解を処理条件に変換する処理条件解析装置と、
     前記処理条件解析装置からの前記処理条件を用いて処理を行い、前記処理条件および処理結果をそれぞれ前記説明変数および前記目的変数に変換して前記情報処理装置の前記学習データベースを更新する処理装置と、
    を有する処理条件決定システムであって、
     前記情報処理装置は、
     前記学習データベースに対してカーネル法を用いた機械学習を行うことで目的関数を導出する学習部と、
     前記機械学習の手法を設定する機械学習設定部と、
     前記目的関数に陽に現れる説明変数をダミー変数を用いて消去することで、前記説明変数の二次より高次の非線形項を二次以下に次元を落とし、前記目的関数を、前記ダミー変数および前記説明変数に関する前記制約なし二次形式関数または前記線形制約あり一次形式関数へ変換する関数変換部と、
     を有し、
     前記学習部は、
     前記学習データベースの変換手法を設定するデータ変換手法設定部と、
     前記設定された変換手法に基づいて、前記ダミー変数の数が少なくなるように前記学習データベースを変換する学習データ変換部と、
     前記変換された学習データベースから前記目的関数を導出する関数導出部と、
     を備える、
     処理条件決定システム。
  9.  請求項8記載の処理条件決定システムにおいて、
     前記情報処理装置は、さらに、関数選択部を備え、
     前記学習部は、前記変換手法を複数設定し、前記複数の変換手法に基づいて前記目的関数を複数導出し、
     前記関数変換部は、前記複数の目的関数をそれぞれ前記制約なし二次形式関数または前記線形制約あり一次形式関数へ変換し、
     前記関数選択部は、前記関数変換部で変換された複数の関数の中から変数の総数が少ない関数を選択する、
     処理条件決定システム。
  10.  請求項8記載の処理条件決定システムにおいて、
     前記データ変換手法設定部で設定される情報は、前記学習データベースに含まれる前記説明変数毎に、前記説明変数の値を入れ替え可能であるか否かを定める情報を含んでいる、
     処理条件決定システム。
  11.  請求項8記載の処理条件決定システムにおいて、
     前記データ変換手法設定部で設定される情報は、前記説明変数の最適解を探索させる際の前記説明変数の探索範囲を含んでいる、
     処理条件決定システム。
  12.  請求項8記載の処理条件決定システムにおいて、
     前記学習データ変換部は、前記学習データベースに含まれる前記説明変数の値に一定のオフセット値を加算または減算する、
     処理条件決定システム。
  13.  請求項10記載の処理条件決定システムにおいて、
     前記学習データ変換部は、前記説明変数の値を入れ替え可能である場合、前記学習データベースに含まれる前記説明変数の値の中から特定の値の組を定め、当該特定の値の組に対して値を入れ替える、
     処理条件決定システム。
  14.  請求項8記載の処理条件決定システムにおいて、
     前記処理条件解析装置は、探索によって得られた前記説明変数の最適解に対して、前記学習データ変換部での変換と逆の変換を行うことで前記処理条件を生成する、
     処理条件決定システム。
  15.  1つ以上の説明変数および1つ以上の目的変数に関する標本データからなる学習データベースと、情報処理プログラムとを格納するメモリと、
     前記メモリに格納された前記情報処理プログラムを実行することで、前記学習データベースを解析し、制約なし二次形式関数または線形制約あり一次形式関数を導出するプロセッサと、
     を有する情報処理装置であって、
     前記プロセッサは、
     前記学習データベースに対してカーネル法を用いた機械学習を行うことで目的関数を導出し、
     ユーザ入力に基づいて前記機械学習の手法を設定し、
     前記目的関数に陽に現れる説明変数をダミー変数を用いて消去することで、前記説明変数の二次より高次の非線形項を二次以下に次元を落とし、前記目的関数を、前記ダミー変数および前記説明変数に関する前記制約なし二次形式関数または前記線形制約あり一次形式関数へ変換し、
     前記目的関数を導出する際に、
     ユーザ入力に基づいて前記学習データベースの変換手法を設定し、
     前記変換手法に基づいて、前記ダミー変数の数が少なくなるように前記学習データベースを変換し、
     変換された前記学習データベースから前記目的関数を導出する、
     情報処理装置。
PCT/JP2022/028264 2022-07-20 2022-07-20 情報処理装置および処理条件決定システム WO2024018571A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/028264 WO2024018571A1 (ja) 2022-07-20 2022-07-20 情報処理装置および処理条件決定システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/028264 WO2024018571A1 (ja) 2022-07-20 2022-07-20 情報処理装置および処理条件決定システム

Publications (1)

Publication Number Publication Date
WO2024018571A1 true WO2024018571A1 (ja) 2024-01-25

Family

ID=89617505

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/028264 WO2024018571A1 (ja) 2022-07-20 2022-07-20 情報処理装置および処理条件決定システム

Country Status (1)

Country Link
WO (1) WO2024018571A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005092681A (ja) * 2003-09-19 2005-04-07 Nippon Hoso Kyokai <Nhk> 確率モデル生成装置及び確率モデル生成プログラム
JP2021114117A (ja) * 2020-01-17 2021-08-05 富士通株式会社 情報処理プログラム、情報処理方法および情報処理装置
WO2022034687A1 (ja) * 2020-08-14 2022-02-17 株式会社日立製作所 割当問題を解くことを支援する情報処理システム及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005092681A (ja) * 2003-09-19 2005-04-07 Nippon Hoso Kyokai <Nhk> 確率モデル生成装置及び確率モデル生成プログラム
JP2021114117A (ja) * 2020-01-17 2021-08-05 富士通株式会社 情報処理プログラム、情報処理方法および情報処理装置
WO2022034687A1 (ja) * 2020-08-14 2022-02-17 株式会社日立製作所 割当問題を解くことを支援する情報処理システム及び方法

Similar Documents

Publication Publication Date Title
JP5165968B2 (ja) プラズマ粒子シミュレーション方法、記憶媒体、プラズマ粒子シミュレータ、及びプラズマ処理装置
JP6874219B2 (ja) 情報処理装置、演算装置、及び情報処理方法
US11244026B2 (en) Optimization problem arithmetic method and optimization problem arithmetic device
CN111077768B (zh) 优化装置及优化装置的控制方法
JP7007520B6 (ja) 情報処理装置、演算装置、及び情報処理方法
JP2019185602A (ja) 最適化装置及び最適化装置の制御方法
CN111261235A (zh) 用于检索环状分子的结构的方法和装置以及记录介质
JP6925546B1 (ja) 演算システム、情報処理装置、および最適解探索処理方法
Zhao et al. Entropy rate of nonequilibrium growing networks
Koşucuoğlu et al. Material handling considerations in the FMS loading problem with full routing flexibility
WO2024018571A1 (ja) 情報処理装置および処理条件決定システム
CN114168898A (zh) 信息处理系统、信息处理方法和程序
JP2022150078A (ja) 情報処理プログラム、情報処理装置、及び情報処理方法
CN116933653A (zh) 一种矩形排样方法、设备及介质
Priester et al. Limits and trade-offs of topological network robustness
JP7004937B2 (ja) 最適化装置、最適化装置の制御方法および最適化装置の制御プログラム
Ho et al. A genetic algorithm for the generalised transportation problem
WO2022244547A1 (ja) 情報処理システムおよび処理条件決定システム
CN113177568A (zh) 相似度计算装置、相似度计算方法和记录程序的记录介质
Marconato et al. Identification of Wiener-Hammerstein benchmark data by means of support vector machines
JP7357795B2 (ja) 情報処理方法および情報処理システム
JP7489876B2 (ja) モデル解析装置、モデル解析方法、及びプログラム
JP2009053933A (ja) ユニタリ行列分解方法、ユニタリ行列分解装置、ユニタリ行列分解プログラム及び記録媒体
US20230281267A1 (en) Calculation device, calculation program, recording medium, and calculation method
JP7470019B2 (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: 22951958

Country of ref document: EP

Kind code of ref document: A1