Information processing device, information processing method, and computer program
The information processing device optimizes design variables by generating regression models to identify interactions and performing subspace searches, addressing local optima and reducing search time in semiconductor device design.
Patent Information
- Application Number
- JP2022128473
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-08-10
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2042-08-10
AI Technical Summary
Existing optimization methods for design variables, such as low-dimensional search, face challenges in selecting appropriate combinations, leading to potential local optima and increased search time, especially with multiple interacting variables.
An information processing device that generates regression models to identify strong interactions among design variables, forms subgroups based on these interactions, and performs subspace searches to optimize design values efficiently.
This approach effectively avoids local optima and reduces search time by systematically grouping design variables with strong interactions, enabling efficient optimization of semiconductor devices and other systems.
Smart Images

Figure 0007775162000003 
Figure 0007775162000004 
Figure 0007775162000005
Abstract
Description
[Technical Field]
[0001] FIELD Embodiments of the present invention relate to an information processing device, an information processing method, and a computer program. [Background technology]
[0002] When designing a device, it is necessary to optimize the design variables related to the device in question to obtain the desired characteristics. However, when there are multiple design variables that affect each other, simply adjusting each design variable one by one can lead to a local optimum. To avoid a local optimum, when adjusting each design variable one by one, it is necessary to consider other design variables that are different from the one being adjusted, and in some cases to adjust multiple design variables simultaneously. In such cases, optimization becomes more difficult as the number of design variables increases.
[0003] There is a technique called low-dimensional search that addresses this problem. In low-dimensional search, first, a few design variables are selected from all design variables. A search is performed that is limited to the low-dimensional subspace spanned by the set of design variables (subgroup), and only the design variables included in that subgroup are optimized. Once this process is complete, another subgroup is generated and the same process is performed. By repeating the above process, it is expected that all design variables will be optimized. Low-dimensional search can reduce the number of variables that need to be considered at one time, making it possible to efficiently optimize design variables.
[0004] However, low-dimensional search relies on the designer to select the combination of design variables to be subgrouped. If the combination of design variables included in a subgroup is inappropriate, there is a problem that design variables with strong interactions may be adjusted independently. In this case, patterns in which characteristics cannot be improved without changing multiple design variables simultaneously may be overlooked, and there is a risk of falling into a local optimum. Furthermore, if subgroups are selected randomly, inappropriate combinations of design variables may be included, increasing the number of searches. Furthermore, increasing the number of design variables to be adjusted to avoid falling into a local optimum increases the time cost. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Patent Publication No. 2021-149988 [Patent Document 2] Japanese Patent Publication No. 2022-74880 [Non-patent literature]
[0006] [Non-Patent Document 1] C. Li, et al., “High Dimensional Bayesian Optimization Using Dropout,” in Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence (IJCAI-17), pp. 2096-2102 Summary of the Invention [Problem to be solved by the invention]
[0007] The embodiments of the present invention provide an information processing apparatus, an information processing method, and a computer program that enable efficient generation of values of design variables that can obtain desired characteristics. [Means for solving the problem]
[0008] The information processing device according to this embodiment includes: a regression model generation unit that combines a plurality of variables to generate a plurality of terms including sets of two or more of the variables, and generates a regression model that regresses a characteristic variable or an objective variable representing the output of an objective function including the characteristic variables using the plurality of terms; a subgroup generation unit that generates at least one subgroup which is a set of the variables included in at least one of the terms, based on coefficients of the plurality of terms included in the regression model; and a subspace search processing unit that searches for each subspace spanned by the subgroup, based on an optimization criterion of the objective function, and generates first design value data including values of the plurality of variables. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a block diagram of an information processing apparatus according to an embodiment. [Figure 2] 1 is a partial cross-sectional view illustrating the structure of a semiconductor device that is a target for adjusting design variables; [Figure 3] FIG. 10 is a diagram showing a table illustrating an example of design variables. [Figure 4] FIG. 4 is a block diagram of a subgroup setting unit. [Figure 5] FIG. 10 is a diagram showing an example of coefficients of a regression equation. [Figure 6] FIG. 10 is a diagram showing another example of coefficients of a regression equation. [Figure 7] A graph sorting the coefficients of the regression equation shown in Figure 5 in descending order. [Figure 8] A graph sorting the coefficients of the regression equation shown in Figure 6 in descending order. [Figure 9] FIG. 10 is a diagram showing an example of a subspace spanned by a subgroup. [Figure 10] FIG. 10 is a diagram showing another example of a subspace spanned by a subgroup. [Figure 11] 10 is a flowchart showing an example of a subgroup generation process. [Figure 12] FIG. 4 is a block diagram showing details of a subspace search unit. [Figure 13] 10 is a flowchart showing an example of processing executed by a subspace search unit. [Figure 14]10 is a flowchart showing an example of processing executed by a subspace search processing unit. [Figure 15] 10 is a flowchart illustrating an example of processing executed by an information processing apparatus according to an embodiment. [Figure 16] FIG. 1 is a diagram showing a hardware configuration of an information processing apparatus according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In the following embodiment, a case will be described in which optimal values of design variables are determined for a semiconductor device as an example of the design variables to be adjusted. However, the design variables to be adjusted are not limited to semiconductor devices. The design variables to be adjusted may also be, for example, the manufacturing conditions of an alloy or the control system of a robot arm.
[0011] FIG. 1 is a block diagram of an information processing device 1 according to an embodiment. The information processing device 1 searches for optimal, suboptimal, or suitable design values that satisfy desired performance conditions for one or more design variables related to a semiconductor device. The search means finding a value that satisfies constraints, and in the embodiment, returning variables that are highly evaluated as design values. A design variable is a variable related to a target design value, and is a variable whose value can be determined arbitrarily by, for example, a designer.
[0012] FIG. 2 is a partial cross-sectional view illustrating the structure of a semiconductor device 100, which is the target of design variable adjustment. The semiconductor device 100 is a MOSFET (Metal Oxide Semiconductor Field Effect Transistor). For convenience of explanation, an XZ Cartesian coordinate system is adopted. Within the Z direction, the direction from the drain electrode 101 toward the source electrode 102 is also referred to as "up," and the opposite direction is also referred to as "down." However, this expression is unrelated to the direction of gravity.
[0013] The semiconductor device 100 includes a drain electrode 101, a source electrode 102, a gate electrode 103, a drain layer 111, a drift layer 112, a base layer 113, a source layer 114, a field plate insulating film (FP insulating film) 120, and a field plate electrode (FP electrode) 121. The p-type or n-type of each semiconductor layer is arbitrary.
[0014] The drain electrode 101, source electrode 102, and gate electrode 103 function as the drain electrode, source electrode, and gate electrode of the MOSFET, respectively. The drain layer 111, drift layer 112, base layer 113, and source layer 114 function as the drain, drift, base, and source of the MOSFET, respectively. The FP insulating film 120 electrically insulates the FP electrode 121 from the drift layer 112 and gate electrode 103. The FP electrode 121 is arranged to reduce the concentration of a reverse electric field between the gate electrode 103 and drain electrode 101 and increase the breakdown voltage.
[0015] 3 is a table showing an example of design variables related to the semiconductor device 100. By changing N (N≧1) design variables x, various performance characteristics of the semiconductor device 100 change. There are many design variables for the semiconductor device 100, but here, six (N=6) design variables x1 to x6 are adjusted. The design variables to be adjusted may be changed as appropriate depending on the application.
[0016] Each design variable x1 to x6 has a lower limit and an upper limit, which are design constraints. The value of a design variable is called a design value. For example, the design value of design variable x1 can take any value in the range of 4 to 7 (μm). A combination of design values is referred to as design value data X. The design value data X is represented by an N-dimensional vector.
[0017] The design variables may be, for example, parameters related to the settings of a manufacturing device, and may be continuous, discrete, or categorical variables.
[0018] Here, the variables representing the characteristics of the semiconductor device 100 are called characteristic variables (or intermediate results), and y kLet the characteristic variable y k There exists one or more (k≧1). k is, for example, the on-resistance, breakdown voltage, or switching charge of the MOSFET.
[0019] In this embodiment, the function to be optimized is represented as an objective function f (see equation (1) below). The objective function f is a function that is calculated by dividing one or more characteristic variables y k The objective function f is preset by the user.
[0020] The information processing device 1 in FIG. 1 includes an initial search unit 2, a storage unit 3, a control unit 4, an output unit 5, and an input unit 8.
[0021] The initial search unit 2 performs initial sampling of the values of multiple design variables as an initial search. The initial search unit 2 performs initial sampling by inputting design value data X, which includes randomly generated values of multiple design variables, into a simulator and acquiring the values of characteristic variables (referred to as observed values of characteristic variables) g or the values of objective functions (referred to as observed values of objective functions) h, or both. If the characteristic variables are represented by functions including the design variables, the observed values of the characteristic variables may be acquired by inputting the design value data into the function. Alternatively, as a method of acquiring observed values, the initial search unit 2 may acquire observed values obtained based on simulations and / or experiments performed by a user or an external device, etc.
[0022] A set of one design value data X and its corresponding observed values {X, g, h} is defined as a data set D. The initial search unit 2 stores the data set D obtained by initial sampling in the storage unit 3. There is one or more observed values g of the characteristic variable. For example, if characteristic variables y1 and y2 exist, observed values g1 and g2 are output, and the data set D becomes {X, g1, g2, h}. In this case, the initial search unit 2 stores the design value data X i A data set D{X, g1, g2, h} including a plurality of pairs of the observed values {g1, g2, h} is stored in the storage unit 3.
[0023] When only one of the observed values h of the objective function and the observed values g of the characteristic variables is acquired, only one of the observed values h of the objective function and the observed values g of the characteristic variables may be included in the data set D. Note that the observed values of the characteristic variables or the observed values of the objective function obtained based on a simulator, an experiment, or the like may contain noise components.
[0024] In this embodiment, the characteristic variable y k For example, the design is performed by focusing on the breakdown voltage y1 and on-resistance y2. dss The objective function f is expressed as shown in Equation 1 using a ramp function ReLU, for example. The objective function f is determined in advance by the user. In this embodiment, an example is described in which design variables are obtained that minimize or quasi-minimize an output variable (objective variable) that represents the output of the objective function f, as an optimization criterion for the objective function f. Note that by inverting the sign of the objective function f, the minimization problem of the objective function can be rewritten as an equivalent maximization problem. The case of maximization will be omitted.
[0025]
number
[0026] From Equation 1, when minimizing the objective function f, "V dss It can be seen that "RonA is minimum" is satisfied while "110V or more" is satisfied. dss In Equation 1, the coefficients "1 / 30" and "10" associated with the characteristic variables are values that are appropriately set by the user. k may be normalized to unify the scale. Equation 1 includes the observed values of the characteristic variables g(RonA and V dss ) to obtain the observed value h of the objective function f.
[0027] The storage unit 3 stores the data set D generated by the initial search unit 2. The data set D in the storage unit 3 is updated by adding data by the subspace search processing unit 7, which will be described later. The storage unit 3 is configured by a storage medium such as a RAM (Random Access Memory), a flash memory, or an optical disk.
[0028] The control unit 4 includes a subgroup setting unit 6 that combines multiple design variables to generate multiple (M) subgroups, each consisting of two or more design variables, and a subspace search processing unit 7. The subspace search processing unit 7 includes multiple subspace search units 7_1 to 7_M that correspond to multiple subspaces spanned by the multiple subgroups. The initial search unit 2 and control unit 4 can be configured, for example, by a processor or circuit such as a CPU, MPU, or ASIC.
[0029] The output unit 5 outputs various information or data generated by processing by the control unit 4. Examples of the output unit 5 include a liquid crystal display, an organic electroluminescence display, an LED (Light Emitting Diode) display, or other user interfaces capable of displaying data. The output unit 5 may be a printer that prints data on paper, or a transmitting device that transmits data wirelessly or via a wired connection.
[0030] The input unit 8 receives from the user input of various information (user setting values) necessary for processing by the initial search unit 2 and the control unit 4. The user setting values may include, for example, an objective function formula, a design value that serves as a starting point for initial sampling performed by the initial search unit 2, the number of subgroups generated by a subgroup generation unit 64 (described later), the number of search processes executed by a subspace search unit 7_n (described later), and a termination condition (described later).
[0031] 4 is a block diagram of the subgroup setting unit 6. The subgroup setting unit 6 includes an acquisition unit 61, a regression equation generation unit 62 (regression model generation unit), a coefficient comparison unit 63, and a subgroup generation unit 64.
[0032] The acquisition unit 61 acquires the data set D from the storage unit 3.
[0033] The regression equation generating unit 62 generates a regression equation f' as a regression model that regresses the output variables (objective variables) of the objective function f from the design variables based on the acquired data set D. Alternatively, the regression equation generating unit 62 generates a regression equation y that regresses the characteristic variables from the design variables for each characteristic variable based on the acquired data set D. k ' (Regression equation for characteristic variables) is generated.
[0034] The user may set in advance which regression equation to generate, or may display a screen that allows the user to select which regression equation to generate. For example, the user may select the characteristic variable y k If it is determined that generating a regression equation for each characteristic variable will result in a more accurate regression equation, it may be possible to select generating a regression equation for each characteristic variable. Alternatively, it may be possible to determine in advance which regression equation to generate based on the number of characteristic variables y included in the objective function. k The type of the saturation may be determined by the type of the saturation.
[0035] Below, the on-resistance per unit area RonA and breakdown voltage V dss An example of generating a regression equation will be shown, focusing on the case where the regression equation generating unit 62 generates a regression equation for each of the above two characteristic variables.
[0036] The regression equation generation unit 62 generates multiple explanatory variables x' for the regression equation. Each explanatory variable x' is a term representing the design variable x itself (design variable term), or a term including a set of multiple (two or more) design variables x. Hereinafter, a term including a set of multiple design variables x will be referred to as an "interaction term."
[0037] The regression equation y generated by the regression equation generating unit 62 k An example of the regression equation f' is shown in Equation 2. The regression equation f' can also be expressed by an equation similar to Equation 2. c is the coefficient (weight). As shown in Equation 2, the regression equation y k' includes terms for the design variables themselves and interaction terms. Here, the interaction term is the product of two different design variables. There are six design variables, x1 to x6, and it includes 6C2 = 15 interaction terms as all combinations of two design variables.
[0038]
number
[0039] An interaction term may include a product of three or more design variables, an interaction term may include the reciprocal of a design variable or a product of reciprocals, or an interaction term may include a composite function of the design variables.
[0040] The regression equation generating unit 62 calculates the correlation between the value (predicted value) obtained by inputting the design value data included in the data set into the generated regression equation and the observed value of the characteristic variable included in the data set, and calculates the coefficient of determination R 2 When generating a regression equation for a response variable, the observed values of the response function may be used as the observed values included in the data set.
[0041] The type of regression used by the regression equation generation unit 62 may be any type as long as it has an interaction term and a coefficient (weight). The regression equation generation unit 62 may generate a regression model using at least one of Ridge regression, Lasso regression, Elastic Net regression, decision tree regression, Random Forest regression, k-nearest neighbor regression, support vector regression, and neural network. In Random Forest regression, the coefficient corresponds to feature importance. Furthermore, Permutation Importance may be used as the coefficient c.
[0042] The coefficient comparison unit 63 compares the generated regression equation y kBased on the coefficient of the interaction term included in '(or f'), pairs of two or more design variables that have strong interactions are determined. For example, based on the magnitude (absolute value) of the coefficient of the interaction term, pairs of two or more design variables that have strong interactions are determined. The larger the absolute value of the coefficient, the stronger the interaction between the two or more design variables included in the interaction term.
[0043] 5 and 6 are graphs in which the coefficient comparison unit 63 extracts the coefficient c of each term based on the generated regression equation. The vertical axis of FIG. 5 and FIG. 6 represents the magnitude (absolute value) of the coefficient c. FIG. 5 shows the extracted coefficient for the characteristic variable RonA included in the objective function f shown in Equation 1. FIG. 6 shows the extracted coefficient for the characteristic variable V included in the objective function f shown in Equation 1. dss In the examples of Figures 5 and 6, a regression equation is generated for each characteristic variable.
[0044] The output unit 5 may output the generated regression equation or information about the regression equation so that the user can check it. For example, the output unit 5 may output the coefficients of each term extracted by the coefficient comparison unit 63 as shown in FIGS. 5 and 6 so that the user can check it. Alternatively, the output unit 5 may output the coefficient of determination R of the generated regression equation calculated by the regression equation generation unit 62. 2 This allows the user to easily understand the content and accuracy of the generated regression equation.
[0045] The subgroup generation unit 64 selects at least one interaction term based on the coefficient of each interaction term, and generates at least one subgroup, which is a set of design variables included in the selected interaction term. For example, the subgroup generation unit 64 sorts the interaction terms in descending order of the absolute value of the coefficient, and combines multiple design variables included in the interaction term into one subgroup in the sorted order, until all design variables are included in at least one subgroup. This subgrouping process is performed for each characteristic variable.
[0046] Figures 7 and 8 show the interaction terms shown in the graphs in Figures 5 and 6, respectively, sorted in descending order of the absolute value of the coefficients of the interaction terms. For example, referring to Figure 7, the interaction term with the largest coefficient is x4x6, followed by x2x6, x1x6, and so on.
[0047] 9 and 10 show examples of subgroups generated by the subgroup generation unit 64 for the sorting results shown in FIGS. 7 and 8 and the subspaces spanned by the subgroups. In this embodiment, the subgroup generation unit 64 first selects interaction terms for the characteristic variable RonA in descending order of coefficient, as shown in FIG. 7, and generates subgroups that are sets of design variables included in the selected interaction terms, such as G1, G2, ... shown in FIG. 9. The subgroup generation unit 64 generates subgroups until, for example, all design variables are included in at least one subgroup. In this embodiment, when subgroup G7 is generated, all design variables are included in at least one subgroup, and therefore further subgroup generation is terminated.
[0048] The subgroup generation unit 64 generates a characteristic variable V dss Similarly, subgroups are generated for the interaction terms G1, G2, G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13, G14, G15, G16, G17, G18, G19, G20, G21, G22, G23, G24, G25, G26, G27, G28, G30, G31, G32, G33, G34, G35, G36, G37, G38, G40, G41, G42, G43, G44, G45, G46, G47, G48, G49, G50, G51, G52, G53, G54, G55, G56, G57, G58, G59, G60, G61, G62, G63, G64, G65, G 13 When is generated, all design variables are included in at least one subgroup, so further subgroup generation is terminated.
[0049] In this way, the characteristic variable RonA and the characteristic variable V dss For G1 to G 13 13 subgroups are generated.
[0050] The subgroup generation unit 64 first calculates the characteristic variable V dssAlternatively, the subgroup generating unit 64 may generate the same number of subgroups for each of a plurality of characteristic variables. In this case, for example, subgroups for other characteristic variables may be generated according to the characteristic variable with the largest number of subgroups. Alternatively, the subgroup generating unit 64 may generate a number of subgroups based on a user-set value input in advance.
[0051] Moreover, the number of design variables included in a subgroup is preferably, for example, 2 to 3. In other words, the number of design variables included in the interaction term in the regression equation generated by the regression equation generating unit 62 is preferably 2 to 3. However, it is not excluded that four or more design variables may be included in the interaction term.
[0052] FIG. 11 is a flowchart showing an example of the subgroup generation process executed by the subgroup setting section 6. As shown in FIG.
[0053] First, the acquisition unit 61 acquires the data set D stored in the storage unit 3 (step S11).
[0054] Next, the regression equation generating unit 62 calculates the characteristic variable y based on a part or all of the data set D acquired by the acquiring unit 61. k The regression equation for y k In the following description of this flowchart, the characteristic variable y k The regression equation for y k ' is generated.
[0055] Next, the coefficient comparison unit 63 determines the strength of interaction between the design variables for each interaction term based on the coefficient of the interaction term included in the generated regression equation of the characteristic variables (step S13).
[0056] Next, the subgroup generation unit 64 groups together the design variables included in the interaction terms into one subgroup in order from the interaction term with the strongest interaction, until all the design variables are included in at least one subgroup (step S14). The processes of steps S12 to S14 are performed for each characteristic variable. For example, a plurality of first subgroups are generated for a first characteristic variable, and a plurality of second subgroups are generated for a second characteristic variable. A total number of subgroups generated for the first and second characteristic variables is equal to the sum of the number of first subgroups and the number of second subgroups.
[0057] Hereafter, the nth subgroup among M subgroups will be called subgroup G n (n≧1). Also, the subgroup G n The subspace spanned by V n It is written as (n≧1).
[0058] When a plurality of subgroups are generated by the subgroup setting unit 6, the subspace search processing unit 7 of the control unit 4 performs a subspace search process for each subspace spanned by the generated subgroups in order. The search process is performed by a subspace search unit 7_N (N=1 to M) for each subspace.
[0059] After the subgroup setting unit 6 generates a plurality of subgroups, one subspace search unit acquires one of the generated subgroups. The subspace search unit then generates one subspace from the acquired subgroup and searches the subspace. Hereinafter, the subgroup G n from the subspace V n and generate the subspace V n The n-th subspace search unit that searches for is referred to as subspace search unit 7_n. The following description focuses on subspace search unit 7_n among the multiple subspace search units.
[0060] 12 is a block diagram showing the details of the subspace search unit 7_n (an example where n=1 is shown in FIG. 12). The subspace search unit 7_n searches the subspace V in a direction in which the observed value of the objective function f decreases. n In other words, the values of the design variables that minimize or quasi-minimize the value of the objective function f are searched for.
[0061] As shown in FIG. 12, the subspace search unit 7_n includes a prediction model generation unit 71, an acquisition function generation unit 72, and a design value data calculation unit 73. The other subspace search units also include elements equivalent to these elements. The subspace search unit 7_n uses the data set D stored in the storage unit 3 and the objective function f to generate a subspace V n In this case, a design value that minimizes or quasi-minimizes the value of the objective function f (observed value) is searched for, and data X containing the searched design value is obtained. During the search, the subspace V n The values of the design variables other than the design variables that span V are determined to be arbitrary values, and the other design variables are fixed to the determined values, and the subspace V n The data X is searched in the subspace V n The values of the design variables that span the eigenvalues are searched for, and the values of the other design variables are determined to be arbitrary values. This will be explained in more detail below.
[0062] The prediction model generation unit 71 generates a subspace V using, for example, Gaussian process regression based on a part or all of the data set D stored in the storage unit 3. n A predictive model (surrogate model) of the value of the objective function f is generated.
[0063] More specifically, for example, the subspace V to be searched n The values of the design variables that do not span the n Using the design variables that span the x4 and x6 subspaces as model variables, a prediction model (surrogate model) for the objective function value is generated by Gaussian process regression. For example, if the subspace V1 is the search target, the surrogate model is a function of x4 and x6. n The value of the design variable that is fixed as not spanning may be, for example, the value of the design variable that is fixed and included in the design value data that gives the smallest (optimal) observed value g or observed value h among the observed values included in the data set D stored in the memory unit 3.
[0064] The acquisition function generation unit 72 generates an acquisition function by Bayesian estimation based on the prediction model generated by the prediction model generation unit 71. For example, the acquisition function generation unit 72 calculates the mean value and standard deviation of the predictive distribution of the objective function values corresponding to the values of the design variables included in the subgroup that spans the subspace to be searched, and calculates the acquisition function based on the mean value and standard deviation. The acquisition function generated by the acquisition function generation unit 72 is, for example, PI (Probability of Improvement), EI (Expected Improvement), or UCB (Upper Confidential Bound). For example, EI is a function whose objective variable is the expected value of the difference between the evaluation value of the prediction model and the best value at the time of evaluation (expected value of the improvement amount). In the following description, it is assumed that the larger the acquisition function value for a certain design value, the higher the evaluation of that design value.
[0065] The design value data calculation unit 73 determines values that maximize or quasi-maximize the acquisition function for the design variables that span the subspace to be searched. The design values that maximize or quasi-maximize the acquisition function are determined as design values that are likely to minimize or quasi-minimize the observed value of the objective function f. The design value data calculation unit 73 finds the design values that maximize or quasi-maximize the acquisition function using, for example, a full search, a random search, a grid search, or the Newton method.
[0066] The design value data calculation unit 73 acquires the observed values of the characteristic variables (or the observed values of the objective function) from the design value data including the design values determined for the design variables that span the subspace of the search target and the fixed values described above for the design variables that do not span the subspace of the search target. The method for acquiring the observed values may be the same as that used by the initial search unit 2. The design value data calculation unit 73 adds data including the design value data and the acquired observed values to the data set D in the storage unit 3.
[0067] The subspace search unit 7_n searches the subspace V nThe series of search processes performed by the above-mentioned prediction model generation unit 71 to design value data calculation unit 73 are performed a predetermined number of times (for example, 10 times) for the subspace V. The number of search processes performed by the subspace search unit 7_n may be based on a user setting value input in advance. Since data is added to the data set D every time processing is performed, the content of the data set D targeted by the prediction model generation unit 71 increases by one piece of data each time. In this way, the subspace V n A search for values of the design variables that span the
[0068] Figure 13 shows the subspace V n 10 is a flowchart showing an example of processing executed by a subspace search unit 7_n corresponding to the subspace search unit 7_n.
[0069] First, the subspace search unit 7_n selects a subgroup G from among the plurality of subgroups generated by the subgroup setting unit 6. n and obtain the subspace V n is generated (step S21).
[0070] Next, the subspace searching unit 7_n acquires the data set D stored in the storage unit 3 (step S22).
[0071] Next, the prediction model generation unit 71 generates a subspace V based on the acquired data set D. n In step S23, a prediction model for the value of the objective function f is generated. n In this case, the prediction model generation unit 71 generates a function in which the design variables that span the subspace V n For design variables that do not span the .DELTA..times ...
[0072] Next, the acquisition function generating unit 72 generates an acquisition function based on the generated prediction model (step S24).
[0073] Next, the design value data calculation unit 73 calculates the subspace V nFor the design variables that span the equation, design values that maximize or quasi-maximize the acquisition function are determined (step S25).
[0074] Next, the design value data calculation unit 73 calculates the subspace V n The determined values of the design variables that span the subspace V n Observation values of the characteristic variables and / or the objective function in the design value data including arbitrarily determined values of the design variables that do not span the boundary are obtained (step S26).
[0075] The design value data calculation unit 73 adds data including the design value data and the acquired observation values to the data set D in the storage unit 3 (step S27).
[0076] Next, the subspace searching unit 7_n determines whether steps S22 to S27 have been repeated a predetermined number of times (step S28).
[0077] If it is determined that steps S22 to S27 have not been repeated the predetermined number of times, the process returns to step S22 (step S28: No).
[0078] If it is determined that steps S22 to S27 have been repeated the predetermined number of times, the process ends (step S28: Yes).
[0079] By performing the above processing, the subspace V n The search is performed in the subspace V n When the search for V is completed, the subspace search unit 7_n+1 in the next stage searches the subspace V n+1 At this time, the subspace search unit 7_n+1 searches the subspaces V1 to V n Based on the dataset D, which reflects the search for n+1 Search for:
[0080] FIG. 14 is a flowchart showing an example of processing executed by the subspace search processing unit 7.
[0081] First, n=1, and the subspace search unit 7_n searches the subspace V n is searched a predetermined number of times based on part or all of the data set D stored in the storage unit 3 (step S31). The subspace search unit 7_n adds data including design value data based on the search result and observation values corresponding to the design value data to the data set D in the storage unit 3. Step S31 includes steps S21 to S28 in FIG.
[0082] Next, the subspace search processing unit 7 determines whether or not the search has been performed in all M subspaces (step S32).
[0083] If the search has not been performed in all M subspaces, the process returns to step S31, where the next subspace search unit 7_n+1 searches the subspace V n+1 A search is performed for (step S32: No).
[0084] When the search has been performed in all M subspaces, the process ends (step S32: Yes). Through the above process, the search is performed in all the generated subspaces.
[0085] The control unit 4 may then determine, as the values of the design variables of the semiconductor device 100, the values of the design variables included in the design value data having the smallest observed value of the objective function in the data set D. The control unit 4 may output information indicating the determined values of the design variables to the user via the output unit 5.
[0086] The above-described series of processes (subgroup setting and subspace search processes) by the subgroup setting unit 6 and the subspace search processing unit 7 may be performed multiple times. That is, the series of processes (subgroup setting and subspace search processes) in which the subgroup setting unit 6 generates subgroups, the subspace search processing unit 7 generates subspaces from all the generated subgroups, and all the subspaces are searched is considered as one cycle, and the series of processes may be repeated two or more times.
[0087] In this case, from the second round onwards, the subgroup setting unit 6 generates subgroups again, and the subspace search processing unit 7 begins search processing. At this time, unlike the first round, the regression formula generation unit 62 in the subgroup setting unit 6 generates a regression formula based on the dataset D that reflects the processing up to the previous round. Since the number of data in the dataset D that is referenced when generating the regression formula increases with each repetition, it is expected that the accuracy of the regression formula generated by the regression formula generation unit 62 will improve. In other words, it is possible to generate subgroups that are thought to be more effective in reducing the value of the objective function.
[0088] The control unit 4 repeats the subgroup setting and subspace search process until a termination condition is met. For example, the control unit 4 may repeat the subgroup setting and subspace search process until a predetermined number of iterations is reached, or until the time required for the process reaches a predetermined time. Alternatively, the control unit 4 may repeat the subgroup setting and subspace search process until the coefficient of determination R calculated by the regression equation generation unit 62 is reached. 2 The control unit 4 may repeat the subgroup setting and subspace search process until the observed value of the objective function f based on the design value data obtained as a result of the search by the subgroup search processing unit 7 becomes equal to or greater than a predetermined threshold. Alternatively, the control unit 4 may repeat the subgroup setting and subspace search process until the observed value of the objective function f based on the design value data obtained as a result of the search by the subgroup search processing unit 7 becomes a desired value. The control unit 4 may set the termination condition by combining multiple conditions. The control unit 4 may set the termination condition based on a user-set value input in advance.
[0089] From the second round onwards, the subgroup generation unit 64 may increase or decrease the number of subgroups to be generated as the number of rounds increases. Alternatively, the subgroup generation unit 64 may change the number of subgroups to be generated once the number of rounds reaches a predetermined number (i.e., the number of subgroups to be generated is not changed before the number of rounds reaches the predetermined number).
[0090] Furthermore, the regression equation generating unit 62 may change the configuration of the interaction term depending on the number of iterations. For example, in the first iteration, the interaction term may include a product of two different design variables, and in the second iteration, the interaction term may include a product of three different design variables.
[0091] Fig. 15 is a flowchart showing an example of the overall process executed by the information processing device 1. Steps S11 to S14 are the same as those in the flowchart of Fig. 11, and steps S21 to S28 are the same as those in the flowchart of Fig. 13, so a brief description will be given.
[0092] First, the input unit 8 receives input of various user setting values by the user (step S01).
[0093] Next, the initial search unit 2 samples design value data as an initial search and acquires observed values (observed values of characteristic variables, observed values of objective functions, or both) based on the sampled design value data (step S02). The initial search unit 2 stores a plurality of data including the acquired design value data and observed values as a data set D in the storage unit 3.
[0094] Next, the acquisition unit 61 acquires the data set D stored in the storage unit 3 (step S11).
[0095] Next, the regression equation generating unit 62 calculates the characteristic variable y based on a part or all of the data set D acquired by the acquiring unit 61. k The regression equation for y k ', or a regression equation f' of the output (objective variable) of the objective function f is generated (step S12).
[0096] Next, the coefficient comparison unit 63 determines the strength of interaction between the design variables included in the interaction term based on the coefficient of the interaction term included in the regression equation (step S13).
[0097] Next, the subgroup generation unit 64 selects interaction terms in order of the strength of the interaction between the design variables, and subgroups the design variables included in the selected interaction terms to generate multiple (M) subgroups (step S14).
[0098] Next, the subspace search unit 7_n selects a subgroup G from among the M subgroups. nand obtain the subspace V n is generated (n=1 to M) (step S21).
[0099] Next, the subspace searching unit 7_n acquires the data set D stored in the storage unit 3 (step S22).
[0100] Next, the prediction model generation unit 71 generates a subspace V based on the acquired data set D. n A prediction model (surrogate model) for the value of the objective function f is generated (step S23).
[0101] Next, the acquisition function generating unit 72 calculates an acquisition function based on the generated prediction model (step S24).
[0102] Next, the design value data calculation unit 73 calculates the subspace V n For the above, the values of the design variables that maximize or quasi-maximize the acquisition function are determined, and design value data including the determined values of the design variables is determined (step S25).
[0103] Next, the design value data calculation unit 73 acquires the observed values (the observed values of the characteristic variables, the observed values of the objective function, or both of them) based on the determined design value data (step S26).
[0104] Next, the design value data calculation unit 73 adds data including the determined design value data and the acquired observation values to the data set D in the storage unit 3 (step S27).
[0105] Next, the subspace search processing unit 7 calculates the subspace V n It is determined whether steps S22 to S27 have been repeated a predetermined number of times (step S28).
[0106] If it is determined that steps S22 to S27 have not been repeated the predetermined number of times, the process returns to step S21 (step S28: No).
[0107] If it is determined that steps S22 to S27 have been repeated the predetermined number of times, the subspace search processing unit 7 determines whether or not a search has been performed on all M subspaces (step S32).
[0108] If the search has not been performed in all M subspaces, the process returns to step S21, where the next subspace search unit 7_n+1 searches the subspace V n+1 (Step S32: No).
[0109] When the search has been completed in all M subspaces, the control unit 4 determines whether or not the termination condition is met (step S44).
[0110] If the termination condition is not satisfied, the control unit 4 returns to step S11 (step S44: No).
[0111] If the termination condition is met, the control unit 4 terminates the process (step S44: Yes).
[0112] As described above, according to this embodiment, by generating subgroups of design variables using regression, it is possible to efficiently generate subgroups of design variables that have strong interactions. This makes it possible to efficiently find the values of the design variables that optimize or suboptimize the observed value of the objective function. Furthermore, by repeating the subgroup setting and subspace search process multiple times, valid data is accumulated in dataset D, making it possible to generate more effective subgroups. As a result, it is possible to reduce the possibility of falling into a local optimum solution and efficiently optimize all design variables.
[0113] (Hardware configuration) 16 shows the hardware configuration of an information processing device according to each embodiment. The information processing device is configured by a computer device 600. The computer device 600 includes a CPU 601, an input interface 602, a display device 603, a communication device 604, a main memory device 605, and an external memory device 606, which are interconnected by a bus 607.
[0114] The CPU (Central Processing Unit) 601 executes an information processing program, which is a computer program, on the main memory device 605. The information processing program is a program that realizes each of the above-mentioned functional components of the information processing device. The information processing program may be realized not as a single program, but as a combination of multiple programs and scripts. Each functional component is realized by the CPU 601 executing the information processing program.
[0115] The input interface 602 is a circuit for inputting operation signals from input devices such as a keyboard, a mouse, a touch panel, etc. to the information processing apparatus. The input interface 602 corresponds to the input unit of the information processing apparatus according to each embodiment.
[0116] The display device 603 displays data output from the information processing device. The display device 603 is, for example, but not limited to, an LCD (liquid crystal display), an organic electroluminescence display, a CRT (cathode ray tube), or a PDP (plasma display). Data output from the computer device 600 can be displayed on the display device 603. The display device 603 corresponds to the output unit of the information processing device according to each embodiment.
[0117] The communication device 604 is a circuit that enables the information processing device to communicate with an external device wirelessly or via a wire. Data can be input from the external device via the communication device 604. The data input from the external device can be stored in the main memory device 605 or the external memory device 606.
[0118] The main memory device 605 stores an information processing program, data required for executing the information processing program, data generated by executing the information processing program, etc. The information processing program is deployed and executed on the main memory device 605. The main memory device 605 is, for example, a RAM, a DRAM, or an SRAM, but is not limited to these. Each storage unit or database of the information processing device according to each embodiment may be constructed on the main memory device 605.
[0119] The external storage device 606 stores information processing programs, data required for executing the information processing programs, data generated by executing the information processing programs, etc. These information processing programs and data are read into the main storage device 605 when the information processing programs are executed. The external storage device 606 is, for example, a hard disk, an optical disk, a flash memory, or a magnetic tape, but is not limited to these. Each storage unit or database of the information processing device may be constructed on the external storage device 606.
[0120] The information processing program may be pre-installed in the computer device 600, or may be stored in a storage medium such as a CD-ROM. The information processing program may also be uploaded onto the Internet.
[0121] Furthermore, the information processing device may be configured as a single computer device 600, or may be configured as a system made up of multiple computer devices 600 connected to each other.
[0122] The present invention is not limited to the above-described embodiments, and the components can be modified and embodied in practice without departing from the spirit of the invention. Furthermore, various inventions can be created by appropriately combining multiple components disclosed in the above-described embodiments. For example, configurations in which some components are omitted from all the components shown in each embodiment may also be considered. Furthermore, components described in different embodiments may be appropriately combined. [Explanation of symbols]
[0123] 1. Information processing equipment 2 Initial search section 3 Storage section 4. Control section 5 Output section 6 Subgroup setting section 8 Input section 61 Acquisition Department 62 Regression equation generation unit (regression model generation unit) 63 Coefficient comparison unit 64 Subgroup Generation Unit 7 Subspace search processing section 7_1~7_M Subspace search unit 71 Prediction model generation unit 72 Acquisition function generation unit 73 Design value data calculation section 100 Semiconductor device 101 Drain electrode 102 Source electrode 103 gate electrode 111 Drain layer 112 Drift Layer 113 Base Layer 114 Source Layer 120 Field plate insulating film (FP insulating film) 121 Field plate electrode (FP electrode) 600 Computer equipment 602 Input Interface 603 Display device 604 Communication equipment 605 Main storage 606 External storage device 607 Bus
Claims
1. a regression model generation unit that generates a plurality of terms including a combination of two or more variables by combining a plurality of variables, and generates a regression model that regresses a characteristic variable or an objective variable representing an output of an objective function including the characteristic variable using the plurality of terms; a subgroup generation unit that generates at least one subgroup, which is a set of the variables included in at least one of the terms, based on coefficients of the plurality of terms included in the regression model; a subspace search processing unit that searches for each subspace spanned by the subgroup based on an optimization criterion of the objective function and generates first design value data including values of the plurality of variables; An information processing device comprising:
2. The regression model generation unit generates the regression model based on second design value data including values of the plurality of variables acquired by sampling, and a data set including output values of characteristic variables or output values of the objective function based on the second design value data. The information processing device according to claim 1 .
3. The subgroup generation unit selects the terms in descending order of the absolute value of the coefficient, and generates the subgroups, which are sets of the variables included in the terms in the selected order, until the plurality of variables are included in at least one of the subgroups. The information processing device according to claim 2 .
4. The subspace search processing unit searches the subspace in descending order of the absolute value of the coefficient. The information processing device according to claim 3 .
5. The terms include at least one of a product of the variables, a reciprocal of the variables, a product of reciprocals of the variables, and a complex function of the variables. The information processing device according to claim 1 .
6. The regression model generation unit generates the regression model using at least one of Ridge regression, Lasso regression, Elastic Net regression, decision tree regression, random forest regression, k-nearest neighbor regression, support vector regression, and neural network. The information processing device according to claim 1 .
7. the subspace search processing unit determines values of variables other than the variables spanning the subspace among the plurality of variables as the first design value data or the second design value data that provides an optimal output value of the characteristic variable or the objective function among the output values included in the data set; generating the first design value data including the value of the variable acquired by the search and the value of the other variable; Adding data including the first design value data and the value of the characteristic variable or the output value of the objective variable based on the first design value data to the data set. The information processing device according to claim 2 .
8. The subspace search processing unit searches for a space spanned by the subgroup having the next largest absolute value of the coefficient next to the subgroup based on the data set to which the data has been added. The information processing device according to claim 7 .
9. The subspace search processing unit searches the subspace multiple times in succession. The information processing device according to claim 7 .
10. After the search for all the subspaces is completed, a series of processes by the regression model generation unit, the subgroup generation unit, and the subspace search processing unit is repeated one or more times based on the data set. The information processing device according to claim 7 .
11. The subgroup generation unit increases the number of subgroups to be generated as the number of times the series of processes is repeated increases. The information processing device according to claim 10.
12. The subgroup generation unit reduces the number of subgroups to be generated as the number of times the series of processes is repeated increases. The information processing device according to claim 10.
13. The subgroup generation unit changes the number of the subgroups to be generated when the number of times the series of processes is repeated reaches a predetermined number. The information processing device according to claim 10.
14. an output unit that outputs information about the terms and the coefficients of the terms included in the regression model; The information processing device according to claim 1 .
15. The plurality of variables are a plurality of design variables related to a target device. The information processing device according to claim 1 .
16. generating a plurality of terms including a combination of two or more of the variables by combining the plurality of variables, and generating a regression model that regresses a characteristic variable or an objective variable representing an output of an objective function including the characteristic variable by the plurality of terms; generating at least one subgroup, which is a set of the variables included in at least one of the terms, based on coefficients of the plurality of terms included in the regression model; performing a search for each subspace spanned by the subgroups based on an optimization criterion of the objective function, and generating first design value data including values of the plurality of variables; A computer-implemented method of processing information.
17. a step of combining a plurality of variables to generate a plurality of terms including a set of two or more of the variables, and generating a regression model that regresses a characteristic variable or an objective variable representing an output of an objective function including the characteristic variable by the plurality of terms; generating at least one subgroup, which is a set of the variables included in at least one of the terms, based on coefficients of the plurality of terms included in the regression model; a step of searching for each subspace spanned by the subgroups based on an optimization criterion of the objective function, and generating first design value data including values of the plurality of variables; A computer program for causing a computer to execute the above.
Citation Information
Patent Citations
Methods, systems and software for identifying biomolecules with interacting components
JP2016511884A
Information processor and information processing method
JP2021149988A
Device, method and system for parameter optimization
JP2022074880A