Information processing device, information processing method, and program

The information processing device and method utilize iterative processes and automatic differentiation techniques to lower calculation costs and enhance the efficiency of material system analysis by calculating differential coefficients with maintained accuracy.

JP7606262B1Active Publication Date: 2024-12-25CALMARION INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024002073
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-01-10
Publication Date
2024-12-25
Estimated Expiration
2044-01-10

AI Technical Summary

Technical Problem

Existing methods for automatic differentiation in analysis techniques, such as optimization of material systems, face high calculation costs that hinder efficient performance.

Method used

An information processing device and method that employs a combination of iterative processes and automatic differentiation, including reverse and forward modes, to calculate differential coefficients with reduced computational cost while maintaining accuracy.

Benefits of technology

The approach significantly reduces calculation costs in automatic differentiation methods while preserving high accuracy, enabling efficient optimization of material systems and parameter adjustments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007606262000001_ABST
    Figure 0007606262000001_ABST
Patent Text Reader

Abstract

In the calculation method using automatic differentiation, the calculation cost is suppressed. [Solution] An information processing device (1) includes an acquisition unit (21) that acquires initial values ​​for calculating the value of a target function that directly or indirectly includes one or more parameters as arguments, and a calculation unit (26) that calculates a differential coefficient of the target function, wherein the calculation process of the differential coefficient by the calculation unit includes a first process and a second process, the calculation process of the differential coefficient by the calculation unit includes an iterative process, the first process includes a part of the iterative process, the second process includes a part other than the part of the iterative process, and the calculation process of the differential coefficient by the calculation unit includes a third process that includes a calculation process of automatic differentiation for a process that does not include the first process but includes the second process.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information processing device, an information processing method, and a program. [Background technology]

[0002] There are known techniques for performing analysis such as optimization of parameters describing a target system such as a material system. For example, Patent Document 1 discloses a technique for designing materials based on quantum mechanical calculations. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2016-69302 A Summary of the Invention [Problem to be solved by the invention]

[0004] As one of the above-mentioned analysis methods, a method using automatic differentiation is also known. By using automatic differentiation, it is possible to improve the accuracy of the analysis, while it is desirable to be able to execute automatic differentiation at a lower calculation cost. One aspect of the present invention aims to realize a technology that can suppress the calculation cost in a calculation method using automatic differentiation. [Means for solving the problem]

[0005] In order to solve the above problems, an information processing device according to one embodiment of the present invention includes an acquisition unit that acquires initial values ​​for calculating a value of a target function that directly or indirectly includes one or more parameters as arguments, and a calculation unit that calculates a differential coefficient of the target function, wherein the calculation process of the differential coefficient by the calculation unit includes a first process and a second process, the calculation process of the differential coefficient by the calculation unit includes an iterative process, the first process includes a part of the iterative process, and the second process includes a part other than the part of the iterative process, and the calculation process of the differential coefficient by the calculation unit includes a third process that includes a calculation process of automatic differentiation with respect to a process that does not include the first process but includes the second process.

[0006] In order to solve the above problem, an information processing method according to one embodiment of the present invention includes an acquisition step of acquiring initial values ​​for calculating a value of a target function that directly or indirectly includes one or more parameters as arguments, and a calculation step of calculating a derivative of the target function, wherein the calculation process of the derivative by the calculation step includes a first process and a second process, wherein the calculation process of the derivative by the calculation step includes an iterative process, wherein the first process includes a part of the iterative process and the second process includes a part other than the part of the iterative process, and the calculation process of the derivative by the calculation step includes a third process including a calculation process of automatic differentiation with respect to a process that does not include the first process but includes the second process.

[0007] The information processing device according to each aspect of the present invention may be realized by a computer. In this case, the present invention also includes a program for realizing the information processing device on a computer by causing the computer to operate as each unit (software element) of the information processing device, and a computer-readable recording medium on which the program is recorded. Effect of the Invention

[0008] According to one aspect of the present invention, it is possible to reduce calculation costs in a calculation method using automatic differentiation. [Brief description of the drawings]

[0009] [Figure 1] 1 is a block diagram showing a configuration of an information processing device according to an embodiment of the present invention. [Diagram 2] FIG. 2 is a flow diagram showing a flow of information processing according to an embodiment of the present invention. [Diagram 3] FIG. 2 is a flow diagram showing a flow of information processing according to an embodiment of the present invention. [Figure 4] FIG. 2 is a flow diagram showing a flow of information processing according to an embodiment of the present invention. [Diagram 5] FIG. 2 is a flow chart showing the flow of information processing that is the basis of an embodiment of the present invention. [Figure 6] FIG. 2 is a flow chart showing the flow of information processing that is the basis of an embodiment of the present invention. [Figure 7] FIG. 2 is a flow diagram showing a flow of information processing according to an embodiment of the present invention. [Figure 8] 1 is a block diagram showing a configuration of an information processing device according to an embodiment of the present invention. [Figure 9] FIG. 2 is a flow diagram showing a flow of information processing according to an embodiment of the present invention. [Figure 10] FIG. 2 is a flow diagram showing a flow of information processing according to an embodiment of the present invention. [Figure 11] 1 is a block diagram showing a configuration of an information processing device according to an embodiment of the present invention. [Figure 12] FIG. 2 is a flow diagram showing a flow of information processing according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] (Overview of information processing according to each embodiment) First, an overview of information processing according to each embodiment described in this specification will be described. The information processing device and information processing method according to each embodiment described in this specification can be used, as an example, to design (also called reverse design) a system or material having desired performance or physical properties. In a normal simulation, for example, the atomic arrangement, impurity distribution of a semiconductor, manufacturing conditions, etc. are set as a parameter p, and an objective function related to performance or physical properties such as a superconducting transition temperature, voltage-current characteristics, and defect density determined according to the parameter is calculated. However, the information processing device and information processing method according to each embodiment described in this specification can be suitably used for the problem of designing (reverse designing) parameters p such as atomic arrangement, impurity distribution of a semiconductor, and manufacturing conditions so as to have a desired superconducting transition temperature, desired voltage-current characteristics, and desired defect density. In another example, it can be used to estimate parameters describing the target and system from limited measurement results related to the target system.

[0011] In other words, the information processing device and the information processing method according to each embodiment described in this specification can be suitably applied to the problem of finding a parameter p that maximizes or minimizes an objective function related to performance or physical properties in the above-mentioned reverse design, etc. In order to solve such a problem, it is useful to know the derivative of the objective function with respect to p, but when p is high-dimensional, there is a problem that it requires a computational cost to find all the derivatives of the objective function with respect to p. In the information processing device and the information processing method according to each embodiment described in this specification, it is possible to reduce the computational cost when the derivative of the objective function with respect to p is calculated by an iterative method.

[0012] More specifically, in the information processing device and information processing method disclosed herein, At least one parameter p a (a is an index that lists at least one parameter), and · Q is a subset of set P, · At least one state variable x b(b is an index that lists at least one parameter), and Function F(Q,X) In the following, P or Q will be simply called parameters. X will also be simply called state variables. Also, X, the value of state variable X determined based on the value of parameter P, ANS Consider (P). Below, X ANS (P) can also be written simply as X(P). If the set Q is not an empty set, then the function F is a function of the parameters p in the set P. a This corresponds to the case where such a function F depends explicitly on one or more parameters (p a ) as an argument. On the other hand, if the set Q is the empty set, the function F is a function that is directly related to the parameters p a This corresponds to a case where the function F does not explicitly depend on any of the parameters p a ) as an indirect argument. Also, F(Q,X) is a function that b For example, F depends on at least one of x b It may be any one of them itself.

[0013] In this way, the target function (F) can be expressed as a function that takes as arguments a subset (Q) of the one or more parameters and one or more state variables (X(P)) that take the one or more parameters as arguments. b does not have to relate to a physical state.

