Interatomic potential learning system
The interatomic potential learning system addresses the challenges of generating accurate potentials by using a database-driven approach with machine learning to manage and test datasets, ensuring suitability for user-defined analysis targets, thereby enhancing the efficiency and accuracy of molecular dynamics simulations.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- HITACHI LTD
- Filing Date
- 2023-03-08
- Publication Date
- 2026-07-07
Smart Images

Figure 0007886289000001 
Figure 0007886289000002 
Figure 0007886289000003
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to an interatomic potential learning system.
Background Art
[0002] Using the method of classical molecular dynamics to simulate the physical motions of atoms and molecules, and using the obtained results to clarify or predict the properties of molecules and crystals is effective in the fields of material development and drug discovery. The interatomic potential (molecular force field), which is essential for performing classical molecular dynamics simulations, is represented by a model mathematical formula and parameters that express the two-body relationship or the relationship of three or more bodies between atoms. The selection of this model mathematical formula and the determination of parameters are determined semi-empirically or empirically according to the analysis target.
[0003] The interatomic potential is composed of a combination of a model mathematical formula and parameters. In molecular dynamics calculations, the atomic positions are input, and the potential energy is output.
[0004] However, in the process of selecting the model mathematical formula and determining the parameters, information such as the criteria determined by the interatomic potential developer according to the purpose and the accuracy of the obtained potential is very little except for the cases publicly disclosed in papers.
[0005] Therefore, users of interatomic potential execute calculations of models limited within the range of the conditions of the calculation models (combinations of elements used, ranges of variations in crystal structures and molecular structures, temperature ranges, pressure ranges) shown in publicly disclosed cases.
[0006] In classical molecular dynamics simulations, from the start time set inside the simulation to the end time, at each set time step, the atomic positions are input, and the energy and the forces acting on the atoms are calculated and recorded using the interatomic potential. A set of paired data of the energy, atomic positions, or forces acting on the atoms obtained at each calculation time is called a trajectory.
[0007] In trajectory analysis, it is possible to specify the calculation time or calculation step number to retrieve information such as energy and atomic positions at that time.
[0008] Alternatively, if a user of interatomic potentials wants to perform calculations on an analysis target that exceeds the existing publicly available interatomic potential range, the user must prepare test conditions and a large amount of data to support the test, and then create the potential themselves through trial and error and optimization.
[0009] There are methods that focus on the interactions between electrons and calculate the electronic state in a material, such as first-principles electronic state calculations, first-principles molecular dynamics calculations, and quantum chemical calculations, to determine the relationship between atomic positions and the energy of the system.
[0010] These methods have no constraints on the combination or structure of the elements being analyzed, and can calculate physical properties and structures with high accuracy even for molecules and crystals of arbitrary elements. However, because it directly calculates the electronic state, the computational load is enormous, making it impractical to directly apply classical molecular dynamics methods to analytical problems of a scale where they are useful.
[0011] In recent years, techniques have been proposed to generate interatomic potentials using machine learning techniques based on the results of first-principles electronic state calculations, first-principles molecular dynamics calculations, and quantum chemical calculations.
[0012] Non-Patent Document 1 discloses a method for creating interatomic potentials using machine learning, in which descriptors are generated from information obtained by first-principles calculations, and supervised learning is performed using the obtained descriptors as training data to generate the potentials. This method, which creates a dataset using first-principles calculations and learns the relationship between atomic positions and energies using machine learning techniques to create potentials, is superior in that it suppresses the inclusion of subjective judgments and ambiguous assumptions in the process of converting the dataset into interatomic potentials. [Prior art documents] [Non-patent literature]
[0013] [Non-Patent Document 1] Jorg Behler, “Perspective : Machine learning potentials for atomic simulations”, J. Chem. Phys. 145, 170901 (2016). [Overview of the project] [Problems that the invention aims to solve]
[0014] However, in potential generation using machine learning, including deep learning, the quality and learning cost of the potential strongly depend on the training dataset. Therefore, if a training dataset suitable for the target analysis is not used, correct molecular dynamics simulations cannot be performed. For this reason, managing the quality and suitability of the dataset to the problem is necessary for both potential developers and potential users.
[0015] The problem that this invention aims to solve is to provide an interatomic potential suitable for the object being analyzed. [Means for solving the problem]
[0016] One aspect of the present invention is an interatomic potential learning system comprising one or more processors and one or more storage devices, wherein the one or more storage devices store a primary database for storing pre-examination learning datasets, a secondary database for storing post-examination learning datasets, and a tertiary database for storing interatomic potentials, the one or more processors generate request information indicating the requested interatomic potential and the requested learning data information from user input information including information on the system to be analyzed, query the tertiary database for the requested interatomic potential based on the request information, and if the requested interatomic potential exists in the tertiary database, read the requested interatomic potential from the tertiary database and provide it to the user, and if the requested interatomic potential exists in the tertiary database If the data does not exist in the base database, the system queries the secondary database for a post-test training dataset capable of generating the requested interatomic potential based on the request information. If the required post-test training dataset exists in the secondary database, the system generates the requested interatomic potential using the required post-test training dataset and provides it to the user. If the required post-test training dataset does not exist in the secondary database, the system generates a new training dataset based on the request information and registers it in the primary database. The system then tests the new training dataset to determine if it passes or fails. The system stores the successful new training dataset in the secondary database, generates the requested interatomic potential using the post-test training dataset in the secondary database, including the new training dataset, and provides it to the user. [Effects of the Invention]
[0017] According to embodiments of the present invention, it is possible to provide the interatomic potential necessary to perform molecular dynamics simulations of the target of analysis specified by the user. [Brief explanation of the drawing]
[0018] [Figure 1] This is a system configuration diagram. [Figure 2]It is a flowchart for automatically generating an interatomic potential. [Figure 3] It is an example of a display screen showing request information, information on interatomic potential and reliability, and information on a learning dataset and reliability, which is displayed on the display unit of an output device. [Figure 4] It is a database configuration diagram. [Figure 5] It is an example of a display screen showing request information, and information on interatomic potential and reliability, which is displayed on the display unit of an output device. [Figure 6] It is a detailed example of a display screen in the display of information on atomic potential and reliability shown in FIG. 3. [Figure 7] It is a detailed example of a display screen in the display of information on the post-inspection learning dataset and reliability shown in FIG. 3. [Figure 8] It is a detailed example of a display screen in the display of information on the pre-inspection learning dataset and reliability shown in FIG. 3. [Figure 9] It is a system configuration diagram having a plurality of processing units.
Mode for Carrying Out the Invention
[0019] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. For convenience, when necessary, they will be described by dividing them into a plurality of sections or embodiments. However, unless otherwise specified, they are not unrelated to each other, and one is related to a modification, details, supplementary explanation, etc. of a part or all of the other. Also, hereinafter, when referring to the number of elements, etc. (including the number, numerical value, quantity, range, etc.), unless otherwise specified and in principle clearly limited to a specific number, it is not limited to that specific number.
[0020] One embodiment of this specification discloses a system and method for providing an interatomic potential suitable for analysis. The provided interatomic potential can be used for molecular dynamics simulations and processing material information, including crystals and molecules. The system and method of the embodiment of this specification enable both interatomic potential developers and users to manage the compatibility between the interatomic potential and the analysis target.
[0021] Figure 1 is a functional block diagram of an automated interatomic potential generation system according to one embodiment. The interatomic potential is a machine learning potential and is a machine learning model. The interatomic potential outputs the energy of the system in response to inputs such as the positions of atoms. From the relationship between the energy of the system and the positions of the atoms, the force field applied to each atom used in molecular dynamics simulations can be determined.
[0022] The interatomic potential automatic generation system includes a processing unit 320 and three database devices 311, 313, and 315. The processing unit 320 and the database devices 311, 313, and 315 can communicate with each other via a network 310.
[0023] Database device 311 includes a primary database 201 and a primary database control unit 301 that controls access to the primary database 201. Database device 313 includes a secondary database 203 and a secondary database control unit 303 that controls access to the secondary database 203. Database device 315 includes a tertiary database 205 and a tertiary database control unit 305 that controls access to the tertiary database 205. The primary database 201 stores pre-test training datasets. The secondary database 203 stores post-test training datasets. The tertiary database 205 stores interatomic potentials.
[0024] The processing unit 320 is a device that automatically generates interatomic potentials. The processing unit 320 can be configured with, for example, one or more computers. In the configuration example shown in Figure 1, the processing unit 320 has a general computer configuration and includes a processor 321, main memory 322, auxiliary memory 323, input device 324, output device 325, and network interface 327. Each part of the processing unit 320 is connected to each other so as to be able to communicate via communication means such as a bus 326. In addition, the processing unit 320 may be implemented in whole or in part by virtual resources such as a cloud server.
[0025] The processor 321 is composed of a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), and the like. The processor 321 reads and executes the program stored in the main memory 322, thereby realizing the functions of the processing unit 320.
[0026] The main memory 322 is a device for storing programs and data, and includes ROM (Read Only Memory), RAM (Random Access Memory), NVRAM (Non-Volatile RAM), etc.
[0027] Auxiliary memory 323 includes, for example, an SSD (Solid State Drive), NVRAM such as an SD memory card, optical storage devices such as a CD (Compact Disc) or DVD (Digital Versatile Disc), an HDD (Hard Disc Drive), or the storage area of a cloud server. Auxiliary memory 323 includes a non-transient storage medium for storing programs and data. Programs and data stored in auxiliary memory 323 are read into main memory 322 as needed.
[0028] The input device 324 is an interface that accepts information input, such as a keyboard, mouse, touch panel, card reader, or microphone. Alternatively, the processing unit 320 may be configured to accept information input from other devices via some means of communication.
[0029] The output device 325 is an interface that outputs various types of information, such as a screen display device like a liquid crystal monitor, LCD (Liquid Crystal Display), or graphics card, a printing device, or an audio output device like a speaker. Alternatively, the processing unit 320 may be configured to output information to other devices via some means of communication. The network interface 327 is a device for the processing unit 320 to communicate with other devices. Some of the components shown in Figure 1 may be omitted, and other components may be added.
[0030] The processing unit 320 can be composed of one or more computers. Thus, the processing unit 320 can include one or more processors and one or more storage devices. One or more processors operate as a predetermined functional unit by executing programs stored in one or more storage devices. The same description as for the processing unit 320 can be applied to the database devices 311, 313, and 315.
[0031] The processing unit 320 receives detailed information about the object to be analyzed from the user via the input device 324 and the output device 325, and outputs request information corresponding to the object to be analyzed, as well as information on interatomic potential and confidence level, thereby providing the user with information that enables the execution of molecular dynamics simulations of the object to be analyzed. The configuration that realizes these functions will be described below.
[0032] Figure 2 is a flowchart for providing or automatically generating interatomic potentials. As shown in Figure 2, in user input 101, the user inputs detailed information of the object to be analyzed using the input device 324 and proceeds with the input while confirming the input content with the output device 325. In the processing unit 320, the processor 321 stores the input information from the input device 324 in the main memory 322 and auxiliary memory 323 via the bus 326.
[0033] An example of the information input work performed by the user regarding the object of analysis is explained using Figure 3. The graphical user interface (GUI) screen in Figure 3 is displayed, for example, on the output device 325. Figure 3 shows an example of a display screen for input information 481 regarding the object of analysis, information including interatomic potential and its reliability 482, information including the training dataset and its reliability 483, and information including the training dataset and the progress regarding its creation and inspection 484.
[0034] In the example shown in Figure 3, there are two types of input information. One is information about the entire object to be analyzed (overall input information), and the other is partial input information. The input of these two types of input information can be switched using the overall input button 402 and the partial input button 404.
[0035] The information entered by the user in the overall input can include, for example, the 3D structure (elements, positions, boundary conditions) 401, pressure range 405, and temperature range 407. Instead of directly inputting the 3D structure, the processing unit 320 may accept the specification of a structure file name 403 in xyz or cif format and read that file. Note that only one of the temperature range or pressure range may be entered. This is the same for partial input information. Specifying at least one of the temperature range and pressure range allows for the provision of interatomic potentials more suitable for analysis.
[0036] When a three-dimensional structure 401 is input, the processing unit 320 automatically determines and outputs the composition 409. This allows the user to check for any input errors. For the pressure range 405 and temperature range 407, numerical values may be entered as a list, or upper limits, lower limits, and step sizes may be specified.
[0037] The processor 321 of the processing unit 320 assigns a unique ID to the overall input information (3D structure, pressure range, temperature range), which is input information representing the entire system that the user wishes to analyze, and stores it in memory 322 or auxiliary memory 323. An example of a method for assigning a unique ID is a UUID.
[0038] Partial input information is information used to create training data for interatomic potentials. The information that the user inputs for partial input information can include the 3D structure (elements, positions, boundary conditions) of the whole or a part of the system being analyzed 401, pressure range 405, temperature range 407, the number of trajectories to be calculated for training, and the judgment conditions to be used in the process 119 described later. For example, if the whole structure contains two compounds, compound A and compound B, one example of a substructure is a structure in which only compound A is placed and a structure in which only compound B is placed. The element specification for each substructure is the element that makes up compound A or the element that makes up the whole structure, the element that makes up compound B or the element that makes up the whole structure.
[0039] Instead of directly inputting a 3D structure, the processing unit 320 may accept a specified structure file name 403 in xyz or cif format and read that file. One or more partial input information may be input; for example, each element of the input partial input information is included in the elements of the overall input information, and the partial input information as a whole includes all the elements of the overall input information.
[0040] Pressure range 405 and temperature range 407 do not need to be entered when using the input value of the overall input. If the input value of a partial input differs from the input value of the overall input, the input value of the partial input is entered. For example, the temperature range of a partial input may be included in the temperature range of the overall input, or it may exceed the temperature range of the overall input. If the temperature range of the overall input is between 50K and 100K, the temperature range of the partial input may be between 50K and 100K, or it may be above 100K.
[0041] The criteria for passing the evaluation can include, for example, the number of trajectories that should pass out of the total trajectories calculated for learning, or the pass / fail ratio. The criteria can also include the specific items used for pass / fail determination (energy and structure, energy only, or structure only). The pass / fail determination of the training data will be discussed later.
[0042] The processor 321 of the processing unit 320 assigns a unique ID to the partial input information (3D structure, pressure range, temperature range, trajectory number, determination method) that specifies the training data for creating interatomic potentials, and stores it in memory 322 or auxiliary memory 323. One example of a method for assigning a unique ID is a UUID.
[0043] Multiple partial inputs may be entered. If any of the compositions 409 obtained from each partial input contain elements that are not included in the composition 409 obtained from the overall input, the partial input information is inappropriate. The processing unit 320 displays an appropriate error message and prompts the user to re-enter and correct the information.
[0044] Through the above input process, the overall and partial information of the system to be analyzed is stored in memory 322 and auxiliary memory 323. The overall and partial input information makes it possible to indicate the appropriate interatomic potential for the system to be analyzed and the learning data necessary for its generation.
[0045] Returning to Figure 2, in process 103, the processor 321 retrieves the overall and partial information stored in memory 322 and auxiliary memory 323, converts it into request information that can be used for database searches, and stores it in memory 322 and auxiliary memory 323. The processor 321 can display the stored request information on the output device 325. The request information may include an element list (list of elements) obtained from the overall input information, overall information, partial information, and a list of all unique IDs assigned to them.
[0046] In process 105, the processor 321 reads the request information from memory 322 and auxiliary memory 323 via bus 326, and queries the tertiary database control unit 305 for the presence or absence of interatomic potential via network interface 327 and network 310. The tertiary database control unit 305 searches the tertiary database 205.
[0047] Figure 4 shows examples of information stored in primary database 201, secondary database 203, and tertiary database 205. These are database sets that store interatomic potentials and training datasets.
[0048] The primary database 201 stores N1 records 211. Each record 211 stores a training dataset (before testing) 222. Each record 211 also stores the training dataset calculation parameters 221 and the progress level 231. An example of the progress level 231 is whether or not testing has been performed.
[0049] The secondary database 203 stores N2 records 213. Each record 213 stores a training dataset (checked) 225. Each record 213 also stores the training dataset calculation parameters 223, the check conditions and check results 224, and the confidence score 232.
[0050] An example of the inspection result 224 is the ratio of the number of passing data points (trajectory count) to the total number of data points (trajectory count) in the dataset. An example of the confidence level 232 is the number of times interatomic potentials were created and the number of times the created interatomic potentials were used or downloaded. The training dataset calculation parameter 223 may not store the parameter itself, but rather reference information to the corresponding training dataset calculation parameter 221.
[0051] The tertiary database 205 stores N3 records 215. Each record 215 stores the interatomic potential 227. Each record 215 also stores potential learning parameters 226 and confidence levels 233. Examples of confidence levels 233 include the number of times the potential has been used and the number of times it has been downloaded.
[0052] In this way, by combining the data to be extracted with various parameters into a single record, it becomes possible to respond to inquiries based on the request information.
[0053] In querying for the presence or absence of interatomic potential, processor 321 queries whether the information contained in the request information (element list of the overall input information, temperature range, pressure range, and structural information of the substance included in the overall information) is included in the potential learning parameters 226. The potential learning parameters 226 include information from the training data record, machine learning parameters for potential generation, constituent elements, temperature range, and pressure range.
[0054] For the determination process, potential developers can adjust the system to allow for partial matches as well as perfect matches. Structural information is information described in formats such as CIF or XYZ file formats, and includes a list of atomic element-to-position coordinate pair data.
[0055] If no interatomic potential exists (105:NO), the tertiary database control unit 305 executes process 109. If a potential exists (105:YES), the tertiary database control unit 305 executes process 107 and returns the interatomic potential 227 and confidence level 233 corresponding to the request information to the processing unit 320.
[0056] In queries regarding the presence or absence of interatomic potential, it is also possible to utilize the unique ID of the overall input information included in the query request information. Processes 101-103 ensure that the overall input information included in the request information contains a unique ID.
[0057] The potential learning parameter 226 contains information about the training data records used for learning. This record information can be used to track request information corresponding to the generation of training data. By using this tracking, it is possible to quickly determine whether a potential is relevant based on the presence or absence of a unique ID in the input information related to potential learning.
[0058] If the relevant potential cannot be found by tracking the unique ID in the query, the tertiary database control unit 305 makes a determination by comparing the information contained in the request information with the information contained in the potential learning parameters 226.
[0059] In this comparison-based determination using the information contained in the request information, the information contained in the request information (element list, temperature range, pressure range of the overall input information, and structural information of the substance included in the overall information) is compared with the structural information, temperature range, and pressure range included in the learning dataset calculation parameters 223 read from the secondary database 203 using the learning dataset record information included in the potential learning parameters 226, and a determination of presence or absence is made. The determination criteria may be a perfect match or a partial match. For example, if the structural information matches, but the temperature range and pressure range differ, it may be determined that an interatomic potential exists. Furthermore, in the case of a partial match as described above, a lower confidence level than that of a perfect match is presented to the user, and information useful for the user's decision-making can also be provided.
[0060] The training dataset required to generate the machine learning potential is calculated using methods that calculate the electronic state in a material, such as first-principles electronic state calculations, first-principles molecular dynamics calculations, and quantum chemical calculations. The training dataset calculation parameters 221 for performing these calculations are generated from the overall or partial input information and consist of a temperature range, a pressure range, electronic state calculation parameters, and molecular dynamics execution parameters.
[0061] The obtained calculation results, the training dataset (before inspection) 222, are stored together in the primary database 201. Subsequently, after the inspection process, they are stored in the secondary database 203 in the form of records 213. The search target for determining the presence or absence of training data is the training dataset calculation parameter 223. To query whether the dataset necessary for generating the requested machine learning potential exists in the secondary database 203, the system checks whether the training dataset calculation parameter 223 contains all or part of the request information.
[0062] In process 109, the processor 321 reads the request information from memory 322 and auxiliary memory 323 via bus 326, and queries the secondary database control unit 303 via network interface 327 and network 310 to determine whether there is a training dataset necessary for generating machine learning potential using the request information. The secondary database control unit 303 searches the secondary database 203.
[0063] When querying for the existence of a training dataset, the system searches for a record containing the training dataset calculation parameter 223 that corresponds to or corresponds to part of the information contained in the request information (the element list of the overall input information, temperature range, pressure range, structural information of the substances constituting the overall input information, and unique IDs of the overall input information and partial input information). The determination of whether the data is included in the partial input information of the request information or the structural information of the substances constituting the overall input information is made by comparing list data of atomic element-atomic position pairs.
[0064] A suitable atomic position error is within 0.1A, but this threshold is adjustable. For temperature range, for example, it is determined whether the condition falls within the range specified in the request information, or if it is lower than that range. For pressure range, for example, it is determined whether the condition falls within the range specified in the request information, or if it is lower than that range. This query retrieves records from one or more training datasets.
[0065] If no training dataset exists at all, process 115 is executed based on the request information. If only a portion of the training dataset requested by the request information is missing, process 115 is executed based on the missing request information. For example, training datasets for some elements, structures, temperature ranges, and pressure ranges indicated by the request information may be missing. If a training dataset exists, the secondary database control unit 303 returns the training dataset 225 and confidence score 232 corresponding to the request information to the processing unit 320.
[0066] When the learning dataset 225 corresponding to the request information is stored in the memory 322 of the processing unit 320, the processor 321 executes process 111.
[0067] In process 111, the processor 321 generates potential learning parameters 226 from the request information and training dataset 225 and stores them in memory 322. The potential learning parameters 226 include information from the training data record, machine learning parameters for potential generation, constituent elements, temperature range, and pressure range.
[0068] In process 113, the processor 321 performs learning using the potential learning parameters 226 stored in memory 322 and auxiliary memory 323 to create the interatomic potential 227. The processor 321 passes the created interatomic potential 227 to the tertiary database control unit 305 via the network interface 327 and network 310. The tertiary database control unit 305 registers the interatomic potential 227 in the tertiary database 205.
[0069] In process 115, the processor 321 reads the request information from memory 322 or auxiliary memory 323 via bus 326. The processor 321 generates computation parameters for the training dataset based on the atomic position information contained in the partial input information and the total input information stored in the request information, and sets these parameters together with the unique ID of the input information used for generation to form the training dataset computation parameters 221. The processor 321 stores the training dataset computation parameters 221 in memory 322.
[0070] The training dataset calculation parameters 221 include structural information, unique IDs (whole, part) of request information related to the structural information, temperature and pressure for calculation execution, electronic state calculation parameters, molecular dynamics execution parameters, number of trajectories to calculate, and decision conditions used in process 119.
[0071] In process 117, the processor 321 performs first-principles calculations based on the training dataset calculation parameters 221 to generate a training dataset (pre-check) 222 and store it in memory 322. The processor 321 passes the training dataset stored in memory 322 to the primary database control unit 301 via the network interface 327 and network 310. The primary database control unit 301 registers the training dataset (pre-check) 222 in the primary database 201.
[0072] At this time, the learning dataset calculation parameters 221 registered in the same record as the learning dataset (before inspection) 222 contain an embedded unique ID of the corresponding partial input information.
[0073] In the data determination process 119, the processor 321 of the processing unit 320 reads the training dataset (before inspection) 222 registered in the primary database 201 via the primary database control unit 301 and the network 310, and stores it in memory 322. The processor 321 inspects the training dataset (before inspection) stored in memory 322. This allows for obtaining training data more suitable for generating (learning) interatomic potentials. The processor 321 performs an inspection of the energy and / or structure (atomic arrangement) contained in the training dataset (before inspection).
[0074] This section describes the inspection flow when the inspection items in the judgment conditions used in process 119 are energy and structure, based on the partial input of user input 101.
[0075] The inspection is performed on a trajectory-by-trajectory basis, in the order of energy inspection followed by atomic arrangement inspection. In some cases, only one of these inspections may be performed. The energy inspection checks for any abnormal jumps in energy within a single trajectory. Anomaly detection algorithms such as Hotelling's theory and the k-nearest neighbor method are used for detection. Other parametric anomaly detection algorithms are also possible. A threshold of 1 to 2 eV is appropriate for an anomaly value in NVT calculations at a constant temperature. The results of the energy inspection are output for each trajectory. If an anomaly is detected, the step value of the anomaly occurrence time is recorded for each trajectory.
[0076] In atomic arrangement analysis, the presence or absence of anomalies is checked for in a single trajectory using the RMSD (mean squared deviation) value of the positional residual of the structure at each time step, or the time derivative of the RMSD value, for the structure of the final state of the trajectory. The analysis uses non-parametric anomaly detection algorithms such as KDE (Kernel Density Estimation) and GMM (Gaussian Mixture Model). However, other non-parametric anomaly detection algorithms are also possible.
[0077] In NVT calculations at a constant temperature, a normal calculation oscillates from the initial state at time zero towards the final state, gradually converging. Therefore, the trajectory of a normal NVT calculation has a distribution that spreads out around the final state structure. In contrast, abnormal states arising from inappropriate initial state structures change to a structure different from this final state. For this reason, if the number of time steps used in the calculation is large enough to show a statistically significant difference, anomaly detection algorithms using nonparametric KDE or GMM are effective. The effective number of time steps in NVT calculations at a constant temperature is 500 or more.
[0078] If an abnormality is detected during the atomic arrangement inspection, the step value of the time the abnormality occurred should be recorded for each trajectory.
[0079] If a parametric threshold can be set, anomaly detection can also be performed using anomaly detection algorithms such as Hotelling's theory and the k-nearest neighbors method.
[0080] Once the above two checks are complete, for each trajectory, the presence or absence of an anomaly related to energy and the anomaly time step value, as well as the presence or absence of an anomaly related to atomic arrangement and the anomaly time step value, are obtained. If these two anomaly time step values match, the trajectory is considered to have an anomaly.
[0081] This section describes the inspection flow when the only inspection item among the judgment conditions used in process 119 is energy, in the partial input of user input 101. The inspection is performed on a trajectory basis, and only the aforementioned energy inspection is performed, and the abnormality of the trajectory is determined based on the result of the energy inspection.
[0082] This section describes the inspection flow when the inspection item is limited to structure only in the judgment conditions used in process 119 during the partial input of user input 101. The inspection is performed on a trajectory basis, and only the atomic arrangement inspection described above is performed, and the abnormality of the trajectory is determined based on the result of the atomic arrangement inspection.
[0083] As shown above, data analysis determines whether each trajectory is a pass (no abnormalities) or a fail (abnormalities present).
[0084] If all data in the training dataset (before testing) passes, process 121 is executed. If the number of passing data in the training dataset (before testing) is greater than or equal to the threshold, process 123 is executed. If the number of passing data in the training dataset (before testing) is less than or equal to the threshold, process 125 is executed. The threshold used for testing is included in the training dataset calculation parameter 221.
[0085] In process 121, the processor 321 of the processing unit 320 passes the training dataset stored in memory 322 to the secondary database control unit 303 via the network interface 327 and network 310. The secondary database control unit 303 registers the training dataset in the secondary database 203. The processor 321 updates the corresponding progress 231 of the training dataset 222 via the primary database control unit 301.
[0086] At this time, the learning dataset calculation parameters 223 and 221 registered in the same record as the registered learning dataset (checked) 225 contain the corresponding partial input information and its unique ID.
[0087] In process 123, processor 321 extracts only the data that passed from the training dataset stored in memory 322, reconstructs the training dataset, and stores it in memory 322. Processor 321 passes the reconstructed training dataset stored in memory 322 to secondary database control unit 303 via network interface 327 and network 310. Secondary database control unit 303 registers the training dataset in secondary database 203. Processor 321 updates the corresponding progress 231 of the training dataset 222 via primary database control unit 301.
[0088] At this time, the learning dataset calculation parameters 223 and 221 registered in the same record as the registered learning dataset (checked) 225 contain the corresponding partial input information and its unique ID.
[0089] In process 125, the processor 321 rewrites some or all of the information necessary to generate the training dataset, regenerates the training dataset calculation parameters 221, and stores them in memory 322. For example, rewriting the training dataset calculation parameters 221 involves changing some or all of the parameters among the temperature or pressure to be calculated, the electronic state calculation parameters, and the molecular dynamics execution parameters.
[0090] When first-principles band calculations are used as a method for generating training datasets, examples of electronic state calculation parameters include plane wave cutoff energy, sampling conditions for reciprocal lattice space vectors, and the selection of the calculation method for the density of electronic states and its associated parameters. Molecular dynamics execution parameters include the selection of the dynamics algorithm and its associated parameters. At this time, the initially stored partial input information and its unique ID are retained. Process 117 is executed using the regenerated training dataset calculation parameters 221.
[0091] In process 107, the processor 321 of the processing unit 320 outputs the received interatomic potential 227 and confidence score 233 using the output device 325. An example of the output display is shown in Figure 3 or Figure 5.
[0092] Figure 3 shows section 481, which contains input information about the object to be analyzed; section 482, which shows the interatomic potentials in the tertiary database and their confidence levels; section 483, which shows the training datasets in the secondary database and their confidence levels; section 484, which shows the training datasets in the primary database and their confidence levels; and an example of the display screen. Section 481, which contains input information, and section 482, which contains the tertiary database, are mainly used by users of the interatomic potentials. Section 483, which contains the tertiary database, and section 484, which contains the tertiary database, may be used by users of the system administration in addition to users of the interatomic potentials.
[0093] This example provides an overview of the input information that forms the basis of the request, the resulting interatomic potential information, and important intermediate information such as the training dataset. Detailed generation status information, including the training data used, is also displayed, making it a useful display for interatomic potential developers.
[0094] In the example display screen shown in Figure 3, the information in section 481 of the input information is as described above. Section 482 of the tertiary database includes a query execution button 411, a potential utilization button 413, and information on the corresponding potential and confidence level. After entering the input information 481, if the query execution button 411 is selected, the above interatomic potential search is performed. As search results, information on the interatomic potential and confidence level is displayed 421.
[0095] By using the Potential Utilization button 413, interatomic potentials can be downloaded uncompressed or compressed in file format, file set format, or one or more directories containing file sets. It is also possible to export the interatomic potentials as file format, file set format, or one or more directories containing file sets and send them via email. Furthermore, it is possible to issue and provide users with tokens that enable them to directly download electronic information of interatomic potentials from the database.
[0096] Section 483 of the secondary database includes a query execution button 411, a training execution button 416, and information on the relevant training dataset and confidence level 423, as well as potential training parameters 431. After entering the input information 481, selecting the query execution button 411 will perform a search of the secondary database 203. The training execution button 416 instructs the system to perform training of interatomic potentials using the selected training data. Information on the relevant training dataset and confidence level 423 and potential training parameters 431 will display their respective information.
[0097] Section 484 of the primary database includes a query execution button 411, an inspection execution button 426, the progress of the relevant primary dataset 425, and the training dataset calculation parameters 433. After inputting the input information 481, selecting the query execution button 411 will perform a search of the primary database 201. The inspection execution button 426 instructs the system to perform an inspection of the training data in the primary database 201. The progress of the relevant primary dataset 425 and the training dataset calculation parameters 433 display their respective information.
[0098] On the other hand, for users whose primary focus is calculating the analysis target using classical Molecular Dynamics (MD), detailed information such as training data is not necessarily required display data. In particular, for potentials with a high confidence score of 511, the frequency of checking detailed information such as training data is low. Therefore, Figure 5 shows a simpler and more convenient display example. Figure 5 is an example of a display screen showing only section 481, which contains input information about the analysis target, and section 482, which contains information about interatomic potentials and their confidence scores.
[0099] Figure 6 shows an example of a detailed display of interatomic potential and confidence level information 421 shown in Figure 3. Here, four interatomic potentials are listed, and checkbox 531 is selected, indicating that the user is using it. Within the potential name and accompanying conditions 501, there is a details button 521. Clicking the details button 521 displays the potential learning parameters used for learning. In the confidence level 511, a symbol representing the confidence level of the potential 233 is displayed. The user can select a more appropriate potential by referring to the confidence level.
[0100] Figure 7 shows a detailed display example of the post-test training dataset and confidence level information shown in Figure 3 (423). Here, the training dataset (post-test) used to create the interatomic potential selected by checkbox 531 in Figure 7 is displayed. Within the name and supplementary information (502), there is a details button (522). Clicking the details button (522) displays the training dataset calculation parameters. The confidence level (512) displays a symbol representing the confidence level of the training dataset (232). By referring to the confidence level, the user can select a more appropriate training dataset.
[0101] Figure 8 shows a detailed display example of the pre-test training dataset and progress information shown in Figure 3. Here, the name of the pre-test training dataset and accompanying information 503, derived from the request information corresponding to the input information, are displayed. Progress 513 indicates the status of the test, and here, symbols representing progress 231, mainly completed and incomplete, are displayed. The progress allows the user to understand the test information of the training data.
[0102] Figure 9 is a functional block diagram showing the case where the processing content is distributed using the main processing unit 350, the input / output function unit 352, and the processing unit 320. Although only one input / output function unit 352 is shown, multiple input / output function units 352 may be installed to receive a large number of analysis tasks from multiple users.
[0103] The input / output function unit 352 executes process 101, and the input information is stored in the memory 322 and auxiliary memory 323 of the input / output function unit 352. The stored information may also be shared with the memory 322 and auxiliary memory 323 of the main processing unit 350 via the network interface 327 and network 310.
[0104] Process 103 is executed by either the input / output function unit 352 or the main processing unit 350, and the request information is shared in the memory 322 and auxiliary memory 323 of both the input / output function unit 352 and the main processing unit 350.
[0105] Process 105, which is a query process for the presence or absence of interatomic potential, is executed in the main processing unit 350. In process 105, the processor 321 reads the request information from memory 322 and auxiliary memory 323 via the bus 326. The processor 321 queries the tertiary database control unit 305 for the presence or absence of interatomic potential via the network interface 327 and network 310. The tertiary database control unit 305 searches the tertiary database 205.
[0106] If no potential exists, the main processing unit 350 executes process 109. If a potential exists, the main processing unit 350 passes the interatomic potential 227 and confidence level 233 corresponding to the request information to the input / output function unit 352 and executes process 107.
[0107] Processes 111 and 113 are executed by the processing unit 320, which is stored in the processing unit cluster 360. The processing unit 320 passes the interatomic potential of the execution result to the tertiary database control unit 305 via the network interface 327 and network 310, and it is registered in the tertiary database 205. After registration, the processing unit 320 transmits a signal indicating the end of execution to the main processing unit 350 via network 310.
[0108] When multiple analysis targets are input from multiple users or from a single user, multiple input information and multiple request information are stored in the main processing unit 350's memory 322 and auxiliary memory 323. In such a situation, efficient distributed processing can be achieved by executing the interatomic potential generation process 111 and process 113 in multiple processing units 320 separate from the main processing unit. Furthermore, with this configuration, the number of processing units 320 placed in the processing unit cluster 360 can be adjusted according to the number of analysis targets input on a regular basis and the scale of the analysis, making it easier to manage appropriate computing resources.
[0109] Upon receiving signals indicating the completion of processes 111 and 113, the main processing unit 350 executes process 105 and receives the corresponding potential. Subsequently, process 107 is executed in the input / output function unit 352, and the interatomic potential 227 and confidence level 233 are output from the output device 325.
[0110] Similarly, processes 115 and 117 are executed by the processing unit 320 stored in the processing unit cluster 360. The training dataset before the execution result inspection is passed to the primary database control unit 301 via the network interface 327 and network 310, and registered in the primary database 201. After registration, the processing unit 320 transmits an execution completion signal to the main processing unit 350 via network 310.
[0111] Upon receiving signals indicating the completion of processes 115 and 117, the main processing unit 350 passes the information necessary for testing the training dataset (before testing) 222 registered in the corresponding primary database 201 to the processing unit 320, and the processing unit 320 executes process 119.
[0112] In process 119, the processing unit 320 reads the training dataset (before inspection) 222 registered in the primary database 201 into the processing unit 320 via the primary database control unit 301 and the network 310, and stores it in memory 322. The training dataset (before inspection) stored in memory 322 is then inspected.
[0113] If all data in the training dataset (before testing) passes, the processing unit 320 continues to execute process 121. If the number of passing data in the training dataset (before testing) is above the threshold, the processing unit 320 continues to execute process 123. If the number of passing data in the training dataset (before testing) is below the threshold, the processing unit 320 continues to execute process 125.
[0114] In process 121, the processing unit 320 passes the training dataset stored in memory 322 to the secondary database control unit 303 via the network interface 327 and network 310, and registers it in the secondary database 203. The corresponding progress 231 of the training dataset 222 is updated via the primary database control unit 301. After that, the processing unit 320 transmits a signal indicating the end of execution to the main processing unit 350 via network 310.
[0115] In process 123, the processing unit 320 extracts only the data that passed from the training dataset stored in memory 322, reconstructs the training dataset, and stores it in memory 322. The reconstructed training dataset stored in memory 322 is passed to the secondary database control unit 303 via the network interface 327 and network 310, and registered in the secondary database 203. The corresponding progress 231 of the training dataset 222 is updated via the primary database control unit 301. After that, the processing unit 320 transmits a signal indicating the end of execution to the main processing unit 350 via network 310.
[0116] In process 125, the processing unit 320 rewrites some or all of the information necessary to generate the training dataset and stores it in memory 322. For example, when rewriting the training dataset calculation parameters 221, some or all of the parameters among the temperature or pressure to be calculated, the electronic state calculation parameters, and the molecular dynamics execution parameters are changed. When first-principles band calculation is used as the method for generating the training dataset, examples of electronic state calculation parameters include the plane wave cutoff energy, the sampling conditions for reciprocal lattice space vectors, and the selection of the calculation method for the electronic density of states and its associated parameters.
[0117] The molecular dynamics execution parameters consist of the selection of the dynamics algorithm and its associated parameters. Using the information necessary to generate the newly stored training dataset, the system prepares for the execution of process 117 and transmits the necessary parameters and the execution completion signal to the main processing unit 350 via the network 310.
[0118] Upon receiving signals indicating the completion of processes 121 and 123, the main processing unit 350 verifies that the corresponding training dataset (checked) is present in the secondary database. If there are no problems, it performs process 111 to generate the parameters necessary for training. If there are insufficient training datasets (checked), it temporarily suspends the process, waits for signals indicating the completion of processes 121 and 123 of other training datasets (checked), and resumes processing as soon as it receives these completion signals.
[0119] Once processing 111 in the main processing unit 350 is complete and all the parameters necessary for potential generation are available, the parameters are passed to the processing unit 320, which then executes processing 113. The resulting interatomic potential is passed to the tertiary database control unit 305 via the network interface 327 and network 310, and registered in the tertiary database 205. After registration, the processing unit 320 transmits a signal indicating the end of execution to the main processing unit 350 via network 310.
[0120] Upon receiving the signal indicating the completion of process 125, the main processing unit 350 passes the recalculation parameters generated in process 125 to the processing unit 320, which then executes process 117.
[0121] As described above, according to the embodiments of this specification, three pieces of information can be appropriately shared between potential developers and potential users: whether a training dataset correctly related to the analysis target is generated or collected, whether interatomic potentials are correctly generated based on the training dataset, and whether the generated interatomic potentials are being used correctly. For example, potential users and system administrators can create, manage, and use interatomic potentials while being aware of the reliability and progress of the target interatomic potential.
[0122] According to the examples described herein, it becomes possible to create the interatomic potentials necessary to perform molecular dynamics simulations of the target of analysis specified by the potential user without requiring high levels of expertise in constructing training datasets, thereby realizing an environment that enables the execution of highly accurate simulations.
[0123] It should be noted that the present invention is not limited to the embodiments described above, and various modifications are included. For example, the embodiments described above are explained in detail for a better understanding of the present invention, and are not necessarily limited to those having all of the configurations described. Furthermore, it is possible to replace parts of the configuration of one embodiment with the configuration of another embodiment, and it is possible to add configurations from other embodiments to the configuration of one embodiment. In addition, it is possible to add, delete, or replace parts of the configuration of each embodiment with other configurations.
[0124] Furthermore, each of the above configurations, functions, processing units, and processing means may be implemented in hardware, either partially or entirely, by designing them as integrated circuits, for example. Alternatively, each of the above configurations and functions may be implemented in software by a processor interpreting and executing programs that implement each function. Information such as programs, tables, and files that implement each function can be stored in storage devices such as non-volatile semiconductor memory, hard disk drives, and SSDs (Solid State Drives), or in computer-readable non-temporary data storage media such as IC cards, SD cards, and DVDs.
[0125] Furthermore, the control lines and information lines shown are those deemed necessary for explanation purposes, and do not necessarily represent all control lines and information lines in the actual product. In practice, it can be assumed that almost all components are interconnected. [Explanation of Symbols]
[0126] 201 Primary Database 203 Secondary Database 205 3rd Database 320 Processing Unit 321 processors 322 Main Memory 323 Auxiliary memory 481 Input Information Section
Claims
1. An interatomic potential learning system, One or more processors, Includes one or more storage devices, The one or more storage devices mentioned above are A primary database for storing pre-test training datasets, A secondary database for storing post-test training datasets, A tertiary database that stores interatomic potentials, and stores the following: The one or more processors mentioned above are: From user input information, including information about the system to be analyzed, request information is generated that indicates the required interatomic potential and the required training data. Based on the aforementioned request information, the required interatomic potential is queried from the tertiary database. If the requested interatomic potential exists in the tertiary database, the requested interatomic potential is read from the tertiary database and provided to the user. If the requested interatomic potential does not exist in the tertiary database, the post-test training dataset necessary for generating the requested interatomic potential is queried from the secondary database based on the request information. If the necessary post-test training dataset exists in the secondary database, the required interatomic potential is generated using the necessary post-test training dataset and provided to the user. If the required post-test training dataset does not exist in the secondary database, a new training dataset is generated based on the request information and registered in the primary database. The new training dataset is inspected to determine whether it passes or fails, and the passing new training dataset is stored in the secondary database. The requested interatomic potential is generated using the post-test training dataset of the secondary database, which includes the aforementioned new training dataset, and provided to the user. Interatomic potential learning system.
2. An interatomic potential learning system according to claim 1, The one or more processors mentioned above are: The output device outputs information on one or more candidates for the required interatomic potential and the confidence level for each of the one or more candidates. The candidate selected from the one or more candidates mentioned above is provided to the user as the required interatomic potential. Interatomic potential learning system.
3. An interatomic potential learning system according to claim 1, The one or more processors mentioned above are: The output device outputs information on one or more candidates from the necessary post-test training dataset and the confidence level for each of the one or more candidates. The required interatomic potential is generated by a candidate selected from the one or more candidates mentioned above. Interatomic potential learning system.
4. An interatomic potential learning system according to claim 1, The one or more processors mentioned above are: The output device outputs information indicating the inspection status of the aforementioned new training dataset. Interatomic potential learning system.
5. An interatomic potential learning system according to claim 1, The one or more processors determine whether to pass or fail based on the presence or absence of abnormalities in energy and / or atomic arrangement. Interatomic potential learning system.
6. An interatomic potential learning system according to claim 1, The user input information includes information about the system to be analyzed and information about the pass / fail judgment criteria. The information of the system to be analyzed includes information on the elements contained in the system and the temperature and / or pressure range of the analysis. Interatomic potential learning system.
7. An interatomic potential learning system according to claim 1, The aforementioned request information includes elements, temperature range, and structural information of the material used in the training data. Interatomic potential learning system.
8. A system that provides an interatomic potential, The aforementioned system, A primary database for storing pre-test training datasets, A secondary database for storing post-test training datasets, A tertiary database that stores interatomic potentials, and stores the following: The above method is performed by the system, From user input information, including information about the system to be analyzed, request information is generated that indicates the required interatomic potential and the required training data. Based on the aforementioned request information, the required interatomic potential is queried from the tertiary database. If the requested interatomic potential exists in the tertiary database, the requested interatomic potential is read from the tertiary database and provided to the user. If the requested interatomic potential does not exist in the tertiary database, the post-test training dataset necessary for generating the requested interatomic potential is queried from the secondary database based on the request information. If the necessary post-test training dataset exists in the secondary database, the required interatomic potential is generated using the necessary post-test training dataset and provided to the user. If the required post-test training dataset does not exist in the secondary database, a new training dataset is generated based on the request information and registered in the primary database. The new training dataset is inspected to determine whether it passes or fails, and the passing new training dataset is stored in the secondary database. The requested interatomic potential is generated using the post-test training dataset of the secondary database, which includes the aforementioned new training dataset, and provided to the user. A method that includes the act of doing so.