Information processing apparatus, information processing method, and program
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CALMARION INC
- Filing Date
- 2024-12-23
- Publication Date
- 2026-08-07
AI Technical Summary
根据本发明的一个方式,在使用了自动微分的计算方法中,能够抑制计算成本。
Smart Images

Figure CN122535907A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to information processing apparatus, information processing methods, and programs. Background Technology
[0002] There are known techniques for performing analytical operations such as optimizing the parameters of systems that describe objects such as matter. For example, Patent Document 1 discloses a technique for designing matter based on quantum mechanical calculations.
[0003] Existing technical documents Patent documents Patent document 1: Japanese Patent Application Publication No. 2016-69302 Summary of the Invention The problem to be solved by the present invention As one of the aforementioned analytical methods, methods using automatic differentiation are also known. By using automatic differentiation, analytical accuracy can be improved; furthermore, it is desirable to perform automatic differentiation at a lower computational cost. One objective of this invention is to implement a technique that can suppress computational costs in computational methods using automatic differentiation.
[0004] Problem-solving methods To address the aforementioned problems, an information processing apparatus according to one aspect of the present invention comprises: an acquisition unit that acquires initial values related to the calculation of the value of an object function, the object function directly or indirectly including one or more parameters as independent variables; and a control unit that calculates the differential coefficients of the object function, the differential coefficient calculation process of the control unit including a first process and a second process, the differential coefficient calculation process of the control unit including a first iterative process, the first process including a portion of the first iterative process, the second process including a portion other than the portion of the first iterative process, the differential coefficient calculation process of the control unit including a third process, the third process being an automatic differential calculation process for a process excluding the first process but including the second process, the first process including a first iteration in the iterative process of the first iterative process, the first iterative process being an iterative process for finding a solution to a self-consistent equation.
[0005] To address the aforementioned problems, one aspect of the information processing method of the present invention includes: an acquisition step, acquiring initial values related to the calculation of the value of an object function, the object function directly or indirectly including one or more parameters as independent variables; and a calculation step, calculating the differential coefficients of the object function, the calculation step of the differential coefficients comprising a first processing and a second processing, the calculation step of the differential coefficients comprising a first iterative processing, the first processing comprising a portion of the first iterative processing, the second processing comprising a portion other than the portion of the first iterative processing, the calculation step of the differential coefficients comprising a third processing, the third processing being an automatic differential calculation processing of a processing excluding the first processing and including the second processing, the first processing comprising a first iteration in the iterative processing of the first iterative processing, the first iterative processing being an iterative processing for finding a solution to a self-consistent equation.
[0006] The information processing apparatus of various embodiments of the present invention can be implemented by a computer. In this case, the computer implements the program of the information processing apparatus and the computer-readable storage medium on which the program is recorded by operating the various parts (software elements) of the information processing apparatus also fall within the scope of the present invention.
[0007] Effects of the present invention According to one aspect of the present invention, computational costs can be suppressed in computational methods that utilize automatic differentiation. Attached Figure Description
[0008] Figure 1 This is a block diagram illustrating the configuration of an information processing apparatus according to an embodiment of the present invention.
[0009] Figure 2 This is a flowchart illustrating the information processing flow of an embodiment of the present invention.
[0010] Figure 3 This is a flowchart illustrating the information processing flow of an embodiment of the present invention.
[0011] Figure 4 This is a flowchart illustrating the information processing flow of an embodiment of the present invention.
[0012] Figure 5 This is a flowchart illustrating the basic information processing flow of embodiments of the present invention.
[0013] Figure 6 This is a flowchart illustrating the basic information processing flow of embodiments of the present invention.
[0014] Figure 7This is a flowchart illustrating the information processing flow of an embodiment of the present invention.
[0015] Figure 8 This is a block diagram illustrating the configuration of an information processing apparatus according to an embodiment of the present invention.
[0016] Figure 9 This is a flowchart illustrating the information processing flow of an embodiment of the present invention.
[0017] Figure 10 This is a flowchart illustrating the information processing flow of an embodiment of the present invention.
[0018] Figure 11 This is a block diagram illustrating the configuration of an information processing apparatus according to an embodiment of the present invention.
[0019] Figure 12 This is a flowchart illustrating the information processing flow of an embodiment of the present invention. Detailed Implementation
[0020] (Overview of information processing for each implementation) First, an overview of the information processing of each embodiment described in this specification will be given. As an example, the information processing apparatus and methods of each embodiment described in this specification can be used to design (also known as reverse design) a system or substance with desired performance or physical properties. In typical simulations, for example, the arrangement of atoms, the impurity distribution of semiconductors, preparation conditions, etc., are set as parameter p, and an objective function related to the performance or physical properties such as superconducting transition temperature, voltage-current characteristics, and defect density is calculated based on this parameter. However, the information processing apparatus and methods of each embodiment described in this specification can be appropriately used to design (reverse design) the parameter p of the arrangement of atoms, the impurity distribution of semiconductors, and preparation conditions, etc., to achieve the desired superconducting transition temperature, desired voltage-current characteristics, and desired defect density. Furthermore, in other examples, parameters of the object and system can be deduced from limited measurement results related to the system as the object.
[0021] In other words, the information processing apparatus and information processing method of each embodiment described in this specification can be appropriately applied to problems such as reverse design described above, to find parameters p that maximize or minimize the objective function related to performance or physical properties. To solve this problem, knowing the derivatives of the objective function p is useful; however, when p is high-dimensional, there is a problem of computational cost in finding all derivatives related to the objective function p. In the information processing apparatus and information processing method of each embodiment described in this specification, computational cost can be reduced when calculating the derivatives related to the objective function p using an iterative method.
[0022] In the information processing apparatus and information processing method of the embodiments of this disclosure, more specifically, the following are considered: • At least one parameter p a The set P (where a is the index of the at least one parameter) A subset Q of set P, • At least one state variable x b The state variable X of the set (where b is the index of the list of at least one parameter). • Function F(Q, X). Hereinafter, P or Q will be simply referred to as parameters. Additionally, X will be simply referred to as the state variable. Furthermore, consider X as the value of the state variable X, determined based on the value of the parameter P. ANS (P). Below, X will be... ANS (P) is also simply denoted as X(P). When set Q is not empty, the function F explicitly depends on the parameter p included in set P. a This can be any one of the following cases. Such a function F can be expressed as directly including one or more parameters (p...). a The object function (F) is the independent variable. On the other hand, when set Q is empty, the function F does not explicitly depend on the parameter p included in set P. a This can be any one of the following cases. Such a function F can be expressed as indirectly including one or more parameters (p...). a The object function (F) is the independent variable. Furthermore, F(Q, X) depends only on x. b At least one of them is required. For example, F can also be x. b any one of itself in it.
[0023] Thus, the object function (F) can be expressed as a function with a subset (Q) of one or more parameters and one or more state variables (X(P)) as independent variables, wherein the one or more state variables (X(P)) have one or more parameters as independent variables. Furthermore, the aforementioned state variable x... b It doesn't have to be a variable related to the physical state.
[0024] In the information processing apparatus and information processing method described in this specification, as an example, the relationship between F(Q, X) and F(Q, X) is numerically calculated. ANS (P)) each p a Related derivatives F(Q,X) ANS (P)) / p a The value of F(Q, X). ANS The specific form of (P) depends on the object of the information processing device and the information processing method.
[0025] Furthermore, according to the above notation method, F(Q,X) ANS (P)) / p a This includes the object function F, which depends on the contribution of parameter P via one or more state variables X.
[0026] X ANS (P) can also depend on parameters not included in P, but for the sake of simplicity, X may not always be explicitly written below. ANS Dependencies on parameters not included in P. Additionally, function F can also depend on parameters not included in P, but for simplicity, the dependencies of function F on parameters not included in P will sometimes not be explicitly stated below.
[0027] X ANS (P) Determined based on the object of the information processing device and information processing method. X ANS (P) can be an implicit function of P, as long as it is known that it is used to find X. ANS The numerical solution of (P) can be obtained through iterative calculation. For example, it is sufficient to know the function φ, which expects to be obtained by repeating X from a suitable initial condition X0. i =φ(P,X i-1 The calculation of X i The convergence value of X is obtained ANS Numerical solution of (P). Alternatively, the function φ can be non-fixed, but rather a function that varies according to repetition. i The function φ i Expected to repeat X i =φi(P,X i-1 The calculation of X is used as X. i The convergence value of X is obtained ANS A function of the numerical solution of (P). For example, φ i It can be a function Vi that is not P itself but depends on i, i.e., lim i→∞ V i (P) = P's function V i The value V i (P) is used as a parameter, through X i =φ(V i (P), X i-1 Find the value of Xi. For example, you can use annealing to find the solution X = φ(P, X). ANS The value of the numerical solution of (P). Additionally, the value of the state variable X is included. i The state variables x in b The value is denoted as x (i,b) .
[0028] φ may not necessarily obtain X ANSThe numerical solution of (P), for example, could be an initial condition X0 for which X cannot be obtained through repeated calculations. ANS The value of the numerical solution of (P). For example, φ can be X = φ(P, X) having multiple solutions, X ANS (P) is one of the multiple solutions. Given that the repeated calculations begin from a certain initial condition X0, it is possible to obtain one of the multiple solutions related to X = φ(P, X) that is related to X. ANS (P) Numerical solutions corresponding to different solutions. In this case, for example, by calculating from multiple initial values, it is possible to obtain X. ANS Numerical solution of (P).
[0029] [Implementation Method 1] Next, one embodiment of the present invention will be described in detail.
[0030] (Composition of information processing device 1) Figure 1 This is a block diagram illustrating the configuration of the information processing apparatus 1 in this embodiment. For example... Figure 1 As shown, the information processing device 1 has a control unit 2, a storage unit 3, and an input / output unit 4.
[0031] (Storage Section 3) The storage unit 3 stores various data and information referenced by the control unit 2, as well as various data and information derived from the control unit 2. For example, ... Figure 1 As shown, the storage unit 3 stores the parameter P, the calculation process information CP, the threshold Cth, and the number of iterations m.
[0032] Here, as an example, parameter P refers to at least one of the parameters p mentioned above. a The set P (where 'a' is the index attached to at least one parameter). The calculation process information CP, for example, is information related to various calculation processes performed by the control unit 2, and for example, includes information used in the automatic differentiation described later. For example, the threshold Cth is a threshold referenced in the determination process used to determine whether the convergence condition is met. For example, the iteration number m is a value specifying the number of iterations required for the calculation of the object in the control unit 2. A more detailed explanation of the various data and information stored in the storage unit 3 will be given later.
[0033] (Input / Output Section 4) Input / output unit 4, as an example, is configured to include at least one input / output device such as a keyboard, mouse, monitor, printer, or touch panel. Alternatively, it may be configured to connect input / output devices such as a keyboard, mouse, monitor, printer, or touch panel to input / output unit 4. In this configuration, input / output unit 4 receives various information input to information processing device 1 from the connected input device. Under the control of control unit 2, input / output unit 4 outputs various information to the connected output device. For example, an interface such as USB (Universal Serial Bus) can be used as input / output unit 4.
[0034] (Control Unit 2) like Figure 1 As shown, the control unit 2 has an initial value determination unit 21, a state update unit 22, an end determination unit 23, a function value calculation unit 24, a differential value calculation unit 26, and an end determination unit 28.
[0035] The initial value determination unit 21 determines the initial value X0 of the state variable X. The initial value determination unit 21 can, for example, set the initial value X0 to a predetermined value, or it can use a random number to determine the initial value X0. The initial value determination unit 21 can set the initial value X0 to a value input from the outside via the input / output unit 4. The initial value determination unit 21 can be expressed as an acquisition unit that acquires the initial value related to the calculation of the value of the object function (F) (for example, the initial value X0 of X, which is the independent variable of the object function F), which directly or indirectly includes one or more parameters (p... a ) is used as the independent variable.
[0036] The state update unit 22 updates the state variable X. For example, the state update unit 22 updates the state variable X via X. i =φ(P,X i-1 Find the value of X as the new state variable X. i The details of the processing by the status update unit 22 will be described later.
[0037] The termination determination unit 23 determines whether to terminate the iteration of the object's computation. Details regarding the processing of the termination determination unit 23 will be described later.
[0038] The function value calculation unit 24 calculates the value of the object function. For example, the function value calculation unit 24 calculates the value F(Q, X) of function F. n+m The details of the processing by the function value calculation unit 24 will be described later.
[0039] The differential value calculation unit 26 functions as a unit for calculating the differential coefficients of the function (F). For example, the differential value calculation unit 26... Figure 1As shown, it includes a backpropagation calculation unit 252 and a calculation process recording unit 253. Details regarding the processing of the differential value calculation unit 26 will be described later.
[0040] The termination determination unit 28 determines whether the processing of the object has been performed a predetermined number of times. Details regarding the processing of the termination determination unit 28 will be described later.
[0041] <Processing flow of information processing device 1> The processing flow of information processing device 1 will be described below. Information processing device 1, as an overview, executes: • Convergent solution calculation steps (also known as step S1) • Processing step S2 (also referred to as step S2). Additionally, steps S1 and S2 as a whole are sometimes referred to as the calculation process of the differential coefficients. Here, the calculation process of the differential coefficients includes, as an example, an iterative process (also referred to as the first iterative process). Step S1 is also referred to as the first process, and as described later, as an example, includes a portion of the iterative process. On the other hand, steps S211 and S212 in step S2, described later, are also referred to as the second process, and as described later, include portions other than the portion of the iterative process. The second process may include step S213 in step S2, described later. Furthermore, as described later, the calculation process of the differential coefficients includes a calculation process of automatic differentiation excluding the first process but including the second process. The "calculation process of automatic differentiation excluding the first process but including the second process" is also referred to as the third process.
[0042] Furthermore, as described later, the iterative process (first iterative process) includes updating one or more state variables (X). In other words, the iterative process (first iterative process) yields a numerical solution for the one or more state variables (X) with parameter P as the independent variable. The third process includes calculating the differential coefficients of the object function (F) using automatic differentiation. Additionally, in the process according to this embodiment, as described later, the third process includes calculating the differential coefficients of the object function (F) using automatic differentiation in reverse mode.
[0043] (Step S1) The steps for calculating the convergent solution (step S1), as an example, are as follows: Figure 3 As shown, it includes steps S11-S13.
[0044] (Step S11) In step S11, the initial value determination unit 21 determines the initial value X0 of the state variable X. The initial value X0 can also be input from the outside via the input / output unit 4.
[0045] (Step S12) Next, in step S12, the state update unit 22 updates the state variable X. That is, through X... i =φ(P,X i-1 Find the value of X as the new state variable X. i Here, i corresponds to the number of times step S12 is executed. For example, if step S12 is executed initially, the state update unit 22 calculates X1 using X1 = φ(P, X0).
[0046] (Step S13) Next, in step S13, the termination determination unit 23 determines whether to terminate the iteration of the calculation in step S12. In this embodiment, the termination determination unit 23 determines whether Xi obtained in step S12 satisfies the convergence condition. In other words, the termination determination unit 23 performs convergence determination processing related to at least one of the one or more state variables. i If the convergence condition is not met, step S12 is executed again. In the case of X... i If the convergence condition is met, step S1 ends, and step S2 is executed. The convergence condition used in step S13 will be described later.
[0047] Subsequently, when determining X i When the convergence condition is met, i is also denoted as n.
[0048] (Note: Convergence determination in step S13) End Judgment Section 23 Judgment X i There are no particular restrictions on whether a method meets the convergence condition, and it can be a method corresponding to the objective of the information processing method. For example, based on X... i-1 Dependent on X i The value of function C(X) i-1 X i ) and threshold Cth, when C(X) i-1 X i If X < Cth, the termination decision unit 23 determines that X satisfies the convergence condition; otherwise, the termination decision unit 23 determines that X... i The convergence condition is not met. Function C can also depend on X0, X1, ..., X... i-2 Any one or more of X. Function C may also depend solely on X. i Without depending on X0, X1, ..., X i-1 The values of these state variables are appended to the calculation process information CP stored in storage unit 3 as needed during the calculation process.
[0049] For example, the termination determination unit 23 uses the X newly obtained in step S12. i And X obtained in the subsequent execution of the preceding step S12i-1 To determine convergence. For example, the termination decision unit 23 uses a predetermined threshold Cth, in |X... i -X i-1 Determine X in the case of |<Cth i If the convergence condition is met, then X is determined to be convergent. i The convergence condition is not met. Here, |X i -X i-1 |=(Σ b (x) (i,b) -x (i-1,b) ) 2 ) 0.5 .
[0050] In function C, the function does not depend on X0, X1, ..., X... i-1 In cases where C(X) is satisfied, for example... i If X < Cth, then the decision section 23 terminates and determines X. i If the convergence condition is met, the decision section 23 terminates and determines X. i The convergence condition is not met. For example, this convergence criterion can also be applied when the state variable X, for which C(X) is found to be 0, is determined using an iterative method.
[0051] (Step S2) Perform step S1 as described above. After step S1 is completed, proceed to step S2 (process step S2). Figure 4 This is a flowchart representing step S2. For example... Figure 4 As shown, step S2 includes steps S211, S212, S213, and S214. Furthermore, all or part of these steps S211-S213 constitute an example of the second process described above. Additionally, step S214 can also be understood as an example of the third process described above.
[0052] (Step S211) In step S211, the state update unit 22 updates via X n+k =φ(P,X n+k-1 Find X n+k Here, k corresponds to the number of times step S211 is executed. For example, in the case of initially executing step S211, the state update unit 22 updates via X. n+1 =φ(P,X n Find X n+1 However, X n X is obtained in step S1 n .
[0053] In step S211, the calculation process recording unit 253 of the differential value calculation unit 26 appends information required for automatic differentiation in reverse mode, related to the calculation performed by the state update unit 22 in step S211, to the calculation process information CP. The information required for automatic differentiation in reverse mode can be recorded, for example, in the form of a calculation curve, or each X... n+k As the information recorded at the checkpoint, X is used as needed during the backpropagation calculation in step S214 described later. n+k A calculation curve is constructed. In other words, in the third process described above, information about the calculation process of the second process recorded at the checkpoint is used. As an example, in the third process described above, the information about the calculation process of the second process recorded at the checkpoint, which is included in the calculation process information CP, can be used. In addition, in various embodiments of this application, "performing automatic differentiation in reverse mode" refers to the calculation of the back propagation of the differential value, excluding the recording of the calculation process required for the calculation of the back propagation of the differential value, which is based on the forward calculation.
[0054] (Step S212) In step S212, the termination determination unit 28 determines whether step S211 has been executed a predetermined number of times. If step S211 has been executed a predetermined number of times, step S213 is executed. If step S211 has not been executed a predetermined number of times, step S211 is executed again. If m is the predetermined number of times step S211 is executed, X is obtained by executing step S211 m times. n+m The method for determining m is as follows.
[0055] For example, the number of iterations m can be determined based on an examination of the object of the information processing method before executing step S1. For example, the number of iterations m near the convergent solution X... i If the convergence mode of φ is known, then m can be determined based on that convergence mode. For example, given X... i In cases where convergence is faster than first-order convergence, for example, given X... i The convergence is quadratic, where m can be 1. This can also be expressed as the application of automatic differentiation being one of the processes that are iterated multiple times in the first iteration.
[0056] Alternatively, for example, the number of iterations m can be determined based on test calculations before performing step S1. For instance, among multiple values of P, the values of each p included in P can be determined. a In the case of the differential coefficients of the relevant F, the preferred value of the iteration number m in step S2 can also be obtained from the representative P values, and this preferred value of the iteration number m can be used in the calculation of multiple P values.
[0057] Alternatively, for example, it can be based on X obtained in step S1. i The convergence method is used to determine the number of iterations m. For example, in step S1, when using X... i Let λ be a parameter less than 1 such that the convergence order is |X|. i -X i-1 |<λ|X i-1 -X i-2 In the case of |, it can be determined that m makes λ m (λ raised to the power of m) is sufficiently small, or such that λ m The value is less than the target value. In this case, for example, control unit 2 includes an iteration number determination unit (not shown), which determines the iteration number m. In step S1, X is used... i A value λ less than 1 makes the convergence method |X i -X i-1 |<λ|X i-1 -X i-2 The method can be based on X when i is close to n. i Judged by behavior.
[0058] (Step S213) In step S213, the function value calculation unit 24 calculates the value F(Q, X) of the function F. n+m In step S213, the calculation process recording unit 253 of the differential value calculation unit 26 records information related to the calculation performed by the function value calculation unit 24 in step S213, which is necessary for performing automatic differentiation in reverse mode. This information is included in the calculation process information CP recorded in the storage unit 3.
[0059] In step S214, the backpropagation calculation unit 252 of the differential value calculation unit 26 performs calculation based on the calculation process information CP recorded in the storage unit 3, and calculates X using an iterative method. n To X n+m Then, the value of the function F, F(Q, X), can be obtained. n+m The calculation of the value of the derivative corresponds to the calculation of the backpropagation of the value of the derivative. Therefore, we obtain... F(Q,Y) (n,m) (P)) / p a .
[0060] Here, to explicitly show the dependency related to P, Y is newly imported. (n,m) (P). Y (i,0) (P) is a constant independent of P, such as Y (i,0) =X i (P). Additionally, Y (i,k) (P) is from Y (i,0) The state variables obtained by applying φ k times initially. For example, Y(i,1) (P) = φ(P, Y) (i,0) For a parameter P' that is different from P, we have Y (i,1) (P') = φ(P', Y) (i,0) However, in this case, the Y on the right... (i,0) Also for Y (i,0) =X i (P). For Y (i,k) (P) = X i+k (P), when the parameter value P' is different from P and k>0, Y is usually... (i,k) (P') ≠ X i+k (P').
[0061] Furthermore, as can be seen from the above description, the first process includes the first iteration of the process in the first iterative process.
[0062] Thus, in step S2, for the iterative process performed in steps S211 to S213 from X... n Find X n+m Then, the value of the function F(Q, X) can be found. n+m The calculation of ) applies automatic differentiation in reverse mode. Therefore, for each p included in P... a As F(Q,X) ANS (P)) / p a Numerical values, to obtain F(Q,Y) (n,m) (P)) / p a As can be seen from the above description, the application of automatic differentiation at least partially includes the calculation of state variables X by means of parameter-dependent calculations, and the differential coefficients obtained by automatic differentiation include the contribution of the object function F via one or more state variables X dependent on parameter P. Furthermore, as can be seen from the above description, automatic differentiation is applied to processes including step S211, which is a process that is iterated at least once, but excluding step S12, which is a process that is iterated at least once.
[0063] In this embodiment, by performing the calculation of step S1 before step S2, the number of iterations m in step S2 can be reduced, thereby reducing the amount of p used to calculate F. a The computational cost of automatic differentiation of the relevant differential coefficients. This effect is better when the ratio n / m of the number of iterations n in step S1 to the number of iterations m in step S2 is large.
[0064] By using automatic differentiation in reverse mode in step S2, even in p aEven with a large number of cases, it can still suppress computational costs and perform calculations. F(Q,Y) (n,m) (P)) / p a .
[0065] As described above, in the information processing apparatus 1 and information processing method of this embodiment, • Obtain initial values for the computation of an object function (F), which includes one or more parameters (p) as independent variables. a ), • Calculate the differential coefficients of the object function (F). • The calculation and processing of the differential coefficients includes: The first process (e.g., step S1), and The second process (e.g., steps S211, S212). Additionally, The calculation of the differential coefficients includes iterative processing. The first process includes a portion of the iterative process. The second process includes the portion other than the aforementioned portion of the iterative process. The calculation of the differential coefficients is configured as follows: it includes a third process, which is a calculation process for automatic differentiation that excludes the first process but includes the second process. Therefore, according to the above configuration, the parameters (p) of the object function (F) are used to obtain the coefficients. a In the calculation of the relevant differential coefficients, the accuracy of the differential calculation can be maintained at a high level and the calculation cost can be reduced by using automatic differentiation.
[0066] Furthermore, as described above, the second process includes the calculation of the differential coefficients of the object function (F) using automatic differentiation via backpropagation. Therefore, computational costs can be reduced more appropriately.
[0067] (Notes on Implementation Method 1) The processes described in Implementation 1 and the processes described in the following implementations can be understood as processes based on the comparative examples described below. Figure 5 This is a flowchart illustrating the information processing method for the comparative example.
[0068] The comparative example information processing method includes steps S1010, S1020 and S1030.
[0069] (Step S1010) First, proceed to step S1010. Figure 6 This is a flowchart illustrating the processes included in step S1010. For example... Figure 6As shown, step S1010 includes steps S1011 to S1013.
[0070] (Step S1011) In step S1011, the initial value X0 of the state variable X is determined.
[0071] (Step S1012) Next, in step S1012, via X i =φ(P,X i-1 Find the new value X of the state variable. i Here, i corresponds to the number of times step S1012 is executed. For example, in the case of initially executing step S1012, X1 is obtained by X1=φ(P,X0).
[0072] (Step S1013) Next, in step S1013, X is determined. i Does it meet the convergence condition? If X is determined... i If the convergence condition is not met, step S1013 is executed again. If X is determined... i If the convergence condition is met, proceed to step S1012.
[0073] The convergence condition in step S1013 with respect to, for example, X i and X i-1 The degree of difference between them, and the same as described in other embodiments, for example.
[0074] When X is determined in step S1013 i When the convergence condition is met, X is obtained. n As X ANS The numerical solution of (P). However, here, n is the value when determining X. i i when the convergence condition is met. X obtained by applying φ n times starting from X0. n It depends on P, and is therefore also denoted as X. n (P) indicates a dependency on P.
[0075] (Step S1020) If X is determined i If the convergence condition is met, then in step S1020, F(Q, X) is calculated. n ).
[0076] (Step S1030) Next, in step S1030, the backpropagation calculation of the differential value of F, corresponding to the calculations in steps S1010 and S1020, is performed. Thus, the... F(Q,X) n (P)) / pa .
[0077] Thus, by applying automatic differentiation to the calculations in steps S1010 and S1020, each p included in P is considered as a subset of P. a Related F(Q, X) ANS The differential coefficients of (P) F(Q,X) ANS (P)) / p a Numerical solution, find F(Q,X) n (P)) / p a In the above explanation, the result is obtained through automatic differentiation in inverse mode. F(Q,X) n (P)) / p a However, automatic differentiation in positive mode can also be used.
[0078] In the case of automatic differentiation using the forward mode, for example, steps S1010 and S1020 can also be calculated once using an extended double number with multiple non-real parts, thereby calculating the difference with respect to each p. a differential coefficients F(Q,X) ANS (P)) / p a .
[0079] When using automatic differentiation in reverse mode, by calculating the inverse propagation of the differentiation coefficients, it is possible to determine each p... a Summarize and calculate the differential coefficients F(Q,X) ANS (P)) / p a .
[0080] [Implementation Method 2] Next, Embodiment 2, which is another embodiment of the present invention, will be described in detail. Furthermore, for ease of explanation, components having the same function as those described in the above embodiments will be labeled with the same reference numerals, and their descriptions will not be repeated.
[0081] The information processing apparatus of this embodiment includes a differential value calculation unit 25, replacing the differential value calculation unit 26 included in the information processing apparatus 1 of Embodiment 1. The other configurations of the information processing apparatus of this embodiment are the same as those of the information processing apparatus 1 of Embodiment 1.
[0082] (Differential Value Calculation Section 25) The differential value calculation unit 25, as an example, includes a forward propagation calculation unit 251. The forward propagation calculation unit 251 of the differential value calculation unit 25 performs forward propagation calculations of the differential values, corresponding to the calculations performed by the state update unit 22. Details regarding the processing of the differential value calculation unit 25 will be described later.
[0083] <Processing flow of the information processing device in this embodiment> The processing flow of the information processing apparatus of this embodiment will be described below. As a general overview, the information processing apparatus of this embodiment can perform the following operations in the same manner as the information processing apparatus 1 of Embodiment 1: • Convergent solution calculation steps (step S1, also known as the first process) • Process step S2b (step S2b).
[0084] Step S2b, as described below, includes steps S201, S202, and S203. A portion of the processing performed in steps S201 and S202 is also referred to as the second processing. The processing performed by the forward propagation calculation unit 251 in steps S201 and S203 is an example of the processing included in the third processing.
[0085] (Step S1) Step S1 in this embodiment is the same as step S1 performed by the information processing device 1 in embodiment 1, so the description is omitted.
[0086] (Step S2b) After step S1 is completed, step S2b is performed. As an example, step S2b in this embodiment includes steps S201, S202, and S203, which are described below.
[0087] (Step S201) In step S201, the state update unit 22 updates via X n+k =φ(P,X n+k-1 Find X n+k Here, k corresponds to the number of times step S201 is executed. For example, in the case of initially executing step S201, the state update unit 22 updates the state via X. n+1 =φ(P,X n Find X n+1 However, X n X is obtained in step S1 n .
[0088] In step S201, the forward propagation calculation unit 251 of the differential value calculation unit 25 performs a forward propagation (forward mode) calculation of the differential value corresponding to the calculation performed by the state update unit 22 in step S201.
[0089] (Step S202) Next, in step S202, the termination determination unit 28 determines whether step S201 has been executed a predetermined number of times. If step S201 has been executed a predetermined number of times, step S203 is executed. If step S201 has not been executed a predetermined number of times, step S201 is executed again. If the predetermined number of times step S201 has been executed is m, then X is obtained by executing step S201 m times. n+m .
[0090] (Step S203) Next, in step S203, the function value calculation unit 24 calculates the value F(Q, X) of the function F. n+m ).
[0091] In step S203, the forward propagation calculation unit 251 of the differential value calculation unit 25 performs a forward propagation calculation of the differential value corresponding to the calculation performed by the function value calculation unit 24 in step S203.
[0092] By performing the iterative method from X in step S2b... n Find X n+m Then, the value of the objective function F(Q, X) is obtained. n+m The calculation of ) applies automatic differentiation in the forward mode, thereby applying it to each p included in P. a As with F's p a Related differential coefficients F(Q,X) ANS (P)) / p a The value of the numerical value is obtained. F(Q,Y) (n,m) (P)) / p a Here, Y (n,m) (P) and Y introduced in Implementation Method 1 (n,m) (P) Similarly.
[0093] After step S2b is completed, the information processing device of this embodiment outputs data to each p externally via, for example, the input / output unit 4. a Related F(Q,Y) (n,m) (P)) / p a .
[0094] In the case of automatic differentiation using the forward mode as in this embodiment, in order to find each p with respect to F a The relevant differential coefficients, such as those with p a The computational cost is roughly proportional to the quantity. In this embodiment, the p values used to determine F are...a Automatic differentiation of the relevant differential coefficients is not applied in step S1. By performing step S1, for example, the number of iterations m in step S2b can be reduced, and the number of iterations required to calculate each p with respect to F can be reduced compared to the comparative example. a The computational cost of automatic differentiation of the relevant differential coefficients. This effect is better when the ratio n / m of the iteration number n in step S1 to the iteration number m in step S2b is large. Furthermore, the method for setting the iteration number m is the same as the process described as an example in Implementation 1, therefore, its description is omitted here.
[0095] According to the information processing apparatus and information processing method of this embodiment, in order to determine the parameters (p) of the object function (F) a In the calculation of the relevant differential coefficients, the computational cost can be reduced by using automatic differentiation, while maintaining the high accuracy of the differential calculation.
[0096] [Implementation Method 3] Next, Embodiment 3, which is another embodiment of the present invention, will be described in detail. Furthermore, for ease of explanation, components having the same function as those described in the above embodiments will be labeled with the same reference numerals, and their descriptions will not be repeated.
[0097] The information processing apparatus of this embodiment includes an end determination unit 29, replacing the end determination unit 28 included in the information processing apparatus of embodiment 2. Furthermore, the storage unit 3 of the information processing apparatus of this embodiment stores a threshold value Cth2, replacing the iteration number m in embodiment 2. The other configurations of the information processing apparatus of this embodiment are the same as those of the information processing apparatus of embodiment 2.
[0098] (End of Judgment Section 29) The termination decision unit 29 determines whether the processing of the object meets the convergence condition. Details regarding the processing of the termination decision unit 29 will be described later.
[0099] <Processing flow of the information processing device in this embodiment> The processing flow of the information processing apparatus of this embodiment will be described below. As a general overview, the information processing apparatus of this embodiment, like the information processing apparatus 2 of Embodiment 2, performs the following: • Convergent solution calculation steps (step S1, also known as the first process) • Process step S2c (also known as step S2c).
[0100] Step S2c, as described below, includes steps S201, S203, and S205. A portion of the processing performed in step S2c is also referred to as the second processing. The processing performed by the forward propagation calculation unit 251 in steps S201 and S203 is an example of the processing included in the third processing.
[0101] (Step S1) Step S1 in this embodiment is the same as step S1 performed by the information processing device 1 in embodiment 1, so the description is omitted.
[0102] (Step S2c) After step S1 is completed, step S2c is performed. As an example, step S2c in this embodiment includes steps S201, S203, and S205, which are described below.
[0103] (Step S201) In step S201, the state update unit 22 updates via X n+k =φ(P,X n+k-1 Find X n+k Here, k corresponds to the number of times step S201 is executed. For example, in the case of initially executing step S201, the state update unit 22 updates the state via X. n+1 =φ(P,X n Find X n+1 However, X n X is obtained in step S1 n In step S201, the forward propagation calculation unit 251 of the differential value calculation unit 25 performs a forward propagation calculation of the differential value corresponding to the calculation performed by the state update unit 22 in step S201.
[0104] (Step S203) Next, in step S203, the function value calculation unit 24 calculates the value F(Q, X) of the function F. n+k ).
[0105] In step S203, the forward propagation calculation unit 251 of the differential value calculation unit 25 performs a forward propagation calculation of the differential value corresponding to the calculation performed by the function value calculation unit 24 in step S203.
[0106] By re-executing step S201 with X n Based on the calculation of X n+k In step S203, the value of function F, F(Q, X), is calculated. n+k This calculation uses automatic differentiation in forward mode to find the relationship with each parameter p. a Related differential coefficients F(Q,Y) (n,k) (P)) / p a Here, Y (n,k) The same Y is introduced in Implementation 1.
[0107] (Step S205) In step S205, the termination determination unit 29 makes a determination. F(Q,Y) (n,k) (P)) / p a Whether the convergence condition is met. In other words, the termination decision unit 29 performs convergence determination processing on the differential coefficients of the object function (F). If the condition is met... F(Q,Y) (n,k) (P)) / p a If the convergence condition is met, step S2c ends. In this case, the convergence condition is considered met. F(Q,Y) (n,k) (P)) / p a yes F(Q,X) ANS (P)) / p a The numerical solution. In the determination of... F(Q,Y) (n,k) (P)) / p a If the convergence condition is not met, then step S201 is executed again.
[0108] In step S205, the termination determination unit 29 makes a determination. F(Q,Y) (n,k) (P)) / p a The method for determining convergence can be appropriately determined based on the objective. For example, as g... (k,a) = F(Q,Y) (n,k) (P)) / p a , in satisfying (∑ a (g) (k,a) -g (k-1,a) ) 2 ) 0.5 In the case of <Cth2, it is determined as F(Q,Y) (n,k) (P)) / p a Convergence, in other cases, is determined to be F(Q,Y) (n,k) (P)) / p a It doesn't stop.
[0109] According to the information processing apparatus and information processing method of this embodiment, in order to determine the parameters (p) of the object function (F) a In the calculation of the relevant differential coefficients, the computational cost can be reduced by using automatic differentiation, while maintaining the high accuracy of the differential calculation.
[0110] [Implementation Method 4] Next, Embodiment 4, which is another embodiment of the present invention, will be described in detail. Furthermore, for ease of explanation, components having the same function as those described in the above embodiments will be labeled with the same reference numerals, and their descriptions will not be repeated.
[0111] The information processing apparatus of this embodiment includes an end determination unit 29, replacing the end determination unit 28 included in the information processing apparatus 1 of Embodiment 1. Furthermore, the storage unit 3 of the information processing apparatus of this embodiment stores a threshold value Cth2 instead of the iteration number m in Embodiment 1. The other configurations of the information processing apparatus of this embodiment are the same as those of the information processing apparatus 1 of Embodiment 1.
[0112] (End of Judgment Section 29) The termination decision unit 29 determines whether the processing of the object meets the convergence condition. Details regarding the processing of the termination decision unit 29 will be described later.
[0113] <Processing flow of the information processing device in this embodiment> The processing flow of the information processing apparatus of this embodiment will be described below. As a general overview, the information processing apparatus of this embodiment, like the information processing apparatus 1 of Embodiment 1, performs the following: • Convergent solution calculation steps (step S1, also known as the first process) • Process S2d step (step S2d).
[0114] Step S2d, as described below, includes steps S211, S213, S214, and S205. Steps S211 and S213 are also referred to as the second process. Steps S214 and S205 are examples of processes included in the third process.
[0115] (Step S1) Step S1 in this embodiment is the same as step S1 performed by the information processing device 1 in embodiment 1, so the description is omitted.
[0116] (Step S2d) After step S1 is completed, step S2d is performed. As an example, step S2d in this embodiment includes steps S211, S213, S214 and S205, which are described below.
[0117] (Step S211) In step S211, the state update unit 22 updates via X n+k =φ(P,X n+k-1 Find X n+k In step S211, the calculation process recording unit 253 of the differential value calculation unit 26 adds information related to the calculation performed by the state update unit 22 in step S211 and required for automatic differentiation in reverse mode to the calculation process information CP.
[0118] (Step S213) Next, in step S213, the function value calculation unit 24 calculates the value F(Q, X) of the function F. n+k In step S213, the calculation process recording unit 253 of the differential value calculation unit 26 adds information related to the calculation performed by the function value calculation unit 24 in step S213 and required for automatic differentiation in reverse mode to the calculation process information CP.
[0119] (Step S214) Next, in step S214, the backpropagation calculation unit 252 of the differential value calculation unit 26 performs backpropagation calculation based on the calculation process information CP stored in the storage unit 3. Thus, the result is obtained. F(Q,Y) (n,k) (P)) / p a For example, each time step S214 is performed, the backpropagation calculation unit 252 performs a backpropagation calculation corresponding to the overall calculation described below: from X n X is calculated iteratively. n+k Next, calculate F(Q, X). n+k ).
[0120] (Step S205) In step S205, the termination determination unit 29 makes a determination. F(Q,Y) (n,k) (P)) / p a Whether the convergence condition is met. In other words, the termination decision unit 29 performs convergence determination processing on the differential coefficients of the object function (F). If the condition is met... F(Q,Y) (n,k) (P)) / p a If the convergence condition is met, step S2d ends. In this case, the convergence condition is considered met. F(Q,Y) (n,k) (P)) / p a yes F(Q,X) ANS (P)) / p a The numerical solution. In the determination of... F(Q,Y) (n,k) (P)) / p a If the convergence condition is not met, step S211 is executed again. In step S205, the decision-making unit 29 terminates its decision. F(Q,Y) (n,k) (P)) / p a The method for determining whether the convergence condition is met is the same as that described in Implementation 3.
[0121] According to the information processing apparatus and information processing method of this embodiment, in order to determine the parameters (p) of the object function (F) a In the calculation of the relevant differential coefficients, the computational cost can be reduced by using automatic differentiation, while maintaining the high accuracy of the differential calculation.
[0122] Furthermore, as mentioned above, the third process includes processing the differential coefficients of the object function (F) using automatic differentiation in reverse mode. Therefore, computational costs can be reduced more appropriately.
[0123] [Implementation Method 5] Next, Embodiment 5, which is another embodiment of the present invention, will be described in detail. Furthermore, for ease of explanation, components having the same function as those described in the above embodiments will be labeled with the same reference numerals, and their descriptions will not be repeated.
[0124] The information processing device in this embodiment is the same as the information processing device in Embodiment 2 described above.
[0125] <Processing flow of the information processing device in this embodiment> The processing flow of the information processing apparatus of this embodiment will be described below. As a general overview, the information processing apparatus of this embodiment, like the information processing apparatus 2 of Embodiment 2, performs the following: • Convergent solution calculation steps (also known as step S1) • Process step S2e (also known as step S2e).
[0126] (Step S1) Step S1 in this embodiment is the same as step S1 performed by the information processing device 1 in embodiment 1, so the description is omitted.
[0127] (Step S2e) After step S1 is completed, step S2e is performed. As an example, step S2e in this embodiment includes steps S201e, S202, and S203, which are described below.
[0128] (Step S201e) In step S201e, the state update unit 22 updates via X n-m+k =φ(P,X n-m+k-1 Find X n-m+k Here, k corresponds to the number of times step S201e is executed. For example, in the case of initially executing step S201e, the state update unit 22 updates the state via X. n-m+1 =φ(P,X n-m Find X n-m+1 However, X n-m X is obtained in step S1 n-m , is X when i=nm i Additionally, m is the number of iterations stored in storage unit 3.
[0129] Until step S1 ends, the value of n is unknown, and the value of nm is also unknown. Therefore, for example, in step S1, each X obtained each time step S12 is executed... i It is added to the calculation process information CP, and X stored in the calculation process information CP is used in step S201e. n-m Alternatively, before executing step S2e, step S1 can be executed again from the beginning to the middle to recalculate X. n-m In this case, storage unit 3 may not store X. i .
[0130] In step S201e, the forward propagation calculation unit 251 of the differential value calculation unit 25 performs the forward propagation calculation of the differential value, which corresponds to the calculation performed by the state update unit 22 in step S201e.
[0131] (Step S202) Next, in step S202, the termination determination unit 28 determines whether step S201e has been executed a predetermined number of times. If step S201e has been executed a predetermined number of times, step S203 is executed. If step S201e has not been executed a predetermined number of times, step S201e is executed again. If m is the predetermined number of times step S201e is executed, X is obtained again by executing step S201e m times. n .
[0132] (Step S203) Next, in step S203, the function value calculation unit 24 calculates the value F(Q, X) of the function F. n In step S203, the forward propagation calculation unit 251 of the differential value calculation unit 25 performs a forward propagation calculation of the differential value corresponding to the calculation performed by the function value calculation unit 24 in step S203.
[0133] Based on the above, for each p included in P... a As with F's p a Related differential coefficients F(Q,X) ANS (P)) / p a Numerical values, to obtain F(Q,Y) (n-m,m) (P)) / p a Furthermore, the number of iterations m in step S2e is determined in the same way as in embodiment 1. Additionally, the number of iterations m is determined to satisfy m < n. Therefore, compared to the comparative example, the amount of time required to obtain the result through automatic differentiation can be reduced. F(Q,Y) (n-m,m) (P)) / p a The cost. In the process performed in step S1, φ is repeatedly applied from X0 until X is calculated. n-m This process is also known as the first process. In the process performed in step S1, from X... n-m To find X n The processing or part of the processing in step S201e is also called the second processing. In step S201e, the processing performed by the forward propagation calculation unit 251 is an example of the processing included in the third processing.
[0134] According to the information processing apparatus and information processing method of this embodiment, in order to obtain the parameters (p) of the object function (F) a In the calculation of the relevant differential coefficients, the computational cost can be reduced by using automatic differentiation, while maintaining the high accuracy of the differential calculation.
[0135] [Implementation Method 6] Next, Embodiment 6, which is another embodiment of the present invention, will be described in detail. Furthermore, for ease of explanation, components having the same function as those described in the above embodiments will be labeled with the same reference numerals, and their descriptions will not be repeated.
[0136] The information processing device in this embodiment is the same as the information processing device 1 in Embodiment 1 described above.
[0137] <Processing flow of the information processing device in this embodiment> The processing flow of the information processing apparatus of this embodiment will be described below. As a general overview, the information processing apparatus of this embodiment, like the information processing apparatus 1 of Embodiment 1, performs the following: • Convergent solution calculation steps (also known as step S3) • Process step S4 (also known as step S4).
[0138] (Step S3) As an example, such as Figure 7 As shown, step S3 includes steps S31, S32 and S33.
[0139] (Step S31) In step S31, the initial value determination unit 21 determines the initial value X0 of the state variable X.
[0140] (Step S32) Next, in step S32, the state update unit 22 updates the state variable X. That is, through X... i =φ(P,X i-1 Find the value of X as the new state variable X. i Here, i corresponds to the number of times step S32 is executed. For example, in the case of initially executing step S32, the state update unit 22 calculates X1 by X1 = φ(P, X0). It can be expressed that this step S32 constitutes at least part of the process of obtaining a numerical solution of the state variable X with parameter P as the independent variable through iterative processing (first iterative processing).
[0141] In step S32, the calculation process recording unit 253 records information related to the calculation performed by the state update unit 22 in step S32, which is required for automatic differentiation in the reverse mode. The information required for automatic differentiation in the reverse mode can be recorded, for example, in the form of a calculation chart, or by storing each X... i The information recorded as checkpoints will be used as needed during the backpropagation calculation in step S414 described later, using X... i To construct a calculation chart.
[0142] (Step S33) Next, in step S33, the termination determination unit 23 determines whether to terminate the iteration of the calculation in step S32. The method by which the termination determination unit 23 determines whether to terminate the iteration of the calculation in step S32 in step S33 can be the same as in Embodiment 1.
[0143] (Step S4) As an example, step S4 of this embodiment includes steps S413 and S414 as described below.
[0144] (Step S413) In step S413, the function value calculator 24 calculates the value F(Q, X) of the function F. n In step S413, the calculation process recording unit 253 of the differential value calculation unit 26 adds information related to the calculation performed by the function value calculation unit 24 in step S213 and required for automatic differentiation in reverse mode to the calculation process information CP.
[0145] (Step S414) Next, in step S414, the backpropagation calculation unit 252 of the differential value calculation unit 26 performs backpropagation calculations from the (n-m+1)th to the nth time, corresponding to the calculations in step S32 and step S413, based on the calculation process information CP recorded in the storage unit 3. Thus, the result is obtained. F(Q,Y) (n-m,m) (P)) / p a .
[0146] In step S4, m is determined in the same way as in step S2e of embodiment 5. Furthermore, the iteration number m is determined to satisfy m < n. Therefore, compared to the comparative example, the time required to obtain the result through automatic differentiation can be reduced. F(Q,Y) (n-m,m) (P)) / p a The cost. Additionally, by using automatic differentiation in reverse mode, at p a Even with a large number of products, costs can be suppressed, affecting each p. a Find F(Q,Y) (n-m,m) (P)) / p a In the process performed in step S3, φ is repeatedly applied from X0 until X is calculated. n-m This process is also known as the first process. In the process performed in step S3, from X... n-m To find X n The process is also referred to as the second process. Step S413 may also be included in the second process. Step S414 is also referred to as the third process.
[0147] According to the information processing apparatus and information processing method of this embodiment, in order to obtain the parameters (p) of the object function (F) a In the calculation of the relevant differential coefficients, the computational cost can be reduced by using automatic differentiation, while maintaining the high accuracy of the differential calculation.
[0148] Furthermore, as mentioned above, the third process includes automatic differentiation using the reverse mode and the calculation of the differential coefficients of the object function (F). Therefore, computational costs can be reduced more appropriately.
[0149] [Implementation Method 7] Next, Embodiment 7, which is another embodiment of the present invention, will be described in detail. Furthermore, for ease of explanation, components having the same function as those described in the above embodiments will be labeled with the same reference numerals, and their descriptions will not be repeated.
[0150] In addition to the components included in the information processing apparatus of Embodiment 2, the information processing apparatus of this embodiment also includes an end determination unit 29. Furthermore, the storage unit 3 of the information processing apparatus of this embodiment stores a threshold value Cth2 instead of the iteration number m. The other components of the information processing apparatus of this embodiment are the same as those of the information processing apparatus of Embodiment 2.
[0151] <Processing flow of the information processing device in this embodiment> The processing flow of the information processing apparatus of this embodiment will be described below. As a general overview, the information processing apparatus of this embodiment, like the information processing apparatus of Embodiment 2, performs the following: • Convergent solution calculation steps (also known as step S1) • Processing step S2g (also known as step S2g).
[0152] (Step S1) Step S1 in this embodiment is the same as step S1 performed by the information processing device 1 in embodiment 1, so the description is omitted.
[0153] (Step S2g) After step S1 is completed, step S2g is performed. Step S2g in this embodiment includes steps S200g, S201g, S202, S203, and S205g, which are described below.
[0154] (Step S200g) In step S200g, the initial state for calculating the differential coefficients is set. When step S200g is executed for the kth time, X is... n-k Set as the initial state for calculating differential coefficients.
[0155] (Step S201g) In step S201g, the state update unit 22 updates via X n-k+S =φ(P,X n-k+S-1 Find the new value of X as the state variable X. n-k+SHere, S corresponds to the number of times step S201g is executed after the last executed step S200g.
[0156] In step S201g, the forward propagation calculation unit 251 performs forward propagation calculation of the differential value, which corresponds to the calculation performed by the state update unit 22 in step S201g.
[0157] (Step S202) Next, in step S202, the termination determination unit 28 determines whether step S201g has been executed k times after step S200g. If step S201g has been executed k times after step S200g, step S203 is executed. If step S201g has not been executed k times after step S200g, step S201g is executed again. After step S200g, X is calculated again by executing step S201g k times. n-k To X n Then, perform the corresponding forward propagation calculation.
[0158] (Step S203) Next, in step S203, the function value calculation unit 24 calculates the value F(Q, X) of the function F. n In step S203, the forward propagation calculation unit 251 performs a forward propagation calculation of the differential value corresponding to the calculation performed by the function value calculation unit 24 in step S203. Therefore, as a function of F, each p... a Related differential coefficients F(Q,X) ANS (P)) / p a Candidates of numerical values, to obtain F(Q,Y) (n-k,k) (P)) / p a .
[0159] (Step S205g) Next, in step S205g, the determination unit 29 makes a determination. F(Q,Y) (n-k,k) (P)) / p a Whether the convergence condition is met. In other words, the termination decision section 29 performs convergence determination processing on the differential of the object function (F). If the condition is met... F(Q,Y) (n-k,k) (P)) / p a If the convergence condition is met, step S2g ends. In this case, the convergence condition is considered met. F(Q,Y) (n-k,k) (P)) / p a yes F(Q,X) ANS (P)) / p a The numerical solution. In the determination of... F(Q,Y) (n-k,k) (P)) / p a If the convergence condition is not met, execute step S200g again.
[0160] In step S205g, determine F(Q,Y) (n-k,k) (P)) / p a Whether the convergence condition is met can be appropriately determined based on the objective. For example, as g (n-k,a) = F(Q,Y) (n-k,k) (P)) / p a , in satisfying (Σ a (g) (n-k,k) -g (n-k+1,k+1) ) 2 ) 0.5 In the case of <Cth2, it is determined as F(Q,Y) (n-k,k) (P)) / p a Convergence, in other cases, is determined to be F(Q,Y) (n-k,k) (P)) / p a It doesn't stop.
[0161] In step S205g, the determination will be... F(Q,Y) (n-k,k) (P)) / p a Let k be m when the convergence condition is met. m can be expected to be smaller than n. When m is smaller than n, the computational cost can be suppressed compared to the comparative case, allowing for the determination of... F(Q,X) ANS (P)) / p a The numerical solution. In the process performed in step S1, φ is repeatedly applied from X0 until X is obtained. n-m This process is also known as the first process. In the process performed in step S1, from X... n-m To find X nThe processing or part of the processing in step S2g is also called the second processing. In step S2g, the processing performed by the forward propagation calculation unit 251 is an example of the processing included in the third processing.
[0162] According to the information processing apparatus and information processing method of this embodiment, in order to obtain the parameters (p) of the object function (F) a In the calculation of the relevant differential coefficients, the computational cost can be reduced by using automatic differentiation, while maintaining the high accuracy of the differential calculation.
[0163] [Implementation Method 8] Next, Embodiment 8, which is another embodiment of the present invention, will be described in detail. Furthermore, for ease of explanation, components having the same function as those described in the above embodiments will be labeled with the same reference numerals, and their descriptions will not be repeated.
[0164] Figure 8 This is a block diagram illustrating the configuration of the information processing apparatus 1h in this embodiment. The configuration of the information processing apparatus 1h is the same as that of the information processing apparatus in Embodiment 4.
[0165] <Processing flow of the information processing device in this embodiment> The processing flow of the information processing device in this embodiment will be described below. Figure 9 This is a flowchart illustrating the information processing method of this embodiment. For example... Figure 9 As shown, as an overview, the information processing apparatus of this embodiment, like the information processing apparatus of Embodiment 1, performs the following: • Convergent solution calculation steps (also known as step S3) • Process the S4h step (also known as step S4h).
[0166] (Step S3) Step S3 is the same as step S3 in Embodiment 6, so the description is omitted here.
[0167] (Step S4h) like Figure 10 As shown, step S4h includes steps S413, S414h, and S415.
[0168] (Step S413) Step S413 is the same as step S413 in embodiment 6.
[0169] (Step S414h) Next, in step S414h, the backpropagation calculation unit 252 performs backpropagation calculations related to the differential value. This backpropagation calculation is based on the calculation process information added to the calculation process information CP in steps S3 and S413.
[0170] In the case of executing step S414h for the kth time, by starting from X n-k Start by applying φ k times to determine X. n And calculate F(Q, X) n ), by performing backpropagation calculations related to this calculation, as F(Q,X) ANS (P)) / p a Candidate values for the obtained F(Q,Y) (n-k,k) (P)) / p a Additionally, from X n-k Initially, X is determined by applying φ k times. n The calculation is part of the calculation performed in step S3.
[0171] Furthermore, as can be seen from the above description, the first process includes the first iteration of the process in the first iterative process.
[0172] In the case of executing step S414h for the kth time, the calculation result of executing step S414f for the (k-1)th time can be used. For example, only the part that needs to be calculated needs to be calculated from the calculation of executing step S414f for the (k-1)th time.
[0173] Furthermore, as can be seen from the above description, the application objects of automatic differentiation include at least in part the calculation of state variables X by calculation dependent on parameters, and the differential coefficients obtained by automatic differentiation include the contribution of object function F via one or more state variables X dependent on parameter P.
[0174] (Step S415) In step S415, the termination determination unit 29 makes a determination. F(Q,Y) (n-k,k) (P)) / p a Whether the convergence condition is met. In other words, the termination determination unit 29 performs convergence determination processing of the differential related to the object function (F). The method for determining whether the convergence condition is met in step S415 is, for example, the same as step S205g in embodiment 7.
[0175] In step S415, it is determined that F(Q,Y) (n-k,k) (P)) / p a If the convergence condition is met, then step S4h ends. In step S415, it is determined that... F(Q,Y) (n-k,k) (P)) / p a If the convergence condition is not met, then step S414h is executed again.
[0176] In step S415, the determination will be... F(Q,Y) (n-k,k) (P)) / p a Let k be m when the convergence condition is met. m can be expected to be smaller than n. When m is smaller than n, the computational cost can be suppressed compared to the comparative case, allowing for the determination of... F(Q,X) ANS (P)) / p a The numerical solution. In the process performed in step S3, φ is repeatedly applied from X0 until X is obtained. n-m This process is also known as the first process. In the process performed in step S3, from X... n-m To find X n The processing is also referred to as the second processing. Step S413 may also be included in the second processing. Steps S414h and S415 are also referred to as the third processing. Thus, in this embodiment, the third processing includes the calculation processing of the automatic differentiation including the second processing and the convergence determination processing related to the differential coefficients of the object function F.
[0177] According to the information processing apparatus and information processing method of this embodiment, in order to obtain the parameters (p) of the object function (F) a In the calculation of the relevant differential coefficients, the computational cost can be reduced by using automatic differentiation, while maintaining the high accuracy of the differential calculation.
[0178] Furthermore, as mentioned above, the third process includes automatic differentiation using the reverse mode and the calculation of the differential coefficients of the object function (F). Therefore, computational costs can be reduced more appropriately.
[0179] [Implementation Method 9] In embodiments 1 to 8, X i =φ(P,X i-1 Find X i-1 To X i To accelerate or improve convergence, well-known methods can be used; for example, a hybrid method can be used to find new state variables.
[0180] For example, in the case of using a simple mixing method, as described below. Let X... i =φ(P,X i-1 And let X i The state variables included in 'are x' b In this case, a predetermined α is used, and for each b, x is used. (i,b) =αx' (i,b) +(1-α)x (i-1,b) Determine X i The state variables x included in (i,b) Here, α is, for example, a weighting coefficient greater than or equal to 0 and less than or equal to 1. In other words, in the information processing methods described in each embodiment, • Through X i =φ(P,X i-1 From state variable X i-1 Export new state variables. • This can be achieved through the new state variable X i 'and (basic) state variable X i-1 The state variable X is derived from the average or weighted average. i Alternatively, in this embodiment, instead of using a simple mixing method, methods such as Anderson mixing or Broyden mixing may be used.
[0181] [Implementation Method 10] In embodiments 1 to 9, the information processing device calculates the relationship with p. a The value of the first derivative of the relevant F can be obtained, but the values of derivatives of the second order and above can also be calculated. In other words, the second process described in the various embodiments may also include the process of using automatic differentiation to calculate the values of derivatives of the second order and above related to the object function (F). For example, the values of derivatives of the second order and above can be calculated for each a0 and each a1. 2 F / p a0 p a1 Here, a0 and a1 are indices listing the parameters included in P.
[0182] [Implementation Method 11] In embodiments 1 to 9, the information processing device calculates the relationship with p. a The differential value of the relevant F.
[0183] In this embodiment, the application objects of the information processing methods of Embodiments 1 to 10 will be described.
[0184] <Application Object 1> For example, the information processing methods of embodiments 1 to 10 are applied to first-principle electronic state calculations. In the first-principle electronic state calculation, the electronic state is calculated based on the Hamiltonian operator represented by the following formula.
[0185]
Mathematical Formula 1
[0186] In first-principles electronic state calculations, for example, the Hartree-Fock approximation or density function method is used to iteratively update the electronic state to calculate the electronic state at the ground state or finite temperature. In this case, the state variable X is, for example, a set of variables that specify the electronic state. The state variable X may include variables that specify the atomic positions. φ is the function used to update the electronic state in the Hartree-Fock approximation or density function method to determine the electronic state at the ground state or finite temperature.
[0187] Although no term corresponding to the external field is shown in Equation (1), for example, any one or more of magnetic fields, electric fields, electromagnetic waves, sound waves, and pressure can be applied as the external field. a For example, it describes the parameters of the applied external field. a For example, it could be temperature. Alternatively, the atomic position can be used as a parameter for location instead of a state variable X.
[0188] The function F corresponds to, for example, the superconducting transition temperature, the superconducting gap, the thermoelectric efficiency, the photovoltaic efficiency, and any one of the linear or nonlinear responses (e.g., the Hall coefficient) to external fields (e.g., magnetic fields, electric fields, electromagnetic waves, sound waves, pressure). The storage unit 3 stores formulas for calculating the value of function F based on electronic states.
[0189] <Application Object 2> Instead of the first-principle Hamiltonian operator shown in Equation 1 above, one could also consider, for example, the Hamiltonian operator for the tight-binding model shown below.
[0190]
Mathematical Formula 2
[0191] To calculate the ground state or finite-temperature state of the Hamiltonian operator shown in Equation 2, the electronic state at the ground state or finite temperature is calculated by iteratively updating the electronic state using the Hartree approximation or the Hartree-Fock approximation. In this case, the state variable X is, for example, a set of variables specifying the electronic state. φ is a function that updates the electronic state according to the Hartree approximation or the Hartree-Fock approximation.
[0192] To calculate the ground state or finite-temperature state of the Hamiltonian operator shown in Equation 2, the electronic state at the ground state or finite temperature is calculated, for example, by iterating the update of the electronic state using the Lanzos method. In this case, the state variable X is, for example, a set of variables specifying the electronic state. φ is, for example, a function that updates the electronic state based on the Lanzos method.
[0193] For example, in the equation shown in (Equation 2), each or a portion of t, V, ω, and g (subscripts omitted) corresponds to p. a The example of function F is the same as that described in <Application Object 1>.
[0194] In the case of finite temperature calculations based on the Lanzos method, multiple X values are obtained by iterative calculation starting from a certain initial condition. n Based on each X n The average of the calculated physical quantities is used to calculate the expected value of the physical quantities of the physical system under consideration. The function F can also be based on multiple X values obtained through iterative calculations. n And the function to be calculated.
[0195] <Application Object 3> The following formula is the Hamiltonian operator representing the interaction between classical spins.
[0196]
Mathematical Expression 3
[0197] <Application Object 4> φ can be used, for example, to solve self-consistent equations in weakly coupled analytic systems that combine multiple interacting systems for analysis. Furthermore, the multiple systems in this weakly coupled analytic system can represent physically different objects, or they can represent different properties of the same physical object.
[0198] This weakly coupled analysis, for example, combines the analysis of structures and the analysis of fluids. Given the state of the structure, the fluid is analyzed to obtain a new fluid state, and then the state of the new structure is obtained from this new fluid state. Thus, the functions used to obtain the new fluid state and the new structure state correspond to φ. By repeating this operation, the states of the interacting structures and fluids can be obtained. The parameter p... a These are parameters that represent properties of structures, such as strength. State variable x b These are variables representing the state of the structure and the state of the fluid. For example, the function F corresponds to the displacement of the structure.
[0199] [Implementation Method 12] Next, Embodiment 12, which is another embodiment of the present invention, will be described in detail. Furthermore, for ease of explanation, components having the same function as those described in the above embodiments will be labeled with the same reference numerals, and their descriptions will not be repeated.
[0200] Figure 11 This is a diagram illustrating the information processing apparatus 100 of this embodiment. (As shown...) Figure 11 As shown, the information processing device 100 includes an information processing device 1, a controller 5, a storage unit 6, and an input / output unit 7.
[0201] (Control Unit 5) The control unit 5 includes an initial value setting unit 51, a parameter update unit 52, and an end determination unit 53. Here, as an example, the initial value setting unit 51 sets the initial value of parameter P. As an example, the parameter update unit 52 updates parameter P. As an example, the end determination unit 53 determines whether to end the update of parameter P. The specific processing of each unit in the control unit 5 will be described later.
[0202] (Storage unit 6, Input / Output unit 7) As an example, the storage unit 6 stores the same data and information as the storage unit 3 of the information processing device 1. The input / output unit 7, as an example, has the same configuration as the input / output unit 4 of the information processing device 1.
[0203] Alternatively, the information processing device 100 may replace the information processing device 1 and include the information processing device described in any one of embodiments 2-10.
[0204] <Processing flow of the information processing device in this embodiment> In embodiments 1 to 11, the relationship between each p was calculated. a The differential value of the relevant function F. In this embodiment, the derivative of each p is used. a The derivative of the relevant function F is used to optimize the parameter P. For example, the parameter P is found to maximize or minimize the function F. Figure 12 This is a flowchart illustrating the information processing method of this embodiment. For example... Figure 12 As shown, the information processing method of this embodiment includes steps S5-S8. Additionally, by... Figure 12 The iterative process consisting of steps S6-S8 shown is also referred to as the second iterative process. Furthermore, the first iterative process described above corresponds to the process in step S6.
[0205] (Step S5) First, in step S5, the initial value setting unit 51 sets the initial value P0 of parameter P. Parameter P0 can be given randomly, or it can be input from the outside via the input / output unit.
[0206] (Step S6) Next, in step S6, the information processing device 1 calculates the relationship between each p a The differential value of the relevant function F.
[0207] (Step S7) In step S7, the parameter update unit 52 updates each p based on the function F calculated in step S6. a The parameter P is updated using the differential value. The parameter update unit 52 updates the parameter P, for example, using the steepest descent method. Alternatively, the information processing device 1 in step S6 can calculate the value of each p... a The Hessian matrix of the relevant function F is updated by the parameter update unit 52 in step S7 using Newton's method. Hereinafter, the value of parameter P obtained during the i-th execution of step S7 will be denoted as Pi. i Additionally, P i The values of the parameters included in it are denoted as p. (i,a)Alternatively, in step S7, the quasi-Newton method or the conjugate gradient method can also be used. Furthermore, the processing in step S7 can be expressed as updating one or more parameters using the differential coefficients of the object function F.
[0208] (Step S8) Next, in step S8, the termination determination unit 53 determines whether to terminate the update of parameter P. The conditions for determining whether to terminate the update of parameter P are, for example, whether step S7 has been performed a predetermined number of times, or the parameter P... i Whether the convergence condition is met. For example, if the convergence condition is met (∑ a (p) (i,a) -p (i-1,a) ) 2 ) 0.5 When the threshold value is less than Cth3 (where Cth3 is the threshold), the decision parameter P is determined. i The convergence condition is met, and the parameter P is determined in other cases. i The convergence condition is not met. (Regarding parameter P) i If the convergence condition is met, the process ends; otherwise, return to step S6. In step S8, the decision parameter P is replaced. i Whether the convergence condition is met can be determined, for example, by determining whether the norm of the differential value of the function F obtained in step S6 is less than a predetermined threshold.
[0209] As described above, the information processing apparatus of this embodiment includes a parameter update unit 52, which uses the differential coefficients of the object function to update one or more parameters (p a Next, the information processing apparatus of this embodiment optimizes the one or more parameters through the processing of the parameter update unit 52 and the termination determination unit 53 to maximize (or minimize) or minimize (minimize) the value of the object function F. For example, the information processing apparatus of this embodiment can optimize the one or more parameters so that the value of the object function F becomes a target value. Alternatively, the information processing apparatus of this embodiment can, for example, use the differential coefficients of the object function to optimize the one or more parameters to maximize (or maximize) or minimize (or minimize) the value of a function G other than the object function, or to make the value of function G become a target value. The differential value of function G is calculated, for example, using the differential value of function F calculated by any one of the methods described in Embodiments 1 to 11. Function G is, for example, the sum of function H other than function F and function F; in this case, the differential value of function G is calculated as the sum of the differential values of function F and function H. The differential of function H can be calculated by any one of the methods described in Embodiments 1 to 11, or by other methods.
[0210] [Software-based implementation example] The functions of the information processing apparatus (hereinafter referred to as "apparatus") according to each embodiment can be realized by a program that enables a computer to function as the apparatus, and the program enables the computer to function as each control block of the apparatus (in particular, each part included in the control section).
[0211] In this case, the aforementioned apparatus includes a computer having at least one control device (e.g., a processor) and at least one storage device (e.g., a memory) as hardware for executing the aforementioned program. The program is executed via this control device and storage device, thereby realizing the functions described in the above embodiments.
[0212] The aforementioned program may also be recorded on one or more non-transitory, computer-readable storage media. This storage medium may or may not be present in the aforementioned device. In the latter case, the program may be supplied to the device via any wired or wireless transmission medium.
[0213] Furthermore, some or all of the functions of the aforementioned control blocks can also be implemented using logic circuits. For example, integrated circuits that form the logic circuits that enable the functions of the aforementioned control blocks are also included within the scope of this invention. In addition, the functions of the aforementioned control blocks can also be implemented using, for example, a quantum computer.
[0214] This invention is not limited to the embodiments described above. Various modifications can be made within the scope of the claims. Embodiments obtained by appropriately combining the technical means disclosed in different embodiments are also included within the technical scope of this invention.
[0215] Explanation of reference numerals in the attached figures 1, 1h, 100 Information Processing Device 2, 2d, 5 control unit 21 Initial State Determination Unit (Acquisition Unit) 22 Status Update Department 23 End Judgment Department 24 Function Value Calculation Section 26. Differential Value Calculation Department (Calculation Department) 28 End Judgment Department
Claims
1. An information processing device, characterized in that, have: The acquisition unit acquires initial values related to the calculation of the value of the object function, which directly or indirectly includes one or more parameters as independent variables; and The control unit calculates the differential coefficients of the object function. The calculation and processing of the differential coefficients in the control unit includes a first processing and a second processing. The calculation and processing of the differential coefficients in the control unit includes a first iteration process. The first process includes a portion of the first iterative process. The second process includes the portion other than the portion of the first iterative process. The calculation of the differential coefficients in the control unit includes a third process, which includes an automatic differential calculation process for a process that does not include the first process but includes the second process. The first process includes the first iteration of the process in the first iterative process. The first iterative process is the iterative process of finding the solution to the self-consistent equation.
2. The information processing apparatus according to claim 1, wherein, The object function takes a subset of the one or more parameters and one or more state variables that take the one or more parameters as independent variables as independent variables. The iterative process includes updating the one or more state variables. The third process includes using automatic differentiation to calculate the differential coefficients of the object function.
3. The information processing apparatus according to claim 2, wherein, The control unit obtains a numerical solution for the one or more state variables, with the one or more parameters as independent variables, through the first iterative process. The third process includes using automatic differentiation to calculate differential coefficients related to the one or more parameters of the object function, the differential coefficients including the contribution of the object function to the one or more state variables depending on the one or more parameters.
4. The information processing apparatus according to claim 1, wherein, The information processing device further includes a parameter updating unit, which updates the one or more parameters using the differential coefficients of the object function. The control unit performs a second iteration of processing. In the second iterative process, the iterative process includes the following steps: The first iteration process; as well as The process of updating one or more parameters using the differential coefficients of the object function.
5. The information processing apparatus according to claim 4, wherein, The object function takes a subset of the one or more parameters and one or more state variables that take the one or more parameters as independent variables as independent variables. The first iterative process includes updating the one or more state variables. The control unit obtains a numerical solution for one or more state variables with the one or more parameters as independent variables through the first iterative process. The third process includes using automatic differentiation to calculate differential coefficients related to the one or more parameters of the object function, the differential coefficients including the contribution of the object function to the one or more state variables depending on the one or more parameters. The automatic differentiation is applied to one or more of the processes that include multiple iterations in the first iterative process, but excludes at least one iteration.
6. The information processing apparatus according to any one of claims 1-5, wherein, The third process includes using automatic differentiation in reverse mode to calculate the differential coefficients of the object function.
7. The information processing apparatus according to claim 6, wherein, At least one of the first process, the second process, and the third process includes at least one of the following: Convergence determination processing associated with at least one of the one or more state variables; as well as Convergence determination processing related to the differential coefficients of the object function.
8. The information processing apparatus according to claim 6, wherein, In the third process, information from the calculation process of the second process recorded at the checkpoint is used.
9. An information processing method, characterized in that, The information processing method includes: The acquisition step involves obtaining initial values related to the calculation of the value of an object function, which directly or indirectly includes one or more parameters as independent variables; and The calculation steps include calculating the differential coefficients of the object function. The calculation of the differential coefficients in the calculation step includes a first process and a second process. The calculation of the differential coefficients in the calculation step includes a first iteration process. The first process includes a portion of the first iterative process. The second process includes the portion other than the portion of the first iterative process. The calculation of the differential coefficients in the calculation step includes a third process, which includes an automatic differentiation calculation process for a process that does not include the first process but includes the second process. The first process includes the first iteration of the process in the first iterative process. The first iterative process is the iterative process of finding the solution to the self-consistent equation.
10. A program for enabling a computer to function as the information processing apparatus of claim 1, characterized in that, This is used to enable the computer to function as both the acquisition unit and the control unit.
Citation Information
Patent Citations
Computation method of external field, designing method of substance, program, and recording medium
JP2016069302A