Information processing program, information processing method, and information processing device
By employing random noise labels in a semi-supervised learning method for machine learning interatomic potentials, the method addresses processing time challenges, enhancing training efficiency and accuracy for predicting atomic energy and forces.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- FUJITSU LTD
- Filing Date
- 2024-10-01
- Publication Date
- 2026-04-13
AI Technical Summary
Conventional techniques face challenges in implementing semi-supervised learning for machine learning interatomic potentials, particularly due to increased processing times required for automatic label generation in density functional theory, which hinders efficient training of models.
An information processing method that combines supervised and self-supervised learning by generating random noise labels for unlabeled data, allowing for efficient semi-supervised training of models to predict energy and atomic forces using a first dataset with labeled data and a second dataset with unlabeled data, where random noise substitutes for the missing labels.
This approach reduces processing time and cost for semi-supervised learning, enabling more efficient training of models for predicting atomic energy and forces, thereby improving inference accuracy.
Smart Images

Figure 2026063916000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing program, an information processing method, and an information processing apparatus.
Background Art
[0002] Conventionally, there is a technique for training a model that outputs a label corresponding to input data. The model is, for example, a machine learning interatomic potential in the field of first-principles calculation or molecular dynamics. For example, there is a technique called "supervised learning" in which a model is trained based on teacher data that associates a sample of data with the correct answer of a pre-prepared label. Also, for example, there is a technique called "self-supervised learning" in which, for a sample of data, the correct answer of a label is automatically generated, and the model is trained based on teacher data that associates the sample of data with the automatically generated correct answer of the label. Also, for example, there is a technique called "semi-supervised learning" in which supervised learning and self-supervised learning are used in combination.
[0003] As a prior art, for example, there is one in which a model that outputs at least energy information in response to the input of atomic information is trained using training data including information on substances and training data including information on two-body potentials.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] However, conventional techniques make it difficult to implement semi-supervised learning for machine learning interatomic potentials. For example, when automatically generating correct labels according to density functional theory, the processing time required for automatic label generation tends to increase, which in turn increases the processing time required for semi-supervised learning.
[0006] In one aspect, the present invention aims to reduce the processing time required for semi-supervised learning. [Means for solving the problem]
[0007] According to one embodiment, an information processing program, information processing method, and information processing device are proposed to perform semi-supervised learning on a model that generates output data representing the energy of a system and the force acting on an atom in response to input data representing a system containing atoms. This model is obtained by acquiring a first dataset, which consists of first data sets, each containing a sample representing a system containing atoms, with a first label associated with the sample representing the system's energy and the force acting on the atom; acquiring a second dataset, which consists of second data sets, each containing a sample representing a system containing atoms; generating a second label, associated with the second data set, for each second data set, which substitutes for at least one of the energy of the system containing atoms and the force acting on the atom; and generating output data representing the energy of a system and the force acting on an atom in response to input data representing a system containing atoms. [Effects of the Invention]
[0008] According to one embodiment, it becomes possible to reduce the processing time required for semi-supervised learning. [Brief explanation of the drawing]
[0009] [Figure 1] Figure 1 is an explanatory diagram showing one embodiment of the information processing method according to the embodiment. [Figure 2]Figure 2 is an explanatory diagram showing an example of the information processing system 200. [Figure 3] Figure 3 is a block diagram showing an example of the hardware configuration of the information processing device 100. [Figure 4] Figure 4 is a block diagram showing an example of the functional configuration of the information processing device 100. [Figure 5] Figure 5 is an explanatory diagram showing the training process for Model 500. [Figure 6] Figure 6 is an explanatory diagram (part 1) showing an example of MLIAP620. [Figure 7] Figure 7 is an explanatory diagram (part 2) showing an example of MLIAP620. [Figure 8] Figure 8 is an explanatory diagram (part 1) showing an example of S first data points. [Figure 9] Figure 9 is an explanatory diagram (part 2) showing an example of S first data points. [Figure 10] Figure 10 is an explanatory diagram (part 3) showing an example of S first data points. [Figure 11] Figure 11 is an explanatory diagram (part 1) showing an example of training MLIAP620. [Figure 12] Figure 12 is an explanatory diagram (part 2) showing an example of training MLIAP620. [Figure 13] Figure 13 is an explanatory diagram showing an example of the effect. [Figure 14] Figure 14 is a flowchart showing an example of the overall processing procedure. [Figure 15] Figure 15 is a flowchart showing an example of an individual processing procedure. [Modes for carrying out the invention]
[0010] Embodiments of the information processing program, information processing method, and information processing apparatus according to the present invention will be described in detail below with reference to the drawings.
[0011] (An embodiment of the information processing method according to the embodiment) FIG. 1 is an explanatory diagram showing an example of an information processing method according to an embodiment. The information processing apparatus 100 is a computer for assisting semi-supervised learning. The information processing apparatus 100 is, for example, a server or a PC (Personal Computer).
[0012] Semi-supervised learning is one of the techniques called machine learning for training a model that outputs a label corresponding to the input data. The model is a calculation formula including parameters. The model is, for example, a neural network. Specifically, the model is a machine learning interatomic potential in the field such as ab initio calculation or molecular dynamics. In the following description, the machine learning interatomic potential may be denoted as "MLIAP (Machine Learning InterAtomic Potential)".
[0013] The label represents, for example, the features of the data. The label may represent, for example, the result of classifying the data. Specifically, when the model to be trained is MLIAP, the data represents a system including atoms. And the label represents the energy of the system and the force acting on the atoms. The system is, for example, the structure of a molecule. The force is, for example, a three-dimensional vector. Therefore, MLIAP, for example, when receiving an input of data representing a system including atoms, outputs a label representing the energy of the system and the force acting on the atoms corresponding to the data.
[0014] Specifically, MLIAP has an encoder that calculates feature amounts of the system, an energy head that calculates the energy of the system from the feature amounts of the system, and a force head that calculates the force acting on the atoms from the feature amounts of the system. Specifically, MLIAP calculates the feature amounts of the system based on the element of each atom and the information around the atom by the encoder. The element is the type of atom. The information around the atom is, for example, a graph representing the relative positional relationship between atoms. Specifically, MLIAP calculates the energy of the system based on the feature amounts of the system by the energy head. Specifically, MLIAP calculates the force acting on the atoms based on the feature amounts of the system by the force head.
[0015] Training is, for example, to update the parameters of a model. Training is also called learning. Training utilizes techniques such as mathematical optimization. Specifically, training utilizes methods such as back-propagation and stochastic gradient descent. A model generating labels corresponding to data is also called inference.
[0016] Semi-supervised learning is a technique that combines supervised learning and self-supervised learning. Supervised learning and self-supervised learning are one of the techniques called machine learning. Semi-supervised learning is also called Semi-Supervised Learning.
[0017] Supervised learning is applied to situations where the correct labels corresponding to data samples are prepared in advance. Samples are also called samples. Supervised learning trains a model based on, for example, a dataset that collects teacher data representing the association between data samples and the correct labels prepared in advance. Specifically, in the case where the model to be trained is MLIAP, supervised learning automatically generates the correct labels according to density functional theory. In the following description, density functional theory may be denoted as "DFT (Density Functional Theory)". In the following description, supervised learning may be denoted as "SL (Supervised Learning)".
[0018] Self-supervised learning is applied to situations where the correct labels corresponding to data samples are not prepared in advance. Self-supervised learning is applied to situations where, for example, the time required to prepare the correct labels corresponding to data samples is longer than the processing time required to train the model, and it is difficult to prepare the correct labels. Self-supervised learning, for example, automatically generates the correct labels for data samples. Specifically, random changes are made to the positions and elements of the atoms in the sample, and the content of the changes is used as the correct label.
[0019] Self-supervised learning trains a model based on a dataset containing training data, such as data samples, that associate automatically generated correct labels with the data itself. Because self-supervised learning does not require pre-preparing correct labels, it can reduce the time and cost associated with preparing labels compared to supervised learning. In the following explanation, self-supervised learning may be referred to as "SSL (Self-Supervised Learning)".
[0020] Semi-supervised learning combines the supervised learning and self-supervised learning methods described above. Specifically, it involves training a model using both data samples with pre-defined labels and data samples without pre-defined labels.
[0021] The aforementioned machine learning techniques, such as supervised learning, self-supervised learning, and semi-supervised learning, are used, for example, in methods called pre-training or fine-tuning. Pre-training is pre-training. Fine-tuning is fine-tuning.
[0022] Pre-training is a method of training a model, for example, based on a relatively large dataset. Specifically, pre-training involves training a model based on a dataset of training data that associates sample documents written in an arbitrary language with the corresponding labels, and then simulating data of documents written in various languages.
[0023] Fine-tuning is a technique for further training a model that has already been trained through pre-training to suit a specific task. A task is the problem of generating labels that correspond to samples. Fine-tuning can be done by training a model on a relatively small dataset related to a specific task. Specifically, fine-tuning can be done by training a model to fit data on Japanese documents, using a dataset of training data that associates Japanese documents with the labels that correspond to those documents.
[0024] The combination of pre-training and fine-tuning is expected to reduce the time and cost associated with improving the inference accuracy of a model. Specifically, pre-training preferably utilizes semi-supervised learning to reduce the time and cost associated with preparing large datasets. Specifically, fine-tuning preferably utilizes supervised learning to make the model more adaptable to specific tasks.
[0025] Conventional technologies can make supervised learning difficult in some cases. For example, it is difficult to perform supervised learning on MLIAP using large datasets. For instance, when generating ground truth labels according to DFT, the processing time required to generate the ground truth labels tends to increase, which leads to a problem of increased processing time for preparing data for supervised learning. Specifically, when creating the existing dataset Open Catalyst 2020, which is related to catalysts, 265 x 10 DFTs were performed, consuming 200 x 10 hours of processing time.
[0026] Therefore, it is sometimes preferable to perform semi-supervised learning that utilizes not only data samples with pre-defined labels, but also data samples without pre-defined labels. In this case, one possible approach is to use random noise as the ground labels. However, with this approach, it has not been proposed how to best combine pre-defined ground labels and ground labels representing random noise when performing semi-supervised learning on MLIAP.
[0027] Therefore, this embodiment describes an information processing method that can reduce the processing time required for semi-supervised learning. According to this information processing method, for example, it is possible to reduce the cost of preparing correct labels, and to perform semi-supervised learning by using both data samples with pre-prepared correct labels and data samples without pre-prepared correct labels.
[0028] In Figure 1, the information processing device 100 stores model 110. Model 110 generates output data representing the energy of a system and the forces acting on the atoms, in response to input data representing a system containing atoms. Model 110 is the subject of training using semi-supervised learning. The input data represents, for example, the structure of a system containing atoms. Specifically, the input data represents the positional relationships between atoms in a system containing atoms. Model 110 has parameters 111.
[0029] (1-1) The information processing device 100 acquires the first dataset 120. The first dataset 120 is a data set that collects the first data. The first data includes a sample 121 representing a system containing atoms, associated with a first label 122 representing the energy of the system and the force acting on the atoms. The information processing device 100 acquires the second dataset 130. The second dataset 130 is a data set that collects the second data. The second data includes a sample 131 representing a system containing atoms. The second data does not include labels representing the energy of the system and the force acting on the atoms.
[0030] (1-2) For each second data contained in the acquired second dataset 130, the information processing device 100 generates a second label 132 that represents a feature of the second data, associating it with the second data. The feature substitutes for at least one of the energy of the system containing atoms and the force acting on the atoms. The feature substitutes for the energy of the system containing atoms, including a truth value indicating whether or not the system contains a particular atom. The feature substitutes for the force acting on the atoms, including noise.
[0031] The information processing device 100 generates random noise that substitutes for the forces acting on atoms for each second data in the acquired second dataset 130. The information processing device 100 generates a second label 132 representing the generated random noise for each second data, associating it with the second data. The information processing device 100 also updates the second data by adding the generated random noise to each second data.
[0032] (1-3) The information processing device 100 sets up a tensor 140 in which a first label 122 corresponding to each first data in the first dataset 120 and a second label 132 corresponding to each second data in the second dataset 130 are arranged. The information processing device 100 sets up, for example, the first tensor and the second tensor.
[0033] The first tensor is a matrix in which the energy of the system represented by the first label 122 corresponding to each first data point, and the energy of the system represented by the second label 132 corresponding to each second data point, are replaced by features or specific values indicating that such features do not exist. The specific value is, for example, NaN. Each column of the first tensor uniquely corresponds to either the first data point or the second data point.
[0034] The second tensor is arranged in a matrix of the forces acting on the atoms represented by the first label 122 corresponding to each first data point, and features that substitute for the forces acting on the atoms represented by the second label 132 corresponding to each second data point, or specific values indicating that such features do not exist. The specific value is, for example, NaN. Each column of the second tensor uniquely corresponds to an atom. This allows the information processing device 100 to effectively use the automatically generated second label 132 in conjunction with the pre-prepared first label 122, enabling semi-supervised learning.
[0035] (1-4) The information processing device 100 performs semi-supervised learning on the model 110 based on the set tensor 140. The information processing device 100 calculates a loss 150 based on the set first tensor and the set second tensor using the model 110. The information processing device 100 trains the model 110 by performing semi-supervised learning on the model 110 based on the calculated loss 150. This allows the information processing device 100 to reduce the processing time required for semi-supervised learning. The information processing device 100 can efficiently improve the inference accuracy of the model 110.
[0036] Here, we have described the case where the functions of the information processing device 100 are realized by a single computer, but this is not the only case. For example, the functions of the information processing device 100 may be realized through the collaboration of multiple computers. For example, the functions of the information processing device 100 may be realized on the cloud.
[0037] Here, we have described a case in which the information processing device 100 generates a second label 132 representing the features of each second data, associating it with the second data; however, it is not limited to this case. For example, another computer may generate a second label 132 representing the features of each second data, associating it with the second data. The information processing device 100 may also obtain the second label 132 from the other computer.
[0038] (An example of information processing system 200) Next, using Figure 2, we will describe an example of an information processing system 200 to which the information processing device 100 shown in Figure 1 is applied.
[0039] Figure 2 is an explanatory diagram showing an example of an information processing system 200. In Figure 2, the information processing system 200 includes an information processing device 100 and one or more client devices 201.
[0040] In the information processing system 200, the information processing device 100 and the client device 201 are connected via a wired or wireless network 210. The network 210 may be, for example, a LAN (Local Area Network), a WAN (Wide Area Network), or the Internet.
[0041] The information processing device 100 is a computer for supporting semi-supervised learning. The information processing device 100 stores models. The information processing device 100 stores labeled datasets, which are collections of labeled data containing data samples and corresponding correct labels. The information processing device 100 also stores unlabeled datasets, which are collections of unlabeled data containing data samples. The information processing device 100 stores training programs that train models using both labeled and unlabeled data.
[0042] The information processing device 100 receives a training request that requests to perform semi-supervised learning. The information processing device 100 receives a training request, for example, by receiving the training request from the client device 201. In response to the training request, the information processing device 100 uses a training program to train a model by performing semi-supervised learning based on a labeled dataset and an unlabeled dataset. The information processing device 100 may output the trained model. The information processing device 100 may, for example, provide the trained model to the client device 201.
[0043] The information processing device 100 may receive an inference request that requests the generation of labels corresponding to input data. The inference request includes, for example, the input data. The information processing device 100 receives the inference request, for example, by receiving it from the client device 201. In response to the inference request, the information processing device 100 uses a trained model to generate labels corresponding to the input data. The information processing device 100 sends the generated labels to the client device 201. The information processing device 100 is, for example, a server or a PC.
[0044] The client device 201 is a computer that sends training requests or inference requests, etc., to the information processing device 100. For example, the client device 201 generates a training request in response to user input and sends it to the information processing device 100. After sending the training request, the client device 201 may receive a trained model from the information processing device 100. This allows the client device 201 to make the trained model available on its own device.
[0045] The client device 201 acquires input data, for example, in response to user input. The client device 201 generates an inference request containing the acquired input data, for example, in response to user input, and sends it to the information processing device 100. After sending the inference request, the client device 201 may receive a label corresponding to the input data from the information processing device 100. The client device 201 outputs the label corresponding to the input data so that the user can refer to it. In this way, the client device 201 makes the label corresponding to the input data available to the user. The client device 201 may be, for example, a PC, a tablet terminal, a smartphone, or a wearable device.
[0046] This explanation describes a case where the information processing device 100 is a different device from the client device 201, but it is not limited to this case. For example, the information processing device 100 may have the functionality of a client device 201 and may operate as a client device 201. In this case, the information processing system 200 does not need to include a client device 201.
[0047] (Example of hardware configuration of information processing device 100) Next, an example of the hardware configuration of the information processing device 100 will be described using Figure 3.
[0048] Figure 3 is a block diagram showing an example of the hardware configuration of the information processing device 100. In Figure 3, the information processing device 100 includes a CPU (Central Processing Unit) 301, a memory 302, and a network interface 303. The information processing device 100 also includes a recording medium interface 304, a recording medium 305, a display 306, and an input device 307. Each component is connected by a bus 300.
[0049] Here, the CPU 301 is responsible for the overall control of the information processing device 100. The memory 302 includes, for example, ROM (Read Only Memory), RAM (Random Access Memory), and flash ROM. Specifically, for example, flash ROM and ROM store various programs, and RAM is used as the work area for the CPU 301. Programs stored in memory 302 are loaded into the CPU 301, causing the CPU 301 to execute the coded processes.
[0050] The network interface 303 is connected to network 210 via a communication line, and then connects to other computers via network 210. The network interface 303 manages the internal interface with network 210 and controls the input and output of data from other computers. The network interface 303 is, for example, a modem or a LAN adapter.
[0051] The recording medium interface (I / F) 304 controls the reading and writing of data to the recording medium 305 according to the control of the CPU 301. The recording medium interface (I / F) 304 is, for example, a disk drive, an SSD (Solid State Drive), or a USB (Universal Serial Bus) port. The recording medium 305 is a non-volatile memory that stores the data written under the control of the recording medium interface (I / F) 304. The recording medium 305 is, for example, a disk, semiconductor memory, or USB memory. The recording medium 305 may be detachable from the information processing device 100.
[0052] Display 306 displays data such as cursors, icons, toolboxes, documents, images, or functional information. Display 306 is, for example, a CRT (Cathode Ray Tube), a liquid crystal display, or an organic EL (Electroluminescence) display. Input device 307 has keys for inputting characters, numbers, or various instructions, and performs data input. Input device 307 is, for example, a keyboard or a mouse. Input device 307 may also be, for example, a touch panel input pad or a numeric keypad.
[0053] The information processing device 100 may have, in addition to the components described above, a camera, for example. Furthermore, the information processing device 100 may have, in addition to the components described above, a printer, scanner, microphone, or speaker, for example. Also, the information processing device 100 may have multiple recording medium interfaces 304 and recording mediums 305, for example. Furthermore, the information processing device 100 does not necessarily have, for example, a display 306 or an input device 307. Also, the information processing device 100 does not necessarily have, for example, recording medium interfaces 304 and recording mediums 305.
[0054] (Example hardware configuration for client device 201) The hardware configuration example for client device 201 is the same as the hardware configuration example for information processing device 100 shown in Figure 3, so the explanation is omitted.
[0055] (Example of the functional configuration of the information processing device 100) Next, an example of the functional configuration of the information processing device 100 will be described using Figure 4.
[0056] Figure 4 is a block diagram showing an example of the functional configuration of the information processing device 100. The information processing device 100 includes a storage unit 400, an acquisition unit 401, a generation unit 402, a setting unit 403, a training unit 404, and an output unit 405.
[0057] The storage unit 400 is implemented by a storage area such as the memory 302 or recording medium 305 shown in Figure 3. The following description will focus on the case where the storage unit 400 is included in the information processing device 100, but is not limited to this case. For example, the storage unit 400 may be included in a device different from the information processing device 100, and the contents of the storage unit 400 may be accessible from the information processing device 100.
[0058] The acquisition unit 401 to the output unit 405 function as an example of a control unit. Specifically, the acquisition unit 401 to the output unit 405 realize their functions, for example, by having the CPU 301 execute a program stored in a storage area such as the memory 302 or recording medium 305 shown in Figure 3, or by using the network I / F 303. The processing results of each functional unit are stored in a storage area such as the memory 302 or recording medium 305 shown in Figure 3.
[0059] The storage unit 400 stores various information that is referenced or updated in the processing of each functional unit. For example, the storage unit 400 stores a model. Specifically, the storage unit 400 stores a calculation formula that serves as the model and the values of the parameters included in the calculation formula. The model is pre-set by the user, for example. The model may be acquired by, for example, the acquisition unit 401.
[0060] The storage unit 400 stores, for example, a first dataset. The first dataset is a collection of first data. The first data includes a sample representing a system containing atoms, associated with a first label representing the energy of the system and the force acting on the atoms. The first dataset is pre-set by, for example, the user. The first dataset may be acquired, for example, by the acquisition unit 401.
[0061] The storage unit 400 stores, for example, a second dataset. The second dataset is a collection of data comprising the second data. The second data includes samples representing systems containing atoms. The second data is data for which, for example, labels representing the energy of a system and the force acting on an atom, corresponding to a sample representing a system containing atoms, have not been pre-prepared by the user. The second data includes, for example, samples representing systems containing atoms, but does not include labels representing the energy of the system and the force acting on an atom. The second dataset is pre-set by the user, for example. The second dataset may be acquired, for example, by the acquisition unit 401.
[0062] The acquisition unit 401 acquires various types of information used in the processing of each functional unit. The acquisition unit 401 stores the acquired information in the storage unit 400 or outputs it to each functional unit. The acquisition unit 401 may also output the information stored in the storage unit 400 to each functional unit. The acquisition unit 401 acquires various types of information, for example, based on user input. The acquisition unit 401 may also receive various types of information from a device other than the information processing device 100, for example.
[0063] The acquisition unit 401 acquires, for example, a training request that requests training a model. The training request may include, for example, a model. The training request may include, for example, a first dataset. The training request may include, for example, a second dataset. Specifically, the acquisition unit 401 acquires a training request by accepting input of a training request. Specifically, the acquisition unit 401 may acquire a training request by receiving a training request from another computer. The other computer is, for example, a client device 201.
[0064] The acquisition unit 401 acquires a model, for example. Specifically, the acquisition unit 401 acquires a model by extracting it from a training request. Specifically, the acquisition unit 401 may acquire a model by accepting a model input. Specifically, the acquisition unit 401 may acquire a model by receiving a model from another computer. The other computer is, for example, a client device 201.
[0065] The acquisition unit 401 acquires, for example, a first dataset. Specifically, the acquisition unit 401 acquires the first dataset by extracting it from a training request. Specifically, the acquisition unit 401 may acquire the first dataset by accepting input of the first dataset. Specifically, the acquisition unit 401 may acquire the first dataset by receiving the first dataset from another computer. The other computer is, for example, a client device 201.
[0066] The acquisition unit 401 acquires, for example, a second dataset. Specifically, the acquisition unit 401 acquires the second dataset by extracting it from the training request. Specifically, the acquisition unit 401 may acquire the second dataset by accepting input for the second dataset. Specifically, the acquisition unit 401 may acquire the second dataset by receiving the second dataset from another computer. The other computer is, for example, a client device 201.
[0067] The acquisition unit 401 may receive a start trigger to initiate processing in any of the functional units. A start trigger may be, for example, a predetermined operation input by a user. A start trigger may also be, for example, the receipt of predetermined information from another computer. A start trigger may also be, for example, the output of predetermined information by any of the functional units. The acquisition unit 401 accepts, for example, the acquisition of a training request as a start trigger to initiate processing in the generation unit 402, the setting unit 403, and the training unit 404.
[0068] The generation unit 402 generates a second label for each second data point included in the second dataset, which represents a feature quantity related to the second data point, substituting for at least one of the energy of the system containing the atoms or the force acting on the atoms, and associates this label with the second data point.
[0069] The generation unit 402 generates random noise for each second data point in the second dataset, which substitutes for the forces acting on the atoms. The generation unit 402 updates each second data point by adding the generated random noise to it. The generation unit 402 generates a second label for each second data point, which represents the generated random noise that substitutes for the forces acting on the atoms, and associates it with the second data point. This allows the generation unit 402 to automatically generate the second label, making each second data point available for training the model.
[0070] The generation unit 402 updates each second data in the second dataset by replacing the atoms in the system corresponding to that second data with other atoms. For each second data, the generation unit 402 generates a second label, which represents a flag indicating whether or not a substitution has occurred for each atom, associating it with the second data. This allows the generation unit 402 to automatically generate the second labels, making each second data available for training the model.
[0071] The generation unit 402 generates a second label for each second data point included in the second dataset, which represents a truth value indicating whether or not the second data point contains a specific atom, and substitutes for the energy of the system containing the atom. This allows the generation unit 402 to automatically generate the second labels and make each second data point available for training the model.
[0072] The configuration unit 403 sets up a tensor in which a first label corresponding to each first data in the first dataset and a second label corresponding to each second data in the second dataset are placed. For example, the configuration unit 403 sets up the first tensor and the second tensor based on the first dataset and the second dataset.
[0073] The first tensor is obtained by arranging, in a matrix, the energy of the system represented by the first label corresponding to each first data point, and a feature that replaces the energy of the system represented by the second label corresponding to each second data point, or a specific value indicating that such a feature does not exist. In the first tensor, for example, each column uniquely corresponds to either the first data point or the second data point.
[0074] The second tensor is obtained by arranging in a matrix the forces acting on the atoms represented by the first label corresponding to each first data point, and features that substitute for the forces acting on the atoms represented by the second label corresponding to each second data point, or specific values that indicate the absence of such features. In the second tensor, for example, each column uniquely corresponds to an atom. This allows the setting unit 403 to set up a tensor in a predetermined format so that each first data point and each second data point can be used in training the model.
[0075] The configuration unit 403 uses the model to calculate a feature set relating to the entire first dataset and the second dataset. The feature set is a graph that represents the entire system, where each first data point in the first dataset represents the system, and each second data point in the second dataset represents the system. The configuration unit 403 calculates the feature set, for example, by obtaining the feature set generated by the encoder of the model that has the configured graph as input.
[0076] The configuration unit 403 calculates a first estimate of the energy of the system including the atom and a second estimate of the force acting on the atom, based on the calculated feature set. The configuration unit 403 calculates the first estimate by, for example, obtaining the first estimate generated by the energy head of the model to which the feature set has been input. The configuration unit 403 calculates the second estimate by, for example, obtaining the second estimate generated by the force head of the model to which the feature set has been input. In this way, the configuration unit 403 can prepare the first estimate and the second estimate to be used for training the model.
[0077] The training unit 404 trains the model by performing semi-supervised learning on the model based on the set tensor. Training involves updating the model's parameters. The training unit 404 calculates the first loss, for example, using a first loss function, based on the first tensor set by the setting unit 403 and the first estimate calculated by the setting unit 403. The training unit 404 calculates the second loss, for example, using a second loss function, based on the second tensor set by the setting unit 403 and the second estimate calculated by the setting unit 403.
[0078] The training unit 404 performs semi-supervised learning on the model, for example, based on the calculated first loss and the calculated second loss. This allows the training unit 404 to reduce the processing time required when performing semi-supervised learning. Furthermore, the training unit 404 can use second data, for which labels have not been pre-prepared by the user, to train the model. As a result, the training unit 404 can train the model efficiently.
[0079] The output unit 405 outputs the processing result of at least one of the functional units. The output format can be, for example, display on a display, print to a printer, transmit to an external device via the network interface 303, or store in a storage area such as the memory 302 or recording medium 305. This allows the output unit 405 to notify the user of the processing result of at least one of the functional units, thereby improving the usability of the information processing device 100.
[0080] The output unit 405 outputs, for example, the model trained by the training unit 404. Specifically, the output unit 405 outputs the model so that it can be viewed by the user. Specifically, the output unit 405 may also send the model to another computer, such as the client device 201. This allows the output unit 405 to make the model available externally.
[0081] (Example of operation of the information processing device 100) Next, we will explain an example of the operation of the information processing device 100 using Figures 5 to 13. First, we will explain the process by which the information processing device 100 trains the model 500 using Figure 5.
[0082] In the following explanation, for convenience, when a subscript is added to a specific character, it may be written as "(specific character)_(subscript)". Also, for convenience, when a superscript is added to a specific character, it may be written as "(specific character)^(superscript)". Also, for convenience, when a "~" is added directly above a specific character, it may be written as "(specific character)~".
[0083] Figure 5 is an explanatory diagram showing the flow of training model 500. In Figure 5, the information processing device 100 stores model 500. Model 500 is, for example, the MLIAP620, which will be described later in Figure 6. Model 500 has parameters 501. The information processing device 100 stores, for example, the calculation formula that becomes model 500 and the values of the parameters 501 included in the calculation formula. Training is updating model 500. Specifically, training is updating the parameters 501.
[0084] The information processing device 100 stores dataset 510 and dataset 520. Dataset 510 is a data set that collects multiple primary data representing a relatively broad range of knowledge. Multiple primary data is a data set that collects multiple types of primary data, regardless of the actual use of model 500. Multiple primary data includes, for example, labeled data. Labeled data includes a sample of data to be input to model 500 and the correct label corresponding to that sample. Multiple primary data also includes, for example, unlabeled data. Unlabeled data includes a sample of data to be input to model 500. Unlabeled data does not include the correct label.
[0085] Dataset 520 is a collection of multiple secondary datasets that represent relatively narrow knowledge. These secondary datasets include, for example, a collection of secondary datasets of types that match the actual elements of model 500. These secondary datasets include, for example, labeled data.
[0086] The information processing device 100 trains the model 500 by performing pre-training on the model 500 based on the dataset 510. Specifically, the training optimizes the parameters 501 based on the loss 511.
[0087] Subsequently, the information processing device 100 further trains the model 500 by performing fine-tuning on the pre-trained model 500 based on the dataset 520. Specifically, the training optimizes the parameters 501 based on the loss 521. Next, we will move on to explaining Figures 6 and 7 and describe an example of MLIAP620.
[0088] Figures 6 and 7 are explanatory diagrams illustrating an example of MLIAP620. In Figure 6, MLIAP620 has a parameter 621, which corresponds to parameter 501. MLIAP620 has the function of generating a label 630 corresponding to a sample 610, depending on the sample 610 that is input. The sample 610 is included, for example, in the dataset 601. In the example in Figure 6, the sample 610 represents the position of an atom forming a system and the element of that atom. The label 630 represents the energy of the system and the force acting on the atom. Next, we will move on to the explanation of Figure 7.
[0089] As shown in Figure 7, the MLIAP620 specifically comprises an encoder 710, an energy head 720, and a force head 730. The encoder 710 has parameter 711. The energy head 720 has parameter 721. The force head 730 has parameter 731.
[0090] Encoder 710 refers to sample 610 and calculates the feature of atom 0 based on atom 0, information about the area around atom 0, and parameter 711. Encoder 710 refers to sample 610 and calculates the feature of atom 1 based on atom 1, information about the area around atom 1, and parameter 711. Energy head 720 calculates the energy of the system based on the feature of atom 0, the feature of atom 1, and parameter 721. Force head 730 calculates the force acting on atom 0 and the force acting on atom 1 based on the feature of atom 0, the feature of atom 1, and parameter 731. MLIAP620 generates a label 630 based on the energy of the system, the force acting on atom 0, and the force acting on atom 1.
[0091] Next, using Figures 8 to 12, we will explain an example in which the information processing device 100 performs semi-supervised learning on MLIAP620 during pre-training. Here, the dataset 510 is specifically assumed to contain D first data points. Furthermore, the dataset 510 is assumed to encompass multiple datasets, each containing first data points of a different type. These multiple datasets are, for example, dataset 800, dataset 900, and dataset 1000. The information processing device 100 randomly selects S first data points from dataset 510 to be used when performing semi-supervised learning.
[0092] The information processing device 100 calculates a feature that replaces at least one of the system's energy or the force acting on the atoms for the unlabeled data among the S first data points, generates a label representing the calculated feature, and adds it to the unlabeled data. The feature is, for example, a truth value that replaces the system's energy. The feature is, for example, noise that replaces the force acting on the atoms. The noise is added to the sample in the unlabeled data.
[0093] The information processing device 100 assigns a sequence of atomic indices 0, 1, ..., N-1 to each of the N atoms in the S first data set. The information processing device 100 sets up a tensor Z ∈ N^N in which the atomic numbers of each of the N atoms in the S first data set are arranged in the order of their atomic indices. The information processing device 100 sets up a single graph G which combines the graphs corresponding to each of the S first data sets as disconnected components.
[0094] The information processing device 100 generates a system label y_system ∈ R^(S×D) by arranging the energy of the system represented by the label in the labeled data and the feature quantity that substitutes for the energy of the system in the unlabeled data from among the S first data. The system label y_system is a tensor. Each column of the system label y_system uniquely corresponds to either the labeled data or the unlabeled data. If there is no feature quantity that substitutes for the energy of the system in the unlabeled data, the information processing device 100 sets NaN to the column of the system label y_system that corresponds to that unlabeled data.
[0095] The information processing device 100 generates an atom label y_atom ∈ T^(N×D) by arranging the forces acting on atoms represented by labels in labeled data and features that substitute for the forces acting on atoms in unlabeled data from among the S first data points. If the force is a 3-dimensional vector, then T = R^3. The atom label y_atom is a tensor. Each column of the atom label y_atom uniquely corresponds to one of the N atoms in the entirety of the S first data points. If there are no features that substitute for the forces acting on atoms in the unlabeled data, the information processing device 100 sets NaN to the column in the atom label y_atom that corresponds to that unlabeled data.
[0096] The information processing device 100 sets a system label index I_system∈Z_+^S by arranging the index of the first data corresponding to each column of the system label y_system in column order. The information processing device 100 sets an atom label index I_atom∈Z_+^N by arranging the index of the atom corresponding to each column of the atom label y_atom in column order.
[0097] The information processing device 100 calculates a loss based on the tensor Z, the graph G, the system label y_system, the atom label y_atom, the system label index I_system, and the atom label index I_atom. The information processing device 100 trains MLIAP620 based on the calculated loss. Here, using Figures 8 to 10, we will explain an example in which the information processing device 100 selects S first data points by randomly selecting one first data point each from dataset 800, dataset 900, and dataset 1000. S = 3.
[0098] Figures 8 to 10 are explanatory diagrams showing an example of S first data points. In Figure 8, the information processing device 100 selects labeled data 810 based on the dataset 800. The labeled data 810 relates to an H2 molecule. An H2 molecule is formed from two H atoms. Within the labeled data 810, indices 0 and 1 are assigned to each atom that makes up the H2 molecule.
[0099] The labeled data 810 contains the data sample 811 and the corresponding ground truth label 812. Sample 811 represents the coordinates of each atom that makes up the H2 molecule. The coordinates include, for example, x-axis, y-axis, and z-axis coordinate values. Ground truth label 812 represents the energy of the H2 molecule and the forces acting on each atom that makes up the H2 molecule. The forces are three-dimensional vectors. The forces include, for example, x-axis components, y-axis components, and z-axis components. Next, we will move on to the explanation of Figure 9.
[0100] In Figure 9, the information processing device 100 selects labeled data 910 based on the dataset 900. The labeled data 910 relates to an N2 molecule. An N2 molecule is formed from two N atoms. Within the labeled data 910, indices 0 and 1 are assigned to each atom that makes up the N2 molecule.
[0101] The labeled data 910 contains the data sample 911 and the corresponding ground truth label 912. Sample 911 represents the coordinates of each atom forming the N2 molecule. The coordinates include, for example, x-axis, y-axis, and z-axis coordinate values. Ground truth label 912 represents the energy of the N2 molecule and the forces acting on each atom forming the N2 molecule. The forces are three-dimensional vectors. The forces include, for example, x-axis components, y-axis components, and z-axis components. Next, we will move on to the explanation of Figure 10.
[0102] In Figure 10, assume that the information processing device 100 selects unlabeled data 1010 based on the dataset 1000. The unlabeled data 1010 relates to a CO2 molecule. A CO2 molecule is formed from one carbon atom and two oxygen atoms. Within the unlabeled data 1010, indices 0, 1, and 2 are assigned to each atom that makes up the CO2 molecule. The unlabeled data 1010 includes a sample 1011 of data. Sample 1011 represents the coordinates of each atom that makes up the CO2 molecule. The coordinates include, for example, x-axis coordinate values, y-axis coordinate values, and z-axis coordinate values.
[0103] The information processing device 100 generates random noise to be added to the coordinates of each atom as a feature that substitutes for the force acting on each atom forming the CO2 molecule, for the unlabeled data 1010, and generates the ground truth labels 1012. The ground truth labels 1012 include, for example, random noise added to the coordinates of each atom that substitutes for the force acting on each atom forming the CO2 molecule. The information processing device 100 updates the sample 1011 so that the generated random noise is added to the coordinates of each atom.
[0104] Noise is a three-dimensional vector. For example, noise includes x-axis components, y-axis components, and z-axis components. Here, the force acting on an atom is the force that causes the atom to return to a stable coordinate. On the other hand, noise is thought to act to shift the coordinates of each atom to an unstable coordinate. Therefore, noise can be considered a viable indicator to substitute for the force acting on an atom. Consequently, when training MLIAP620, we train it in a direction that removes noise from the coordinates of each atom.
[0105] Here, we have described a case in which the information processing device 100 generates features that represent the forces acting on each atom forming a CO2 molecule for the unlabeled data 1010, but it is not limited to this case. For example, the information processing device 100 may generate features that represent the energy of the CO2 molecule for the unlabeled data 1010, instead of generating features that represent the forces acting on each atom forming a CO2 molecule. In this case, the correct label 1012 would include, for example, features that represent the energy of the CO2 molecule.
[0106] Furthermore, for example, the information processing device 100 may generate features that represent the energy of the CO2 molecule, along with features that represent the forces acting on each atom forming the CO2 molecule, for the unlabeled data 1010. In this case, the correct label 1012 would include, for example, features that represent the energy of the CO2 molecule and features that represent the forces acting on each atom forming the CO2 molecule. The features that represent the energy of the CO2 molecule could be, for example, a truth value indicating whether or not the CO2 molecule contains a particular element.
[0107] Furthermore, while this explanation describes a case where the information processing device 100 generates random noise added to the coordinates of each atom as a feature that substitutes for the force acting on each atom forming the CO2 molecule for the unlabeled data 1010, it is not limited to this case. For example, the information processing device 100 may replace one or more atoms forming the CO2 molecule with other atoms and generate a truth value indicating whether or not a substitution has occurred as a feature that substitutes for the force acting on each atom forming the substituted molecule for the unlabeled data 1010.
[0108] In the following explanation, the energy of a specific molecule and the feature that substitutes for the energy of that specific molecule may be commonly referred to as "system labels." Similarly, in the following explanation, the force acting on each atom forming a specific molecule and the feature that substitutes for the force acting on each atom forming a specific molecule may be commonly referred to as "atomic labels." Next, using Figures 11 and 12, an example of how the information processing device 100 trains MLIAP620 based on S selected first data points will be described.
[0109] Figures 11 and 12 are explanatory diagrams illustrating an example of training MLIAP620. In Figure 11, the information processing device 100 assigns an atomic index of 0, 1, ..., 6 to each atom in the set of S selected first data. The information processing device 100 sets up tensor 1100 as tensor Z, which is a tensor obtained by arranging the atomic numbers of each atom in the set of S first data in the order of their atomic indices. The information processing device 100 sets up graph 1110 as a single graph G, which is a collection of the graphs corresponding to each of the S first data as disconnected components. Next, we will move on to the explanation of Figure 12.
[0110] In Figure 12, the information processing device 100 generates a tensor 1200 as the system label y_system based on the correct labels corresponding to each of the S first data points. The information processing device 100 also generates a tensor 1201 as the system label index I_system, which is obtained by arranging the indices of the first data points corresponding to each column of the system label y_system in column order.
[0111] The information processing device 100 generates a tensor 1210 as atomic labels y_atom based on the correct labels corresponding to each of the S first data points. The information processing device 100 also generates a tensor 1211 as atomic label index I_atom, which is obtained by arranging the indexes of the atoms corresponding to each column of atomic labels y_atom in column order.
[0112] The information processing device 100 calculates the loss based on the tensor Z, the graph G, the system label y_system, the atom label y_atom, the system label index I_system, and the atom label index I_atom, as shown below.
[0113] In the following explanation, the encoder 710 of the MLIAP620 will be referred to as f_encode. The number of dimensions of the feature vector in encoder 710 will be denoted as C. The energy head 720 of the MLIAP620 will be referred to as the system label head f_(system_head). The force head 730 of the MLIAP620 will be referred to as the atom label head f_(atom_head).
[0114] (12-1) The information processing device 100 calculates, for example, a feature vector F = f_encode(Z,G) ∈ R^(N×C). The information processing device 100 calculates, for example, an inferred value of the system label y~_system = f_(system_head)(F) ∈ R^(S×D). The information processing device 100 calculates the loss of the system l_system ∈ R^S based on the system label y_system, the system label index I_system, and the inferred value of the system label y~_system, for example, according to equation (1) below. Here, L_system^(d) is the loss function with respect to the system label of the d-th first data point.
[0115]
number
[0116] (12-2) The information processing device 100 calculates, for example, the inferred value of the atomic label y~_atom=f_(atom_head)(F)∈T^(N×D). The information processing device 100 calculates the atomic loss l_atom∈R^N based on the atomic label y_atom, the atomic label index I_atom, and the inferred value of the atomic label y~_atom, for example, according to equation (2) below. Here, L_atom^(d) is the loss function with respect to the atomic label of the d-th first data.
[0117]
number
[0118] (12-3) The information processing device 100 calculates, for example, the sum of all elements of l_system and l_atom as the loss for the entirety of S first data.
[0119] The information processing device 100 trains MLIAP620 based, for example, on the loss for the entire set of S first data points. Specifically, the information processing device 100 updates parameters 711, 721, and 731, etc., in a direction that reduces the loss, using methods such as backpropagation and stochastic gradient descent. This allows the information processing device 100 to efficiently train MLIAP620 using both labeled and unlabeled data.
[0120] Here, we have described a case in which the information processing device 100 randomly selects one first data set from each of several datasets in the dataset 510, each containing first data of a different type, to be used when performing semi-supervised learning. However, it is not limited to this case. For example, the information processing device 100 may randomly select two or more first data sets from each of the several datasets in the dataset 510, each containing first data of a different type.
[0121] For example, the information processing device 100 may randomly select S first data points from the dataset 510. For example, the information processing device 100 may select all first data points from multiple datasets within the dataset 510, each containing first data points of different types. For example, the information processing device 100 may select S first data points from the dataset 510 based on the results of weighting and evaluating each first data point in the dataset 510 according to specific criteria.
[0122] Here, we have described a case in which the information processing device 100 trains MLIAP620 based on the total loss of S first data points, but it is not limited to this. For example, the information processing device 100 may calculate the loss of only one of either l_system or l_atom and train MLIAP620 based on that loss.
[0123] Next, using Figure 13, we will explain an example of the effect obtained by the proposed method using the information processing device 100 by comparing the results when training a model using the proposed method with the conventional method. The model used will be the PaiNN model.
[0124] In the example in Figure 13, the conventional method specifically trains the PaiNN model based on the QM9 database, which contains labeled data. The proposed method specifically trains the PaiNN model based on the QM9 database and the PubChem database, which contains data representing the three-dimensional structures of compounds, which are treated as unlabeled data.
[0125] Figure 13 is an explanatory diagram illustrating an example of the effect. In Figure 13, 95% of the labeled data in the database QM9 that have U0 as a label are randomly selected and used as training data. The remaining 5% of the labeled data in the database QM9 that have U0 as a label are used as evaluation data.
[0126] Furthermore, 95% of the data representing the three-dimensional structures of compounds with compound IDs between 1 and 1,000,000 in the PubChem database will be randomly selected and used as unlabeled training data. The remaining 5% of the data representing the three-dimensional structures of compounds with compound IDs between 1 and 1,000,000 in the PubChem database will be used as unlabeled evaluation data.
[0127] In the example shown in Figure 13, the information processing device 100 generates noise based on a normal distribution with mean 0 and variance 0.1 for each atom in unlabeled data, and generates an atomic label representing that noise. The information processing device 100 uses MAE (Mean Average Error) as the loss function for system labels. The information processing device 100 uses L2 MAE × number of atoms as the loss function for atomic labels. The information processing device 100 uses a linear combination of the loss function for system labels and the loss function for atomic labels as the overall loss function. The information processing device 100 sets the number of epochs to 2.
[0128] Graph 1300 shows the change in the MAE of the energy when the PaiNN model is trained using the proposed method, and the change in the MAE of the energy when the PaiNN model is evaluated using the proposed method. Graph 1300 also shows the change in the MAE of the energy when the PaiNN model is trained using the conventional method, and the change in the MAE of the energy when the PaiNN model is evaluated using the conventional method.
[0129] As shown in Graph 1300, the number of steps required for the MAE of energy to reach 0.2 eV is 0.75 epochs for existing methods, depending on whether the evaluation data is labeled or unlabeled. On the other hand, as shown in Graph 1300, the number of steps required for the MAE of energy to reach 0.2 eV is 0.2 epochs for the proposed method, depending on whether the evaluation data is labeled or unlabeled. Therefore, the proposed method can accelerate the convergence speed of the MAE of energy by 3.8 times compared to conventional methods.
[0130] Here, we have described a case where the information processing device 100 performs semi-supervised learning on the MLIAP620 during pre-training, but it is not limited to this. For example, the information processing device 100 may similarly perform semi-supervised learning on the MLIAP620 during fine-tuning.
[0131] (An example of applying the information processing device 100) The information processing device 100 can be applied, for example, to fields such as drug discovery or materials development. Specifically, the information processing device 100 can efficiently train MLIAP, which is used for first-principles calculations or molecular dynamics. Therefore, the information processing device 100 can make it easier to analyze systems such as molecules by performing first-principles calculations or molecular dynamics in fields such as drug discovery or materials development.
[0132] (Overall processing procedure) Next, an example of the overall processing procedure executed by the information processing device 100 will be described using Figure 14. The overall processing is realized, for example, by the CPU 301 shown in Figure 3, storage areas such as memory 302 and recording medium 305, and network I / F 303.
[0133] Figure 14 is a flowchart illustrating an example of the overall processing procedure. In Figure 14, the information processing device 100 initializes the model parameter W (step S1401).
[0134] The information processing device 100 obtains Z, G, y_system, y_atom, I_system, and I_atom by performing the individual processing described later in Figure 15 (step S1402). The information processing device 100 calculates the feature quantity F = f_encode(Z, G|W) using f_encode (step S1403).
[0135] The information processing device 100 calculates the inferred value y~_system of the system label based on the feature quantity F (step S1404). The information processing device 100 calculates the loss l_system of the system label based on the system label y_system, the system label index I_system, and the inferred value y~_system of the system label (step S1405).
[0136] The information processing device 100 calculates an inferred value y~_atom of the atomic label based on the feature quantity F (step S1406). The information processing device 100 calculates the loss l_atom of the atomic label based on the atomic label y_atom, the atomic label index I_atom, and the inferred value y~_atom of the atomic label (step S1407).
[0137] The information processing device 100 calculates l = l_system + l_atom (step S1408). The information processing device 100 updates W based on l (step S1409).
[0138] The information processing device 100 determines whether or not the termination conditions are met (step S1410). The termination conditions are, for example, that W has been updated a predetermined number of times. The predetermined number of times is, for example, set in advance by the user. Another termination condition is that the loss is below a threshold. The threshold is, for example, set in advance by the user. If the termination conditions are not met (step S1410: No), the information processing device 100 returns to the process in step S1402. On the other hand, if the termination conditions are met (step S1410: Yes), the information processing device 100 outputs W (step S1411) and terminates the entire process.
[0139] (Individual processing procedures) Next, an example of an individual processing procedure executed by the information processing device 100 will be explained using Figure 15. Individual processing is realized, for example, by the CPU 301 shown in Figure 3, storage areas such as memory 302 and recording medium 305, and network I / F 303.
[0140] Figure 15 is a flowchart of an example of an individual processing procedure. In Figure 15, the information processing device 100 sets Z=φ, V=φ, E=φ, y_system=φ, y_atom=φ, I_system=φ, I_atom=φ (step S1501). The information processing device 100 sets i=1 (step S1502).
[0141] The information processing device 100 obtains a sample {Z_i, G_i=(V_i, E_i), y^(i)_system, y^(i)_atom, I_i} (step S1503). Z_i is a tensor of atomic numbers. G_i=(V_i, E_i) is a graph obtained by transforming the 3D coordinates of the atoms. V_i represents the set of vertices. E_i represents the set of edges. y^(i)_system represents the system label. y^(i)_atom represents the atom label. I_i is the index of the sample.
[0142] The information processing device 100 sets Z ← concat(Z, Z_i), V ← V ∪ V_i, and E ← E ∪ E_i (step S1504). concat(x, y) represents the operation of concat(x, y) to concat(φ, y) = y.
[0143] The information processing device 100 sets v = 0^D (step S1505). 0^x represents the x-dimensional zero vector. The information processing device 100 sets v_(I_i) ← y^(i)_system (step S1506). The information processing device 100 sets y_system ← concat(y_system, v) (step S1507).
[0144] The information processing device 100 sets M = 0^(N_i × D) (step S1508). 0^(x × y) represents an x × y dimension zero matrix. The information processing device 100 sets M_(*I_i)←y^(i)_atom (step S1509). M_(*j)←v represents the operation of substituting vector v into the j-th column of matrix M. The information processing device 100 sets y_atom←concat(y_atom,M) (step S1510).
[0145] The information processing device 100 sets I_system←concat(I_system,I_i) (step S1511). The information processing device 100 sets I_atom←concat(I_atom,1^(N_i)×I_i) (step S1512). 1^x represents a vector in x dimension where all elements are 1.
[0146] The information processing device 100 determines whether i > S or not (step S1513). S is, for example, pre-set by the user. If i ≤ S and not i > S (step S1513: No), the information processing device 100 returns to the process in step S1503. On the other hand, if i > S (step S1513: Yes), the information processing device 100 sets G = (V, E) (step S1514) and terminates the individual process.
[0147] As explained above, the information processing device 100 can obtain a first dataset, which consists of first data sets, each containing a sample representing a system containing atoms, associated with a first label representing the energy of the system and the force acting on the atoms. The information processing device 100 can obtain a second dataset, which consists of second data sets, each containing a sample representing a system containing atoms. For each second data set, the information processing device 100 can generate a second label, associated with the second data set, that represents a feature quantity related to the second data set, substituting for at least one of the energy of the system containing atoms and the force acting on the atoms. The information processing device 100 can set up a tensor, which contains a first label corresponding to each first data set and a second label corresponding to each second data set. Based on the set tensor, the information processing device 100 can perform semi-supervised learning on a model that generates output data representing the energy of a system and the force acting on the atoms in response to input data representing a system containing atoms. As a result, the information processing device 100 can efficiently train the model through semi-supervised learning. The information processing device 100 can reduce the processing time required when performing semi-supervised learning.
[0148] According to the information processing device 100, a first tensor can be set up by arranging features in a matrix that represent the energy of the system represented by the first label corresponding to each first data point and the energy of the system represented by the second label corresponding to each second data point. According to the information processing device 100, a second tensor can be set up by arranging features in a matrix that represent the force acting on the atom represented by the first label corresponding to each first data point and the force acting on the atom represented by the second label corresponding to each second data point. According to the information processing device 100, using the model, a first estimate of the energy of the system including atoms and a second estimate of the force acting on the atoms can be calculated based on the set first tensor and the calculated first estimate using the first loss function. According to the information processing device 100, a second loss can be calculated based on the set second tensor and the calculated second estimate using the second loss function. According to the information processing device 100, semi-supervised learning can be performed on the model based on the calculated first loss and the calculated second loss. As a result, the information processing device 100 can perform semi-supervised learning with high accuracy.
[0149] According to the information processing device 100, for each second data, a second label representing random noise that substitutes for the force acting on the atom can be generated and associated with the second data. According to the information processing device 100, in addition to generating the second label, the second data can be updated by adding the noise to the second data. As a result, the information processing device 100 can generate an appropriate second label for the second data.
[0150] According to the information processing device 100, for each second data included in the acquired second dataset, the second data can be updated so that the atoms in the system corresponding to the second data are replaced with other atoms. According to the information processing device 100, in addition to updating the second data, a second label representing a flag indicating whether or not such a substitution has occurred for each atom, which replaces the force acting on the atom, can be associated with the second data. As a result, the information processing device 100 can generate an appropriate second label for the second data.
[0151] According to the information processing device 100, for each second data, a second label representing a truth value indicating whether or not the second data contains a specific atom, which substitutes for the energy of the system containing the atom, can be generated in association with the second data. This allows the information processing device 100 to generate an appropriate second label for each second data.
[0152] According to the information processing device 100, a machine learning interatomic potential can be used in the model. This allows the information processing device 100 to efficiently train the machine learning interatomic potential.
[0153] The information processing method described in this embodiment can be implemented by executing a pre-prepared program on a computer such as a PC or workstation. The information processing program described in this embodiment is recorded on a computer-readable recording medium and executed by being read from the recording medium by the computer. The recording medium can be a hard disk, flexible disk, CD (Compact Disc)-ROM, MO (Magneto Optical Disc), DVD (Digital Versatile Disc), etc. Furthermore, the information processing program described in this embodiment may be distributed via a network such as the Internet.
[0154] With regard to the embodiments described above, the following additional information is disclosed.
[0155] (Note 1) A first dataset is obtained by collecting first data, which includes a sample representing a system containing atoms, and a first label representing the energy of the system and the force acting on the atom in question. We obtained a second dataset containing a second set of data that includes samples representing systems containing atoms. For each of the second data points included in the acquired second dataset, a second label is generated, associated with the second data point, that represents a feature quantity related to the second data point, substituting for at least one of the energy of the system containing the atoms and the force acting on the atoms. Semi-supervised learning is performed on a model that generates output data representing the energy of a system and the force acting on an atom, based on input data representing a system containing an atom, using a tensor that contains a first label corresponding to each first data point in the acquired first dataset and a second label corresponding to each second data point in the acquired second dataset. An information processing program characterized by having a computer perform the processing.
[0156] (Note 2) A first tensor is set up by arranging the energy of the system represented by the first label corresponding to each first data in the acquired first dataset and the energy of the system represented by the second label corresponding to each second data in the acquired second dataset, either a feature that replaces the energy of the system or a specific value that indicates the absence of such a feature, in a matrix such that each column uniquely corresponds to either the first data or the second data. A second tensor is set up by arranging the forces acting on atoms represented by the first label corresponding to each first data in the acquired first dataset, and the features that replace the forces acting on atoms represented by the second label corresponding to each second data in the acquired second dataset, or a specific value indicating that such features do not exist, in a matrix such that each column uniquely corresponds to an atom. Using the aforementioned model, a first estimate of the energy of a system containing atoms and a second estimate of the force acting on the atoms are calculated based on the set of features relating to the entire acquired first dataset and the acquired second dataset. The computer is made to perform the process, The process to be carried out as described above is: The information processing program according to Appendix 1, characterized in that it uses a first loss function to calculate a first loss based on the set first tensor and the calculated first estimate, uses a second loss function to calculate a second loss based on the set second tensor and the calculated second estimate, and performs semi-supervised learning on the model based on the calculated first loss and the calculated second loss.
[0157] (Note 3) The above generation process is: The information processing program according to Appendix 2, characterized in that, for each second data contained in the acquired second dataset, a second label representing random noise that substitutes for the force acting on an atom is generated in association with the second data, and the second data is updated to add the noise to the second data.
[0158] (Note 4) The above generation process is: The information processing program according to Appendix 2, characterized in that, with respect to each second data contained in the acquired second dataset, the second data is updated so as to replace the atom of the system corresponding to the second data with another atom, and a second label is generated in association with the second data, representing a flag indicating whether or not such replacement has occurred for each atom, which substitutes for the force acting on the atom.
[0159] (Note 5) The above generation process is: The information processing program according to Appendix 2, characterized in that, for each second data included in the acquired second dataset, a second label representing a truth value indicating whether or not the second data contains a specific atom, which substitutes for the energy of the system containing the atom, is generated in association with the second data.
[0160] (Note 6) The information processing program described in any one of Notes 1 to 5, characterized in that the model is a machine learning interatomic potential.
[0161] (Note 7) A first dataset is obtained by collecting first data, which includes a sample representing a system containing atoms, and a first label representing the energy of the system and the force acting on the atom in question. We obtained a second dataset containing a second set of data that includes samples representing systems containing atoms. For each of the second data points included in the acquired second dataset, a second label is generated, associated with the second data point, that represents a feature quantity related to the second data point, substituting for at least one of the energy of the system containing the atoms and the force acting on the atoms. Semi-supervised learning is performed on a model that generates output data representing the energy of a system and the force acting on an atom, based on input data representing a system containing an atom, using a tensor that contains a first label corresponding to each first data point in the acquired first dataset and a second label corresponding to each second data point in the acquired second dataset. An information processing method characterized in that the processing is performed by a computer.
[0162] (Note 8) A first dataset is obtained by collecting first data, which includes a sample representing a system containing atoms, and a first label representing the energy of the system and the force acting on the atom in question. We obtained a second dataset containing a second set of data that includes samples representing systems containing atoms. For each of the second data points included in the acquired second dataset, a second label is generated, associated with the second data point, that represents a feature quantity related to the second data point, substituting for at least one of the energy of the system containing the atoms and the force acting on the atoms. Semi-supervised learning is performed on a model that generates output data representing the energy of a system and the force acting on an atom, based on input data representing a system containing an atom, using a tensor that contains a first label corresponding to each first data point in the acquired first dataset and a second label corresponding to each second data point in the acquired second dataset. An information processing device characterized by having a control unit. [Explanation of symbols]
[0163] 100 Information Processing Devices 110,500 models 111,501,621,711,721,731 parameters 120 First Dataset 121,131,610,811,911,1011 specimen 122 Label 1 130 Second Dataset 132 Label 2 140,1100,1200,1201,1210,1211 tensor 150,511,521 loss 200 Information Processing Systems 201 Client Device 210 Network 300 bus 301 CPU 302 memory 303 Network I / F 304 Recording medium interface 305 Recording media 306 displays 307 Input device 400 Storage section 401 Acquisition Department 402 Generator 403 Settings Section 404 Training Department 405 Output section 510, 520, 601, 800, 900, 1000 datasets 620 MLIAP 630 labels 710 encoder 720 Energy Head 730 Power Head 810,910 labeled data 1010 Unlabeled data 812,912,1012 Correct answer 1110,1300 graph
Claims
1. A first dataset is obtained by collecting first data, which includes a sample representing a system containing atoms, and a first label representing the energy of the system and the force acting on the atom in question. We obtained a second dataset containing a second set of data that includes samples representing systems containing atoms. For each of the second data points included in the acquired second dataset, a second label is generated, associated with the second data point, that represents a feature quantity related to the second data point, substituting for at least one of the energy of the system containing the atoms and the force acting on the atoms. Semi-supervised learning is performed on a model that generates output data representing the energy of a system and the force acting on an atom, based on input data representing a system containing an atom, using a tensor that arranges a first label corresponding to each first data in the acquired first dataset and a second label corresponding to each second data in the acquired second dataset. An information processing program characterized by having a computer perform the processing.
2. A first tensor is set up by arranging the energy of the system represented by the first label corresponding to each first data in the acquired first dataset and the energy of the system represented by the second label corresponding to each second data in the acquired second dataset, either a feature that replaces the energy of the system or a specific value that indicates the absence of such a feature, in a matrix such that each column uniquely corresponds to either the first data or the second data. A second tensor is set up by arranging the forces acting on atoms represented by the first label corresponding to each first data in the acquired first dataset, and the features that replace the forces acting on atoms represented by the second label corresponding to each second data in the acquired second dataset, or a specific value indicating that such features do not exist, in a matrix such that each column uniquely corresponds to an atom. Using the aforementioned model, a first estimate of the energy of a system containing atoms and a second estimate of the force acting on the atoms are calculated based on the set of features relating to the entire acquired first dataset and the acquired second dataset. The computer is made to perform the process, The process to be carried out as described above is: The information processing program according to claim 1, characterized in that it uses a first loss function to calculate a first loss based on the set first tensor and the calculated first estimate, uses a second loss function to calculate a second loss based on the set second tensor and the calculated second estimate, and performs semi-supervised learning on the model based on the calculated first loss and the calculated second loss.
3. The aforementioned generation process is, The information processing program according to claim 2, characterized in that, with respect to each second data contained in the acquired second dataset, a second label representing random noise that substitutes for the force acting on an atom is generated in association with the second data, and the second data is updated to add the noise to the second data.
4. The aforementioned generation process is, The information processing program according to claim 2, characterized in that, with respect to each second data included in the acquired second dataset, the second data is updated so as to replace the atom in the system corresponding to the second data with another atom, and a second label is generated in association with the second data, representing a flag for each atom indicating whether or not such replacement is present, which substitutes for the force acting on the atom.
5. The aforementioned generation process is, The information processing program according to claim 2, characterized in that, for each second data included in the acquired second dataset, a second label is generated in association with the second data, which represents a truth value indicating whether or not the second data contains a specific atom, and which substitutes for the energy of the system containing the atom.
6. A first dataset is obtained by collecting first data, which includes a sample representing a system containing atoms, and a first label representing the energy of the system and the force acting on the atom in question. We obtained a second dataset containing a second set of data that includes samples representing systems containing atoms. For each of the second data points included in the acquired second dataset, a second label is generated, associated with the second data point, that represents a feature quantity related to the second data point, substituting for at least one of the energy of the system containing the atoms and the force acting on the atoms. Semi-supervised learning is performed on a model that generates output data representing the energy of a system and the force acting on an atom, based on input data representing a system containing an atom, using a tensor that arranges a first label corresponding to each first data in the acquired first dataset and a second label corresponding to each second data in the acquired second dataset. An information processing method characterized in that the processing is performed by a computer.
7. A first dataset is obtained by collecting first data, which includes a sample representing a system containing atoms, and a first label representing the energy of the system and the force acting on the atom in question. We obtained a second dataset containing a second set of data that includes samples representing systems containing atoms. For each of the second data points included in the acquired second dataset, a second label is generated, associated with the second data point, that represents a feature quantity related to the second data point, substituting for at least one of the energy of the system containing the atoms and the force acting on the atoms. Semi-supervised learning is performed on a model that generates output data representing the energy of a system and the force acting on an atom, based on input data representing a system containing an atom, using a tensor that arranges a first label corresponding to each first data in the acquired first dataset and a second label corresponding to each second data in the acquired second dataset. An information processing device characterized by having a control unit.
Citation Information
Patent Citations
Estimation device, training device, estimation method, training method, program, and non-transitory computer readable medium
JP2024075646A