Information processing device, information processing method, and program
By incorporating elemental characteristics into the error function, the method improves the accuracy of machine learning molecular dynamics simulations, addressing inaccuracies in atomic movement predictions.
Patent Information
- Application Number
- JP2023042587
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-03-17
- Publication Date
- 2025-12-15
- Estimated Expiration
- 2043-03-17
AI Technical Summary
Existing machine learning molecular dynamics methods fail to accurately simulate atomic movements due to neglecting elemental characteristics, particularly mass, leading to inaccuracies in force calculations and simulations.
An information processing device and method that sets an error function using weights based on elemental characteristics, such as mass, to train machine learning models, ensuring accurate force predictions and improved simulation results.
The proposed method enhances the learning accuracy of machine learning models by accounting for elemental characteristics, resulting in more reliable atomic movement simulations.
Smart Images

Figure 0007785713000008 
Figure 0007785713000009 
Figure 0007785713000010
Abstract
Description
[Technical Field]
[0001] An embodiment of the present invention relates to an information processing device, an information processing method, and a program. [Background technology]
[0002] First-principles molecular dynamics, which uses density functional theory (DFT), is a well-known molecular dynamics method for simulating the physical movement of atoms. In addition, machine learning molecular dynamics, which uses models obtained by machine learning, has been proposed as a method that can reduce computational costs compared to first-principles molecular dynamics.
[0003] In machine learning molecular dynamics, for example, a model is constructed that outputs the forces acting on each atom and the total energy based on the input atomic configuration (the position of each atom), and the model is trained to minimize the error between the output value of this model and the correct data. The error is measured, for example, by taking the root mean square of the predicted error for each atom. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] US Patent Application Publication No. 2020 / 0365236 [Patent Document 2] U.S. Patent Application Publication No. 2021 / 0081505 Summary of the Invention [Problem to be solved by the invention]
[0005] An object of the present invention is to provide an information processing device, an information processing method, and a program that can further improve the learning accuracy of a model used in analyzing atomic movements, etc. [Means for solving the problem]
[0006] An information processing apparatus according to an embodiment includes a processing unit. The processing unit inputs positions of multiple atoms that are any of multiple elements included in an analysis target, and sets an error function, which is a function used during training of a machine learning model that outputs physical quantities of the analysis target, and includes one or more terms based on multiple weights according to characteristics of the multiple elements. The processing unit trains the machine learning model using the error function. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 1 is a block diagram of an information processing apparatus according to a first embodiment. [Figure 2] FIG. 4 is a diagram showing an example of features for each element stored in a feature storage unit. [Figure 3] FIG. 10 is a diagram showing an example of learning data. [Figure 4] FIG. 1 is a diagram showing an example of the input / output relationship of a model. [Figure 5] FIG. 10 is a diagram showing how an error function is calculated for each sample. [Figure 6] FIG. 10 is a diagram illustrating a function for calculating an error function for all samples. [Figure 7] 4 is a flowchart of a learning process according to the first embodiment. [Figure 8] FIG. 10 is a block diagram of an information processing apparatus according to a second embodiment. [Figure 9] FIG. 10 is a diagram showing an example of the calculated number of atoms for each element. [Figure 10] 10 is a flowchart of a learning process according to the second embodiment. [Figure 11] FIG. 10 is a diagram showing how an error function is calculated for each sample in Modification 1. [Figure 12] 10 is a flowchart of a process for setting an error function according to the first modification. [Figure 13] FIG. 10 is a diagram for explaining a function for calculating an error function in Modification 2. [Figure 14] FIG. 10 is a diagram showing how an error function is calculated for each sample in Modification 2. [Figure 15] 10 is a flowchart of a learning process in Modification 2. [Figure 16]FIG. 10 is a block diagram of an information processing apparatus according to a third embodiment. [Figure 17] FIG. 10 is a block diagram of an information processing apparatus according to a fourth embodiment. [Figure 18] FIG. 10 is a diagram showing an example of a weight to be specified for each element. [Figure 19] FIG. 1 is a hardware configuration diagram of an information processing apparatus according to first to fourth embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0008] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of an information processing apparatus according to the present invention will be described in detail below with reference to the accompanying drawings.
[0009] In conventional machine learning molecular dynamics methods, when the forces acting on each atom are calculated using a trained model and the atomic motion is simulated based on the calculated forces, the results can sometimes be physically inappropriate. One possible reason for this is that the characteristics of the elements (e.g., mass) are not taken into account when the model is trained. For example, assuming the same force error, the lighter the atom, the larger the acceleration error, which can affect the accuracy of the simulation. This can result in a simulation that is successful when the trained model has low accuracy and a large prediction error, but fails when the prediction error is small.
[0010] In the following embodiment, an error function using weights (load values) set according to the characteristics (e.g., mass) of the elements is set as the error function used when training the model. For example, when mass is used as the characteristic, the model is trained so that the error, which is the output value of the error function set so that the lighter the atom, the greater the weight, becomes smaller. By using a model trained in this way, the simulation is more likely to be successful.
[0011] The following embodiments can be applied to, for example, learning of models used in machine learning molecular dynamics. Furthermore, the machine learning molecular dynamics can be applied to, for example, processing for searching for materials for batteries (including secondary batteries) and processing for searching for materials for catalysts.
[0012] (First embodiment) 1 is a block diagram showing an example of the configuration of an information processing device 100 according to the first embodiment. As shown in FIG. 1, the information processing device 100 includes a feature storage unit 151, a weight storage unit 152, a learning data storage unit 153, a parameter storage unit 154, a weight setting unit 101, a function setting unit 102, a learning unit 110, and an output control unit 131.
[0013] The feature storage unit 151 stores features for each element. Fig. 2 is a diagram showing an example of features for each element stored in the feature storage unit 151. In Fig. 2, atomic number, radius, volume, mass, and boiling point are listed as features for five elements (Li: lithium, Ca: calcium, Sr: strontium, Nd: neodymium, La: lanthanum). The features in Fig. 2 are merely examples and are not limited to these. For example, the features may be information correlated with mass or atomic number.
[0014] 1, the weight storage unit 152 stores weights used to set the error function. The weight storage unit 152 stores, for example, the weight value set by the weight setting unit 101 for each element.
[0015] The learning data storage unit 153 stores learning data used for learning a machine learning model (hereinafter simply referred to as a model). The model is a model that inputs, for example, the positions of multiple atoms included in an analysis target and information indicating which of multiple elements the multiple atoms belong to, and outputs the physical quantity of the analysis target. The information indicating which of multiple elements the atoms belong to is, for example, an element symbol.
[0016] The analysis object may be, for example, a crystal or a molecule (including a polymer). The physical quantity may be, for example, at least one of the force acting on each atom included in the analysis object and the energy of the entire analysis object. The force acting on each atom may be output independently of the energy, or a value obtained by differentiating the energy with respect to the position of the atom may be output.
[0017] The training data includes input data to be input to such a model and correct answer data (also called teacher data) that corresponds to the correct answer of the model output.
[0018] Fig. 3 is a diagram showing an example of training data. Fig. 3 shows an example of training data represented in the xsf file format. In the example of Fig. 3, one xsf file stores one piece of training data (one sample) about the crystal to be analyzed.
[0019] The first line indicates the energy of the unit cell of the crystal. In the example in Figure 3, the energy is shown to be "-282702.98699621105 eV". Lines 3 to 5 indicate the dimensions of the unit cell in the x, y, and z directions. In the example in Figure 2, the unit cell of this crystal is shown to be "13.2360698012 Å" in the x direction, "13.2360698012 Å" in the y direction, and "12.7017164272 Å" in the z direction. This gives us the period of the unit cell in each axis direction for this crystal.
[0020] The "192" in the first column of the line below "PRIMCOORD" indicates that the unit cell contains 192 atoms. The lines that follow contain information for each of the 192 atoms. For example, the atomic information includes, in that order, the element symbol, x-coordinate, y-coordinate, z-coordinate, x-component of force, y-component of force, and z-component of force. For example, the element symbol and the x-y-z coordinates of each atom correspond to the input data, while the x-y-z components of force and the energy on the first line correspond to the correct data.
[0021] For example, the first atom is of element Li, has xyz coordinates (1.1674292981, 11.1419581078, 11.8087410073), and the force acting on this atom is (-0.0273284000, 0.0104727700, 0.0224368600).
[0022] Figure 3 shows an example in which the analysis object is a crystal, but as mentioned above, the analysis object can also be a molecule (polymer). When the analysis object is a molecule, just like in the case of a crystal, the energy of the entire molecule, the coordinates of each atom that makes up the molecule, and the forces acting on each atom are stored as learning data.
[0023] The training data storage unit 153 stores multiple samples, each of which is training data (xsf file) such as that shown in Fig. 3. Although multiple atoms are included in one sample, hereinafter, the set of coordinates of all atoms in one sample is referred to as the atomic configuration.
[0024] 1, the parameter storage unit 154 stores the parameters of the model (model parameters). The model may have any structure, but for example, the following model may be used. Behler-Parrinello type neural network model Graph Neural Network Model Gaussian process regression model
[0025] When the model is a neural network model, the parameter storage unit 154 stores, for example, weights and biases as model parameters.
[0026] Figure 4 is a diagram showing an example of the input / output relationship of a neural network model. As shown in Figure 4, the model receives atomic configurations as input values and outputs energy and the forces acting on each atom as output values. The neural network is defined by model parameters. When the model parameter values are updated, the output values change even if the input values remain the same.
[0027] Each memory unit (feature memory unit 151, weight memory unit 152, learning data memory unit 153, parameter memory unit 154) can be configured using any commonly used storage medium such as a flash memory, a memory card, a RAM (Random Access Memory), an HDD (Hard Disk Drive), and an optical disk.
[0028] Each storage unit may be implemented as a physically different storage medium, or as different storage areas of the same physically identical storage medium.Furthermore, each storage unit may be implemented as a plurality of physically different storage media.
[0029] Returning to FIG. 1 , the weight setting unit 101 sets weights used to set the error function. In this embodiment, the weight setting unit 101 sets multiple weights so that they are different values according to the characteristics of each element. For example, the weight setting unit 101 sets the reciprocal of the characteristic value as the weight. When mass or atomic number is used as the characteristic, setting the reciprocal of the characteristic value as the weight corresponds to increasing the weight for lighter atoms.
[0030] 2, the weight setting unit 101 calculates the weight of Li as 1 / 6.94=0.144 and the weight of La as 1 / 138.91=0.00720. In this example, the weight of Li is about 20 times the weight of La.
[0031] The function setting unit 102 sets an error function to be used when learning a model. Setting an error function means defining an error function to be used for learning by the learning unit 110, which will be described later. The learning unit 110 uses the set error function to calculate an error, which is the output value of the error function.
[0032] For example, the function setting unit 102 sets the error function to include multiple terms obtained by multiplying the errors in the physical quantities of the multiple elements by multiple weights for each element set by the weight setting unit 101. The function setting unit 102 sets the error function using N selected training data samples (N is an integer equal to or greater than 2). The function setting unit 102 may select all or a portion of the training data stored in the training data storage unit 153, for example. The following equation (1) shows an example of the error function set by the function setting unit 102.
number
[0033] The "(n)" in equation (1) represents the value corresponding to the nth sample (n is an integer satisfying 1≦n≦N) (hereinafter referred to as sample n) among the N training data samples. k (n) is the error for element k (hereinafter referred to as element-specific error), and is expressed by the following equation (2).
number
[0034] (2) σ in Eq. k is a set of identification information that identifies one or more atoms of element k. The identification information that identifies atoms is, for example, a sequential number starting from 1. In the example of the training data in FIG. 3, for example, sequential numbers from 1 to 192 are associated as identification information for 192 atoms, starting from the top row.
[0035] k is identification information for identifying multiple elements. The element identification information is, for example, a sequential number starting from 1, but is not limited to a number and may be a symbol (e.g., an element symbol). In the following, k is assumed to be an integer satisfying 1≦k≦K. K is the number of types of elements included in the analysis target.
[0036] In equation (1), λ is a constant. For example, λ is specified by the user. x represents the input data to the model. θ represents the model parameters. Note that "DFT" indicates that the energy of the training data (corresponding to the correct data) was obtained using density functional theory (DFT), but the correct data may be obtained by any method other than DFT.
[0037] w k is the weight of element k. Weight w k is calculated by the following equation (3), for example. k is the mass of the atom of element k. Note that equation (3) is the weight w in equation (1). k This is an equation showing that is calculated using the reciprocal of the mass.
number
[0038] Equation (2) is the element-specific error e, which corresponds to the sum of the errors (first errors) of the forces (an example of physical quantities) of multiple atoms for each element. k (n) Equation (1) corresponds to the formula for calculating the element-specific error e k (n) , and the weight of each element w k This corresponds to an error function containing multiple (K) terms multiplied by
[0039] The function setting unit 102 may set an error function for all samples from the error function for each sample. For example, the function setting unit 102 sets the error function L for all samples by taking the sum of the error functions for each sample. The error function L is expressed, for example, by the following equation (4).
number
[0040] The learning unit 110 learns a model using the set error function. The learning unit 110 repeatedly executes model learning using multiple pieces of training data multiple times until it is determined that the learning should be terminated. The learning unit 110 includes an update unit 111 and a determination unit 112.
[0041] The update unit 111 calculates the output value of the error function using the learning data, and updates (modifies) the model parameters based on the calculation result. For example, the update unit 111 updates the model parameters so as to reduce the output value of the error function. Any method may be used to update the model parameters, and methods such as the steepest descent method, Adam, and Kalman filter may be used, for example. The update unit 111 stores the updated model parameters in the parameter storage unit 154.
[0042] The determination unit 112 determines whether or not to terminate learning. For example, the determination unit 112 checks the output value of the error function calculated by the update unit 111, and determines that learning should be terminated if the change in the output value of the error function is smaller than a threshold value. The method for determining whether learning has been terminated is not limited to this, and any method may be used. For example, the determination unit 112 may determine that learning has been terminated when the number of updates of the model parameters becomes greater than a predetermined number of learning times.
[0043] The output control unit 131 controls the output of various information used in the information processing device 100. For example, the output control unit 131 outputs model parameters of the learned model to an external device that performs processing using the model (for example, analysis of an analysis target using machine learning molecular dynamics).
[0044] At least some of the above units (weight setting unit 101, function setting unit 102, learning unit 110, and output control unit 131) may be realized by one processing unit. Each of the above units is realized by, for example, one or more processors. For example, each of the above units may be realized by having a processor such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit) execute a program, that is, by software. Each of the above units may be realized by a processor such as a dedicated IC (Integrated Circuit), that is, by hardware. Each of the above units may be realized by a combination of software and hardware. When multiple processors are used, each processor may realize one of the units, or may realize two or more of the units.
[0045] The processing by the function setting unit 102 will be further described in detail.
[0046] Figure 5 shows the error function l for each sample shown in Eq. (1) using the weights and element-specific errors for each element. (n) This is a diagram showing how to calculate the weight w k is set by the weight setting unit 101. The element-specific error e k (n) is obtained by, for example, the above formula (2). The function setting unit 102 calculates the weight wk and the element-specific error e k (n) The sample-wise error function l is calculated to include a weighted sum of (n) In equation (1), the error function l for each sample is set. (n) includes energy error and force error, but does not necessarily include the energy error in the first term.
[0047] FIG. 6 is a diagram illustrating a function for determining the error function L for all samples using the error function for each sample.
[0048] In process 601, the function setting unit 102 selects N samples to be used for setting the error function. As described above, the function setting unit 102 may select all samples stored in the training data storage unit 153, or may select some of all samples.
[0049] In process 602, the function setting unit 102 sets an error function for each sample using the selected N samples n. This process corresponds to the process shown in FIG.
[0050] In process 603, the function setting unit 102 sets the error function L for all samples by taking the sum of the error functions for each sample according to, for example, the above equation (4).
[0051] When learning is repeated multiple times, steps 601 to 603 shown in Fig. 6 are repeatedly executed. If there is no change in the N samples selected in step 601, the error function to be set is not changed. In this way, even if the model parameters are updated during repeated learning, there are cases where it is not necessary to change the definition of the error function. In such cases, the function setting unit 102 may be configured to set the error function only the first time the repetition is performed.
[0052] Next, the processing by the update unit 111 will be further described in detail.
[0053] The update unit 111 calculates an output value for each of M samples m (1≦m≦M) (M is an integer equal to or greater than 1) designated as samples to be used for learning, using an error function for each sample. The M samples may be designated in any way, but may be designated, for example, as follows: All the learning data stored in the learning data storage unit 153 are designated as samples. A different M number of samples are specified for each learning iteration. For example, a specified number of samples are specified from the top in the sample order. Alternatively, samples are specified randomly for each learning iteration. In this case, a subset containing a different M number of samples may be specified from the set of all learning data for each learning iteration.
[0054] For example, for each of M samples m, the update unit 111 calculates an error, which is the difference between the energy and atomic force output as a predicted value from the model and the energy and atomic force stored as correct data in the sample. The update unit 111 inputs the calculated error into, for example, equation (1), and calculates the output value of the error function for each sample m.
[0055] The update unit 111 also calculates the output value of the error function L, which is the sum of the output values of the error function for the M samples, according to equation (4). Furthermore, the update unit 111 updates the model parameters according to an algorithm such as the steepest descent method, Adam, or Kalman filter so that the value of L becomes smaller.
[0056] Next, a description will be given of a model learning process performed by the information processing apparatus 100 according to the first embodiment. Fig. 7 is a flowchart showing an example of the learning process according to the first embodiment.
[0057] The weight setting unit 101 reads out the features of an element from the feature storage unit 151 (step S101). For example, the weight setting unit 101 reads out the mass from the features of the element shown in FIG. 2. The weight setting unit 101 reads out N training data samples from the training data storage unit 153 (step S102). The weight setting unit 101 sets, for example, the reciprocal of the mass as a weight and stores it in the weight storage unit 152 (step S103).
[0058] The learning unit 110 (updating unit 111) reads out the model parameters stored in the parameter storage unit 154 (step S104).
[0059] The function setting unit 102 sets an error function using the weights set by the weight setting unit 101 (step S105).
[0060] The update unit 111 calculates the output value of the error function L using the learning data read out in step S102, the model parameters read out in step S104, and the error function set in step S105 (step S106).
[0061] The determination unit 112 determines whether to terminate learning (step S107). For example, the determination unit 112 determines to terminate learning when the difference between the previously calculated output value and the currently calculated output value is below a threshold value, or when the number of updates of the model parameters exceeds a specified number of learning times.
[0062] If it is determined not to end the learning (step S107: No), the update unit 111 updates the model parameters so that the output value of the error function calculated in step S106 becomes smaller, and stores the updated values in the parameter storage unit 154 (step S108). The update unit 111 also increments the number of updates of the model parameters by 1. It is assumed that the number of updates of the model parameters is initially initialized to 0.
[0063] If it is determined that the learning should be ended (step S107: Yes), the learning process ends.
[0064] In this way, in the first embodiment, a model is trained using an error function that uses weights set according to the characteristics of elements, which can further improve the training accuracy of a model used for analyzing atomic movements, etc.
[0065] (Second embodiment) The information processing device of the second embodiment counts the number of atoms for each of a plurality of elements, and sets a weight using the number of atoms or the ratio of the number of atoms to the total number of atoms.
[0066] 8 is a block diagram showing an example of the configuration of an information processing device 100-2 according to the second embodiment. As shown in FIG. 8, the information processing device 100-2 includes a feature storage unit 151, a weight storage unit 152, a learning data storage unit 153, a parameter storage unit 154, a weight setting unit 101-2, a function setting unit 102, a counting unit 103-2, a learning unit 110, and an output control unit 131.
[0067] The second embodiment differs from the first embodiment in that a counting unit 103-2 is added and in the function of a weight setting unit 101-2. The other configurations and functions are the same as those of the information processing device 100 of the first embodiment shown in FIG. 1, and therefore the same reference numerals are used and the description thereof will be omitted here.
[0068] Based on the plurality of learning data, the counting unit 103-2 counts the number of atoms of each of the plurality of elements contained in the plurality of learning data. For example, the counting unit 103-2 selects one or more samples from the samples read as learning data, counts the number of atoms contained in the selected samples for each element, and calculates the number of atoms for each element. Figure 9 shows an example of the calculated number of atoms for each element.
[0069] 8, the weight setting unit 101-2 sets a weight for each element based on the calculated number of atoms or the ratio of the number of atoms to the total number of atoms of all elements included in the plurality of learning data. For example, the weight setting unit 101-2 sets a weight for each element based on the mass m k and the number of atoms of the element calculated by the counting unit 103-2, the weight w of the element k is calculated. k W k =1 / (m k × number of atoms). Instead of the number of atoms, a ratio may be used. The weight setting unit 101-2 determines the weight w k W k= 1 / number of atoms. This can be interpreted as an example in which the number of atoms of each element included in the analysis target is used as a feature of the element. Note that in these calculation methods, the greater the number of atoms of an element, the smaller the weight. The method of calculating weight using the number of atoms or ratio is not limited to this. For example, a method in which the greater the number of atoms of an element, the greater the weight may be used.
[0070] Next, the learning process by the information processing device 100-2 of the second embodiment will be described with reference to Fig. 10. Fig. 10 is a flowchart showing an example of the learning process in the second embodiment.
[0071] Steps S201 and S202 are the same as steps S101 and S102 in the information processing device 100 of the first embodiment, and therefore a description thereof will be omitted.
[0072] The counting unit 103-2 counts the number of atoms for each element included in the learning data using all or part of the read learning data (step S203). The weight setting unit 101-2 counts the number of atoms for each element included in the learning data based on the characteristics of the element (for example, mass m k ) and the number of atoms of each element, the weight w of element k is calculated. k =1 / (m k × number of atoms) is calculated and stored in the weight storage unit 152 (step S204).
[0073] Steps S205 to S209 are the same as steps S104 to S108 in the information processing apparatus 100 of the first embodiment, and therefore a description thereof will be omitted.
[0074] In this way, the information processing device of the second embodiment trains a model using an error function that uses weights that further consider the number of atoms (or the ratio of the number of atoms) for each element included in the training data, thereby further improving the training accuracy of the model.
[0075] Next, modified examples that can be applied to the above-described embodiment and the following embodiments will be described. The following description will be given taking the first embodiment as an example, but the same can be applied to the other embodiments.
[0076] In the above embodiment, the error function is set to include a term obtained by multiplying the weight for each element by the error in the physical quantity. In a modified example, the function setting unit 102 selects one or more elements from among a plurality of elements with a probability according to the magnitude of the weight, and sets an error function that includes the error in the physical quantity for the selected element. Two modified examples using different selection methods will be described below.
[0077] (Variation 1) Figure 11 shows the error function l for each sample in Modification 1. (n) The function setting unit 102 of the first modification selects an element for each sample of a plurality of learning data according to a probability corresponding to the magnitude of the weight of each element. For example, the function setting unit 102 selects an element for each sample of a plurality of learning data according to a probability p k The element k is selected according to the above. The selected element is hereinafter referred to as element s. s is any of 1 to K.
number
[0078] When element s is selected, the function setting unit 102 calculates the force error for element s (element-specific error e k (s) ) to set an error function for each sample. For example, the function setting unit 102 sets the error of the force for the selected element s (element-specific error e k (s) ) and does not include the errors of unselected elements.
[0079] The following equations (6) and (7) show examples of error functions set in this modification. Equation (6) is an example of the error function when one element s is selected. Equation (7) is an example of the error function when two elements s and s' are selected. The number of elements selected is not limited to 1 or 2, and may be 3 or more.
number
number
[0080] Fig. 12 is a flowchart showing an example of the error function setting process of Modification 1. The setting process of Fig. 12 corresponds to, for example, a specific process of step S105 of the learning process of Fig. 7. The overall flow of the learning process is the same as that of Fig. 7.
[0081] In Modification 1, the function setting unit 102 selects an element s according to the weight set by the weight setting unit 101 (step S301). The function setting unit 102 sets an error function including a term for the selected element s, for example, as in equation (6) or (7) (step S302).
[0082] As shown in equations (6) and (7), according to Modification 1, an error function can be used that includes terms for only some elements selected according to the weights. This makes the error function a simpler formula, reducing the calculation load. If a large number of training data samples are used, a large number of different elements can be selected according to the weights. Therefore, for example, the selected elements are not biased, and it is possible to obtain training results similar to those of the above embodiment.
[0083] (Variation 2) In Modification 2, an element common to all training data samples is selected in each of the multiple repeated learning processes. Fig. 13 is a diagram illustrating the function of calculating the error function L in Modification 2. Compared to Fig. 6 of the first embodiment, Modification 2 adds a process 1301 for selecting an element.
[0084] In process 1301, the function setting unit 102 of Modification 2 selects an element according to the probability shown in equation (5), as in Modification 1. The function setting unit 102 also calculates an error function for each sample using the selected element s, as shown in Fig. 14. Fig. 14 corresponds to process 602 in Fig. 13. The equation for the error function in Modification 2 is the same as in Modification 1, and for example, equation (6) or equation (7) can be used.
[0085] In Modification 1, a different element is selected for each sample, whereas in Modification 2, the same element is selected for all samples. That is, the function setting unit 102 in Modification 2 selects one or more elements with a probability according to the magnitudes of the multiple weights for each of multiple learning rounds.
[0086] 15 is a flowchart showing an example of the learning process in Modification 2. Steps S401 to S404 are the same as steps S101 to S104 in the information processing device 100 of the first embodiment, and therefore a description thereof will be omitted.
[0087] In the second modification, the function setting unit 102 selects an element s with a probability according to the weight of each element (step S405). The function setting unit 102 calculates the error of the force for the selected element s (element-specific error e k (s) ) to set an error function for each sample (step S406).
[0088] Steps S407 to S409 are the same as steps S106 to S108 in the information processing device 100 of the first embodiment, and therefore a description thereof will be omitted.
[0089] As in Modification 1, Modification 2 can also use an error function that includes terms for only some elements selected according to weights. This makes the error function a simpler formula, reducing the calculation load. In Modification 2, the same elements are selected for all samples included in the training data used in one learning iteration, but if learning is repeated multiple times, many different elements can be selected according to weights. This prevents bias in the selected elements, making it possible to obtain learning results similar to those of the above embodiment.
[0090] (Third embodiment) The information processing device of the third embodiment has a function of correcting weight values. Fig. 16 is a block diagram showing an example of the configuration of an information processing device 100-3 of the third embodiment. As shown in Fig. 16, the information processing device 100-3 includes a feature storage unit 151, a weight storage unit 152, a learning data storage unit 153, a parameter storage unit 154, a weight setting unit 101, a function setting unit 102, a learning unit 110, an output control unit 131-3, and a correction unit 132-3.
[0091] The third embodiment differs from the first embodiment in that the function of an output control unit 131-3 and the addition of a correction unit 132-3 are added. The other configurations and functions are the same as those of the information processing device 100 of the first embodiment shown in FIG. 1, which is a block diagram of the information processing device 100, and therefore the same reference numerals are used and the description thereof will be omitted here.
[0092] The output control unit 131-3 differs from the output control unit 131 of the first embodiment in that it further includes a function of outputting output information including an output value of an error function. For example, the output control unit 131-3 controls a display device such as a display connected to the information processing device 100-3 to display the output information.
[0093] The correction unit 132-3 executes a correction process to correct at least some of the weights to specified values. For example, the correction unit 132-3 corrects the weights that are specified to be corrected among the weights so that they become values specified by the user in accordance with the output information displayed on the display device.
[0094] The function setting unit 102 sets an error function that includes one or more terms based on the multiple weights after the correction process has been executed.
[0095] In the example of the learning process shown in FIG. 7, the correction process is executed after the output value of the error function is calculated in step S106, for example. For example, after step S106, output control unit 131-3 displays the output value. Correction unit 132-3 corrects the weight to a specified value according to the displayed output value. After the correction, the process returns to step S105, for example, and function setting unit 102 sets the error function using the corrected weight.
[0096] In this way, in the third embodiment, the weight values can be modified by the user, etc. This makes it possible to search for more appropriate weight values, for example.
[0097] (Fourth embodiment) The information processing device of the fourth embodiment sets weights used to set an error function based on weights designated by a user or the like.
[0098] 17 is a block diagram showing an example of the configuration of an information processing device 100-4 according to the fourth embodiment. As shown in FIG. 17, the information processing device 100-4 includes a weight storage unit 152, a learning data storage unit 153, a parameter storage unit 154, a weight setting unit 101-4, a function setting unit 102, a receiving unit 104-4, a learning unit 110, and an output control unit 131.
[0099] The fourth embodiment differs from the first embodiment in that the feature storage unit 151 is deleted, a reception unit 104-4 is added, and the function of the weight setting unit 101-4 is different. The other configurations and functions are the same as those in FIG. 1, which is a block diagram of the information processing device 100 of the first embodiment, so the same reference numerals are used and the description here will be omitted.
[0100] The receiving unit 104-4 receives a plurality of weights designated for each of a plurality of elements. For example, the receiving unit 104-4 receives input of a plurality of weights designated for each of a plurality of elements by a user or the like.
[0101] The weight setting unit 101-4 sets the received weight as the weight to be used when the error function is set by the function setting unit 102. For example, if a user or the like specifies a weight value that varies depending on the characteristics of each element, the same function as in the above embodiment can be realized by using an error function using the specified weight. For example, the specified weight may be a value that correlates with the reciprocal of the mass of the element to a threshold value (e.g., 90%) or more. FIG. 18 is a diagram showing an example of a weight to be specified for each element.
[0102] The weight setting unit 101-4 of this embodiment does not need to calculate and set weights from the features stored in the feature storage unit 151, as in the first embodiment. Therefore, in this embodiment, the feature storage unit 151 does not need to be provided.
[0103] As described above, according to the first to fourth embodiments, it is possible to further improve the learning accuracy of models used for analyzing atomic movements and the like.
[0104] Next, the hardware configuration of the information processing apparatus according to the first to fourth embodiments will be described with reference to Fig. 19. Fig. 19 is an explanatory diagram showing an example of the hardware configuration of the information processing apparatus according to the first to fourth embodiments.
[0105] The information processing apparatuses of the first to fourth embodiments include a control device such as a CPU 51, storage devices such as a ROM (Read Only Memory) 52 and a RAM 53, a communication I / F 54 that connects to a network and performs communication, and a bus 61 that connects each unit. A GPU may also be provided as a control device.
[0106] The programs executed by the information processing apparatuses of the first to fourth embodiments are provided in advance in the ROM 52 or the like.
[0107] The programs executed by the information processing devices of the first to fourth embodiments may be configured to be provided as a computer program product by being recorded in an installable or executable file format on a computer-readable recording medium such as a CD-ROM (Compact Disk Read Only Memory), a flexible disk (FD), a CD-R (Compact Disk Recordable), or a DVD (Digital Versatile Disk).
[0108] Furthermore, the programs executed by the information processing apparatuses of the first to fourth embodiments may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Also, the programs executed by the information processing apparatuses of the first to fourth embodiments may be provided or distributed via a network such as the Internet.
[0109] The programs executed by the information processing devices of the first to fourth embodiments can cause a computer to function as each unit of the information processing device described above. In this computer, the CPU 51 can read the programs from a computer-readable storage medium onto a main storage device and execute the programs.
[0110] A configuration example of the embodiment will be described below. (Configuration example 1) a function to be used in training a machine learning model that receives input of positions of a plurality of atoms included in an analysis target and information indicating which of a plurality of elements the plurality of atoms are, and outputs physical quantities of the analysis target, the function including one or more terms based on a plurality of weights according to the characteristics of the plurality of elements; training the machine learning model using the error function; Processing section An information processing device comprising: (Configuration example 2) the processing unit sets the error function including a plurality of terms obtained by multiplying the errors in the physical quantities of the plurality of elements by a plurality of the weights. The information processing device according to configuration example 1. (Configuration example 3) The processing unit setting a plurality of weights according to the characteristics of a plurality of the elements; setting the error function to include one or more of the terms based on the set weights; The information processing device according to configuration example 1 or 2. (Configuration Example 4) The processing unit aggregating the number of atoms, which is the number of atoms of the elements included in the plurality of learning data, for each of the plurality of elements based on a plurality of learning data each including the positions of the plurality of atoms used in training the machine learning model; setting the weights based on the number of atoms or a ratio of the number of atoms to the total number of atoms of all elements included in the plurality of learning data; The information processing device according to configuration example 3. (Configuration Example 5) The processing unit Accepting a plurality of the weights designated for each of the plurality of the elements; setting the error function to include one or more of the terms based on the received plurality of weights; The information processing device according to any one of configuration examples 1 to 4. (Configuration Example 6) The feature is the mass of the element, the atomic number of the element, information correlated with the mass or the atomic number, or the number of atoms of each of the elements included in the analysis target. 6. The information processing device according to any one of configuration examples 1 to 5. (Configuration Example 7) The weight is the inverse of the feature. The information processing device according to configuration example 6. (Configuration Example 8) the processing unit sets the error function including a plurality of terms obtained by multiplying a first error, which is an error in the physical quantity for each of the plurality of atoms, and a second error, which is a sum for each of the plurality of elements, by the weight; The information processing device according to any one of configuration examples 1 to 7. (Configuration Example 9) the processing unit selects one or more elements from the plurality of elements with a probability corresponding to the magnitude of each of the plurality of weights, and sets the error function including one or more terms obtained by multiplying the weight for the selected element by an error in the physical quantity for the selected element. The information processing device according to configuration example 1. (Configuration Example 10) the processing unit selects one or more elements with the probability for each of a plurality of training data sets each including a plurality of atomic positions, the plurality of training data sets being used for training the machine learning model. The information processing device according to configuration example 9. (Configuration Example 11) The processing unit Repeatedly performing training of the machine learning model multiple times using multiple training data each including multiple positions of the atoms; selecting one or more of the elements with the probability for each of the multiple learning times; The information processing device according to configuration example 9. (Configuration Example 12) The processing unit modifying at least some of the weights to specified values; setting the error function to include one or more terms based on the modified plurality of weights; The information processing device according to any one of configuration examples 1 to 11. (Configuration Example 13) The processing unit outputting the output value of the error function; modifying at least some of the weights to designated values in accordance with the output values; The information processing device according to configuration example 12. (Configuration Example 14) The processing unit corrects parameters of the machine learning model so as to reduce the output value of the error function. The information processing device according to any one of configuration examples 1 to 13. (Configuration Example 15) The processing unit a function setting unit that sets the error function; a learning unit that learns the machine learning model; Equipped with The information processing device according to any one of configuration examples 1 to 14. (Configuration Example 16) An information processing method executed by an information processing device, a step of inputting the positions of a plurality of atoms included in an analysis target and information indicating which of a plurality of elements the plurality of atoms belong to, and setting an error function to be used in training a machine learning model that outputs physical quantities of the analysis target, the error function including one or more terms based on a plurality of weights according to the characteristics of the plurality of elements; training the machine learning model using the error function; An information processing method including: (Configuration Example 17) On the computer, a step of inputting the positions of a plurality of atoms included in an analysis target and information indicating which of a plurality of elements the plurality of atoms belong to, and setting an error function to be used in training a machine learning model that outputs physical quantities of the analysis target, the error function including one or more terms based on a plurality of weights according to the characteristics of the plurality of elements; training the machine learning model using the error function; A program to execute.
[0111] Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the scope of the invention and its equivalents as defined in the claims. [Explanation of symbols]
[0112] 100, 100-2, 100-3, 100-4 Information processing device 101, 101-2, 101-4 Weight setting section 102 Function setting section 103-2 Counting section 104-4 Reception 110 Learning Department 111 Update Department 112 Judgment section 131, 131-3 Output control section 132-3 Correction section 151 Feature Memory Unit 152 Weight storage unit 153 Learning data storage unit 154 Parameter storage section
Claims
1. a function used in training a machine learning model that receives input data including the positions of a plurality of atoms included in an analysis target and information indicating which of a plurality of elements the plurality of atoms are, and outputs output data including physical quantities of the analysis target, the function including an error function including one or more terms based on a plurality of weights according to the characteristics of the plurality of elements; training the machine learning model using the error function and training data including the input data for training and correct answer data corresponding to a correct answer of the output data; a processing unit; the physical quantity is a force acting on a plurality of atoms included in the analysis object, or a force acting on a plurality of atoms included in the analysis object and energy of the analysis object, the feature is the mass of the element, the atomic number of the element, or information correlated with the mass or the atomic number, The smaller the value of the feature, the larger the weight. Information processing device.
2. A function used in training a machine learning model that receives input data including the positions of multiple atoms included in an analysis target and information indicating which of multiple elements the multiple atoms belong to, and outputs output data including physical quantities of the analysis target, wherein an error function including one or more terms based on multiple weights according to the characteristics of the multiple elements is set, training the machine learning model using the error function and training data including the input data for training and correct answer data corresponding to a correct answer of the output data; a processing unit; the physical quantity is a force acting on a plurality of atoms included in the analysis object, or a force acting on a plurality of atoms included in the analysis object and energy of the analysis object, the characteristic is the number of atoms of each of the elements included in the analysis target, The smaller the value of the feature, the larger the weight. Information processing device.
3. the processing unit sets the error function including a plurality of terms obtained by multiplying the errors in the physical quantities of the plurality of elements by a plurality of the weights.
3. The information processing device according to claim 1.
4. The processing unit setting a plurality of weights according to the characteristics of a plurality of the elements; setting the error function to include one or more of the terms based on the set weights; 3. The information processing device according to claim 1.
5. The processing unit aggregating the number of atoms, which is the number of atoms of the elements included in the plurality of learning data, for each of the plurality of elements based on a plurality of learning data each including the positions of the plurality of atoms used in training the machine learning model; setting the weights based on the number of atoms or a ratio of the number of atoms to the total number of atoms of all elements included in the plurality of learning data; The information processing device according to claim 4 .
6. The processing unit Accepting a plurality of the weights designated for each of the plurality of the elements; setting the error function to include one or more of the terms based on the received plurality of weights; 3. The information processing device according to claim 1.
7. the processing unit sets the error function including a plurality of terms obtained by multiplying a first error, which is an error in the physical quantity for each of the plurality of atoms, and a second error, which is a sum for each of the plurality of elements, by the weight; 3. The information processing device according to claim 1.
8. Among a plurality of elements, one or more of the elements are selected with a probability according to the magnitude of each of a plurality of weights according to the characteristics of the plurality of elements; a function to be used in training a machine learning model that receives input data including positions of a plurality of atoms included in an analysis target and information indicating which of a plurality of elements the plurality of atoms belong to, and outputs output data including physical quantities of the analysis target, the function including an error function including an error in the physical quantities for the selected elements; training the machine learning model using the error function and training data including the input data for training and correct answer data corresponding to a correct answer of the output data; a processing unit; the physical quantity is a force acting on a plurality of atoms included in the analysis object, or a force acting on a plurality of atoms included in the analysis object and energy of the analysis object, The smaller the value of the feature, the larger the weight. Information processing device.
9. the processing unit selects one or more elements with the probability for each of a plurality of learning data sets each including a plurality of atomic positions, the plurality of learning data sets being used for training the machine learning model. The information processing device according to claim 8 .
10. The processing unit Repeatedly performing training of the machine learning model multiple times using multiple training data each including multiple positions of the atoms; selecting one or more of the elements with the probability for each of the plurality of learning times; The information processing device according to claim 8 .
11. The processing unit modifying at least some of the weights to specified values; setting the error function to include one or more terms based on the modified plurality of weights; 9. The information processing device according to claim 1, claim 2, or claim 8.
12. The processing unit outputting the output value of the error function; modifying at least some of the weights to designated values in accordance with the output values; The information processing device according to claim 11.
13. The processing unit corrects parameters of the machine learning model so as to reduce the output value of the error function.
9. The information processing device according to claim 1, claim 2, or claim 8.
14. The processing unit a function setting unit that sets the error function; a learning unit that learns the machine learning model; Equipped with 9. The information processing device according to claim 1, claim 2, or claim 8.
15. An information processing method executed by an information processing device, a step of setting an error function, which is a function used in training a machine learning model that receives input data including the positions of a plurality of atoms included in an analysis target and information indicating which of a plurality of elements the plurality of atoms belong to, and outputs output data including physical quantities of the analysis target, and which includes one or more terms based on a plurality of weights according to the characteristics of the plurality of elements; a step of training the machine learning model using the error function and training data including the input data for training and correct answer data corresponding to a correct answer of the output data; Including, the physical quantity is a force acting on a plurality of atoms included in the analysis object, or a force acting on a plurality of atoms included in the analysis object and energy of the analysis object, the feature is the mass of the element, the atomic number of the element, or information correlated with the mass or the atomic number, The smaller the value of the feature, the larger the weight. Information processing methods.
16. On the computer, a step of setting an error function, which is a function used in training a machine learning model that receives input data including the positions of a plurality of atoms included in an analysis target and information indicating which of a plurality of elements the plurality of atoms belong to, and outputs output data including physical quantities of the analysis target, and which includes one or more terms based on a plurality of weights according to the characteristics of the plurality of elements; a step of training the machine learning model using the error function and training data including the input data for training and correct answer data corresponding to a correct answer of the output data; Execute the physical quantity is a force acting on a plurality of atoms included in the analysis object, or a force acting on a plurality of atoms included in the analysis object and energy of the analysis object, the feature is the mass of the element, the atomic number of the element, or information correlated with the mass or the atomic number, The smaller the value of the feature, the larger the weight. program.
17. An information processing method executed by an information processing device, comprising: a step of setting an error function, which is a function used in training a machine learning model that receives input data including the positions of a plurality of atoms included in an analysis target and information indicating which of a plurality of elements the plurality of atoms belong to, and outputs output data including physical quantities of the analysis target, and which includes one or more terms based on a plurality of weights according to the characteristics of the plurality of elements; a step of training the machine learning model using the error function and training data including the input data for training and correct answer data corresponding to a correct answer of the output data; Including, the physical quantity is a force acting on a plurality of atoms included in the analysis object, or a force acting on a plurality of atoms included in the analysis object and energy of the analysis object, the characteristic is the number of atoms of each of the elements included in the analysis target, The smaller the value of the feature, the larger the weight. Information processing methods.
18. A computer comprising: a step of setting an error function, which is a function used in training a machine learning model that receives input data including the positions of a plurality of atoms included in an analysis target and information indicating which of a plurality of elements the plurality of atoms belong to, and outputs output data including physical quantities of the analysis target, and which includes one or more terms based on a plurality of weights according to the characteristics of the plurality of elements; a step of training the machine learning model using the error function and training data including the input data for training and correct answer data corresponding to a correct answer of the output data; Execute the physical quantity is a force acting on a plurality of atoms included in the analysis object, or a force acting on a plurality of atoms included in the analysis object and energy of the analysis object, the characteristic is the number of atoms of each of the elements included in the analysis target, The smaller the value of the feature, the larger the weight. program.
19. An information processing method executed by an information processing device, comprising: selecting one or more elements from a plurality of elements with a probability according to the magnitude of each of a plurality of weights according to the characteristics of the plurality of elements; a step of setting an error function that includes an error in the physical quantity of the selected element, as a function used in training a machine learning model that receives input data including the positions of a plurality of atoms included in an analysis target and information indicating which of the plurality of elements the plurality of atoms belong to, and outputs output data including the physical quantity of the analysis target; a step of training the machine learning model using the error function and training data including the input data for training and correct answer data corresponding to a correct answer of the output data; Including, the physical quantity is a force acting on a plurality of atoms included in the analysis object, or a force acting on a plurality of atoms included in the analysis object and energy of the analysis object, The smaller the value of the feature, the larger the weight. Information processing methods.
20. A computer comprising: selecting one or more elements from a plurality of elements with a probability according to the magnitude of each of a plurality of weights according to the characteristics of the plurality of elements; a step of setting an error function that includes an error in the physical quantity of the selected element, as a function used in training a machine learning model that receives input data including the positions of a plurality of atoms included in an analysis target and information indicating which of the plurality of elements the plurality of atoms belong to, and outputs output data including the physical quantity of the analysis target; a step of training the machine learning model using the error function and training data including the input data for training and correct answer data corresponding to a correct answer of the output data; Execute the physical quantity is a force acting on a plurality of atoms included in the analysis object, or a force acting on a plurality of atoms included in the analysis object and energy of the analysis object, The smaller the value of the feature, the larger the weight. program.
Citation Information
Patent Citations
Molecular processing method and device, electronic equipment, storage medium and program product
CN115527626A
Learning program, learning method and estimation device
JP2021111143A
Graph neural network force field computational algorithms for molecular dynamics computer simulations
US20200365236A1
Graph transformer neural network force field for prediction of atomic forces and energies in molecular dynamic simulations
US20210081505A1
Inferring device, training device, inferring method, and training method
US20220207370A1