Information processing program, information processing method, and information processing device
By integrating pre-defined and automatically generated labels with random noise, the method addresses the time inefficiency in semi-supervised learning for interatomic potentials, enhancing processing speed and accuracy.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-11
- Publication Date
- 2026-04-09
AI Technical Summary
The processing time required for semi-supervised learning in machine learning interatomic potentials is high due to the time-consuming generation of correct labels using density functional theory.
A method that combines pre-defined labels with automatically generated labels by introducing random noise as substitutes for missing labels, allowing for efficient semi-supervised learning through tensor arrangement and loss calculation.
Reduces the processing time and cost of semi-supervised learning by effectively utilizing both pre-defined and automatically generated labels, improving inference accuracy.
Smart Images

Figure JP2025032239_09042026_PF_FP_ABST
Abstract
Description
Information Processing Program, Information Processing Method, and Information Processing Apparatus
[0001] The present invention relates to an information processing program, an information processing method, and an information processing apparatus.
[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 calculations 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 label prepared in advance. Also, for example, there is a technique called "self-supervised learning" in which, for a sample of data, the correct label is automatically generated, and the model is trained based on teacher data that associates the sample of data with the automatically generated correct label. Also, for example, there is a technique called "semi-supervised learning" that combines supervised learning and self-supervised learning.
[0003] As a prior art, for example, there is one in which a model that outputs at least information on energy in response to input of atomic information is trained using training data including information on substances and training data including information on two-body potentials.
[0004] Japanese Patent Application Laid-Open No. 2024-075646
[0005] However, in the prior art, it is difficult to perform semi-supervised learning on a machine learning interatomic potential. For example, when automatically generating the correct label according to density functional theory, the processing time required for automatically generating the correct label tends to increase, and the processing time required for semi-supervised learning increases.
[0006] In one aspect, an object of the present invention is to reduce the processing time required for semi-supervised learning.
[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 characterized by obtaining a first dataset, which consists of first data sets, each containing a sample representing a system containing atoms, each associated with a first label representing the energy of the system and the force acting on the atom; obtaining a second dataset, which consists of second data sets, each containing a sample representing a system containing atoms; generating a second label representing a feature of the second data set, which substitutes for at least one of the energy of the system containing atoms and the force acting on the atom, associated with the second data set; 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.
[0008] According to one embodiment, it becomes possible to reduce the processing time required for semi-supervised learning.
[0009] Figure 1 is an explanatory diagram showing one embodiment of the information processing method according to the embodiment. Figure 2 is an explanatory diagram showing an example of the information processing system 200. Figure 3 is a block diagram showing an example of the hardware configuration of the information processing device 100. Figure 4 is a block diagram showing an example of the functional configuration of the information processing device 100. Figure 5 is an explanatory diagram showing the flow of training the model 500. Figure 6 is an explanatory diagram (part 1) showing an example of MLIAP620. Figure 7 is an explanatory diagram (part 2) showing an example of MLIAP620. Figure 8 is an explanatory diagram (part 1) showing an example of S first data. Figure 9 is an explanatory diagram (part 2) showing an example of S first data. Figure 10 is an explanatory diagram (part 3) showing an example of S first data. Figure 11 is an explanatory diagram (part 1) showing an example of training MLIAP620. Figure 12 is an explanatory diagram (part 2) showing an example of training MLIAP620. Figure 13 is an explanatory diagram showing an example of the effect. Figure 14 is a flowchart showing an example of the overall processing procedure. Figure 15 is a flowchart showing an example of an individual processing procedure.
[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) Figure 1 is an explanatory diagram showing an embodiment of the information processing method according to the embodiment. The information processing device 100 is a computer for supporting semi-supervised learning. The information processing device 100 is, for example, a server or a PC (Personal Computer).
[0012] Semi-supervised learning is a type of machine learning technique that trains a model to output labels corresponding to input data. A model is a computational formula containing parameters. An example of such a model is a neural network. Specifically, a model can be a machine learning interatomic potential in fields such as first-principles calculations or molecular dynamics. In the following explanation, the machine learning interatomic potential may be referred to as "MLIAP (Machine Learning InterAtomic Potential)".
[0013] Labels represent, for example, the characteristics of the data. Labels may also represent, for example, the result of classifying the data. Specifically, if the model being trained is MLIAP, the data represents a system containing atoms. The labels then represent the energy of the system and the forces acting on the atoms. The system is, for example, the structure of a molecule. The forces are, for example, three-dimensional vectors. Therefore, when MLIAP receives input data representing, for example, a system containing atoms, it outputs labels that represent the energy of the system and the forces acting on the atoms corresponding to that data.
[0014] Specifically, MLIAP comprises an encoder for calculating system features, an energy head for calculating the system's energy from these features, and a force head for calculating the forces acting on atoms from these features. Specifically, MLIAP uses the encoder to calculate system features based on the element of each atom and information about the atoms' surroundings. The element is the type of atom. Information about the atoms' surroundings is, for example, a graph representing the relative positional relationships between atoms. Specifically, MLIAP uses the energy head to calculate the system's energy based on the system's features. Specifically, MLIAP uses the force head to calculate the forces acting on atoms based on the system's features.
[0015] Training involves updating the model's parameters, for example. Training is also called learning. Training utilizes techniques such as mathematical optimization. Specifically, training employs methods like backpropagation and stochastic gradient descent. The process by which the model generates labels corresponding to the 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 both techniques known as machine learning. Semi-supervised learning is also called Semi-Supervised Learning.
[0017] Supervised learning is applied to situations where ground truth labels corresponding to data samples are provided in advance. A sample is also called a sample. Supervised learning trains a model based on a dataset of training data that associates data samples with pre-prepared ground truth labels. Specifically, if the model being trained is MLIAP, supervised learning automatically generates ground truth labels according to density functional theory. In the following explanation, density functional theory may be referred to as "DFT (Density Functional Theory)". In the following explanation, supervised learning may be referred to as "SL (Supervised Learning)".
[0018] Self-supervised learning is applied in situations where ground truth labels for data samples are not pre-prepared. For example, self-supervised learning is applied when the time required to prepare ground truth labels for data samples is greater than the processing time required to train the model, making it difficult to prepare the ground truth labels. Self-supervised learning, for example, automatically generates ground truth labels for data samples. Specifically, self-supervised learning makes random changes to the positions and elements of atoms in the sample and uses the content of those changes as the ground truth labels.
[0019] Self-supervised learning trains a model based on a dataset containing training data that associates data samples with automatically generated correct labels. 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 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, a method can be considered that uses random noise as the ground labels. However, with this method, it has not been proposed how to preferably 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 the model 110. The 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. The 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. The model 110 has parameters 111.
[0029] (1-1) The information processing device 100 acquires a first data set 120. The first data set 120 is a data set that collects the first data. The first data includes a sample 121 representing a system containing atoms, with a first label 122 associated with the energy of the system and the force acting on the atoms. The information processing device 100 acquires a second data set 130. The second data set 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 that represent the energy of the system and the force acting on the atoms.
[0030] (1-2) The information processing device 100 generates a second label 132 for each second data contained in the acquired second dataset 130, 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 energy of the system containing atoms, including noise that substitutes for the force acting on the atoms.
[0031] The information processing device 100 generates random noise that substitutes for the forces acting on atoms for each second data contained 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 for each second data so that the generated random noise is added to the 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 that indicate the absence of such features. 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 labels 132 in conjunction with the pre-prepared first labels 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 feature quantities related to each second data, associating it with the second data, but it is not limited to this case. For example, another computer may generate a second label 132 representing the feature quantities related to 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 an information processing system 200) Next, an example of an information processing system 200 that applies the information processing device 100 shown in Figure 1 will be described using Figure 2.
[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 for training 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 obtain an inference request that requests to generate a label corresponding to input data. The inference request includes, for example, the input data. The information processing device 100 obtains the inference request, for example, by receiving the inference request from the client device 201. The information processing device 100 generates a label corresponding to the input data by using a trained model according to the inference request. The information processing device 100 transmits the generated label to the client device 201. The information processing device 100 is, for example, a server or a PC, etc.
[0044] The client device 201 is a computer that transmits a training request or an inference request, etc. to the information processing device 100. The client device 201 generates, for example, a training request according to a user's operation input and transmits it to the information processing device 100. After transmitting the training request, the client device 201 may receive a trained model from the information processing device 100. Thereby, the client device 201 can make the trained model available on its own device.
[0045] The client device 201 obtains input data, for example, according to a user's operation input. The client device 201 generates, for example, an inference request including the obtained input data according to a user's operation input and transmits it to the information processing device 100. After transmitting 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. Thereby, the client device 201 can make the label corresponding to the input data available to the user. The client device 201 is, for example, a PC, a tablet terminal, or a smartphone, a wearable terminal, etc.
[0046] Here, although the case where the information processing apparatus 100 is a different apparatus from the client apparatus 201 has been described, it is not limited to this. For example, the information processing apparatus 100 may have the function as the client apparatus 201 and may also operate as the client apparatus 201. In this case, the information processing system 200 may not include the client apparatus 201.
[0047] (Hardware Configuration Example of Information Processing Apparatus 100) Next, a hardware configuration example of the information processing apparatus 100 will be described using FIG. 3.
[0048] FIG. 3 is a block diagram showing a hardware configuration example of the information processing apparatus 100. In FIG. 3, the information processing apparatus 100 includes a CPU (Central Processing Unit) 301, a memory 302, and a network I / F (Interface) 303. Further, the information processing apparatus 100 includes a recording medium I / F 304, a recording medium 305, a display 306, and an input device 307. Also, each component is connected by a bus 300.
[0049] Here, the CPU 301 controls the entire information processing apparatus 100. The memory 302 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), and a flash ROM. Specifically, for example, the flash ROM and the ROM store various programs, and the RAM is used as the work area of the CPU 301. The program stored in the memory 302 is loaded into the CPU 301 to cause the CPU 301 to execute the coded processing.
[0050] The network I / F 303 is connected to the network 210 through a communication line and is connected to other computers via the network 210. Then, the network I / F 303 manages the interface between the network 210 and the inside and controls the input / output of data from other computers. The network I / F 303 is, for example, a modem or a LAN adapter.
[0051] The recording medium interface 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 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 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, for example, multiple recording medium interfaces 304 and recording media 305. 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 media 305.
[0054] (Example of hardware configuration of client device 201) The example of hardware configuration of client device 201 is the same as the example of hardware configuration of information processing device 100 shown in Figure 3, so the explanation is omitted.
[0055] (Example of Functional Configuration of 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 causing the CPU 301 to 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 interface 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. The storage unit 400 stores, for example, 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 set in advance 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, a sample representing a system 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 reception 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 in the second dataset, which represents a feature quantity related to the second data, substituting for at least one of the energy of the system including atoms and the force acting on the atoms, and associates it with the second data.
[0069] The generation unit 402 generates random noise for each second data point included 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, and which substitutes for the forces acting on the atoms. As a result, the generation unit 402 can automatically generate the second labels and make 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 second label is associated with the second data point. As a result, the generation unit 402 can automatically generate the second labels, making each second data point available for training the model.
[0072] The setting 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 arranged. The setting unit 403 sets up the first tensor and the second tensor based on the first dataset and the second dataset, for example.
[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 setting 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 set of features. The setting unit 403 calculates the first estimate by, for example, obtaining the first estimate generated by the energy head of the model to which the set of features was input. The setting unit 403 calculates the second estimate by, for example, obtaining the second estimate generated by the force head of the model to which the set of features was input. In this way, the setting 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 a first loss, for example, using a first loss function, based on the first tensor set by the setting unit 403 and the first estimated value calculated by the setting unit 403. The training unit 404 calculates a second loss, for example, using a second loss function, based on the second tensor set by the setting unit 403 and the second estimated value 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 screen, 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 a user. Specifically, the output unit 405 may also transmit the model to another computer, such as a 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, an example of operation of the information processing device 100 will be explained using Figures 5 to 13. First, using Figure 5, the flow of how the information processing device 100 trains the model 500 will be explained.
[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 tilde (~) 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 makes up 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 first data sets that represent a relatively broad range of knowledge. Multiple first data sets are, for example, data sets that collect multiple types of first data sets, regardless of the actual use of model 500. Multiple first data sets include, 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 first data sets also include, 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 secondary data sets that represent relatively narrow knowledge. These secondary data sets, for example, are collections of types that match the actual elements of model 500. These secondary data sets 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 MLIAP 620.
[0088] Figures 6 and 7 are explanatory diagrams showing an example of MLIAP620. In Figure 6, MLIAP620 has a parameter 621. Parameter 621 corresponds to parameter 501. MLIAP620 has the function of generating a label 630 corresponding to a sample 610 when a sample 610 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 includes 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 quantities 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 quantities 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 quantities of atom 0, the feature quantities of atom 1, and parameter 721. Force head 730 calculates the forces acting on atom 0 and atom 1 based on the feature quantities of atom 0, the feature quantities of atom 1, and parameter 731. MLIAP 620 generates a label 630 based on the energy of the system, the forces acting on atom 0, and the forces acting on atom 1.
[0091] Next, using Figures 8 to 12, an example of how the information processing device 100 performs semi-supervised learning on the MLIAP 620 during pre-training will be described. 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 the 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 by arranging the atomic numbers of each of the N atoms in the S first data set in the order of their atomic indices. The information processing device 100 sets up a single graph G by combining 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 the 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. 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. 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 the 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 the 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 by randomly selecting one first data from each of the datasets 800, 900, and 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 data samples 811 and corresponding ground truth labels 812. Sample 811 represents the coordinates of each atom forming the H2 molecule. The coordinates include, for example, x-axis, y-axis, and z-axis coordinate values. Ground truth labels 812 represent the energy of the H2 molecule and the forces acting on each atom forming 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 data samples 911 and corresponding ground truth labels 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 labels 912 represent 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, 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. The 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 label 1012. The ground truth label 1012 includes, 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 move the coordinates of each atom to an unstable coordinate. For this reason, noise can be used as an indicator to replace the force acting on an atom. Therefore, when training MLIAP620, we train MLIAP620 in the direction of removing noise from the coordinates of each atom.
[0105] Here, we have described a case in which the information processing device 100 generates features that substitute for the forces acting on each atom forming the 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 substitute for the energy of the CO2 molecule for the unlabeled data 1010, instead of generating features that substitute for the forces acting on each atom forming the CO2 molecule. In this case, the correct label 1012 would include, for example, features that substitute for 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 includes, 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 are, for example, truth values 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 quantity that substitutes for the force acting on each atom forming the CO2 molecule in the unlabeled data 1010, it is not limited to this. 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 quantity that substitutes for the force acting on each atom forming the substituted molecule in 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." Also, 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 the MLIAP 620 based on S selected first data points will be described.
[0109] Figures 11 and 12 are explanatory diagrams illustrating an example of training the MLIAP620. In Figure 11, the information processing device 100 assigns an atomic index of 0, 1, ..., 6 to each atom in the S selected first data set. 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 S first data set 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 sets 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 a system label y_system based on the correct labels corresponding to each of the S first data. The information processing device 100 also generates a tensor 1201 as a system label index I_system, which is obtained by arranging the indices of the first data 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. 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 quantity 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 quantity F = f_encode(Z, G) ∈ R^(N×C). The information processing device 100 calculates, for example, the 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 the following equation (1). Here, L_system^(d) is the loss function with respect to the system label of the d-th first data.
[0115]
[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 the following equation (2). Here, L_atom^(d) is the loss function with respect to the atomic label of the d-th first data.
[0117]
[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, 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, the device 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 the MLIAP 620 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 the MLIAP 620 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 of training a model using the proposed method with the conventional method. The model used will be a PaiNN model.
[0124] In the example shown in Figure 13, the conventional method specifically trains a PaiNN model based on the database QM9, which contains labeled data. The proposed method specifically trains a PaiNN model based on the database QM9 and the database PubChem, 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 database QM9 that have U0 as a label are randomly selected and treated as training data. The remaining 5% of the labeled data in database QM9 that have U0 as a label are treated 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 Epoch number 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 in which the information processing device 100 performs semi-supervised learning on the MLIAP 620 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 MLIAP 620 during fine-tuning.
[0131] (An example of applying the information processing device 100) The information processing device 100 can be applied 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 showing an example of the overall processing procedure. In Figure 14, the information processing device 100 initializes the model parameters 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 the 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, for example, 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 Procedure) Next, an example of an individual processing procedure executed by the information processing device 100 will be described 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 showing 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=φ, and 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 three-dimensional 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 joining tensor x and tensor y at the first dimension. 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, set in advance 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 processing.
[0147] As explained above, the information processing device 100 can obtain a first dataset, which is a collection of first data sets, each containing a sample representing a system containing atoms, with a first label representing the energy of the system and the force acting on the atoms associated with that sample. The information processing device 100 can obtain a second dataset, which is a collection of second data sets, each containing a sample representing a system containing atoms. The information processing device 100 can generate a second label, associated with each second data set, which 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 in a matrix the energy of the system represented by the first label corresponding to each first data and the features that replace the energy of the system represented by the second label corresponding to each second data. According to the information processing device 100, a second tensor can be set up by arranging in a matrix the force acting on the atom represented by the first label corresponding to each first data and the features that replace the force acting on the atom represented by the second label corresponding to each second data. 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] 100 Information Processing Device 110, 500 Model 111, 501, 621, 711, 721, 731 Parameters 120 First Dataset 121, 131, 610, 811, 911, 1011 Sample 122 First Label 130 Second Dataset 132 Second Label 140, 1100, 1200, 1201, 1210, 1211 Tensor 150, 511, 521 Loss 200 Information Processing System 201 Client Device 210 Network 300 Bus 301 CPU 302 Memory 303 Network I / F 304 Recording Medium I / F 305 Recording Medium 306 Display 307 Input Device 400 Storage Unit 401 Acquisition Unit 402 Generation Unit 403 Setting Unit 404 Training Unit 405 Output Unit 510, 520, 601, 800, 900, 1000 Dataset 620 MLIAP 630 Labels 710 Encoder 720 Energy Head 730 Force Head 810, 910 Labeled Data 1010 Unlabeled Data 812, 912, 1012 Correct Answers 1110, 1300 Graph
Claims
1. An information processing program characterized by having a computer execute a process that involves: obtaining a first dataset, which consists of first data sets, each containing a sample representing a system containing atoms, with a first label corresponding to the energy of the system and the force acting on the atoms; obtaining a second dataset, which consists of second data sets, each containing a sample representing a system containing atoms; generating a second label, corresponding to the second data set, that represents a feature quantity related to the second data set, which substitutes for at least one of the energy of the system containing atoms and the force acting on the atoms; and performing 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, based on a tensor that arranges the first labels corresponding to each first data set in the obtained first dataset and the second labels corresponding to each second data set in the obtained second dataset.
2. Set up a first tensor by arranging in a matrix 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, or a specific value indicating that such a feature does not exist, such that each column uniquely corresponds to either the first data or the second data. Set up a second tensor by arranging in a matrix the force acting on the atom represented by the first label corresponding to each first data in the acquired first dataset and the force acting on the atom represented by the second label corresponding to each second data in the acquired second dataset, such that each column uniquely corresponds to an atom. Use the model to calculate 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 set of features relating to the entire acquired first dataset and the acquired second dataset. The process to be performed is as follows: 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 information processing program according to claim 2, characterized in that the generation process generates a second label representing random noise that substitutes for the force acting on an atom for each second data included in the acquired second dataset, associating it with the second data, and updates the second data to add the noise to the second data.
4. The information processing program according to claim 2, characterized in that the generation process updates the second data in each of the acquired second datasets so as to replace the atoms of the system corresponding to the second data with other atoms, and generates a second label in association with the second data, which represents a flag indicating whether or not such replacement has occurred for each atom, and which substitutes for the forces acting on the atoms.
5. The information processing program according to claim 2, characterized in that the generation process generates, 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 a system containing an atom, and associates with the second data.
6. The information processing program according to any one of claims 1 to 5, characterized in that the model is a machine learning interatomic potential.
7. An information processing method characterized in that a computer performs the following steps: Obtain a first dataset, which consists of first data sets, each containing a sample representing a system containing atoms, with a first label corresponding to the energy of the system and the force acting on the atoms; Obtain a second dataset, which consists of second data sets, each containing a sample representing a system containing atoms; For each second data set included in the obtained second dataset, generate a second label, corresponding to the second data set, that represents a feature quantity related to the second data set, which substitutes for at least one of the energy of the system containing atoms and the force acting on the atoms; and 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, based on a tensor that arranges the first labels corresponding to each first data set in the obtained first dataset and the second labels corresponding to each second data set in the obtained second dataset.
8. An information processing device comprising a control unit, which acquires a first dataset containing first data in which a first label representing the energy of a system and the force acting on the atom is associated with each sample representing a system containing an atom; acquires a second dataset containing second data in which samples representing systems containing atoms are included; generates a second label representing a feature quantity related to the second data, which substitutes for at least one of the energy of the system containing the atom and the force acting on the atom, for each second data in the acquired second dataset, and associates it with the second data; and performs semi-supervised learning on a model that generates output data representing the energy of a system and the force acting on the atom in response to input data representing a system containing an atom, based on a tensor in which the first labels corresponding to each first data in the acquired first dataset and the second labels corresponding to each second data in the acquired second dataset are arranged.
Citation Information
Patent Citations
Estimation device, training device, estimation method, and training method
WO2021054402A1
Estimation device, training device, estimation method, training method, program, and non-transitory computer readable medium
WO2022260177A1
Training device, estimation device, training method, estimation method, and program
WO2022260178A1