[0014] In the information processing device and information processing method according to the present specification, as an example, F(Q,X ANS (P)) a Derivative with respect to ∂F(Q,X ANS (P)) / ∂p a Numerical calculation of the value of F(Q,X ANS The specific form of (P) depends on the target of the information processing device and the information processing method.

[0015] X ANS (P) may also depend on parameters not included in P, but for simplicity of notation, we use X ANS In addition, function F may also depend on parameters not included in P, but in the following, for the sake of conciseness of notation, the dependence of function F on parameters not included in P may not be written explicitly.

[0016] X ANS (P) is determined based on the subject of the information processing device and the information processing method. ANS (P) may be an implicit function of P, and X ANS All we need to do is know an iterative method to find the numerical solution of (P). For example, starting from a certain initial condition X0, i =φ(P,X i-1 ) to obtain X i The convergence value of X ANS All that is required is to know the function φ that is expected to give a numerical solution to (P). Also, the function φ does not have to be fixed, but can be a function φ that changes depending on the iteration. i And X i =φ i (P,X i-1 ) to obtain X i The convergence value of X ANS (P) may be a function that is expected to be solved numerically. Also, the value of the state variable X i Each state variable x b The value of x (i,b) It is written as follows.

[0017] φ is always X ANS It is not necessary to obtain a numerical solution for (P). For example, for a certain initial condition X0, X0 is obtained in the calculation of the relevant iteration. ANS It is also acceptable for (P) to be a problem for which no numerical solution can be obtained. For example, φ is a problem for which X=φ(P,X) has multiple solutions, and X ANS (P) is one of the multiple solutions, and is the solution of X=φ(P,X) when the calculation is repeated starting from an initial condition X0. ANSIt is also possible to obtain a numerical solution that corresponds to a solution different from (P). In that case, for example, by starting from multiple initial values, ANS The numerical solution of (P) can be obtained.

[0018] [Embodiment 1] Next, one embodiment of the present invention will be described in detail.

[0019] (Configuration of information processing device 1) 1 is a block diagram showing the configuration of an information processing device 1 according to the present embodiment. As shown in FIG. 1, the information processing device 1 includes a control unit 2, a storage unit 3, and an input / output unit 4.

[0020] (Storage unit 3) The storage unit 3 stores various data and information referred to by the control unit 2 and various data and information derived by the control unit 2. As an example, as shown in Fig. 1, the storage unit 3 stores a parameter P, calculation process information CP, a threshold value Cth, and a number of iterations m.

[0021] Here, the parameter P is, for example, at least one of the parameters p a (where a is an index assigned to the at least one parameter). The calculation process information CP is, for example, information related to various calculation processes executed by the control unit 2, and includes, for example, information used in automatic differentiation, which will be described later. The threshold value Cth is, for example, a threshold value referenced in a determination process that determines whether or not a convergence condition is satisfied. The number of iterations m is, for example, a value that specifies the number of iterations of the target calculation by the control unit 2. A more specific explanation of the various data and information stored in the memory unit 3 will be given later.

[0022] (Input / output section 4) As an example, the input / output unit 4 is configured to include at least one of input / output devices such as a keyboard, a mouse, a display, a printer, and a touch panel. Alternatively, the input / output unit 4 may be configured to be connected to input / output devices such as a keyboard, a mouse, a display, a printer, and a touch panel. In this configuration, the input / output unit 4 accepts various types of information input to the information processing device 1 from the connected input device. Also, the input / output unit 4 outputs various types of information to the connected output device under the control of the control unit 2. An example of the input / output unit 4 is an interface such as a Universal Serial Bus (USB).

[0023] (Control Unit 2) As shown in FIG. 1, the control unit 2 includes 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 .

[0024] The initial value determination unit 21 determines an initial value X0 of the state variable X. For example, the initial value determination unit 21 may set the initial value X0 to a predetermined value, or may determine the initial value X0 using a random number. The initial value determination unit 21 may set the initial value X0 to a value input from the outside via the input / output unit 4. The initial value determination unit 21 determines the initial value X0 based on one or more parameters (p a Alternatively, the function may be expressed as an acquisition unit that acquires an initial value (for example, the initial value X0 of X, which is an argument of the object function F) for calculating the value of the object function (F) that directly or indirectly includes the argument X.

[0025] The state update unit 22 updates the state variable X. As an example, the state update unit 22 updates X i =φ(P,X i-1 ) gives the new value of state variable X, X i The details of the process performed by the state update unit 22 will be described later.

[0026] The end determination unit 23 determines whether or not to end the iteration of the target calculation. The details of the process performed by the end determination unit 23 will be described later.

[0027] The function value calculation unit 24 calculates the value of the target function. As an example, the function value calculation unit 24 calculates the value F(Q,X n+m The process performed by the function value calculation unit 24 will be described in detail later.

[0028] The differential value calculation unit 26 functions as a calculation unit that calculates the differential coefficient of the target function (F). As an example, as shown in Fig. 1, the differential value calculation unit 26 has a backpropagation calculation unit 252 and a calculation process recording unit 253. Details of the process by the differential value calculation unit 26 will be described later.

[0029] The end determination unit 28 determines whether the target process has been executed a predetermined number of times. The process by the end determination unit 28 will be described in detail later.

[0030] <Processing flow by information processing device 1> The following describes the flow of processing by the information processing device 1. In summary, the information processing device 1: · Convergence solution calculation step (also called step S1) - Differential coefficient calculation step (also called step S2) The above is executed. Note that steps S1 and S2 may be referred to as a whole as a differential coefficient calculation process. Here, the differential coefficient calculation process includes an iterative process as an example. Step S1 is also referred to as a first process, and includes a part of the iterative process as an example, as described later. Meanwhile, steps S211 and S212 of step S2, which will be described later, are also referred to as a second process, and include a part other than the part of the iterative process as described later. Step S213 of step S2, which will be described later, may be included in the second process. Also, as described later, the differential coefficient calculation process includes an automatic differentiation calculation process for a process that does not include the first process but includes the second process. The "automatic differentiation calculation process for a process that does not include the first process but includes the second process" is also referred to as a third process.

[0031] As described below, the iterative process includes updating one or more state variables (X), and the third process includes calculating a differential coefficient of the object function (F) using automatic differentiation. Furthermore, in the process according to this embodiment, the third process includes calculating a differential coefficient of the object function (F) using automatic differentiation in reverse mode, as described below.

[0032] (Step S1) The convergence solution calculation step (step S1) includes, as an example, steps S11 to S13 as shown in FIG.

[0033] (Step S11) In step S11, the initial value determination unit 21 determines an initial value X0 of the state variable X. The initial value X0 may be input from the outside via the input / output unit 4.

[0034] (Step S12) Next, in step S12, the state update unit 22 updates the state variable X. That is, X i =φ(P,X i-1 ) gives the new value of state variable X, X i Here, i corresponds to the number of times step S12 is executed. For example, when step S12 is executed for the first time, the state update unit 22 calculates X1 by X1=φ(P, X0).

[0035] (Step S13) Next, in step S13, the end determination unit 23 determines whether to end the iteration of the calculation in step S12. In this embodiment, the end determination unit 23 determines whether to end the iteration of the calculation in step S12 by subtracting X i In other words, the end determination unit 23 executes a convergence determination process for at least one of the one or more state variables. i If X does not satisfy the convergence condition, step S12 is executed again. iWhen the convergence condition is satisfied, step S1 ends and step S2 is executed. The convergence condition used in step S13 will be described later.

[0036] Hereafter, X i When it is determined that X satisfies the convergence condition, i at that time is also written as n.

[0037] (Supplementary Note: Convergence Judgment in Step S13) X i The method by which the end determination unit 23 determines whether X satisfies the convergence condition is not particularly limited and may be a method according to the purpose of the information processing method. For example, the end determination unit 23, i-1 and X i Based on the value C(X i-1 , X i ) of the function C that depends on i-1 and the threshold value Cth, when C(X i ) < Cth is satisfied, it is determined that X i satisfies the convergence condition, and if not, it is determined that X i does not satisfy the convergence condition. The function C may depend on any one or more of X0, X1, ···, X i-2 . The function C may depend only on X i and not depend on X0, X1, ···, X i-1 . The values of these state variables are added to the calculation process information CP stored in the storage unit 3 during the calculation process as necessary.

[0038] For example, the end determination unit 23 uses the newly obtained X i in step S12 and the X i-1 obtained in the execution of the previous step S12 to determine convergence. For example, the end determination unit 23 uses a predetermined threshold value Cth to determine that |X i - X i-1 | < Cth, then it is determined that X i satisfies the convergence condition, and if not, it is determined that X i does not satisfy the convergence condition. Here, |X i - X i-1 ​|=(Σ b (x (i,b) -x (i-1,b) ) 2 ) 0.5 is as follows.

[0039] When the function C does not depend on X0, X1, ···, X i-1 , the end determination unit 23 determines, for example, that X i satisfies the convergence condition when C(X i ) < Cth is satisfied, and determines that X i does not satisfy the convergence condition otherwise. For example, when obtaining the state variable X such that the value of C(X) becomes 0 by an iterative method, such convergence determination may be performed.

[0040] (Step S2) As described above, Step S1 is executed, and after the end of Step S1, Step S2 (differential coefficient calculation step) is performed. FIG. 4 is a flowchart showing Step S2. As shown in FIG. 4, Step S2 has Step S211, Step S212, Step S213, and Step S214. Note that all or part of these Steps S211 to S213 constitute an example of the second process described above. Also, Step S214 can be regarded as an example of the third process described above.

[0041] (Step S211) In Step S211, the state update unit 22 obtains X n+k = φ(P, X n+k-1 ). Here, k corresponds to how many times Step S211 has been executed. For example, when Step S211 is executed for the first time, the state update unit 22 obtains X n+k = φ(P, X n+1 ). However, X n is X n+1 obtained in Step S1. n is X n obtained in Step S1.

[0042] In step S211, the calculation process recording unit 253 of the differential value calculation unit 26 adds information required for automatic differentiation in the reverse mode to the calculation process information CP for the calculation performed by the state update unit 22 in step S211. The information required for automatic differentiation in the reverse mode may be recorded in the form of, for example, a calculation graph, or each X n+k is recorded as checkpoint information, and when performing backpropagation calculations in step S214 described later, X n+k A computation graph may be constructed using the above. In other words, in the above-mentioned third process, the information on the computation process of the second process recorded at the checkpoint is used. As an example, among the information included in the computation process information CP, the information on the computation process of the second process recorded at the checkpoint may be used in the above-mentioned third process. Note that in each embodiment of the present application, "performing automatic differentiation in reverse mode" refers to performing a computation of backpropagation of a differential value, and does not include recording of the computation process required for the original forward computation and the computation of backpropagation of a differential value.

[0043] (Step S212) In step S212, the end 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 the predetermined number of times step S211 is executed is m, then X n+m The method for determining m is, for example, as follows.

[0044] The number of iterations m may be determined, for example, before the execution of step S1 based on consideration of the target of the information processing method. For example, i If the convergence of is known, m can be determined based on the convergence. For example, iIf is known to converge faster than linearly, for example quadratically, then m=1 may be used.

[0045] The number of iterations m may be determined based on a test calculation before the execution of step S1. a When determining the derivative of F with respect to P at multiple values ​​of P, a preferred value for the number of iterations m in step S2 may be determined for a representative value of P, and the preferred value for the number of iterations m may be used in the calculations at multiple values ​​of P.

[0046] The number of iterations m is, for example, the number of iterations obtained in step S1. i For example, in step S1, X i With a parameter λ whose value is less than 1, |X i -X i-1 |<λ|X i-1 -X i-2 If the convergence is such that | m (λ to the mth power) is small enough, or λ m m may be determined so that X is smaller than a desired value. In this case, for example, the control unit 2 includes an iteration number determination unit (not shown), which determines the iteration number m. i With λ less than 1, |X i -X i-1 |<λ|X i-1 -X i-2 The fact that the convergence is such that || when i is close to n means that i This may be judged from the behavior of the

[0047] (Step S213) In step S213, the function value calculation unit 24 calculates the value F(Q,X n+mIn step S213, the calculation process recording unit 253 of the differential value calculation unit 26 records information required for automatic differentiation in the reverse mode regarding the calculation performed by the function value calculation unit 24 in step S213. The information is included in the calculation process information CP recorded in the storage unit 3.

[0048] In step S214, the backpropagation calculation unit 252 of the differential value calculation unit 26 calculates X by an iterative method based on the calculation process information CP recorded in the storage unit 3. n From X n+m Find the value of function F(Q,X n+m ) is calculated by backpropagating the differential values. This gives us ∂F(Q,Y (n,m) (P)) / ∂p a is obtained. Here, to clarify the dependency on P, we newly add Y (n,m) (P) was introduced. Y (i,0) (P) is Y (i,0) =X i (P), which is a constant independent of P. Also, 、 Y (i,k) (P) is Y (i,0) These are state variables obtained by applying φ k times starting from . For example, Y (i,1) (P) = φ(P,Y (i,0) ) for a parameter value P' different from P, Y (i,1) (P')=φ(P',Y (i,0) ), but in this case too, the right-hand side of Y (i,0) is Y (i,0) =X i (P). Y (i,k) (P)=X i+k (P), but for a parameter value P' different from P and k>0, Y (i,k) (P') ≠ X i+k (P').

[0049] In this way, in step S2, X is calculated by the iterative method performed in steps S211 to S213. n From X n+m Find the value of function F(Q,X n+m), reverse mode automatic differentiation is applied to the calculation of each p a For ∂F(Q,X ANS (P)) / ∂p a As a numerical value of ∂F(Q,Y (n,m) (P)) / ∂p a is obtained.

[0050] In this embodiment, by performing the calculation in step S1 before step S2, for example, the number of iterations m in step S2 can be reduced, and each p a This reduces the calculation cost of automatic differentiation for obtaining differential coefficients with respect to. This effect is significant 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.

[0051] In step S2, automatic differentiation in reverse mode is used, so that p a Even if the number of Q,Y (n,m) (P)) / ∂p a can be calculated.

[0052] As described above, in the information processing device 1 and the information processing method according to the present embodiment, One or more parameters (p a ) directly or indirectly as an argument, to obtain an initial value for the calculation of the value of the target function (F); Calculating the derivative of the objective function (F), The calculation process of the differential coefficient includes: A first process (e.g., step S1); A second process (e.g., steps S211 and S212), Also, The calculation of the derivative includes an iterative process; the first process includes a portion of the iterative process; the second process includes a portion other than the part of the iterative process, The calculation process of the differential coefficient includes a third process which is an automatic differentiation calculation process for a process that does not include the first process but includes the second process. Therefore, according to the above configuration, each parameter (p a In the calculation for determining the differential coefficient with respect to , the use of automatic differentiation makes it possible to reduce the calculation cost while maintaining high accuracy of the differential calculation.

[0053] As described above, the second Where The method includes a process of calculating the differential coefficient of the target function (F) using automatic differentiation of backpropagation, which can more effectively reduce the calculation cost. (Additional Notes for the First Embodiment) Each process described in the first embodiment and each process described in each embodiment described later can be considered as a process based on a comparative example described below. Fig. 5 is a flowchart showing an information processing method according to the comparative example.

[0054] The information processing method according to the comparative example includes steps S1010, S1020, and S1030.

[0055] (Step S1010) First, step S1010 is performed. Fig. 6 is a flow diagram showing the flow of each process included in step S1010. As shown in Fig. 6, step S1010 includes steps S1011 to S1013.

[0056] (Step S1011) In step S1011, an initial value X0 of the state variable X is determined.

[0057] (Step S1012) Next, in step S1012, X i =φ(P,X i-1 ) gives the new value of the state variable X iHere, i corresponds to the number of times step S1012 is executed. For example, when step S1012 is executed for the first time, X1 is calculated by X1=φ(P, X0).

[0058] (Step S1013) Next, in step S1013, X i It is judged whether X satisfies the convergence condition. i If it is determined that does not satisfy the convergence condition, step S1013 is executed again. i If it is determined that satisfies the convergence condition, step S1012 is executed.

[0059] The convergence condition in step S1013 is, for example, X i and X i-1 and the degree to which they differ from each other, and are similar to those described in other embodiments, for example.

[0060] In step S1013, X i If it is determined that satisfies the convergence condition, then X ANS X as the numerical solution of (P) n Here, n is the number of X i is determined to satisfy the convergence condition. Starting from X0, apply φ n times to obtain X n Since depends on P, to show the dependency on P, we use X n Also written as (P).

[0061] (Step S1020) X i If it is determined that F(Q,X n ) to calculate

[0062] (Step S1030) Next, in step S1030, the backpropagation of the differential value of F, which corresponds to the calculations in steps S1010 and S1020, is calculated. As a result, ∂F(Q,Xn (P)) / ∂p a is required.

[0063] In this way, by applying automatic differentiation to the calculations in steps S1010 and S1020, each p a F(Q,X ANS (P)) ANS (P)) / ∂p a As a numerical solution, ∂F(Q,X n (P)) / ∂p a In the above explanation, ∂F(Q,X n (P)) / ∂p a However, forward mode automatic differentiation may be used.

[0064] When forward mode automatic differentiation is used, for example, the calculations of steps S1010 and S1020 can be performed once using an extended double number having multiple non-real parts to obtain each p a The derivative with respect to ∂F(Q,X ANS (P)) / ∂p a may be calculated.

[0065] When using reverse mode automatic differentiation, the backpropagation of the derivatives is calculated for each p a For the differential coefficient ∂F(Q,X ANS (P)) / ∂p a can be calculated together.

[0066] [Embodiment 2] Next, another embodiment of the present invention, that is, embodiment 2, will be described in detail. For convenience of explanation, the same reference numerals will be given to members having the same functions as those described in the above embodiment, and the explanations thereof will not be repeated.

[0067] The information processing device according to this embodiment includes a differential value calculation unit 25 instead of the differential value calculation unit 26 included in the information processing device 1 according to the above-described embodiment 1. Other configurations of the information processing device according to this embodiment are similar to those of the information processing device 1 according to the above-described embodiment 1.

[0068] (Differential value calculation unit 25) The differential value calculation unit 25 includes, for example, a forward propagation calculation unit 251. The forward propagation calculation unit 251 of the differential value calculation unit 25 performs calculation of forward propagation of differential values, which corresponds to the calculation performed by the state update unit 22. Details of the processing by the differential value calculation unit 25 will be described later.

[0069] <Processing flow by the information processing device according to this embodiment> The flow of processing by the information processing device according to this embodiment will be described below. The information processing device according to this embodiment generally includes the following operations, similar to the information processing device 1 according to the first embodiment: Convergence solution calculation step (step S1, also called the first process) - Differential coefficient calculation step (step S2b) Execute.

[0070] Step S2b includes steps S201, S202, and S203, as described below. Some of the processes performed in steps S201 and S202 are also called second processes. The processes performed by the forward propagation calculation unit 251 in steps S201 and S203 are an example of processes included in the third process.

[0071] (Step S1) Step S1 according to this embodiment is similar to step S1 executed by the information processing device 1 according to the first embodiment, and therefore a description thereof will be omitted.

[0072] (Step S2b) After step S1 is completed, step S2b is performed. Step S2b according to the present embodiment includes, as an example, steps S201, S202, and S203, which will be described below.

[0073] (Step S201) In step S201, the state update unit 22 n+k =φ(P,X n+k-1 ) X n+k Here, k corresponds to the number of times step S201 is executed. For example, when step S201 is executed for the first time, the state update unit 22 calculates X n+1 =φ(P,X n ) X n+1 However, X n is the X obtained in step S1. n It is.

[0074] In step S201, the forward propagation calculation unit 251 of the differential value calculation unit 25 performs a calculation of forward propagation (forward mode) of a differential value, which corresponds to the calculation performed by the state update unit 22 in step S201.

[0075] (Step S202) Next, in step S202, the end 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 is executed is m, then X n+m is obtained.

[0076] (Step S203) Next, in step S203, the function value calculation unit 24 calculates the value F(Q,X n+m ) to calculate

[0077] In step S203, the forward propagation calculation unit 251 of the differential value calculation unit 25 performs calculation of forward propagation of the differential value, which corresponds to the calculation performed by the function value calculation unit 24 in step S203.

[0078] In step S2b, the iterative method n From X n+m Find the objective function value F(Q,X n+m ), forward mode automatic differentiation is applied to the calculation of each p a Whereas, F's p a The derivative with respect to ∂F(Q,X ANS (P)) / ∂p a As a numerical value of ∂F(Q, Y (n,m) (P)) / ∂p a Here, Y (n,m) (P) is the Y introduced in embodiment 1. (n,m) Same as (P).

[0079] After step S2b is completed, the information processing device according to this embodiment, for example, via the input / output unit 4, a ∂F(Q, Y (n,m) (P)) / ∂p a is output to the outside.

[0080] When automatic differentiation in forward mode is used as in this embodiment, each p of F a To find the derivative with respect to, for example, p a In this embodiment, the computation cost is approximately proportional to the number of p a Automatic differentiation to obtain the derivatives with respect to is not applied to step S1. By performing step S1, for example, the number of iterations m in step S2b can be reduced, and each p of F can be a The calculation cost of automatic differentiation for obtaining a differential coefficient with respect to can be reduced compared to the comparative example. This effect is large when the ratio n / m of the number of iterations n in step S1 to the number of iterations m in step S2b is large. Note that the method for setting the number of iterations m is the same as the process described in the first embodiment as an example, and therefore will not be described here.

[0081] The information processing device and information processing method according to this embodiment also allow each parameter (p aIn the calculation for determining the differential coefficient with respect to , the use of automatic differentiation makes it possible to reduce the calculation cost while maintaining high accuracy of the differential calculation.

[0082] [Embodiment 3] Next, another embodiment of the present invention, that is, embodiment 3, will be described in detail. For convenience of explanation, the same reference numerals will be given to members having the same functions as those described in the above embodiment, and the explanations thereof will not be repeated.

[0083] The information processing device according to this embodiment includes a termination determination unit 29 instead of the termination determination unit 28 included in the information processing device according to the above-described embodiment 2. The storage unit 3 of the information processing device according to this embodiment stores a threshold value Cth2 instead of the number of iterations m in embodiment 2. Other configurations of the information processing device according to this embodiment are similar to those of the information processing device according to the above-described embodiment 2.

[0084] (End determination unit 29) The termination determination unit 29 determines whether the target process satisfies a convergence condition. The details of the process by the termination determination unit 29 will be described later.

[0085] <Processing flow by the information processing device according to this embodiment> The flow of processing by the information processing device according to this embodiment will be described below. The information processing device according to this embodiment generally includes the following operations, similar to the information processing device 2 according to the second embodiment: Convergence solution calculation step (step S1, also called the first process) - Derivative coefficient calculation step (also called step S2c) Execute. Step S2c includes steps S201, S203, and S205, as described below. Some of the processes performed in step S2c are also called second processes. The processes performed by the forward propagation calculation unit 251 in steps S201 and S203 are an example of processes included in the third process.

[0086] (Step S1) Step S1 according to this embodiment is similar to step S1 executed by the information processing device 1 according to the first embodiment, and therefore a description thereof will be omitted.

[0087] (Step S2c) After step S1 is completed, step S2c is performed. Step S2c according to the present embodiment includes, as an example, steps S201, S203, and S205, which will be described below.

[0088] (Step S201) In step S201, the state update unit 22 n+k =φ(P,X n+k-1 ) X n+k Here, k corresponds to the number of times step S201 is executed. For example, when step S201 is executed for the first time, the state update unit 22 calculates X n+1 =φ(P,X n ) X n+1 However, X n is the X obtained in step S1. n In step S201, the forward propagation calculation unit 251 of the differential value calculation unit 25 performs calculation of forward propagation of differential values, which corresponds to the calculation performed by the state update unit 22 in step S201.

[0089] (Step S203) Next, in step S203, the function value calculation unit 24 calculates the value F(Q,X n+k ) to calculate

[0090] In step S203, the forward propagation calculation unit 251 of the differential value calculation unit 25 performs calculation of forward propagation of differential values, which corresponds to the calculation performed by the function value calculation unit 24 in step S203.

[0091] Repeat step S201 to X n Based on X n+k In step S203, the value F(Q,X n+kBy applying forward-mode automatic differentiation to the calculation of calculating (), the derivative coefficient ∂F(Q, Y a with respect to each of p (n,k) (P)) / ∂p a is obtained. Here, Y (n,k) is the same as the Y introduced in Embodiment 1.

[0092] (Step S205) Next, in step S205, the end determination unit 29 determines whether ∂F(Q, Y (n,k) (P)) / ∂p a satisfies the convergence condition. In other words, the end determination unit 29 executes a convergence determination process regarding the derivative coefficient of the target function (F). If it is determined that ∂F(Q, Y (n,k) (P)) / ∂p a satisfies the convergence condition, step S2c ends. In this case, ∂F(Q, Y (n,k) (P)) / ∂p a that is determined to satisfy the convergence condition is the numerical solution of ∂F(Q, X ANS (P)) / ∂p a . If it is determined that ∂F(Q, Y (n,k) (P)) / ∂p a does not satisfy the convergence condition, step S201 is executed again.

[0093] In step S205, the method by which the end determination unit 29 determines whether ∂F(Q, Y (n,k) (P)) / ∂p a has converged may be appropriately determined according to the purpose. For example, if g (k,a) = ∂F(Q, Y (n,k) (P)) / ∂p a is set, when (Σ a (g (k,a) - g (k-1,a) ) 2 ) 0.5 < Cth2 is satisfied, it is determined that ∂F(Q, Y (n,k) (P)) / ∂p a has converged, and in other cases, ∂F(Q, Y (n,k) (P)) / ∂p ais determined to not have converged.

[0094] The information processing device and the information processing method according to this embodiment also allow each parameter (p a In the calculation for determining the differential coefficient with respect to , the use of automatic differentiation makes it possible to reduce the calculation cost while maintaining high accuracy of the differential calculation.

[0095] [Embodiment 4] Next, another embodiment of the present invention, that is, embodiment 4, will be described in detail. For convenience of explanation, the same reference numerals will be given to members having the same functions as those described in the above embodiment, and the explanations thereof will not be repeated.

[0096] The information processing device according to this embodiment includes a termination determination unit 29 instead of the termination determination unit 28 included in the information processing device 1 according to the above-described embodiment 1. The storage unit 3 of the information processing device according to this embodiment stores a threshold value Cth2 instead of the number of iterations m in embodiment 1. Other configurations of the information processing device according to this embodiment are similar to those of the information processing device 1 according to the above-described embodiment 1.

[0097] (End determination unit 29) The termination determination unit 29 determines whether the target process satisfies a convergence condition. The details of the process by the termination determination unit 29 will be described later.

[0098] <Processing flow by the information processing device according to this embodiment> The flow of processing by the information processing device according to this embodiment will be described below. The information processing device according to this embodiment generally includes the following operations, similar to the information processing device 1 according to the first embodiment: Convergence solution calculation step (step S1, also called the first process) - Differential coefficient calculation step (step S2d) Execute.

[0099] Step S2d includes steps S211, S213, S214, and S205, as described below. S211 and S213 are also called the second process. Steps S214 and S205 are an example of processes included in the third process.

[0100] (Step S1) Step S1 according to this embodiment is similar to step S1 executed by the information processing device 1 according to the first embodiment, and therefore a description thereof will be omitted.

[0101] (Step S2d) After step S1 is completed, step S2d is performed. Step S2d according to the present embodiment includes, as an example, steps S211, S213, S214, and S205, which will be described below.

[0102] (Step S211) In step S211, the state update unit 22 n+k =φ(P,X n+k-1 ) X n+k In step S211, the calculation process recording unit 253 of the differential value calculation unit 26 adds, to the calculation process information CP, information required for automatic differentiation in the reverse mode with respect to the calculation performed by the state update unit 22 in step S211.

[0103] (Step S213) Next, in step S213, the function value calculation unit 24 calculates the value F(Q,X n+k In step S213, the calculation process recording unit 253 of the differential value calculation unit 26 adds information required for automatic differentiation in the reverse mode regarding the calculation performed by the function value calculation unit 24 in step S213 to the calculation process information CP.

[0104] (Step S214) Next, in step S214, the back propagation calculation unit 252 of the differential value calculation unit 26 performs back propagation calculation based on the calculation process information CP recorded in the storage unit 3. As a result, ∂F(Q, Y (n,k) (P)) / ∂p a The backpropagation calculation unit 252 obtains, for example, X n Starting from and iteratively calculating X n+k Then, F(Q,X n+k ) and perform the backpropagation calculations corresponding to the entire calculation.

[0105] (Step S205) Next, in step S205, the end determination unit 29 determines whether ∂F(Q,Y (n,k) (P)) / ∂p a satisfies the convergence condition. In other words, the end determination unit 29 executes a convergence determination process for the differential coefficient of the target function (F). (n,k) (P)) / ∂p a If it is determined that ∂F(Q,Y (n,k) (P)) / ∂p a ∂F(Q,X ANS (P)) / ∂p a This is the numerical solution of ∂F(Q,Y (n,k) (P)) / ∂p a If it is determined that ∂F(Q,Y (n,k) (P)) / ∂p a The method by which the termination determination unit 29 determines whether satisfies the convergence condition is the same as the method described in the third embodiment, for example.

[0106] The information processing device and the information processing method according to this embodiment also allow each parameter (p a In the calculation for determining the differential coefficient with respect to , the use of automatic differentiation makes it possible to reduce the calculation cost while maintaining high accuracy of the differential calculation.

[0107] As described above, the third process includes a process of calculating the differential coefficient of the object function (F) using automatic differentiation in reverse mode, which can more effectively reduce the calculation cost.

[0108] [Embodiment 5] Next, another embodiment of the present invention, that is, embodiment 5, will be described in detail. For convenience of explanation, the same reference numerals will be given to members having the same functions as those described in the above embodiment, and the explanations thereof will not be repeated.

[0109] The information processing device according to this embodiment is similar to the information processing device according to the second embodiment described above.

[0110] <Processing flow by the information processing device according to this embodiment> The flow of processing by the information processing device according to this embodiment will be described below. The information processing device according to this embodiment generally includes the following operations, similar to the information processing device 2 according to the second embodiment: · Convergence solution calculation step (also called step S1) Derivative coefficient calculation step (also called step S2e) Execute.

[0111] (Step S1) Step S1 according to this embodiment is similar to step S1 executed by the information processing device 1 according to the first embodiment, and therefore a description thereof will be omitted.

[0112] (Step S2e) After step S1 is completed, step S2e is performed. Step S2e according to the present embodiment includes, as an example, steps S201e, S202, and S203, which will be described below.

[0113] (Step S201e) In step S201e, the state update unit 22 n-m+k =φ(P,X n-m+k-1 ) X n-m+kHere, k corresponds to the number of times step S201e is executed. For example, when step S201e is executed for the first time, the state update unit 22 calculates X n-m+1 =φ(P,X n-m ) X n-m+1 However, X n-m is the X obtained in step S1. n-m and X for i=nm i In addition, m is the number of iterations m stored in the storage unit 3.

[0114] The value of n is not known until step S1 is completed, and the value of nm is also not known. Therefore, for example, in step S1, each X obtained each time step S12 is executed is i is added to the calculation process information CP, and in step S201e, X n-m Alternatively, before executing step S2e, step S1 is executed again from the beginning to the middle, and X n-m In this case, the memory unit 3 stores each X i There is no need to memorize the

[0115] In step S201e, the forward propagation calculation unit 251 of the differential value calculation unit 25 performs calculation of forward propagation of the differential value, which corresponds to the calculation performed by the state update unit 22 in step S201e.

[0116] (Step S202) Next, in step S202, the end 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 the predetermined number of times step S201e is executed is m, then X is executed again by executing step S201e m times. n is obtained.

[0117] (Step S203) Next, in step S203, the function value calculation unit 24 calculates the value F(Q, X 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.

[0118] As described above, for each p included in P a , the partial derivative coefficient ∂F(Q, X a (P)) / ∂p ANS is obtained as a numerical value of ∂F(Q, Y a (P)) / ∂p (n-m,m) . Note that the number of iterations m in step S2e is determined in the same manner as in the case of Embodiment 1, for example. Also, the number of iterations m is determined so as to satisfy m < n. Thereby, compared with the case of the comparative example, the cost for obtaining ∂F(Q, Y a (P)) / ∂p (n-m,m) by automatic differentiation can be reduced. Among the processes performed in step S1, the process from starting from X0 and repeatedly applying φ until X a is obtained is also called the first process. Among the processes performed in step S1, the process from X n-m until X n-m is obtained, or a part of the process in step S201e is also called the second process. The process performed by the forward propagation calculation unit 251 in step S201e is an example of the process included in the third process. n

[0119] Also, in the calculation for obtaining the partial derivative coefficient with respect to each parameter (p a ) of the target function (F) by the information processing apparatus and the information processing method according to the present embodiment, by using automatic differentiation, it is possible to maintain high accuracy of the differential calculation while reducing the calculation cost.

[0120] [Embodiment 6] Next, Embodiment 6, which is another embodiment of the present invention, will be described in detail. For convenience of explanation, members having the same functions as those described in the above embodiments are denoted by the same reference numerals, and the description thereof will not be repeated.

[0121] The information processing device according to this embodiment is similar to the information processing device 1 according to the above-described first embodiment.

[0122] <Processing flow by the information processing device according to this embodiment> The flow of processing by the information processing device according to this embodiment will be described below. The information processing device according to this embodiment generally includes the following operations, similar to the information processing device 1 according to the first embodiment: · Convergence solution calculation step (also called step S3) - Differential coefficient calculation step (also called step S4) Execute.

[0123] (Step S3) Step S3 includes, for example, steps S31, S32, and S33 as shown in FIG.

[0124] (Step S31) In step S31, the initial value determination unit 21 determines the initial value X0 of the state variable X.

[0125] (Step S32) Next, in step S32, the state update unit 22 updates the state variable X. That is, X i =φ(P,X i-1 ) gives the new value of state variable X, X i Here, i corresponds to the number of times step S32 has been executed. For example, when step S32 is executed for the first time, state update unit 22 calculates X1 from X1=φ(P, X0).

[0126] In step S32, the calculation process recording unit 253 records information necessary for automatic differentiation in the reverse mode with respect to the calculation performed by the state update unit 22 in step S32. The information necessary for automatic differentiation in the reverse mode may be recorded in the form of, for example, a calculation graph, or each X iis recorded as checkpoint information, and when performing the backpropagation calculation in step S414 described later, X is used as needed to construct a computational graph if necessary. i may be used.

[0127] (Step S33) Next, in step S33, the end determination unit 23 determines whether to end the iteration of the calculation in step S32. The method for the end determination unit 23 to determine whether to end the iteration of the calculation in step S33 may be the same as in the case of Embodiment 1.

[0128] (Step S4) Step S4 according to this embodiment has, as an example, step S413 and step S414 described below.

[0129] (Step S413) In step S413, the function value calculation unit 24 calculates the value F(Q, X n ). In step S413, the calculation process recording unit 253 of the differential value calculation unit 26 adds information necessary for performing reverse-mode automatic differentiation with respect to the calculation performed by the function value calculation unit 24 in step S213 to the calculation process information CP.

[0130] (Step S414) Subsequently, in step S414, the backpropagation calculation unit 252 of the differential value calculation unit 26 performs backpropagation calculations corresponding to the calculations in steps S32 and S413 from the (n - m + 1)-th time to the n-th time based on the calculation process information CP recorded in the storage unit 3. As a result, ∂F(Q, Y (n-m,m) (P)) / ∂p a is obtained.

[0131] m in step S4 is determined in the same manner as m in step S2e of Embodiment 5, for example. Also, the number of iterations m is determined so as to satisfy m < n. As a result, compared with the case of the comparative example, ∂F(Q, Y (n-m,m) (P)) / ∂p aIn addition, by using reverse mode automatic differentiation, the cost of calculating p a Even if the number of p is large, each p a For ∂F(Q,Y (n-m,m) (P)) / ∂p a In the process performed in step S3, X0 is started and φ is repeatedly applied to obtain X n-m The process of obtaining X is also called the first process. n-m From X n The process up to obtaining is also called the second process. Step S413 may be included in the second process. Step S414 is also called the third process.

[0132] The information processing device and the information processing method according to this embodiment also allow each parameter (p a In the calculation for determining the differential coefficient with respect to , the use of automatic differentiation makes it possible to reduce the calculation cost while maintaining high accuracy of the differential calculation.

[0133] As described above, the third process includes a process of calculating the differential coefficient of the object function (F) using automatic differentiation in reverse mode, which can more effectively reduce the calculation cost.

[0134] [Embodiment 7] Next, another embodiment of the present invention, that is, embodiment 7, will be described in detail. For convenience of explanation, the same reference numerals will be given to members having the same functions as those described in the above embodiment, and the explanations thereof will not be repeated.

[0135] The information processing device according to this embodiment further includes a termination determination unit 29 in addition to the components of the information processing device according to the second embodiment. The storage unit 3 of the information processing device according to this embodiment stores a threshold value Cth2 instead of the number of iterations m. The other components of the information processing device according to this embodiment are the same as those of the information processing device according to the second embodiment.

[0136] <Processing flow by the information processing device according to this embodiment> The flow of processing by the information processing device according to this embodiment will be described below. The information processing device according to this embodiment, like the information processing device according to the second embodiment, generally has the following features: · Convergence solution calculation step (also called step S1) Derivative coefficient calculation step (also called step S2g) Execute.

[0137] (Step S1) Step S1 according to this embodiment is similar to step S1 executed by the information processing device 1 according to the first embodiment, and therefore a description thereof will be omitted.

[0138] (Step S2g) After step S1 is completed, step S2g is performed. Step S2g according to this embodiment includes steps S200g, S201g, S202, S203, and S205g, which will be described below.

[0139] (Step S200g) In step S200g, the initial state for the calculation of the derivative is set. When step S200g is executed for the kth time, X n-k is set as the initial state for the calculation of the derivatives.

[0140] (Step S201g) In step S201g, the state update unit 22 n-k+s =φ(P,X n-k+s-1 ) gives the new value of state variable X, X n-k+s Here, s corresponds to the number of times step S201g has been executed since the last time step S200g was executed.

[0141] In step S201g, the forward propagation calculation unit 251 performs calculation of forward propagation of the differential value, which corresponds to the calculation performed by the state update unit 22 in step S201g.

[0142] (Step S202) Next, in step S202, the end 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. By executing step S201g k times after step S200g, X n-k From X n is re-evaluated and the corresponding forward propagation calculations are performed.

[0143] (Step S203) Next, in step S203, the function value calculation unit 24 calculates the value F(Q,X n In step S203, the forward propagation calculation unit 251 performs a calculation of forward propagation of the differential value, which corresponds to the calculation performed by the function value calculation unit 24 in step S203. a The derivative with respect to ∂F(Q,X ANS (P)) / ∂p a As a candidate for the numerical value of ∂F(Q,Y (n-k,k) (P)) / ∂p a is obtained.

[0144] (Step S205g) Next, in step S205g, the end determination unit 29 calculates ∂F(Q,Y (n-k,k) (P)) / ∂p a satisfies the convergence condition. In other words, the end determination unit 29 executes a convergence determination process for the derivative of the target function (F). (n-k,k) (P)) / ∂p a If it is determined that ∂F(Q,Y (n-k,k) (P)) / ∂p a ∂F(Q,X ANS (P)) / ∂p a This is the numerical solution of ∂F(Q,Y (n-k,k) (P)) / ∂pa If it is determined that the convergence condition is not satisfied, step S200g is executed again.

[0145] In step S205g, ∂F(Q, Y (n-k,k) (P)) / ∂p a The method for determining whether it satisfies the convergence condition may be appropriately determined according to the purpose. For example, g (n-k,a) = ∂F(Q, Y (n-k,k) (P)) / ∂p a is set as, (Σ a (g (n-k,k) - g (n-k+1,k+1) ) 2 ) 0.5 When <Cth2 is satisfied, it is determined that ∂F(Q, Y (n-k,k) (P)) / ∂p a has converged, and in other cases, it is determined that ∂F(Q, Y (n-k,k) (P)) / ∂p a has not converged.

[0146] In step S205g, when it is determined that ∂F(Q, Y (n-k,k) (P)) / ∂p a satisfies the convergence condition, let k at that time be m. It is expected that m is smaller than n. When m is smaller than n, compared with the case of the comparative example, the computational cost can be suppressed, and the numerical solution of ∂F(Q, X ANS (P)) / ∂p a can be obtained. Among the processes performed in step S1, the process from starting from X0 and repeatedly applying φ until X n-m is obtained is also called the first process. Among the processes performed in step S1, the process from X n-m to obtaining X n , or a part of the process of step S2g is also called the second process. The process performed by the forward propagation calculation unit 251 in step S2g is an example of the process included in the third process.

[0147] Also, by the information processing apparatus and the information processing method according to the present embodiment, each parameter (p aIn the calculation for determining the differential coefficient with respect to , the use of automatic differentiation makes it possible to reduce the calculation cost while maintaining high accuracy of the differential calculation.

[0148] [Embodiment 8] Next, another embodiment of the present invention, that is, embodiment 8, will be described in detail. For convenience of explanation, the same reference numerals will be given to members having the same functions as those described in the above embodiment, and the explanations thereof will not be repeated.

[0149] 8 is a block diagram showing the configuration of an information processing device 1h according to the present embodiment, which is similar to the configuration of the information processing device according to the fourth embodiment.

[0150] <Processing flow by the information processing device according to this embodiment> The flow of processing by the information processing device according to this embodiment will be described below. FIG. 9 is a flowchart showing an information processing method according to this embodiment. As shown in FIG. 9, the information processing device according to this embodiment has the following features, as in the information processing device according to the first embodiment: · Convergence solution calculation step (also called step S3) Derivative coefficient calculation step (also called step S4h) Execute.

[0151] (Step S3) Step S3 is similar to step S3 in the sixth embodiment, and therefore a description thereof will be omitted here.

[0152] (Step S4h) As shown in FIG. 10, step S4h includes step S413, step S414h, and step S415.

[0153] (Step S413) Step S413 is the same as step S413 in the sixth embodiment.

[0154] (Step S414h) Next, in step S414h, the back propagation calculation unit 252 performs back propagation calculation on the differential value. The back propagation calculation is performed based on the calculation process information added to the calculation process information CP in steps S3 and S413.

[0155] When step S414h is executed for the kth time, X n-k Starting from and applying φ k times, we get X n Find F(Q,X n ) is calculated, and by performing the backpropagation calculation, ∂F(Q,X ANS (P)) / ∂p a As a candidate for the numerical value of ∂F(Q,Y (n-k,k) (P)) / ∂p a We obtain the following. Note that X n-k Starting from and applying φ k times, we get X n is part of the calculation performed in step S3.

[0156] When step S414h is executed for the kth time, the calculation results obtained when step S414f was executed for the k-1th time can be used. For example, it is sufficient to perform calculations only for the parts of step S414f that require additional calculations from the calculations obtained when step S414f was executed for the k-1th time.

[0157] (Step S415) Next, in step S415, the end determination unit 29 determines whether ∂F(Q,Y (n-k,k) (P)) / ∂p a satisfies the convergence condition. In other words, the end determination unit 29 executes a convergence determination process for the derivative of the object function (F). The method of determining whether the convergence condition is satisfied in step S415 is the same as that in step S205g of the seventh embodiment, for example.

[0158] In step S415, ∂F(Q,Y (n-k,k) (P)) / ∂p a If it is determined that ∂F(Q,Y (n-k,k)(P)) / ∂p a does not satisfy the convergence condition, S414h is executed again.

[0159] In step S415, ∂F(Q,Y (n-k,k) (P)) / ∂p a Let k be m when it is determined that the convergence condition is satisfied. m is expected to be smaller than n. When m is smaller than n, the calculation cost can be reduced compared to the comparative example, and ∂F(Q,X ANS (P)) / ∂p a In the process performed in step S3, we start from X0 and repeatedly apply φ to obtain the numerical solution of X n-m The process of obtaining X is also called the first process. n-m From X n The process up to obtaining F is also called the second process. Step S413 may be included in the second process. Steps S414h and S415 are also called the third process. Thus, in this embodiment, the third process includes a calculation process of automatic differentiation for a process including the second process and a convergence determination process for a differential coefficient of the target function F.

[0160] The information processing device and the information processing method according to this embodiment also allow each parameter (p a In the calculation for determining the differential coefficient with respect to , the use of automatic differentiation makes it possible to reduce the calculation cost while maintaining high accuracy of the differential calculation.

[0161] As described above, the third process includes a process of calculating the differential coefficient of the object function (F) using automatic differentiation in reverse mode, which can more effectively reduce the calculation cost. [Embodiment 9] In the first to eighth embodiments, X i =φ(P,X i-1 ) by X i-1 From X iIn order to accelerate or improve convergence, a known method may be employed, for example, mixing may be used to find new state variables.

[0162] For example, when simple mixing is used, i '=φ(P,X i-1 ) and X i 'Let each state variable in x' b Then, for each b, use a predetermined α and (i,b) =αx' (i,b) +(1-α)x (i-1,b) By X i Each state variable x (i,b) Here, α is a weighting coefficient, for example, between 0 and 1. In other words, in the information processing method described in each embodiment, State variable X i-1 From X i '=φ(P,X i-1 ) to derive new state variables, The new state variable X i ' and the (original) state variable X i-1 The state variables X and X are averaged or weighted averaged. i In this embodiment, Anderson mixing, Broyden mixing, or the like may be used instead of simple mixing.

[0163] [Embodiment 10] In the first to ninth embodiments, the information processing device is a Although the first derivative of F with respect to was obtained, the second or higher derivative may be further obtained. Where The process may include a process of calculating the value of a second or higher derivative with respect to the objective function (F) using automatic differentiation. For example, for each a0 and each a1, ∂ 2 F / ∂p a0 ∂p a1 Here, a0 and a1 are indices that list the parameters included in P.

[0164] [Embodiment 11] In the first to ninth embodiments, the information processing device is a We calculated the derivative of F with respect to In this embodiment, a description will be given of an application target of the information processing methods according to the first to tenth embodiments.

[0165] <Applicable target 1> The information processing methods according to the first to tenth embodiments are applied to, for example, first-principles electronic state calculations, in which an electronic state is calculated based on a Hamiltonian expressed by the following formula:

number

[0166] In the first-principles electronic state calculation, for example, the Hartree-Fock approximation method or the density functional method is used to repeatedly update the electronic state and calculate the electronic state at the ground state or at a 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 a variable that specifies the atomic position. φ is a function that updates the electronic state to obtain the electronic state at the ground state or at a finite temperature in the Hartree-Fock approximation method or the density functional method.

[0167] Although the formula (1) does not show a term corresponding to an external field, for example, any one or more of a magnetic field, an electric field, an electromagnetic wave, a sound wave, and pressure may be applied as the external field. a is, for example, a parameter describing the applied external field. a may be temperature, for example. Also, the atomic positions may be positioned as parameters instead of the state variables X.

[0168] The function F corresponds to, for example, any of the superconducting transition temperature, the superconducting gap, the thermoelectric efficiency, the solar power generation efficiency, and the linear or nonlinear response (for example, the Hall coefficient) to an external field (for example, a magnetic field, an electric field, an electromagnetic wave, an acoustic wave, and a pressure). The storage unit 3 stores an equation for calculating the value of the function F based on the electronic state.

[0169] <Applicable subject 2> Instead of the first-principles Hamiltonian shown in the above (Equation 1), for example, the Hamiltonian of the tight-binding model shown below may be considered.

number

[0170] In order to calculate the ground state or the state at finite temperature in the Hamiltonian shown in (Equation 2), for example, the Hartree approximation or the Hartree-Fock approximation method is used to repeatedly update the electronic state and calculate the electronic state at the ground state or the finite temperature. In this case, the state variable X is, for example, a set of variables that specify the electronic state. φ is a function that updates the electronic state based on the Hartree approximation or the Hartree-Fock approximation method.

[0171] In order to calculate the ground state or the state at finite temperature in the Hamiltonian shown in (Equation 2), for example, the Lanczos method is used to repeatedly update the electronic state, and the electronic state at the ground state or the finite temperature is calculated. In this case, the state variable X is, for example, a set of variables that specify the electronic state. φ is, for example, a function that updates the electronic state based on the Lanczos method.

[0172] For example, each of t, V, ω, and g (subscripts omitted) in the formula (2) or some of them are p a The example of the function F is the same as that described in <Application 1>.

[0173] When calculating finite temperatures based on the Lanczos method, X is calculated by iterative calculation starting from a certain initial condition. n Do this for multiple initial conditions, and calculate each X n The expected value of the physical quantity of the physical system under consideration is calculated by taking the average of the physical quantities calculated based on the function F. In this way, the function F is calculated by averaging multiple X n It may be calculated based on the above.

[0174] <Applicable target 3> The following equation shows the Hamiltonian that describes the interaction between classical spins.

number

[0175] <Applicable subjects 4> For example, φ may be used to solve a self-consistent equation in a weakly coupled analysis in which multiple systems that interact with each other are analyzed together. In addition, the multiple systems that are targets in the weakly coupled analysis may be systems that represent physically different objects, or systems that represent different properties of the same physical object.

[0176] The weakly coupled analysis, for example, is a joint analysis of a structure and a fluid. A fluid analysis is performed under a given state of the structure to obtain a new fluid state, and a new state of the structure is obtained under the new fluid state. In this way, the function for obtaining the new fluid state and the new state of the structure corresponds to φ. By repeating this process, the states of the structure and fluid that interact with each other can be obtained. The parameter p a is a parameter that represents the property of the structure, such as its strength. b are variables that represent the state of the structure and the state of the fluid. The function F corresponds to, for example, the amount of displacement of the structure.

[0177] [Embodiment 12] Next, another embodiment of the present invention, embodiment 12, will be described in detail. For convenience of explanation, the same reference numerals will be given to members having the same functions as those described in the above embodiment, and the description thereof will not be repeated.

[0178] 11 is a diagram showing an information processing device 100 according to this embodiment. As shown in FIG. 11, the information processing device 100 includes an information processing device 1, a control unit 5, a storage unit 6, and an input / output unit .

[0179] (Control unit 5) The control unit 5 has an initial value setting unit 51, a parameter updating unit 52, and an end determination unit 53. Here, as an example, the initial value setting unit 51 sets an initial value of a parameter P. As an example, the parameter updating unit 52 updates the parameter P. As an example, the end determination unit 53 determines whether or not to end the update of the parameter P. Specific processes performed by each unit included in the control unit 5 will be described later.

[0180] (Storage unit 6, input / output unit 7) The storage unit 6 stores, for example, data and information similar to those stored in the storage unit 3 of the information processing device 1. The input / output unit 7 has a configuration similar to that of the input / output unit 4 of the information processing device 1, for example.

[0181] The information processing device 100 may include, instead of the information processing device 1, any of the information processing devices described in the second to tenth embodiments.

[0182] <Processing flow by the information processing device according to this embodiment> In the first to eleventh embodiments, each p a The differential value of the function F with respect to was calculated. In this embodiment, each p a The parameter P is optimized using the value of the derivative of the function F with respect to F. For example, a parameter P that maximizes (or maximizes) or minimizes (or minimizes) the function F is obtained. Fig. 12 is a flowchart showing the information processing method of this embodiment. As shown in Fig. 12, the information processing method according to this embodiment has steps S5 to S8.

[0183] (Step S5) First, in step S5, the initial value setting unit 51 sets an initial value P0 of the parameter P. The parameter P0 may be given randomly, for example, or may be input from the outside via the input / output unit.

[0184] (Step S6) Next, in step S6, the information processing device 1 a Calculates the derivative of function F with respect to

[0185] (Step S7) Next, in step S7, the parameter update unit 52 updates each p a The parameter P is updated based on the value of the derivative of the function F with respect to . The parameter update unit 52 updates the parameter P by, for example, the steepest descent method. In step S6, the information processing device 1 updates each pa Calculate the Hessian of the function F related to a , and in step S7, the parameter update unit 52 may update the parameter P by the Newton method. The value of the parameter P obtained when step S7 is executed for the i-th time is hereinafter referred to as P i Write it as. Also, P i The value of the parameter included in is written as p (i,a) Write it as. Note that in step S7, a quasi-Newton method or a conjugate gradient method may be used.

[0186] (Step S8) Next, in step S8, the end determination unit 53 determines whether to end the update of the parameter P. The condition for determining whether to end the update of the parameter P is, for example, whether a predetermined number of times of step S7 has been performed, or whether the parameter P i satisfies the convergence condition. For example, (Σ a (p (i,a) -p (i-1,a) ) 2 ) 0.5 <Cth3 (where Cth3 is a threshold value) is satisfied, it is determined that the parameter P i satisfies the convergence condition, and in other cases, it is determined that the parameter P i does not satisfy the convergence condition. If the parameter P i satisfies the convergence condition, the process ends, and if not, the process returns to step S6. In step S8, instead of determining whether the parameter P i satisfies the convergence condition, for example, it may be determined whether the norm of the value of the derivative of the function F obtained in step S6 is smaller than a predetermined threshold value.

[0187] As described above, the information processing apparatus according to the present embodiment uses the derivative coefficient of the target function to calculate the 1 or more parameters (p a) is provided. The information processing device of this embodiment optimizes the one or more parameters so as to maximize (or maximize) or minimize (minimize) the value of the target function F by processing by the parameter updating unit 52 and the end determination unit 53. The information processing device of this embodiment may optimize the one or more parameters so that the value of the target function F becomes a target value, for example. The information processing device of this embodiment may optimize the one or more parameters so as to maximize (or maximize) or minimize (minimize) the value of a function G other than the target function, or so that the value of the function G becomes a target value, for example, by using the differential coefficient of the target function. The differential value of the function G is calculated, for example, by using the differential value of the function F calculated by the method described in any one of the first to eleventh embodiments. The function G is, for example, the sum of a function H other than the function F and the function F, and in this case, the differential value of the function G is calculated as the sum of the differential value of the function F and the differential value of the function H. The derivative of the function H may be calculated using the method described in any one of the first to eleventh embodiments, or may be calculated using another method.

[0188] [Software implementation example] The functions of the information processing device (hereinafter referred to as the "device") according to each embodiment can be realized by a program for causing a computer to function as the device, and a program for causing a computer to function as each control block of the device (particularly each part included in the control unit).

[0189] In this case, the device 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 program. The control device and storage device execute the program to realize each function described in each of the above embodiments.

[0190] The program may be non-transitory and may be recorded in one or more computer-readable recording media. The recording media may or may not be included in the device. In the latter case, the program may be provided to the device via any wired or wireless transmission medium.

[0191] In addition, some or all of the functions of each of the control blocks can be realized by a logic circuit. For example, an integrated circuit in which a logic circuit that functions as each of the control blocks is formed is also included in the scope of the present invention. In addition, the functions of each of the control blocks can be realized by, for example, a quantum computer.

[0192] The present invention is not limited to the above-described embodiments, and various modifications are possible within the scope of the claims. Embodiments obtained by appropriately combining the technical means disclosed in different embodiments are also included in the technical scope of the present invention. [Explanation of symbols]

[0193] 1,1h,100 ···Information processing device 2,2d,5 Control section 21 Initial state determination unit (acquisition unit) 22 Status update section 23 End determination section 24 Function value calculation section 26 Differential value calculation unit (calculation unit) 28 End determination section

Claims

1. an acquisition unit that acquires an initial value for a calculation of a value of a target function that directly or indirectly includes one or more parameters as arguments; A control unit that calculates a derivative of the target function; Equipped with The calculation process of the differential coefficient by the control unit includes: A first process; A second process; and Includes: The calculation process of the differential coefficient by the control unit includes a first iterative process, the first process includes a portion of the first iterative process; the second process includes a portion other than the portion of the first iterative process; The calculation process of the differential coefficient by the control unit includes a third process including a calculation process of automatic differentiation with respect to a process that does not include the first process but includes the second process, The objective function is a subset of the one or more parameters; and one or more state variables with the one or more parameters as arguments; With The first iterative process comprises: updating the one or more state variables; the control unit obtains a numerical solution of the one or more state variables using the one or more parameters as arguments by the first iterative process; The third process includes: calculating a derivative of the objective function with respect to the one or more parameters using automatic differentiation, the derivative including a contribution of the objective function that depends on the one or more parameters via the one or more state variables; the first process includes a first iteration of the first iterative process, The first iterative process is an iterative process for solving a self-consistent equation. Information processing device.

2. an acquisition unit that acquires an initial value for a calculation of a value of a target function that directly or indirectly includes one or more parameters as arguments; A control unit that calculates a derivative of the target function; Equipped with The calculation process of the differential coefficient by the control unit includes: A first process; A second process; and Includes: The calculation process of the differential coefficient by the control unit includes a first iterative process, the first process includes a portion of the first iterative process; the second process includes a portion other than the portion of the first iterative process; The calculation process of the differential coefficient by the control unit includes a third process, the third process is a process of calculating an automatic differentiation for a process that does not include the first process but includes the second process, and includes a process of calculating a differential coefficient of the object function using automatic differentiation applied to a process that includes one or more times but does not include at least one time among the processes that are repeated a plurality of times in the first iterative process; the first process includes a first iteration of the first iterative process, The first iterative process is an iterative process for solving a self-consistent equation. Information processing device.

3. an acquisition unit that acquires an initial value for a calculation of a value of a target function that directly or indirectly includes one or more parameters as arguments; A control unit that calculates a derivative of the target function; Equipped with The calculation process of the differential coefficient by the control unit includes: A first process; A second process; and Includes: The calculation process of the differential coefficient by the control unit includes a first iterative process, the first process includes a portion of the first iterative process; the second process includes a portion other than the portion of the first iterative process; The calculation process of the differential coefficient by the control unit includes a third process including a calculation process of automatic differentiation with respect to a process that does not include the first process but includes the second process, a parameter update unit that updates the one or more parameters using the differential coefficient of the object function; The control unit performs a second iterative process; In the second iteration, the first iteration; and updating the one or more parameters using the derivative of the objective function; The process is repeated, including the first process includes a first iteration of the first iterative process, The first iterative process is an iterative process for solving a self-consistent equation. Information processing device.

4. The objective function is a subset of the one or more parameters; and one or more state variables with the one or more parameters as arguments; With The first iterative process comprises: updating the one or more state variables; the control unit obtains a numerical solution of the one or more state variables using the one or more parameters as arguments by the first iterative process; The third process includes: calculating a derivative of the objective function with respect to the one or more parameters using automatic differentiation, the derivative including a contribution of the objective function that depends on the one or more parameters via the one or more state variables; The automatic differentiation is applied to a process including one or more processes and not including at least one process among the processes repeated a plurality of times in the first iterative process. The information processing device according to claim 3 .

5. The objective function is an objective function for a system described by a Hamiltonian The information processing device according to claim 1 .

6. The third process includes: calculating the derivative of the objective function using reverse mode automatic differentiation. The information processing device according to claim 1 .

7. At least one of the first process, the second process, and the third process includes: A convergence determination process for at least one of the one or more state variables; and Convergence determination process for the differential coefficient of the target function At least one of the following is included: The information processing device according to claim 6.

8. In the third process, information on the calculation process of the second process recorded at the checkpoint is used. The information processing device according to claim 6.

9. a parameter update unit that updates the one or more parameters using the differential coefficient of the target function The information processing device according to claim 1 .

10. a parameter update unit that updates the one or more parameters using the differential coefficient of the object function; The control unit performs a second iteration; In the second iteration, the first iteration; and and updating the one or more parameters using the derivatives of the objective function.

3. The information processing device according to claim 1 or 2.

11. An acquisition step of acquiring an initial value for a calculation of a value of an object function that directly or indirectly includes one or more parameters as arguments; a calculation step of calculating a derivative of the objective function; Including, The calculation process of the differential coefficient in the calculation step includes the following steps: A first process; A second process; and Includes: The calculation process of the differential coefficient by the calculation step includes a first iterative process, the first process includes a portion of the first iterative process; the second process includes a portion other than the portion of the first iterative process; The calculation process of the differential coefficient by the calculation step includes a third process including a calculation process of automatic differentiation with respect to a process that does not include the first process but includes the second process, The objective function is a subset of the one or more parameters; and one or more state variables with the one or more parameters as arguments; With The first iterative process comprises: updating the one or more state variables; In the calculation step, a numerical solution of the one or more state variables is obtained by the first iterative process using the one or more parameters as arguments; The third process includes: calculating a derivative of the objective function with respect to the one or more parameters using automatic differentiation, the derivative including a contribution of the objective function that depends on the one or more parameters via the one or more state variables; the first process includes a first iteration of the first iterative process, The first iterative process is an iterative process for solving a self-consistent equation. Information processing methods.

12. An acquisition step of acquiring an initial value for a calculation of a value of an object function that directly or indirectly includes one or more parameters as arguments; a calculation step of calculating a derivative of the objective function; Including, The calculation process of the differential coefficient in the calculation step includes the following steps: A first process; A second process; and Includes: The calculation process of the differential coefficient by the calculation step includes a first iterative process, the first process includes a portion of the first iterative process; the second process includes a portion other than the portion of the first iterative process; The calculation process of the differential coefficient in the calculation step includes a third process, the third process is a process of calculating an automatic differentiation for a process that does not include the first process but includes the second process, and includes a process of calculating a differential coefficient of the object function using an automatic differentiation applied to a process that includes one or more times but does not include at least one time among the processes that are repeated a plurality of times in the first iterative process; the first process includes a first iteration of the first iterative process, The first iterative process is an iterative process for solving a self-consistent equation. Information processing methods.

13. An acquisition step of acquiring an initial value for a calculation of a value of an object function that directly or indirectly includes one or more parameters as arguments; a calculation step of calculating a derivative of the objective function; Including, The calculation process of the differential coefficient in the calculation step includes the following steps: A first process; A second process; and Includes: The calculation process of the differential coefficient by the calculation step includes a first iterative process, the first process includes a portion of the first iterative process; the second process includes a portion other than the portion of the first iterative process; The calculation process of the differential coefficient by the calculation step includes a third process including a calculation process of automatic differentiation with respect to a process that does not include the first process but includes the second process, The calculation step includes a second iteration, In the second iteration, the first iteration; and and updating the one or more parameters using the derivatives of the objective function; the first process includes a first iteration of the first iterative process, The first iterative process is an iterative process for solving a self-consistent equation. Information processing methods.

14. 5. A program for causing a computer to function as the information processing device according to claim 1, the program causing a computer to function as 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

  • Information processing device, information processing method, and program

    WO2023162493A1