Information processing program, information processing method and information processing device
By generating weighted graph data for a latent space and searching for paths based on distance and probability, the method enhances the accuracy of molecular deformation process prediction, addressing the inaccuracies of local selection methods.
Patent Information
- Application Number
- JP2024093438
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-10
- Publication Date
- 2025-12-22
AI Technical Summary
Existing methods for predicting molecular deformation processes using autoencoders suffer from inaccuracies due to local selection of features, leading to paths that do not necessarily represent natural deformation processes.
Generate graph data for a latent space with nodes and edges weighted by distance and probability distribution, using a machine learning model to search for a path that predicts molecular deformation processes.
Improves the accuracy of predicting molecular deformation processes by considering the entire path and incorporating probability distributions, resulting in a more natural and accurate transformation process prediction.
Smart Images

Figure 2025185298000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing program, an information processing method, and an information processing device. [Background technology]
[0002] Molecules such as proteins may undergo continuous deformation over time in a given environment. A computer may want to simulate the natural deformation processes that molecules may undergo. Machine learning models are sometimes used for such simulations.
[0003] For example, a prediction method has been proposed that uses an autoencoder to predict the deformation process of a molecule. The encoder included in the autoencoder converts Fourier data representing the frequency components of a molecular image into features in a latent space. The decoder included in the autoencoder converts the features in the latent space into Fourier data.
[0004] The proposed prediction method selects a starting feature from the latent space. The prediction method evaluates other features in the vicinity of the previous feature using the distance from the previous feature and the occurrence probability of the other features in the latent space. The prediction method uses the evaluation result to select the next feature from the vicinity of the previous feature. The prediction method determines a path in the latent space from the starting point to the end point by repeating the selection of the next feature. The prediction method uses a decoder to convert multiple features on the path into multiple possible shapes that the molecule can take. [Prior art documents] [Non-patent literature]
[0005] [Non-Patent Document 1] Kimihiro Yamazaki, Yuichiro Wada, Atsushi Tokuhisa, Mutsuyo Wada, Takashi Katoh, Yuhei Umeda, Yasushi Okuno and Akira Nakagawa, "An Auto-Encoder to Reconstruct Structure with Cryo-EM Images via Theoretically Guaranteed Isometric Latent Space, and Its Application for Automatically Computing the Conformational Pathway", Proc. of the 26th International Conference on Medical Image Computing and Computer Assisted Intervention (MICCAI 2023), pp. 394-404, October 2023 Summary of the Invention [Problem to be solved by the invention]
[0006] However, the prediction method described in Non-Patent Document 1 repeats local selection, selecting the next feature from the previous feature. Therefore, the path determined by the repeated local selection does not necessarily represent a natural deformation process from the starting shape to the end shape, and there is room for improvement in the prediction accuracy of the deformation process. Therefore, in one aspect, the present invention aims to improve the prediction accuracy of the molecular deformation process. [Means for solving the problem]
[0007] In one embodiment, an information processing program is provided that causes a computer to execute the following process. Graph data is generated for a latent space to which feature quantities corresponding to shape data indicating the shape of a molecule and having a smaller number of dimensions than the shape data belong, and the graph data includes multiple nodes indicating different feature quantities and multiple edges connecting the multiple nodes. The weight of each of the multiple edges is calculated using the distance in the latent space between the two nodes connected by the edge and the probability distribution of the feature quantities in the latent space. A path in the latent space between a first node and a second node among the multiple nodes is searched for using the weights, thereby predicting the deformation process between a first shape corresponding to the first node and a second shape corresponding to the second node.
[0008] In one aspect, there is provided an information processing method executed by a computer, and in another aspect, there is provided an information processing device having a storage unit and a processing unit. [Effects of the Invention]
[0009] On the one hand, it improves the accuracy of prediction of molecular deformation processes. [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 1 is a diagram illustrating an information processing apparatus according to a first embodiment. [Figure 2] FIG. 2 is a block diagram illustrating an example of hardware of an information processing device. [Figure 3] FIG. 1 is a diagram illustrating an example of the structure of a machine learning model. [Figure 4] FIG. 10 is a diagram illustrating an example of a path search in a latent space. [Figure 5] FIG. 10 is a diagram illustrating an example of shape changes corresponding to paths in the latent space. [Figure 6] FIG. 10 is a diagram illustrating an example of a route search using a k-nearest neighbor graph. [Figure 7] FIG. 10 is a diagram illustrating an example of the structure of a distance matrix. [Figure 8] FIG. 2 is a block diagram illustrating an example of functions of the information processing device. [Figure 9]10 is a flowchart showing a first example of a procedure for predicting a shape change. [Figure 10] 10 is a flowchart illustrating a second example of a procedure for predicting a shape change. [Figure 11] 10 is a flowchart illustrating a third example of a procedure for predicting a shape change. [Figure 12] FIG. 10 is a diagram illustrating an example of optimization of nodes on a line segment. [Figure 13] 10 is a flowchart illustrating a fourth example of a procedure for predicting a shape change. DETAILED DESCRIPTION OF THE INVENTION
[0011] The present embodiment will be described below with reference to the drawings. Note that a plurality of embodiments may be combined and implemented. [First embodiment] The information processing device 10 of the first embodiment uses a machine learning model to predict the transformation process in which molecules such as proteins transform from a specific shape to another shape. The predicted transformation process may be used in various industrial fields such as pharmaceutical development and material development. The information processing device 10 may be a client device or a server device. The information processing device 10 may also be called a computer, a machine learning device, or a simulation device.
[0012] 1 is a diagram illustrating an information processing device according to a first embodiment. The information processing device 10 includes a storage unit 11 and a processing unit 12. The storage unit 11 may be a volatile semiconductor memory such as a random access memory (RAM). Alternatively, the storage unit 11 may be a nonvolatile storage such as a hard disk drive (HDD) or a flash memory.
[0013] The processing unit 12 is, for example, a processor such as a central processing unit (CPU), a graphics processing unit (GPU), or a digital signal processor (DSP). However, the processing unit 12 may also include an electronic circuit such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA). The processor executes a program stored in a memory such as a RAM (which may be the storage unit 11). A collection of processors may be called a multiprocessor or simply a "processor."
[0014] The storage unit 11 stores graph data 15. The processing unit 12 generates the graph data 15 for a latent space 13. The latent space 13 is a space to which feature quantities corresponding to shape data indicating the shape of a molecule and having a smaller number of dimensions than the shape data belong. The molecule may be a polymer or a biopolymer. Examples of molecules include proteins, ribonucleic acid (RNA), sugars, and lipids.
[0015] The shape data may be image data of a molecule or cryo-image data captured by a cryo-electron microscope. The shape data may also be three-dimensional model data representing the three-dimensional shape of a molecule. The feature quantities included in the latent space 13 are, for example, eight-dimensional numerical vectors.
[0016] The storage unit 11 may store a trained machine learning model, or may store a machine learning model that associates a data space to which shape data belongs with the latent space 13. The machine learning model may be a neural network such as an autoencoder. The autoencoder includes an encoder and a decoder. For example, the encoder converts shape data or input data that can be converted from shape data into features in the latent space 13. The decoder converts the features in the latent space 13 into shape data or output data that can be converted into shape data.
[0017] The autoencoder may be trained using multiple samples of shape data. The autoencoder may also be trained so that the features in the latent space 13 follow a probability distribution 14. The autoencoder may also estimate the probability distribution 14 that the features in the latent space 13 follow through machine learning. The probability distribution 14 may be a single normal distribution or a Gaussian mixture distribution represented by a weighted sum of multiple normal distributions.
[0018] It is preferable that the latent space 13 has isometricity. Isometricity includes the fact that the distance between two feature quantities in the latent space 13 is proportional to the distance between two shape data corresponding to the two feature quantities. Isometricity also includes the fact that the occurrence probability of a feature quantity in the latent space 13 is proportional to the occurrence probability of the shape data corresponding to the feature quantity.
[0019] The graph data 15 includes a plurality of nodes each showing a different feature amount and a plurality of edges connecting the plurality of nodes. The graph data 15 has edges between neighboring nodes that are close to each other. The graph data 15 may be a k-nearest neighbor graph (kNN (k-Nearest Neighbor) graph). In a k-nearest neighbor graph, each node has edges with k neighboring nodes, preferentially in descending order of distance, and has no edges with any other nodes.
[0020] The processing unit 12 may generate graph data 15 by selecting multiple feature quantities as nodes from the latent space 13. In this case, the processing unit 12 may select feature quantities based on a probability distribution 14. The feature quantities selected from the probability distribution 14 may include feature quantities corresponding to peaks indicating maximum values of probability, or may include feature quantities corresponding to peaks of each normal distribution forming a Gaussian mixture distribution. Furthermore, the processing unit 12 may randomly select feature quantities from the latent space 13, or may select feature quantities in a lattice pattern at regular intervals.
[0021] Furthermore, the processing unit 12 may select multiple feature quantities corresponding to multiple samples of shape data. The multiple samples may be used to train a machine learning model that associates a data space with a latent space. The processing unit 12 may calculate multiple feature quantities by inputting each of the multiple samples to an encoder included in an autoencoder. The selected feature quantities may include a feature quantity corresponding to the shape of a start point specified by a user, and may include a feature quantity corresponding to the shape of an end point specified by a user.
[0022] The processing unit 12 calculates a weight for each of a plurality of edges included in the graph data 15. The weight is calculated using the distance in the latent space 13 between two nodes connected by the edge. The distance may be Manhattan distance defined by the L1 norm or Euclidean distance defined by the L2 norm. The weight is calculated using a probability distribution 14. The weight may be calculated using the probability of one or both of the two nodes connected by the edge. The weight may also be calculated using the probability at the midpoint of the two nodes connected by the edge. The weight may be proportional to the distance and inversely proportional to the probability.
[0023] The processing unit 12 uses the edge weights to search for a path 16 between one node and another node in the latent space 13. The node at one end of the path 16 may be a starting point specified by the user, and the node at the other end of the path 16 may be an end point specified by the user. Through the path search, the processing unit 12 predicts a deformation process 17 of the molecule. The deformation process 17 indicates a continuous deformation from a shape indicated by a node at one end to a shape indicated by a node at the other end, and indicates one or more intermediate shapes that the molecule may take during the deformation.
[0024] For example, the processing unit 12 searches for the shortest path from the start node to the end node via one or more intermediate nodes in the graph data 15. The shortest path search searches for a path that minimizes the sum of the weights of the edges along the path. The sum of the weights of the edges may be referred to as the maximum flux value. A path search algorithm such as Dijkstra's algorithm may be used to search for the shortest path. The path 16 may be the shortest path on the graph data 15.
[0025] Furthermore, the processing unit 12 may perform route optimization by starting with the shortest route on the graph data 15 and fine-tuning the positions of at least some of the nodes on the shortest route. For example, the processing unit 12 calculates, as a gradient, the change in the maximum flux value relative to the change in the position of each node on the shortest route, and moves each node by a small amount in the direction in which the maximum flux value decreases. The route 16 may be a route optimized in this way.
[0026] The processing unit 12 may predict the deformation process 17 by converting features indicated by one or more intermediate nodes included in the path 16 into shape data. In this case, the processing unit 12 may input the features to a decoder included in the autoencoder. The processing unit 12 may also extract features other than those of the nodes from the path 16 and convert them into shape data. The deformation process 17 may be represented by arranging multiple pieces of shape data in a time series. The processing unit 12 outputs the deformation process 17. In this case, the processing unit 12 may store the deformation process 17 in non-volatile storage, display it on a display device, or transmit it to another information processing device.
[0027] As described above, the information processing device 10 of the first embodiment generates graph data 15 for the latent space 13. The latent space 13 is a space to which feature quantities corresponding to shape data indicating the shape of a molecule and having a smaller number of dimensions than the shape data belong. The graph data 15 includes multiple nodes indicating different feature quantities and multiple edges connecting the nodes.
[0028] The information processing device 10 calculates the weight of each edge using the distance in the latent space 13 between the two nodes connected by the edge and a probability distribution 14 of the feature in the latent space 13. The information processing device 10 uses the weight to search for a path 16 in the latent space 13 between the first node and the second node, thereby predicting a deformation process 17 between a first shape corresponding to the first node and a second shape corresponding to the second node.
[0029] This allows the information processing device 10 to efficiently predict the transformation process 17 in which a molecule transforms from one shape to another. Furthermore, the user can obtain the transformation process 17 even if they do not have sufficient physical, chemical, or biological expertise, thereby reducing the burden on the user. Furthermore, the information processing device 10 can promote drug discovery to develop new pharmaceuticals by predicting the transformation process 17 for biopolymers such as proteins.
[0030] Furthermore, the information processing device 10 searches for a path 16 using weights that take into account a probability distribution 14 in a latent space 13. As a result, the path 16 approximates an ideal path calculated based on specialized knowledge, improving the quality of the predicted transformation process 17. Furthermore, the information processing device 10 searches for an appropriate path 16 from the perspective of the entire path using weighted graph data 15. As a result, the quality of the transformation process 17 improves compared to when local selection is used, in which the next node is selected one by one from the start node toward the end node.
[0031] The information processing device 10 may convert multiple samples of shape data into multiple feature quantities using a trained autoencoder, and may generate graph data 15 so that nodes represent the converted feature quantities. This allows the graph data 15 to be generated, taking into account the distribution of shape data, and including routes close to an ideal route. The graph data 15 may also represent a k-nearest-neighbor graph, in which each of multiple nodes is connected to k other nodes (k is an integer of 2 or greater) in order of shortest distance. This reduces the number of edges to a range sufficient for searching for a route 16, thereby reducing the cost of route search.
[0032] Furthermore, the information processing device 10 may search for the shortest path from the graph data 15 that minimizes the sum of weights of the edges passed through. This allows a path 16 close to an ideal path to be derived efficiently. Furthermore, the information processing device 10 may identify a first path from the graph data 15 that runs from a first node to a second node via one or more third nodes. Furthermore, the information processing device 10 may generate a second path by moving at least some of the third nodes in the latent space 13 using the sum of weights of the edges included in the first path. This further improves the search accuracy of the path 16 and further improves the quality of the transformation process 17.
[0033] [Second embodiment] An information processing device 100 according to the second embodiment predicts the natural transformation process of a protein using a machine learning model without relying on experiments. This transformation process indicates a natural transformation from a physical, chemical, or biological perspective among the continuous transformations of the same protein from one shape to another. The predicted results of the protein transformation process are used, for example, in pharmaceutical development. The information processing device 100 may be a client device or a server device. The information processing device 100 corresponds to the information processing device 10 according to the first embodiment. Note that, although the information processing device 100 trains and uses the machine learning model in the second embodiment, the training and use may be performed by different information processing devices.
[0034] 2 is a block diagram showing an example of hardware of an information processing device. The information processing device 100 has a CPU 101, a RAM 102, a HDD 103, a GPU 104, an input interface 105, a medium reader 106, and a communication interface 107, all connected via a bus. The CPU 101 corresponds to the processing unit 12 in the first embodiment. The RAM 102 or the HDD 103 corresponds to the storage unit 11 in the first embodiment.
[0035] The CPU 101 is a processor that executes program instructions. The CPU 101 loads programs and data stored in the HDD 103 into the RAM 102 and executes the programs. The information processing device 100 may have multiple processors.
[0036] The RAM 102 is a volatile semiconductor memory that temporarily stores programs executed by the CPU 101 and data used in calculations by the CPU 101. The information processing device 100 may have a type of volatile memory other than a RAM.
[0037] The HDD 103 is a nonvolatile storage that stores software programs such as an operating system (OS), middleware, and application software, as well as data. The information processing device 100 may also have other types of nonvolatile storage, such as a flash memory or an SSD (Solid State Drive).
[0038] The GPU 104 performs image processing in cooperation with the CPU 101 and outputs an image to a display device 111 connected to the information processing device 100. The display device 111 is, for example, a CRT (Cathode Ray Tube) display, a liquid crystal display, an organic EL (Electro Luminescence) display, or a projector. Other types of output devices, such as a printer, may be connected to the information processing device 100.
[0039] The GPU 104 may also be used as a general purpose computing on graphics processing unit (GPGPU). The GPU 104 may execute a program in response to an instruction from the CPU 101. The information processing device 100 may include a volatile semiconductor memory other than the RAM 102 as a GPU memory.
[0040] The input interface 105 receives an input signal from an input device 112 connected to the information processing device 100. The input device 112 is, for example, a mouse, a touch panel, or a keyboard. A plurality of input devices may be connected to the information processing device 100.
[0041] The medium reader 106 is a reading device that reads programs and data recorded on the recording medium 113. The recording medium 113 is, for example, a magnetic disk, an optical disk, or a semiconductor memory. Magnetic disks include flexible disks (FDs) and HDDs. Optical disks include compact discs (CDs) and digital versatile discs (DVDs). The medium reader 106 copies the programs and data read from the recording medium 113 to other recording media such as the RAM 102 or the HDD 103. The read programs may be executed by the CPU 101.
[0042] The recording medium 113 may be a portable recording medium. The recording medium 113 may be used to distribute programs and data. The recording medium 113 and the HDD 103 may also be referred to as computer-readable recording media.
[0043] The communication interface 107 communicates with other information processing devices via the network 114. The communication interface 107 may be a wired communication interface connected to a wired communication device such as a switch or a router, or may be a wireless communication interface connected to a wireless communication device such as a base station or an access point.
[0044] 3 is a diagram illustrating an example of the structure of a machine learning model. The information processing device 100 uses an autoencoder as the machine learning model. The information processing device 100 may use an autoencoder called CryoTWIN described in Non-Patent Document 1. The autoencoder of the second embodiment includes an encoder 131 and a decoder 132.
[0045] In machine learning, the information processing device 100 prepares image data 141. The image data 141 is cryo-image data obtained by imaging a protein from one direction using a cryo-electron microscope, and is two-dimensional image data. The information processing device 100 prepares, as the image data 141, a plurality of image data obtained by imaging proteins of the same shape from different directions. The information processing device 100 also prepares, as the image data 141, a plurality of image data obtained by imaging proteins of the same type but different shapes.
[0046] The information processing device 100 inputs image data 141 to a Fourier transformer 133, thereby converting the image data 141 into Fourier data 142. The Fourier transformer 133 performs a Fourier transform such as a fast Fourier transform. The Fourier data 142 is two-dimensional data that indicates the distribution of frequency components of the image data 141.
[0047] The information processing device 100 initializes a parameter θ included in the encoder 131 and a parameter φ included in the decoder 132. The encoder 131 is a multilayer neural network including multiple layers. The parameter θ includes a weight by which the input value of each layer is multiplied. Similarly, the decoder 132 is a multilayer neural network including multiple layers. The parameter φ includes a weight by which the input value of each layer is multiplied.
[0048] The information processing device 100 converts the Fourier data 142 into a feature 144 by inputting the Fourier data 142 to the encoder 131. The feature 144 is a numerical vector belonging to a latent space. The number of dimensions of the feature 144 is smaller than that of the Fourier data 142, for example, 8 dimensions. Machine learning is performed by using a probability distribution P ψ This involves estimating the probability distribution P ψ is a Gaussian mixture distribution with parameters ψ, which include the mean and standard deviation of each of the multiple normal distributions, as well as the weight of each normal distribution.
[0049] The information processing device 100 adds noise 145 to the feature 144. The noise 145 is a random number selected from a range of a uniform distribution with a certain width T. As a result, a new feature is extracted from the periphery of the feature 144 in the latent space. In machine learning, by adding the noise 145 to the feature 144, the latent space is trained to follow a specific probability distribution.
[0050] The information processing device 100 also generates position information 143 corresponding to the Fourier data 142. The position information 143 indicates the direction in which the protein is imaged in three-dimensional space. The position information 143 also indicates a region of interest in the Fourier data 142. The information processing device 100 may calculate three-dimensional coordinates as the position information 143 by applying a rotation angle to two-dimensional coordinates on the Fourier data 142.
[0051] The information processing device 100 predicts some frequency components contained in Fourier data 146 by inputting feature amount 144 with noise 145 added and position information 143 to the decoder 132. The Fourier data 146 is three-dimensional data indicating frequency components obtained by performing a Fourier transform on the three-dimensional shape of a protein. The decoder 132 predicts the frequency components at the position indicated by the position information 143. The information processing device 100 fixes the feature amount 144 and repeatedly uses the decoder 132 while changing the region of interest in the Fourier data 142. The information processing device 100 generates predicted data equivalent to the Fourier data 142 by arranging the frequency components predicted by the decoder 132 on a plane.
[0052] The information processing device 100 compares this predicted data with the Fourier data 142 to calculate the error. The information processing device 100 repeats the calculation of the error while changing the image data 141. Then, the information processing device 100 updates the parameters θ, φ, and ψ by the backpropagation method so as to reduce the overall error. At this time, the information processing device 100 fits the feature quantities 144 corresponding to various image data 141 to a Gaussian mixture distribution to calculate the probability distribution P ψ The information processing device 100 updates the updated probability distribution P ψ Based on this, the parameter φ of the decoder 132 is updated, and the parameter θ of the decoder 132 is updated. The information processing device 100 repeatedly updates the parameters θ, φ, and ψ.
[0053] In this way, the information processing device 100 trains an autoencoder including an encoder 131 that converts the Fourier data 142 into features 144 and a decoder 132 that converts the features 144 into Fourier data 146. The information processing device 100 also trains a probability distribution P ψ Learn.
[0054] The information processing device 100 can generate various possible shapes of a protein by using a trained decoder 132. When using an autoencoder, the information processing device 100 selects a feature 144 from a latent space and generates position information 143. The information processing device 100 inputs the feature 144 and the position information 143 into the decoder 132 to predict frequency components contained in the Fourier data 146. The information processing device 100 fixes the feature 144 and repeatedly uses the decoder 132 while changing the angle indicating the region of interest and the imaging direction. In this way, the entire Fourier data 146 is generated.
[0055] The information processing device 100 converts the Fourier data 146 into shape data 147 by inputting the Fourier data 146 to an inverse Fourier transformer 134. The inverse Fourier transformer 134 performs an inverse Fourier transform such as an inverse fast Fourier transform. The shape data 147 is three-dimensional density data that indicates the three-dimensional shape of a protein. One piece of shape data 147 corresponds to one feature 144 included in the latent space.
[0056] The latent space learned by such an autoencoder has the isometry shown in Equation (1). In Equation (1), z and z' are the features of the latent space, V z is the shape data corresponding to the feature z, and V z’ is the shape data corresponding to the feature z'. ψ (z) is the probability of occurrence of feature z in the latent space, P(V z ) is the shape data V in the data space. z The probability of occurrence of isometry is that the distance between features z and z' in the latent space is proportional to the distance between shape data V in the data space. z ,V z’ In addition, isometry means that the occurrence probability of feature z in the latent space is proportional to the distance of shape data V in the data space. z This includes being proportional to the probability of occurrence of
[0057]
number
[0058] FIG. 4 is a diagram showing an example of path search in a latent space. The information processing device 100 predicts natural shape changes of a protein by using a trained autoencoder. The information processing device 100 searches for a path starting from node 151 and arriving at node 152 in the latent space 150. Node 151 is a start node and indicates features corresponding to the shape at the start of deformation specified by the user. Node 152 is an end node and indicates features corresponding to the shape at the end of deformation specified by the user.
[0059] The information processing device 100 may receive feature amounts of a start point and feature amounts of an end point from the user. Furthermore, the information processing device 100 may receive image data indicating a shape at the start of deformation from the user, and convert the image data into feature amounts using the encoder 131. Similarly, the information processing device 100 may receive image data indicating a shape at the end of deformation from the user, and convert the image data into feature amounts using the encoder 131.
[0060] The information processing device 100 identifies a path that passes through nodes 153, 154, 155, and 156. Nodes 153, 154, 155, and 156 are intermediate nodes that indicate features corresponding to shapes that the protein may take during the transformation process. In this path, node 151 is followed by node 153, node 153 is followed by node 154, node 154 is followed by node 155, node 155 is followed by node 156, and node 156 is followed by node 152.
[0061] 5 is a diagram showing an example of shape changes corresponding to a path in the latent space. The information processing device 100 uses the decoder 132 to predict intermediate shapes that the protein can take from the features included in the path in the latent space 150.
[0062] Shape data 161 corresponds to node 151 and indicates the shape of the starting point of the protein. Shape data 162 corresponds to node 152 and indicates the shape of the ending point of the protein. Shape data 163, 164, 165, and 166 indicate intermediate shapes of the protein. Shape data 163 corresponds to node 153, shape data 164 corresponds to node 154, shape data 165 corresponds to node 155, and shape data 166 corresponds to node 156. The information processing device 100 outputs shape data 161, 162, 163, 164, 165, and 166.
[0063] Here, it is preferable that the transformation process predicted by the information processing device 100 is reasonable from a physical, chemical, or biological perspective. In this regard, the quality of the predicted transformation process depends on the accuracy of the path search in the latent space. Therefore, a path search method will be described below. As one path search method, the information processing device 100 may adopt local selection, which selects the next node in the direction with the smallest cost from the previous node.
[0064] Here, it is assumed that the information processing device 100 selects K+1 features from the latent space. The feature z0 is the starting point, and the feature z K is the end point. This path is K Between them, feature z k (k=1,2,…,K-1).
[0065] For the path to appear natural, it is preferable that the value of formula (2) is large. Formula (2) indicates the sum of the occurrence probabilities of K+1 features in the latent space. P ψ is the probability distribution of the latent space estimated through training of the autoencoder. In order for the path to be natural, it is preferable that the value of Equation (3) is small. Equation (3) represents the sum of the Euclidean distances between adjacent features.
[0066]
number
[0067]
number
[0068] Procedurally, the information processing device 100 may select the next feature quantity one by one from the start point to the end point according to Equation (4). k-1 Once this is determined, the feature z k-1 The information processing device 100 selects M feature candidates from the periphery of the probability distribution P ψ The probability of occurrence of each candidate is calculated from the feature z k-1 Calculate the Euclidean distance between each candidate and
[0069]
number
[0070] The information processing device 100 calculates a cost for each candidate, which is proportional to the Euclidean distance and inversely proportional to the occurrence probability. The information processing device 100 selects the candidate with the smallest cost among the M candidates as the kth feature quantity z k The information processing device 100 determines the feature quantity z k-1 From the surroundings of feature z k This allows the information processing device 100 to identify the path shown in equation (5). i is the feature value of the starting point, μ j is the feature amount of the end point. The information processing device 100 converts this route into a shape data string shown in Equation (6).
[0071]
number
[0072]
number
[0073] By evaluating features using the probability distribution of the latent space, intermediate features with a high probability of occurrence are more likely to be selected, and intermediate shapes with a high probability of occurrence are more likely to be generated. However, with the above-described local selection, the entire path from the start point to the end point is not necessarily optimized, and there is room for improvement in the quality of the shape data sequence. Therefore, in the second embodiment, the information processing device 100 optimizes the entire path using a graph search described below.
[0074] FIG. 6 is a diagram showing an example of a path search using a k-nearest neighbor graph. The information processing device 100 generates a k-nearest neighbor graph 170 defined in a latent space. The k-nearest neighbor graph 170 includes a plurality of nodes indicating different feature amounts and a plurality of edges connecting the nodes. The k-nearest neighbor graph 170 includes a node 171 indicating the feature amount of the start point and a node 172 indicating the feature amount of the end point. In addition to the nodes 171 and 172, the k-nearest neighbor graph 170 includes n nodes (n is an integer equal to or greater than 2). For example, n is approximately 100,000.
[0075] For the start point and the end point, the information processing device 100 may accept, from the user, designation of the nodes 171 and 172. Furthermore, the information processing device 100 may acquire, from the user, image data indicating the shape of the start point and image data indicating the shape of the end point, and may convert the image data into the nodes 171 and 172 using the encoder 131.
[0076] For the n nodes other than the start point and the end point, the information processing device 100 may acquire n samples of image data showing different shapes of the same type of protein and may convert the n samples into n nodes using the encoder 131. The acquired samples may be those used for training the autoencoder. Alternatively, the information processing device 100 may randomly select n nodes from the latent space according to a probability distribution of the latent space estimated by machine learning.
[0077] The information processing device 100 calculates the Euclidean distances between n+2 nodes. For each node, the information processing device 100 identifies k other nodes with the smallest Euclidean distance. k is sufficiently smaller than n, for example, k is approximately 10 to 20. The information processing device 100 connects the node to the k other nodes with edges. The node is not directly connected to the remaining distant nodes. In this way, a k-nearest neighbor graph 170 is generated. The k-nearest neighbor graph 170 is an undirected graph in which neighboring nodes are connected by edges, and is a single connected graph in which any two nodes can be reached via one or more edges.
[0078] The information processing device 100 assigns weight d ij Calculate the weight d ij is the weight between node i and node j, which may be called the weighted distance. ij is proportional to the Euclidean distance between node i and node j. Also, the weight d ij is inversely proportional to the occurrence probability at the midpoint between node i and node j. The information processing device 100 calculates the feature amount corresponding to the midpoint between node i and node j, and calculates the probability distribution P ψ The probability corresponding to the feature is calculated from
[0079]
number
[0080] The information processing device 100 calculates the probability distribution P ψ It can be said that the Euclidean distance is corrected using the weight d ij The weight d approximates the transition probability between two protein shapes corresponding to two adjacent features, and reflects physical, chemical, or biological knowledge. ij The smaller the value, the more likely such a change in shape occurs.
[0081] The information processing device 100 uses a k-nearest neighbor graph 170 in which edges are weighted to search for the shortest path from node 171 to node 172 that minimizes the value of the cost function. In the second embodiment, the sum of the weights of the edges passed through is used as the cost function. The sum of the edge weights may also be referred to as the maximum flux value. The information processing device 100 executes a path search algorithm such as Dijkstra's algorithm. In FIG. 6, a path 173 that passes from node 171 to node 172 via five intermediate nodes is identified. The information processing device 100 uses a decoder 132 to convert the nodes passed through by the path 173 into shape data and outputs a shape data string in which the shape data is arranged in chronological order.
[0082] 7 is a diagram showing an example of the structure of a distance matrix. In the above graph search, the information processing device 100 uses a distance matrix 127. The distance matrix 127 is a square matrix in which the length of one side corresponds to the number of nodes. The information processing device 100 calculates the Euclidean distance between node i and node j, and enters the Euclidean distance in row i, column j of the distance matrix 127.
[0083] Next, the information processing device 100 leaves k elements with the smallest numerical values in row units or column units and replaces the remaining elements with zeros. A zero in the i-th row and j-th column indicates that node i and node j are not connected by an edge. Then, the information processing device 100 calculates the non-zero elements of the distance matrix 127 by the weight d ij If the i-th row and j-th column is not zero, the information processing device 100 calculates the occurrence probability of the midpoint between node i and node j, and divides the existing component of the i-th row and j-th column by the occurrence probability. The information processing device 100 uses the distance matrix 127 generated in this way to search for the shortest path.
[0084] Here, a supplementary explanation will be given regarding the quality of the shape data sequence specified by the shortest path on the k-nearest neighbor graph 170. In the formula (8), S (N) Kindicates the path with the smallest maximum flux value among the paths identified by selecting K nodes from a graph containing N nodes. In Equation (8) and Equation (9), S K indicates the path with the smallest maximum flux value among the paths identified by selecting K nodes from the entire latent space. In Equation (9), S * indicates the route that is considered optimal based on expert knowledge.
[0085]
number
[0086]
number
[0087] If we fix the number of nodes in the path, K, and increase the number of nodes in the graph, N, by one, the number of path candidates increases monotonically. ij From the properties of, the path S after increasing the number of nodes N (N) K The maximum flux value of the route S is equal to or smaller than the maximum flux value before increasing the number of nodes N. (N) K The maximum flux value of is a positive number. Therefore, as shown in Equation (8), by making the number of nodes N in the graph sufficiently large, the path S (N) K is the route S without restricting node positions. K converges to.
[0088] Also, consider increasing the number of nodes K in a path by one by inserting a new node between two adjacent nodes in the path. The position of the new node is determined so that the maximum flux value is minimized. By inserting a new node between two nodes, the partial path connecting the two nodes can change from a straight line to a curve. The weight d between the nodes ij From the properties of, the path S after increasing the number of nodes K KThe maximum flux value of will be the same as or smaller than the maximum flux value before increasing the number of nodes K.
[0089] Also, route S K The maximum flux value of is a positive number. Therefore, as shown in Equation (9), by making the number of nodes K on the path sufficiently large, the path S K is the ideal path S * From equations (8) and (9), the shortest path searched from the k-nearest neighbor graph 170 with a sufficiently large sample number n approximates the optimal path. Next, the functions and processing procedure of the information processing device 100 according to the second embodiment will be described.
[0090] 8 is a block diagram showing an example of functions of an information processing device. The information processing device 100 has a sample storage unit 121, a model storage unit 122, a machine learning unit 123, a graph generation unit 124, a path search unit 125, and a shape prediction unit 126. The sample storage unit 121 and the model storage unit 122 are implemented using, for example, the RAM 102 or the HDD 103. The machine learning unit 123, the graph generation unit 124, the path search unit 125, and the shape prediction unit 126 are implemented using, for example, the CPU 101, the GPU 104, and a program.
[0091] The sample storage unit 121 stores image data samples showing the shapes of proteins. The model storage unit 122 stores a trained autoencoder. The autoencoder includes an encoder 131 and a decoder 132. The model storage unit 122 also stores a probability distribution P ψ The information is stored.
[0092] The machine learning unit 123 trains the autoencoder by backpropagation using the samples stored in the sample storage unit 121. By machine learning, the parameter θ of the encoder 131, the parameter φ of the decoder 132, and the probability distribution P ψ The parameter ψ is optimized. The machine learning unit 123 stores the values of the parameters θ, φ, and ψ in the model storage unit 122.
[0093] The graph generation unit 124 receives the designation of the shape of the starting point and the shape of the end point. The graph generation unit 124 uses the samples stored in the sample storage unit 121 to generate a graph including multiple nodes that indicate different feature quantities in the latent space. However, the graph generation unit 124 generates a graph including multiple nodes that indicate different feature quantities in the latent space using the probability distribution P ψ In the second embodiment, a k-nearest neighbor graph is generated. The graph generation unit 124 generates a graph by randomly selecting features according to the probability distribution P ψ The weight of each of the multiple edges included in the graph is calculated using
[0094] The path search unit 125 uses the graph generated by the graph generation unit 124 to search for a path in the latent space that minimizes the value of the cost function. In the second embodiment, the cost function indicates a maximum flux value, which is the sum of the weights of the edges passed through. In the second embodiment, the path search unit 125 searches for the shortest path in the graph.
[0095] The shape prediction unit 126 converts the nodes included in the route identified by the route search unit 125 into shape data using the decoder 132. However, the shape prediction unit 126 may convert feature quantities other than the nodes of the graph into shape data as long as the feature quantities are on the route. The shape prediction unit 126 outputs a shape data string in which the shape data are arranged in chronological order from the start point to the end point. The shape prediction unit 126 may store the shape data string in non-volatile storage, display it on the display device 111, or transmit it to another information processing device.
[0096] 9 is a flowchart showing a first example procedure for shape change prediction. In step S10, the graph generation unit 124 converts n samples into n nodes in a latent space using the encoder 131. In step S11, the graph generation unit 124 adds a start node indicating the shape of the start point and an end node indicating the shape of the end point to the node set of step S10. This results in a node set including n+2 nodes.
[0097] In step S12, the graph generation unit 124 calculates the Euclidean distance between nodes. In step S13, the graph generation unit 124 generates a k-nearest neighbor graph from the node set using the Euclidean distance. In the k-nearest neighbor graph, each node is connected by edges to the k nearest nodes in ascending order of Euclidean distance.
[0098] In step S14, the graph generation unit 124 calculates a weight for each edge included in the k-nearest neighbor graph using the probability distribution of the latent space. The weight is calculated by dividing the Euclidean distance by the occurrence probability of the feature corresponding to the midpoint of the edge.
[0099] In step S15, the path search unit 125 searches for the shortest path from the start node to the end node on the k-nearest neighbor graph in which edges are weighted. The shortest path is the path that minimizes the maximum flux value, which is the sum of the weights of the edges that are passed through. In step S16, the shape prediction unit 126 converts the feature values indicated by the nodes included in the shortest path in step S15 into shape data using the decoder 132. The shape prediction unit 126 outputs a shape data string in which the converted shape data is arranged in chronological order.
[0100] As described above, the information processing device 100 according to the second embodiment uses a machine learning model to predict and visualize the transformation process of a protein, which changes from one shape to another. This provides useful information for industrial fields such as pharmaceutical development. Furthermore, even if a user does not have sufficient physical, chemical, or biological expertise, they can obtain information about the transformation process of a protein without additional experiments.
[0101] Furthermore, the information processing device 100 searches for a path in the latent space indicated by the autoencoder, taking into account the probability distribution, and converts the path into a shape data sequence. The latent space has isometry, meaning that distance in the latent space is proportional to distance in the data space, and the occurrence probability of a feature in the latent space is proportional to the occurrence probability of shape data in the data space. This allows the predicted deformation process to approximate an ideal deformation process derived based on specialized knowledge, improving prediction accuracy. Furthermore, the protein deformation process can be predicted efficiently.
[0102] Furthermore, the information processing device 100 generates a k-nearest neighbor graph containing a large number of nodes for the latent space, and assigns weights to edges that are proportional to the Euclidean distance and inversely proportional to the occurrence probability. From this k-nearest neighbor graph, the information processing device 100 searches for the shortest route that minimizes the maximum flux value. This performs optimization from the perspective of the entire route, improving prediction accuracy. Furthermore, by increasing the number of nodes in the k-nearest neighbor graph, the shortest route approximates the theoretically optimal route. Furthermore, by limiting edges to those between neighboring nodes, the amount of calculation required for route search is reduced.
[0103] [Third embodiment] The third embodiment differs from the second embodiment in the method of searching for a path in the latent space. The following description will focus on the differences from the second embodiment, and explanations of the same aspects as the second embodiment may be omitted.
[0104] The information processing device of the third embodiment can be implemented using the same hardware as that shown in FIG. 2. The information processing device of the third embodiment can use the same autoencoder as that shown in FIG. 3. The information processing device of the third embodiment can be implemented using the same functional blocks as that shown in FIG. 8. Therefore, the third embodiment will be described below using the same reference numerals as those in FIGS. 2, 3, and 8.
[0105] In the second embodiment, the shortest route searched from the k-nearest neighbor graph is adopted as the final route. In this regard, since the number of given nodes is finite, there is a possibility that the maximum flux value will be smaller if a route slightly deviates from the shortest route in the k-nearest neighbor graph. On the other hand, if the number of nodes in the k-nearest neighbor graph is increased too much, the amount of calculation required for route search will increase. Therefore, in the third embodiment, the information processing device 100 performs route optimization by fine-tuning the positions of the nodes based on the shortest route searched from the k-nearest neighbor graph.
[0106] The information processing device 100 defines a cost function for the shortest path of the k-nearest-neighbor graph. The cost function in the third embodiment indicates the maximum flux value obtained by summing the weights between adjacent nodes on the path. The weight is calculated as in the above-mentioned formula (7). When one node included in the path is moved in the latent space, both the Euclidean distance and the occurrence probability of the midpoint change in relation to the adjacent node. As a result, the value of the cost function changes. Therefore, the cost function is a function whose value changes depending on the position of the node included in the path.
[0107] The information processing device 100 calculates the gradient of the cost function value for each node other than the start point and the end point. The gradient indicates the amount of change in the cost function value when the position of the node is moved by a small amount in the latent space. The gradient may also be called the derivative of the cost function value. The information processing device 100 moves the nodes other than the start point and the end point in a direction that reduces the cost function value. The information processing device 100 may determine the amount of movement according to the magnitude of the gradient.
[0108] The information processing device 100 searches for a path in the latent space that minimizes the cost function value by repeatedly moving the nodes. This path is not restricted to the shape of the original k-nearest neighbor graph. The information processing device 100 may repeat the movement of the nodes a fixed number of times, or may repeat the movement of the nodes until the cost function value converges.
[0109] FIG. 10 is a flowchart showing a second example procedure for shape change prediction. In step S20, the graph generation unit 124 converts n samples into n nodes in a latent space using the encoder 131. In step S21, the graph generation unit 124 adds a start node indicating the shape of the start point and an end node indicating the shape of the end point to the node set of step S20. Furthermore, the graph generation unit 124 identifies peak features whose probability takes a maximum value from the probability distribution of the latent space. The graph generation unit 124 adds peak nodes indicating a certain number of peak features in descending order of probability to the node set of step S20. For example, the certain number is 30. As a result, a node set including n+32 nodes is obtained.
[0110] In step S22, the graph generation unit 124 calculates the Euclidean distance between nodes. In step S23, the graph generation unit 124 generates a k-nearest neighbor graph from the node set using the Euclidean distance. In step S24, the graph generation unit 124 calculates a weight for each edge included in the k-nearest neighbor graph using a probability distribution in the latent space. In step S25, the path search unit 125 searches for the shortest path from the start node to the end node on the k-nearest neighbor graph with weighted edges.
[0111] In step S26, the path search unit 125 defines a cost function having the positions of the nodes included in the shortest path of step S25 as a parameter. This cost function indicates a maximum flux value, which is the sum of the weights between adjacent nodes. In step S27, the path search unit 125 uses the gradient of the cost function value with respect to the positions of the nodes included in the path to move the nodes so that the cost function value becomes smaller. The path search unit 125 repeats moving the nodes until the cost function value converges.
[0112] In step S28, shape prediction unit 126 converts the feature values indicated by the nodes included in the route optimized in step S27 into shape data using decoder 132. The feature values of the nodes after optimization are feature values at the position after movement, and may differ from the feature values indicated by any of the nodes included in the k-nearest neighbor graph at the time of step S23. Shape prediction unit 126 outputs a shape data string in which the converted shape data are arranged in chronological order.
[0113] As described above, the third embodiment has the same effects as the second embodiment. Furthermore, the information processing device 100 of the third embodiment optimizes the shortest path found from the k-nearest-neighbor graph by fine-tuning the positions of the nodes included in the shortest path. This allows a path with a smaller maximum flux value to be found, improving the prediction accuracy of the deformation process.
[0114] [Fourth embodiment] The fourth embodiment differs from the second and third embodiments in the method of searching for a path in the latent space. The following description will focus on the differences from the second and third embodiments, and explanations of the same aspects as the second and third embodiments may be omitted.
[0115] The information processing device of the fourth embodiment can be implemented using the same hardware as that of FIG. 2. Moreover, the information processing device of the fourth embodiment can use the same autoencoder as that of FIG. 3. Moreover, the information processing device of the fourth embodiment can be implemented using the same functional blocks as that of FIG. 8. Therefore, the fourth embodiment will be described below using the same reference numerals as those of FIGS. 2, 3, and 8.
[0116] In the third embodiment, a route with an even smaller maximum flux value is discovered by moving nodes on the shortest route without being constrained by the k-nearest-neighbor graph, based on the shortest route found from the k-nearest-neighbor graph. However, by being freed from the constraints of the connection relationships between nodes indicated by the k-nearest-neighbor graph, there is a risk that the route finally obtained will be an unnatural route that deviates from the structure of the k-nearest-neighbor graph. An unnatural route would be, for example, a meandering route that returns to the starting point halfway between the starting point and the end point, or a route in which the node order is essentially reversed.
[0117] Therefore, in the fourth embodiment, the information processing device 100 adds a constraint term to the cost function to prevent deviation from the structure of the k-nearest neighbor graph. The constraint term may also be called a penalty term. The cost function represents the sum of the maximum flux value of the path and the constraint term. Equation (10) represents the constraint term. E is the set of edges included in the k-nearest neighbor graph. λ is a hyperparameter that adjusts the magnitude of the constraint term, and its value is specified by the user.
[0118]
number
[0119] To calculate the constraint terms, the information processing device 100 defines a function f that assigns a real number to each node included in the k-nearest neighbor graph. The function f converts the feature of the latent space into a scalar value, and calculates the function value from components included in a numeric vector that is the feature. It is preferable that similar real numbers are calculated from similar feature values.
[0120] The constraint term is calculated by calculating the square of the difference between the value of the function f of one node and the value of the function f of the other node for each edge included in the k-nearest neighbor graph. The constraint term is calculated by calculating the sum of the squares of the above differences for all edges included in the k-nearest neighbor graph. When moving a node included in the shortest path searched from the k-nearest neighbor graph, the constraint term is calculated using the position after the movement. If a node is moved in a way that significantly changes the graph structure from the original k-nearest neighbor graph, the constraint term in equation (10) becomes larger, and the cost function value becomes larger. As a result, node movements that significantly change the graph structure from the original k-nearest neighbor graph are suppressed.
[0121] FIG. 11 is a flowchart showing a third example procedure for shape change prediction. In step S30, the graph generation unit 124 converts n samples into n nodes in a latent space using the encoder 131. In step S31, the graph generation unit 124 adds a start node indicating the shape of the start point and an end node indicating the shape of the end point to the node set of step S30. Furthermore, the graph generation unit 124 identifies peak features whose probability takes a maximum value from the probability distribution of the latent space. The graph generation unit 124 adds peak nodes indicating a certain number of peak features in descending order of probability to the node set of step S30.
[0122] In step S32, the graph generation unit 124 calculates the Euclidean distance between nodes. In step S33, the graph generation unit 124 generates a k-nearest neighbor graph from the node set using the Euclidean distance. In step S34, the graph generation unit 124 calculates a weight for each edge included in the k-nearest neighbor graph using a probability distribution in the latent space. In step S35, the path search unit 125 searches for the shortest path from the start node to the end node on the k-nearest neighbor graph with weighted edges.
[0123] In step S36, the path search unit 125 defines a cost function having as a parameter the positions of the nodes included in the shortest path of step S35. This cost function is the sum of the maximum flux value, which is the sum of the weights between adjacent nodes on the path, and a constraint term calculated from the structure of the k-nearest neighbor graph after the node movement.
[0124] In step S37, the path search unit 125 uses the gradient of the cost function value with respect to the position of the node included in the path to move the node so that the cost function value becomes smaller. The path search unit 125 repeats moving the node until the cost function value converges. In step S38, the shape prediction unit 126 converts the feature amounts indicated by the nodes included in the path optimized in step S37 into shape data using the decoder 132. The shape prediction unit 126 outputs a shape data string in which the converted shape data is arranged in chronological order.
[0125] As described above, the fourth embodiment has the same effects as the third embodiment. Furthermore, the information processing device 100 of the fourth embodiment adds a constraint term calculated from the structure of the k-nearest neighbor graph after node movement to the cost function. This allows the node position to be adjusted within an appropriate range based on the shortest path searched from the k-nearest neighbor graph. As a result, a natural path is ultimately obtained, and the prediction accuracy of the deformation process is improved.
[0126] [Fifth embodiment] The fifth embodiment differs from the second to fourth embodiments in the method of searching for a path in the latent space. The following description will focus on the differences from the second to fourth embodiments, and explanations of the same aspects as the second to fourth embodiments may be omitted.
[0127] The information processing device of the fifth embodiment can be implemented using the same hardware as that of FIG. 2. Moreover, the information processing device of the fifth embodiment can use the same autoencoder as that of FIG. 3. Moreover, the information processing device of the fifth embodiment can be implemented using the same functional blocks as that of FIG. 8. Therefore, the fifth embodiment will be described below using the same reference numerals as those of FIGS. 2, 3, and 8.
[0128] In the third and fourth embodiments, the shortest path is searched for from the k-nearest neighbor graph, and the path is further optimized based on the shortest path. In contrast, the information processing device 100 of the fifth embodiment sets a certain number of intermediate nodes on the line segment connecting the start node and the end node, and optimizes the path using a cost function based on this line segment. Therefore, in the fifth embodiment, the k-nearest neighbor graph is not generated, and the shortest path search on the graph is omitted.
[0129] FIG. 12 is a diagram showing an example of optimization of nodes on a line segment. The information processing device 100 draws a line segment in the latent space, connecting node 171, which is the start node, and node 172, which is the end node. The information processing device 100 sets a certain number of nodes on this line segment as intermediate nodes. For example, the certain number is 1,000. The information processing device 100 may set multiple nodes at equal intervals on the line segment. As a result, the information processing device 100 generates a path 174 from node 171 to node 172.
[0130] The information processing device 100 moves at least some of the nodes in the latent space using a path 174, which is a line segment, as a reference, as in the third embodiment. Here, the information processing device 100 calculates a maximum flux value, which is the sum of the weights between adjacent nodes, for the path 174. The information processing device 100 calculates the gradient of the maximum flux value with respect to the position of each node, and fine-tunes the position of each node so that the maximum flux value becomes smaller. The information processing device 100 repeats moving the nodes until the maximum flux values converge. As a result, the path 174, which is a line segment, is optimized into a path 175, which is a curve.
[0131] FIG. 13 is a flowchart showing a fourth example procedure for shape change prediction. In step S40, the graph generation unit 124 identifies a start node indicating the shape of the start point and an end node indicating the shape of the end point. The graph generation unit 124 calculates a line segment connecting the start node and the end node in the latent space. In step S41, the graph generation unit 124 extracts a certain number of nodes from the line segment of step S40. The graph generation unit 124 connects adjacent nodes on the line segment with edges. This generates a graph showing the line segment path.
[0132] In step S42, the graph generation unit 124 calculates a weight for each edge included in the graph of step S41 using the probability distribution of the latent space. The weight is proportional to the length of the edge and inversely proportional to the probability at the midpoint of the edge. In step S43, the path search unit 125 defines a cost function having the node position as a parameter. This cost function indicates the maximum flux value, which is the sum of the weights between adjacent nodes on the path.
[0133] In step S44, the path search unit 125 uses the gradient of the cost function value with respect to the position of the node included in the path to move the node so that the cost function value becomes smaller. The path search unit 125 repeats moving the node until the cost function value converges. In step S45, the shape prediction unit 126 converts the feature amounts indicated by the nodes included in the path optimized in step S44 into shape data using the decoder 132. The shape prediction unit 126 outputs a shape data string in which the converted shape data is arranged in chronological order.
[0134] As described above, the information processing device 100 of the fifth embodiment searches for a path in the latent space indicated by the autoencoder, taking into account a probability distribution, and converts the path into a shape data sequence. This allows the predicted deformation process to approximate an ideal deformation process derived based on specialized knowledge, improving prediction accuracy. Furthermore, the information processing device 100 of the fifth embodiment searches for a path that minimizes the maximum flux value, starting from a line segment connecting the start node and the end node. This allows optimization from the perspective of the entire path, improving prediction accuracy. Furthermore, the shortest path search for the k-nearest neighbor graph can be omitted, potentially reducing the amount of calculation. [Explanation of symbols]
[0135] 10. Information processing equipment 11 Storage section 12 Processing section 13 Latent space 14 Probability Distribution 15 Graph Data 16 Routes 17 Deformation Process
Claims
1. generating graph data including a plurality of nodes indicating different feature quantities and a plurality of edges connecting the plurality of nodes for a latent space to which feature quantities corresponding to shape data indicating the shape of a molecule belong, the feature quantities having a smaller number of dimensions than the shape data; calculating a weight for each of the plurality of edges using a distance in the latent space between two nodes connected by the edge and a probability distribution of the feature in the latent space; predicting a deformation process between a first shape corresponding to the first node and a second shape corresponding to the second node by searching a path in the latent space between a first node and a second node among the plurality of nodes using the weights; An information processing program that causes a computer to execute a process.
2. the generating step includes converting a plurality of samples of the shape data into a plurality of features using a trained autoencoder, and generating the graph data such that the plurality of nodes represent the converted plurality of features. The information processing program according to claim 1.
3. the graph data indicates a k-nearest neighbor graph in which each of the plurality of nodes is connected to k other nodes (k is an integer of 2 or more) in order of the shortest distance, The information processing program according to claim 1.
4. the prediction process includes a process of searching, from the graph data, for a shortest path that minimizes the sum of the weights of the edges passing through the shortest path among the plurality of edges; The information processing program according to claim 1.
5. the predicting process includes a process of identifying a first path from the first node to the second node via one or more third nodes from the graph data, and generating a second path by moving at least a part of the one or more third nodes in the latent space using the sum of the weights of edges included in the first path. The information processing program according to claim 1.
6. generating graph data including a plurality of nodes indicating different feature quantities and a plurality of edges connecting the plurality of nodes for a latent space to which feature quantities corresponding to shape data indicating the shape of a molecule belong, the feature quantities having a smaller number of dimensions than the shape data; calculating a weight for each of the plurality of edges using a distance in the latent space between two nodes connected by the edge and a probability distribution of the feature in the latent space; predicting a deformation process between a first shape corresponding to the first node and a second shape corresponding to the second node by searching a path in the latent space between a first node and a second node among the plurality of nodes using the weights; An information processing method in which processing is performed by a computer.
7. a storage unit that stores graph data including a plurality of nodes that indicate different feature amounts and a plurality of edges that connect the plurality of nodes, the graph data being a feature amount corresponding to shape data that indicates the shape of a molecule, and a latent space to which the feature amount belongs that has a smaller number of dimensions than the shape data; a processing unit that calculates a weight for each of the plurality of edges using a distance in the latent space between two nodes connected by the edge and a probability distribution of the feature in the latent space, and predicts a deformation process between a first shape corresponding to the first node and a second shape corresponding to the second node by searching for a path in the latent space between a first node and a second node among the plurality of nodes using the weight; An information processing device having the above.