WO2022034913A1 - 推定装置、訓練装置、グラフ生成方法及びネットワーク生成方法 - Google Patents
推定装置、訓練装置、グラフ生成方法及びネットワーク生成方法 Download PDFInfo
- Publication number
- WO2022034913A1 WO2022034913A1 PCT/JP2021/029717 JP2021029717W WO2022034913A1 WO 2022034913 A1 WO2022034913 A1 WO 2022034913A1 JP 2021029717 W JP2021029717 W JP 2021029717W WO 2022034913 A1 WO2022034913 A1 WO 2022034913A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- node
- tree
- graph
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative networks
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/80—Data visualisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
Definitions
- This disclosure relates to an estimation device, a training device, a graph generation method, and a network generation method.
- a method of generating a molecular structure using a trained generative model is being researched. These methods train the generative model using the molecular structure as teacher data, etc., and train the mapping between the molecular structure and the corresponding fixed-length latent vector. At the time of molecular structure generation, the latent vector is randomly changed, or a specific property is searched for as a target, and the molecular structure corresponding to the latent vector is inferred.
- the expression method of the molecular structure has a great influence on the performance of molecular structure generation.
- the character string expression output by the generative model may not correspond to a valid molecular structure, which may affect the performance.
- the graph format there are no cases in which the graph expression does not correspond to a valid molecular structure, but it is difficult to efficiently learn the molecular structure (for example, phenyl group) that frequently appears in organic compounds. ..
- an estimation device for estimating the graph structure of a compound at high speed and a training device for training a trained model of the inference device are realized.
- the estimator comprises one or more memories and one or more processors.
- the one or more processors obtain tree information, including node information and edge information, from the latent representation and generate a graph from the tree information.
- the information in the tree includes the connection information of the node.
- the figure which shows the conversion in the training which concerns on one Embodiment. which shows an example of the site information which concerns on one Embodiment.
- Ticle decomposition indicates a method of mapping from a graph representation of a molecular structure to a tree representation.
- “Singleton” indicates a node corresponding to an atom that becomes a branch point when the graph representation of a compound molecule is decomposed into trees.
- the branch point of the graph is this singleton node if the branch point does not belong to the ring structure.
- “Bond” is a representation of two covalently bonded atoms as one node. However, in the case of a covalent bond belonging to a ring structure, the following "ring” is applied.
- a "ring” is a node corresponding to a ring structure when the graph representation of a compound molecule is decomposed into trees.
- Typical examples of the compound represented as a ring include, but are not limited to, benzene, pyridine, pyrimidine and the like, or cyclobutadiene, cyclopentadiene, pyrrole, cyclooctatetraene, cyclooctane and the like. Any ring may be used.
- Site information is information showing the relationship between how the tree-decomposed nodes were connected in the original molecular structure. Although general tree decomposition is irreversible, by using this site information, in the embodiment of the present disclosure, the reversibility that can be reversely converted from the tree decomposition tree representation to the graph representation is ensured. Further, the tree representation to which this site information is added is called a tree representation with site information.
- node and edges mainly indicate nodes and edges in a tree representation, but before and after tree decomposition, nodes and edges in a graph representation and nodes and edges in a tree representation are appropriately used. It shall be read as.
- the data represented by the graph may be referred to as the first type data
- the data represented by the tree with site information may be referred to as the second type data
- the latent representation may be referred to as the third type data.
- FIG. 1 is a block diagram showing an example of the configuration of the estimation device according to the embodiment.
- the estimation device 1 includes an input unit 100, a storage unit 102, a search unit 104, a decoding unit 106, a restoration unit 108, and an output unit 110.
- the estimation device 1 generates and outputs a chemical formula of the compound based on the information input from the input unit 100 or the latent state automatically generated by the estimation device 1.
- the input unit 100 accepts input from the outside.
- the data received by the input unit 100 is stored in the storage unit 102 if necessary.
- the input unit 100 receives a request from a user or receives information that is a seed for a search in the search unit 104.
- the storage unit 102 stores information necessary for the operation of the estimation device 1. Further, the intermediate generation data, the final generation data, and the like in the processing of the estimation device 1 may be stored. For example, in various operations of the estimation device 1, when information processing by software is specifically realized by using hardware resources, a program related to this software is stored. It may also store hyperparameters and parameters that make up the trained neural network model.
- the search unit 104 acquires the data of the latent expression (third type) for producing the compound.
- this latent variable may be obtained using a random value.
- the search unit 104 may acquire a latent variable obtained by adding, multiplying, or the like by a random number value to the input latent variable or the latent variable based on the already acquired compound.
- the search unit 104 may optimize the latent expression so that a better result can be obtained based on the result decoded by the decoding unit 106 or the result restored by the restoration unit 108.
- a method based on metaheuristics such as PSO (Particle Swarm Optimization) may be used.
- the decoding unit 106 decodes the latent variable searched by the search unit 104 using the trained neural network model.
- the decoding unit 106 acquires a tree representation with site information corresponding to the latent variable by decoding the latent variable.
- the decoding unit 106 constitutes a decoder neural network (hereinafter referred to as a decoder NN 120) using, for example, various parameters stored in the storage unit 102. Then, the decoding unit 106 acquires the data of the tree representation with site information (second type) by inputting the latent variable into the decoder NN120.
- This decoder NN120 is, for example, a model optimized by a method of generating an autoencoder.
- the decoding unit 106 converts the data from the third type to the second type by using the decoding NN120 which outputs the second type data when the third type data is input.
- this neural network model is optimized by combining an encoder that outputs a latent variable when a tree representation with site information is input and a decoder that outputs a tree representation with site information when a latent variable is input.
- the dimension of the latent variable that is the input of the decoder NN120 may be lower than the dimension of the information that the tree representation with site information that is the output has.
- the restoration unit 108 outputs the chemical structural formula of the compound from the tree representation with site information output by the decoding unit 106.
- the restoration unit 108 converts the tree representation with site information into the data of the chemical structural formula representation (graph representation, first type) by executing the reverse operation of the tree decomposition. That is, the restoration unit 108 converts the data from the second type to the first type.
- This inverse transformation to graph representation is called assemble. The assembling method will be described in more detail in the description of the training device described later.
- the decoding unit 106 and the restoration unit 108 may perform an operation of determining the acquired result.
- the decoding unit 106 may evaluate the output tree representation with site information by an evaluation function and select whether to output or search again based on the score value.
- the restoration unit 108 may evaluate the output chemical structural formula information by an evaluation function and select whether to output or search again based on the score value.
- the search unit 104 executes a re-search when it is determined by at least one of the decoding unit 106 and the restoration unit 108 to perform a re-search. It should be noted that this determination may not be executed by the decoding unit 106 or the restoration unit 108, but may be determined by the search unit 104 based on the output of the decoding unit 106 or the restoration unit 108.
- the search unit 104 may search for a plurality of latent variables at the same timing. For example, when PSO is used as a search method, the search is executed in parallel for latent variables that are multiple particles.
- the decoding unit 106 may also generate information on a plurality of trees from a plurality of latent variables in parallel.
- the restoration unit 108 may also generate information on a plurality of chemical structural formulas from information on a plurality of trees in parallel.
- the tree information represents the tree information including the node information and the edge information.
- information including node information and edge information may be simply referred to as tree information.
- the output unit 110 outputs appropriate information.
- the information output by the output unit 110 is a chemical structural formula.
- the output unit 110 outputs information on the chemical structural formula to the outside.
- the output unit 110 may output the information of the chemical structural formula in the storage unit 102.
- the output is a concept including storing in the internal storage unit 102 together with the output to the outside.
- the output unit 110 outputs the information when the search is completed once.
- the output information is optimized by the search unit 104, only the final data may be output, or the data in a plurality of steps including the progress data may be output together with the final data. May be good.
- FIG. 2 shows a concept showing the estimation process of the estimation device 1 as a chart. The processing flow of the estimation device 1 will be described with reference to FIG.
- the search unit 104 searches for the latent variable (third type data) z'(S100).
- this latent expression may be acquired as a random number, or a latent variable close to the latent expression of the compound generated in advance may be acquired.
- the structural formula (graph representation) of the compound is obtained as a latent representation z via tree decomposition and an encoder. Then, by adding a minute value or the like to this latent expression z or multiplying it by a value close to 1, the latent expression z'that is the target of the search is acquired.
- the decoding unit 106 inputs the latent expression z'generated by the search unit 104 into the decoder NN 120, and acquires the data of the tree representation with site information (second type) (S102).
- site information second type
- the individual molecular formulas shown in the figure are the nodes in the tree representation with site information, and the arrows indicate the site information. Site information between individual nodes is shown as arrows.
- the restoration unit 108 acquires the graph representation x'(first type data) of the compound by assembling using the tree representation with site information generated by the decoding unit 106 (S104).
- the search unit 104 may acquire a new latent representation (third type data) using the data generated by at least one of the decoding unit 106 or the restoration unit 108, and repeat the search. Good (S106).
- the estimation device 1 can generate information on the compound x'.
- FIG. 3 is a block diagram showing the configuration of the training device according to the embodiment.
- the training device 2 includes an input unit 200, a storage unit 202, a decomposition unit 204, an encoding unit 206, a decoding unit 208, a restoring unit 210, an updating unit 212, and an output unit 214.
- the input unit 200 receives the input of data necessary for the operation of the training device 2.
- the training device 2 acquires, for example, data of a graph representation (first type) of a compound as training data via an input unit 200. Further, input of hyperparameters of the neural network model to be optimized may be accepted.
- the storage unit 202 stores data necessary for the operation of the training device 2.
- the training data acquired by the training device 2 via the input unit 200 may be stored in the storage unit 202. Since other operations are almost the same as those of the storage unit 102 of the estimation device 1, detailed description thereof will be omitted.
- the decomposition unit 204 converts the first data acquired via the input unit 200 into tree representation (second type) data with site information by executing tree decomposition. Further, as another example, the decomposition unit 204 may acquire the second type data based on the first type data stored in the storage unit 202. That is, the decomposition unit 204 converts the data from the first type to the second type.
- the encoding unit 206 inputs the second data generated by the decomposition unit 204 to the encoder NN 220 and acquires the data of the latent expression (third type). For example, the encoding unit 206 forms the encoder NN 220 based on various parameters of the model stored in the storage unit 202, and generates the third type data from the second type data. That is, the encoding unit 206 converts the data from the second type to the third type.
- the decoding unit 208 inputs the third type data generated by the encoding unit 206 to the decoder NN 222 to generate the second type data.
- the decoder NN 222 and the decoding unit 208 correspond to the decoder NN 120 and the decoding unit 106 of the estimation device 1 described above, respectively. That is, the decoding unit 208 converts the data from the third type to the second type.
- the restoration unit 210 acquires the first type data by assembling the second type data output by the decoding unit 208.
- the restoration unit 210 corresponds to the restoration unit 108 of the estimation device 1 described above. That is, the restoration unit 210 converts the data from the second type to the first type.
- the update unit 212 optimizes the encoder NN 220 and the decoder NN 222 based on the first type data of the compound output by the restore unit 210.
- Various optimizations used for autoencoder optimization may be used for this optimization.
- a method of VAE Vehicle Autoencoder that handles latent variables as a probability distribution may be used.
- the update unit 212 may update the model based on the second type data output by the decoding unit 208 instead of updating the model based on the first type data. ..
- the optimization is executed by comparing the data obtained by converting the first type data of the training data into the second type and the data output by the decoding unit 208.
- the update unit 212 updates the parameters of the encoder and the decoder using at least one of the data of the first type and the second type. Desirably, the update unit 212 performs parameter update using the second type of data.
- the output unit 214 outputs various parameters of the encoder and decoder optimized by updating the parameters by the update unit 212. Similar to the estimation device 1, the output unit 214 may output the acquired data to the outside or may output it to the storage unit 202.
- the training device 2 after training may be used as the estimation device 1.
- FIG. 4 shows a concept showing the training process of the training device 2 as a chart. The processing flow of the training apparatus 2 will be described with reference to FIG.
- the training device 2 acquires the compound data x via the input unit 200.
- This data may be, for example, the first type, that is, data in a graph format.
- the decomposition unit 204 decomposes the compound data of the first type into trees and acquires the data of the second type, that is, the data of the tree representation with the site information (S200).
- the encoding unit 206 inputs the second type data generated by the decomposition unit 204 to the encoder NN 220 to generate the latent expression z which is the third type data (S202).
- the decoding unit 208 inputs the latent expression z, which is the third type data generated by the encoding unit 206, to the decoder NN 222, and acquires the second type data (S204).
- the restoration unit 210 assembles from the second type data generated by the decoding unit 208 to acquire a graph representation of the compound which is the first type data (S206).
- the update unit 212 updates the parameters of the encoder NN 220 and the decoder NN 222 based on the data restored by the restore unit 210 (S208).
- the parameters may be updated based on the second type data generated by the decoding unit 208 instead of the first type data restored by the restoration unit 210.
- the processing of S206 is not essential.
- the training device 2 can generate at least information about the decoder NN222.
- the output unit 214 may output not only the decoder NN222 but also the parameters of the encoder NN220. In this case, the parameters of the encoder NN 220 can be used for further learning in the future.
- the decoder NN222 optimized by the training device 2 can be used as the decoder NN120 in the estimation device 1.
- the estimator 1 can realize inference to generate the first type of data by designating one point in the third type of data space.
- the disassembly unit 204, the restoration unit 210 of the training device 2, and the restoration unit 108 of the estimation device 1 perform conversion and assembly by wood decomposition as described below.
- the tree-decomposed node will be one of the above-mentioned singleton, bond, or ring nodes. There are four types of connections between nodes: bond-bond, bond-singleton (or singleton-bond), ring-bond (or bond-ring), and ring-ring.
- Bond-Bond is a case where two bonds are connected to each other.
- Bond-singleton is a case where one bond connects to the singleton which is the branch point.
- Ring-bond is a case where one bond is connected to the ring.
- Ring-ring is a case where two rings are directly connected. In this case, there are cases where they are condensed (one bond is shared and connected) and cases where they are spiro-bonded (only one atom is shared and connected).
- connection information of the nodes indicating the relationship in which the nodes are connected is added to the tree information as information about the site.
- This connection information includes, for example, information on the position where the node connects and information on the direction in which the node connects, as will be described in detail later.
- the decomposition unit 204 remembers which atom was shared between the nodes as site information. By using this site information, the restoration units 108 and 210 can restore the graph representation.
- the restoration units 108 and 210 can acquire the graph representation without additional information.
- the decomposition unit 204 stores, as site information, which position of the ring, that is, which atom the bond was connected to.
- the restoration units 108 and 210 can uniquely determine the connection position of the bond to the ring based on this site information.
- the disassembly unit 204 remembers which bond was shared as the site information. Furthermore, as the site direction information, the direction to which the bond was connected is recorded. By using this site information and site direction information, the restoration units 108 and 210 can restore the graph representation.
- the site information uniquely represents a subatomic group of compounds represented by a node (two atoms connected by a covalent bond in the case of a bond node, and three or more atoms belonging to a ring structure in the case of a ring node) uniquely within the node. Decide appropriately in advance so that it can be expressed. If it is a bond node, for example, numerical values such as 0 and 1 are given to each atom contained in the node as site information. If it is a ring node, for example, a number is assigned so as to pass all atoms clockwise from the reference atom.
- the reference atom whose site information is 0 may be, for example, in ascending order in which the element names are represented by ASCII codes and sorted in a dictionary. Further, as another example, the determination may be made based on the atomic number.
- any atom may be set to 0.
- the dictionary order by ASCII code becomes the youngest, or when the atomic numbers are arranged in order, the order becomes the smallest. May be good.
- an atomic number a 1- to 2-digit number or an extended number of 3 digits may be used.
- site information may be added so as to be the youngest as an 18-digit numerical value.
- the method is not limited to the above, and any method may be used as long as the same site information is appropriately assigned to the bond node or the ring node having the same configuration.
- site information is given by the same method, any of the candidate atoms may be used as a reference in a node having symmetry such as a benzene ring where there is no difference in dictionary order or the like.
- Site information may be added to all tree nodes in the implementation.
- the site information may be set to any value or 0.
- it is assumed that the site information is added to all the nodes.
- the bond-singleton connection may be configured without adding site information.
- FIG. 5 is a diagram showing an example of site information.
- FIG. 5 shows the site information regarding the bond-bond connection, but the bond-singleton case can be processed in the same manner.
- circles indicate nodes and arrows indicate directed edges with features.
- node A and node B are nodes indicating CN, and these nodes are connected to each other. It is assumed that the carbon atom (C) in the node is numbered 0 and the nitrogen atom (N) is numbered 1. As shown in Fig. 5, there are two possible molecular structures represented by this tree representation: CH 3 NHCH 3 and NH 2 CH 2 NH 2 , but the information of 0 is added to edge A ⁇ B and edge B ⁇ When 0 information is added to A, the graph representation (compound) obtained by assembling this tree representation can be uniquely determined as NH 2 CH 2 NH 2 .
- site information is not essential, but it may be added in terms of implementation.
- Restoration units 108 and 210 restore based on this site information.
- FIG. 6 is a diagram showing an example of site information, and shows site information regarding a ring-bond connection.
- Node A is a ring and node B is a bond.
- "2" of node A is numbered so that it starts from a predetermined atom in the ring of the graph of node A and passes through all the atoms. As shown in FIG. 6, starting from S in the figure, numbers 0, 1, ..., 4 are assigned in order. Node B is numbered 0, 1 as in the case of FIG.
- the restoration units 108 and 210 can uniquely restore the graph on the right instead of the graph on the left in the figure below from the information of the tree with the site information.
- the restoration units 108 and 210 are, for example, an atom at position 2 of node A based on the information of the edge from node A to node B, and 0 of node B based on the information of the edge from node B to node A. Connect with the atom at the position.
- the restorers 108 and 210 uniquely restore the atom graph from the tree information by adding the positions of the connecting atoms in the ring as site information as described above. Is possible.
- FIG. 7 is a diagram showing an example of site information, and shows site information regarding ring-ring condensed connection.
- Both node A and node B are rings.
- node A is a 6-membered ring aromatic compound
- node B is a 5-membered ring aromatic compound.
- Node A is numbered from 0 to 5 in order from a certain side in the atomic graph.
- node B is assigned a number from 0 to 4.
- the site information number is added to the edge of the atomic graph instead of the node of the atomic graph.
- the edge number of the atomic graph and the connecting direction are added as the site information of the node.
- the number 0 and the direction +1 are added as the site information of edge A ⁇ B.
- the number 3 and the direction +1 are added as the site information of the edge B ⁇ A.
- the direction means, for example, whether to connect in the order in which the numbers are added or in the reverse order.
- the direction is given in the clockwise direction, but is shown as an example, and may be counterclockwise as long as it can be uniquely specified.
- the restoration units 108 and 210 can uniquely restore the connection state on the lower right side of the figure.
- the site information of edge B ⁇ A when the site information of edge A ⁇ B is 0 (+1), the site information of edge B ⁇ A may be set to 1 (-1) to indicate the same connection. ..
- FIG. 8 is a diagram showing an example of site information, and shows site information regarding a ring-ring spiro connection. Both node A and node B are rings and have the same configuration as in FIG. 7.
- the site direction information is set to 0.
- the restoration units 108 and 210 may first refer to the site direction information when restoring from the tree showing the ring-ring to the graph. If the site direction information is 0, as shown in FIG. 8, the restoration units 108 and 210 determine that the site information indicates the atom number, connect the specified atoms to each other, and restore the graph information. do. On the other hand, when the site direction information is ⁇ 1, the graph information is restored by connecting the edges based on the case shown in Fig. 7.
- the training method of the neural network model (encoder NN, decoder NN) is also changed from the usual machine learning method.
- TreeGRU (TreeGatedRecurrentUnit) is used to train the above information with a site, but it can also be implemented in TreeLSTM (TreeLongShortTermMemory), for example.
- TreeGRU uses, for example, the method shown in W. Jin, et.al., “Junction Tree Variational Autoencoder for Molecular Graph Generation,” arXiv: 1802.04364v4, March 29, 2019.
- this TreeGRU can realize the optimization of the autoencoder by VAE. These are only given as examples, and can be applied as long as they are appropriate network formation methods and optimization methods.
- the training can be expressed by the following equation.
- EdgeTreeGRU () in equation (1) is a GRU designed to input and output a tree representation with site information as a message.
- x is a vector indicating a feature amount indicating the type of node and the like, and is represented by, for example, a one-hot vector.
- e is a vector indicating edge information, that is, a feature amount of site information (including site direction information), and is represented by, for example, a one-hot vector.
- h is a message vector between nodes. In this way, by defining the feature vector including the site information and giving the message vector between the nodes as the hidden vector of GRU, the process is executed in the same way as GRU.
- ⁇ () in each equation indicates the sigmoid function, and odot indicates the product of the elements.
- W and U represent weights, and b represents a bias term.
- the message vector h is calculated according to equations (1) to (6).
- the site information is calculated by being concatenate so that the information is included in the message vector of the GRU, as shown in the equations (2), (4), and (5).
- the encoder unit 206 forms the encoder NN 220 by using the EdgeTreeGRU () of the above equation (1) as a network representing the GRU.
- the decoding unit 208 also forms the decoder NN 222 using EdgeTreeGRU ().
- the decoding unit 208 decodes the site information as well as decodes the graph information based on the following equation.
- u and W represent weights.
- ⁇ () in equation (7) represents ReLU.
- the decoding unit 208 determines the probability of whether or not the node has further child nodes based on the equation (7) based on the output z in the previous step, the feature x of the node, and the received message h. To calculate.
- Q in Eq. (8) indicates the characteristics of the node when a child node is created.
- the decoding unit 208 infers the site information and the site direction information in addition to the inference of the node information of the tree described above.
- the decoding unit 208 calculates an intermediate variable based on the equation (9) using the output of the previous step and the input message.
- the decoding unit 208 acquires the site information from the result and weight of the equation (9) based on the equation (10), and the site direction from the result and the weight of the equation (9) based on the equation (11). Infer information.
- the decoding unit 208 acquires the information of the tree with the site from the latent variable.
- the above is the operation of the encoding unit 206 and the decoding unit 208 as an autoencoder, but it is also possible to use only the decoding NN.
- the decoding unit 106 acquires the information of the tree with the site based on the operations of the equations (7) to (11) for the latent variable.
- the updater 212 calculates the evaluation value (loss, loss) of the training data with the information of the tree encoded and decoded based on the above equation, and the weights U, W, u of each equation are calculated based on this evaluation value. , And, in some cases, update the bias b.
- the loss is expressed, for example, by the following equation.
- p_hat, q_hat, s_hat, and d_hat represent grand truth values for the predicted values p, q, s, and d, respectively.
- w s and w d are hyperparameters for adjusting the balance between site information and site direction information, and need to be set appropriately.
- each L is a loss function that is set appropriately for each variable.
- a loss function modified to use site-attached information is defined for equation (12), which is a loss function for general TLSTM.
- the update unit 212 updates the network parameters so as to minimize the cross-entropy loss shown in the equation (13). By repeating this operation, the update unit 212 optimizes the encoder NN 220 and the decoder NN 222 (decoder NN 120). For example, q_hat can be obtained by decomposing the atomic graph acquired by the decomposition unit 204 as training data into a tree with a site.
- Optimization by the update unit 212 is executed using a general method.
- the Teacher Forcing method of inputting correct answer data in the next step of GRU may be used.
- other methods such as Scheduled Sampling and Professor Forcing can also be used.
- the site information has been described with reference to FIGS. 5 to 8, and next, how to encode this site information will be described.
- the decomposition unit 204 adds site information and site direction information to the nodes that become bonds, singletons, and rings at the timing of tree decomposition.
- Site information may be given in one direction.
- the decomposition unit 204 encodes one site information on one edge. There is a method of encoding the site information of the departure side of the edge and a method of encoding the site information of the arrival side of the edge.
- the site information is encoded by adding (site of node A, site direction) as an edge feature to the edge from node A to node B.
- the site information given from node A to the edge of node B in FIG. 6 is encoded as (2,0), and the site information given from node B to the edge of node A is encoded as (0,0). ..
- the site information given from node A to the edge of node B in FIG. 7 is (0, +1), and the site information given from node B to the edge of node A is (3, +1). Is. Further, the site information given from the node B to the edge of the node A may be (1, -1).
- the site information given from node A to the edge of node B in FIG. 8 is (0, 0), and the site information given from node B to the edge of node A is (3, 0). ..
- the site direction is 0
- the site information is encoded by adding (site of node B, site direction) as an edge feature to the edge from node A to node B.
- the site information given from node A to the edge of node B in FIG. 6 is encoded as (0, 0), and the site information given from node B to the edge of node A is encoded as (2, 0). ..
- the site information given from node A to the edge of node B in FIG. 7 is (3, +1), and the site information given from node B to the edge of node A is (0, +1). Is.
- site information can be added using the information seen from the own node.
- the other site information is not essential.
- the connecting atoms are the same atom, the same atom may be extracted from the other node from one site information and the result may be used as the site information. In this way, the site information may be omitted depending on the situation.
- the site information of both may be given as the feature of the edge. That is, both site information may be encoded in one directed edge.
- the site information given from node A to the edge of node B in FIG. 6 is (2, 0, 0), and the site information given from node B to the edge of node A is (0, 2, 0). Is encoded.
- the site information given from node A to the edge of node B in FIG. 7 is (0, 3, +1), and the site information given from node B to the edge of node A is (3, 0, +). Encoded as 1).
- the site direction may be calculated, for example, by the number assigned to the node of the graph.
- the adjacent atomic nodes of node B be bl and bk (l and k are the atomic node numbers).
- the site direction is (i, l, +1).
- the site direction is -1.
- the site information at the edge of node A to node B is (i, l, -1).
- one of l and k is 0 and the other is the maximum value of the atomic node number, the opposite is true.
- the site direction information By acquiring the site direction information in this way, it is possible to restore the information of the uniquely decomposed tree to the graph. It should be noted that the above-mentioned granting of the site direction is described as an example, and even if this method is not used, it is appropriate that the site direction information can be uniquely converted into a graph in the bond that is condensed and connected in the ring. Any method of granting is sufficient.
- two-way site information In training, it is desirable to use two-way site information, but it is not limited to this. This is because in decoding, the presence of bidirectional site information allows the information of the node connecting to a certain node to be read from both nodes rather than being given by the information from the other node. it is conceivable that.
- the restoration units 108 and 210 reconstruct the atomic graph based on the information of the tree with the site output by the decoding unit. For example, the nodes may be restored in order from one node of the graph by the autoregressive method.
- the site information exists in addition to the tree information, the inference from each node to the next node can be uniquely determined.
- the inference of the node may be performed by performing the reverse operation for adding the site information described above.
- FIG. 9 is a diagram illustrating the reconstruction of the atomic graph.
- the generation of the tree structure may be executed by the same method as the autoregressive model of RNN (Recurrent Neural Network).
- the restoration unit generates node 1 from the acquired latent vector as a predetermined starting node by the neural network model of the decoding unit.
- the restoration unit self-regressively generates node 2 based on the information of the latent vector and node 1.
- a neural network model having an autoregressive configuration may be used to generate this node 2, as represented by RNN.
- the restore unit repeats this operation until all the nodes (for example, the nodes up to node N) are created.
- the tree structure can be obtained, that is, the molecular structure can be obtained.
- the present embodiment it is possible to uniquely realize the restoration from the tree information to the atomic graph by adding the site information at the timing of decomposing the tree from the atomic graph.
- a method of tree decomposition with a site has been proposed as a method of solving a unique restoration.
- an autoencoder can be used as a method for inferring the information of this site-attached tree decomposition from latent variables.
- All of the above trained inference models may be, for example, a concept that includes a model that has been trained as described and then distilled by a general method.
- each device in the above-described embodiment may be configured by hardware, or may be a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or the like. It may be composed of information processing of software (program) to be executed.
- software information processing software that realizes at least a part of the functions of each device in the above-described embodiment is a flexible disk, CD-ROM (Compact Disc-Read Only Memory) or USB (Universal Serial). Bus)
- Information processing of software may be executed by storing it in a non-temporary storage medium (non-temporary computer-readable medium) such as a memory and loading it into a computer. Further, the software may be downloaded via a communication network. Further, information processing may be executed by hardware by implementing the software in a circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
- ASIC Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- the type of storage medium that stores the software is not limited.
- the storage medium is not limited to a removable one such as a magnetic disk or an optical disk, and may be a fixed type storage medium such as a hard disk or a memory. Further, the storage medium may be provided inside the computer or may be provided outside the computer.
- FIG. 10 is a block diagram showing an example of the hardware configuration of each device (estimation device 1 or training device 2) in the above-described embodiment.
- each device includes a processor 71, a main storage device 72 (memory), an auxiliary storage device 73 (memory), a network interface 74, and a device interface 75, which are connected via a bus 76. It may be realized as a computer 7.
- the computer 7 in FIG. 10 has one component for each component, but may have a plurality of the same components. Also, in FIG. 10, one computer 7 is shown, but the software is installed on multiple computers, and each of the multiple computers performs the same or different parts of the software. May be good. In this case, it may be a form of distributed computing in which each computer communicates via a network interface 74 or the like to execute processing. That is, each device (estimation device 1 or training device 2) in the above-described embodiment is a system that realizes a function by executing an instruction stored in one or a plurality of storage devices by one or a plurality of computers. It may be configured. Further, the information transmitted from the terminal may be processed by one or a plurality of computers provided on the cloud, and the processing result may be transmitted to the terminal.
- each device estimate device 1 or training device 2 in the above-described embodiment is executed in parallel processing by using one or a plurality of processors or by using a plurality of computers via a network. May be good. Further, various operations may be distributed to a plurality of arithmetic cores in the processor and executed in parallel processing. In addition, some or all of the processes, means, etc. of the present disclosure may be executed by at least one of a processor and a storage device provided on the cloud capable of communicating with the computer 7 via a network. As described above, each device in the above-described embodiment may be in the form of parallel computing by one or a plurality of computers.
- the processor 71 may be an electronic circuit (processing circuit, Processing circuitry, CPU, GPU, FPGA, ASIC, etc.) including a computer control device and an arithmetic unit. Further, the processor 71 may be a semiconductor device or the like including a dedicated processing circuit. The processor 71 is not limited to an electronic circuit using an electronic logic element, and may be realized by an optical circuit using an optical logic element. Further, the processor 71 may include an arithmetic function based on quantum computing.
- the processor 71 can perform arithmetic processing based on data and software (programs) input from each device or the like of the internal configuration of the computer 7, and output the arithmetic result or control signal to each device or the like.
- the processor 71 may control each component constituting the computer 7 by executing an OS (Operating System) of the computer 7, an application, or the like.
- OS Operating System
- Each device (estimation device 1 or training device 2) in the above-described embodiment may be realized by one or a plurality of processors 71.
- the processor 71 may refer to one or more electronic circuits arranged on one chip, or may refer to one or more electronic circuits arranged on two or more chips or two or more devices. You may point. When a plurality of electronic circuits are used, each electronic circuit may communicate by wire or wirelessly.
- the main storage device 72 is a storage device that stores instructions executed by the processor 71, various data, and the like, and the information stored in the main storage device 72 is read out by the processor 71.
- the auxiliary storage device 73 is a storage device other than the main storage device 72. It should be noted that these storage devices mean arbitrary electronic components capable of storing electronic information, and may be semiconductor memories. The semiconductor memory may be either a volatile memory or a non-volatile memory.
- the storage device for storing various data in each device (estimation device 1 or training device 2) in the above-described embodiment may be realized by the main storage device 72 or the auxiliary storage device 73, and is built in the processor 71. It may be realized by the built-in memory.
- the storage units 102 and 202 in the above-described embodiment may be realized by the main storage device 72 or the auxiliary storage device 73.
- processors may be connected (combined) to one storage device (memory), or a single processor may be connected.
- a plurality of storage devices (memory) may be connected (combined) to one processor.
- Each device (estimation device 1 or training device 2) in the above-described embodiment is composed of at least one storage device (memory) and a plurality of processors connected (combined) to the at least one storage device (memory).
- a configuration in which at least one of a plurality of processors is connected (combined) to at least one storage device (memory) may be included.
- this configuration may be realized by a storage device (memory) and a processor included in a plurality of computers.
- a configuration in which the storage device (memory) is integrated with the processor for example, a cache memory including an L1 cache and an L2 cache
- the storage device (memory) is integrated with the processor (for example, a cache memory including an L1 cache and an L2 cache)
- the network interface 74 is an interface for connecting to the communication network 8 wirelessly or by wire. As the network interface 74, an appropriate interface such as one conforming to an existing communication standard may be used. The network interface 74 may exchange information with the external device 9A connected via the communication network 8.
- the communication network 8 may be any one of WAN (Wide Area Network), LAN (Local Area Network), PAN (Personal Area Network), or a combination thereof, and may be a combination of the computer 7 and the external device 9A. It suffices as long as information is exchanged between them.
- An example of a WAN is the Internet
- an example of a LAN is IEEE802.11 or Ethernet (registered trademark)
- an example of a PAN is Bluetooth (registered trademark) or NFC (Near Field Communication).
- the device interface 75 is an interface such as USB that directly connects to the external device 9B.
- the external device 9A is a device connected to the computer 7 via a network.
- the external device 9B is a device that is directly connected to the computer 7.
- the external device 9A or the external device 9B may be an input device as an example.
- the input device is, for example, a device such as a camera, a microphone, a motion capture, various sensors, a keyboard, a mouse, or a touch panel, and gives the acquired information to the computer 7. Further, it may be a personal computer, a tablet terminal, or a device having an input unit such as a smartphone, a memory, and a processor.
- the external device 9A or the external device 9B may be an output device as an example.
- the output device may be, for example, a display device such as an LCD (Liquid Crystal Display), a CRT (Cathode Ray Tube), a PDP (Plasma Display Panel), or an organic EL (Electro Luminescence) panel, or may output audio or the like. It may be an output speaker or the like. Further, it may be a personal computer, a tablet terminal, or a device having an output unit such as a smartphone, a memory, and a processor.
- the external device 9A or the external device 9B may be a storage device (memory).
- the external device 9A may be a network storage or the like, and the external device 9B may be a storage such as an HDD.
- the external device 9A or the external device 9B may be a device having some functions of the components of each device (estimation device 1 or training device 2) in the above-described embodiment. That is, the computer 7 may transmit or receive a part or all of the processing result of the external device 9A or the external device 9B.
- the expression (including similar expressions) of "at least one of a, b and c (one)" or "at least one of a, b or c (one)” is used. When used, it includes any of a, b, c, ab, ac, bc, or abc. It may also include multiple instances for any element, such as a-a, a-b-b, a-a-b-b-c-c, and the like. It also includes adding elements other than the listed elements (a, b and c), such as having d, such as a-b-c-d.
- connection and “coupled” are direct connection / coupling and indirect connection / coupling. , Electrically connected / combined, communicatively connected / combined, operatively connected / combined, physically connected / combined, etc. Intended as a term.
- the term should be interpreted as appropriate according to the context in which the term is used, but any connection / coupling form that is not intentionally or naturally excluded is not included in the term. It should be interpreted in a limited way.
- the physical structure of the element A can execute the operation B. Including that the element A has a configuration and the permanent or temporary setting (setting / configuration) of the element A is set (configured / set) to actually execute the operation B. good.
- the element A is a general-purpose processor
- the processor has a hardware configuration capable of executing the operation B, and the operation B is set by setting a permanent or temporary program (instruction). It suffices if it is configured to actually execute.
- the element A is a dedicated processor, a dedicated arithmetic circuit, or the like, the circuit structure of the processor actually executes the operation B regardless of whether or not the control instruction and data are actually attached. It only needs to be implemented.
- the respective hardware when a plurality of hardware performs a predetermined process, the respective hardware may cooperate to perform the predetermined process, or some hardware may perform the predetermined process. You may do all of the above. Further, some hardware may perform a part of a predetermined process, and another hardware may perform the rest of the predetermined process.
- expressions such as "one or more hardware performs the first process and the one or more hardware performs the second process" are used.
- the hardware that performs the first process and the hardware that performs the second process may be the same or different. That is, the hardware that performs the first process and the hardware that performs the second process may be included in the one or more hardware.
- the hardware may include an electronic circuit, a device including an electronic circuit, or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Crystallography & Structural Chemistry (AREA)
- Chemical & Material Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
[要約]高速に化合物のグラフ構造を推定する。 [解決手段]推定装置は、1又は複数のメモリと、1又は複数のプロセッサを備える。前記1又は複数のプロセッサは、潜在表現から、ノードの情報及びエッジの情報を含む木の情報を取得し、前記木の情報から、グラフを生成する。前記木の情報は、前記ノードの接続情報を含む。
Description
本開示は、推定装置、訓練装置、グラフ生成方法及びネットワーク生成方法に関する。
学習済の生成モデルを用いて、分子構造を生成する方法が研究されている。これらの方法は、分子構造を教師データ等として生成モデルの訓練を実行し、分子構造とそれに対応する固定長の潜在ベクトルとの間のマッピングを学習させる。分子構造生成時には、潜在ベクトルをランダムに変化させ、あるいは、特定のプロパティをターゲットとして探索し、潜在ベクトルに対応する分子構造を推論させる。
この分子構造の生成モデルにおいて、分子構造の表現方法(例えば文字列形式あるいはグラフ形式)が分子構造生成のパフォーマンスに大きな影響を与える。例えば、文字列形式で表現した場合、生成モデルが出力した文字列表現が有効な分子構造に対応しないケースが起こりうるため、パフォーマンスに影響しうる。グラフ形式で表現した場合、グラフ表現が有効な分子構造に対応しないようなケースは出現しない一方で、有機化合物に頻出する分子構造(例えばフェニル基等)を効率的に学習させることが困難である。
これに対して、分子構造のグラフ表現を粗視化(例えば、ベンゼン環を1つのノードとして表現したツリー表現等)し、ツリー表現を学習・生成させる方法が提案されている。その一つとして、分子構造のグラフ表現を木分解したツリー表現を用いる方法が提案された。しかしながら、これらの手法は、粗視化したツリー表現から一意的に分子構造に戻せないという欠点がある。そのため、ツリー表現単独ではなく、グラフ表現も併用することで、分子構造への可逆変換を実現していた。ただ、その併用のため、計算量が多く、学習、生成に時間がかかるという問題点があった。
W. Jin, et.al., "Junction Tree Variational Autoencoder for Molecular Graph Generation," arXiv:1802.04364v4, March 29, 2019, [インターネット], https://arxiv.org/abs/1802.04364v4
本開示では、高速に化合物のグラフ構造を推定する推定装置及び当該推論装置の訓練済モデルを訓練する訓練装置を実現する。
一実施形態によれば、推定装置は、1又は複数のメモリと、1又は複数のプロセッサを備える。前記1又は複数のプロセッサは、潜在表現から、ノードの情報及びエッジの情報を含む木の情報を取得し、前記木の情報から、グラフを生成する。前記木の情報は、前記ノードの接続情報を含む。
まず、本開示における用語の説明をする。
「木分解」とは、分子構造のグラフ表現からツリー表現へとマッピングする手法を示す。
「シングルトン」とは、化合物分子のグラフ表現を木分解する場合に、分岐点となる原子に対応するノードを示す。グラフの分岐点は、その分岐点が環構造に属していない場合、このシングルトンのノードとなる。
「ボンド」とは、共有結合している2原子を1つのノードとして表現したものである。ただし、環構造に属する共有結合の場合は、以下の「リング」が適用される。
「リング」とは、化合物分子のグラフ表現を木分解する場合に、環構造に対応するノードである。リングとして表現される化合物は、例えば、ベンゼン、ピリジン、ピリミジン等、又は、シクロブタジエン、シクロペンタジエン、ピロール、シクロオクタテトラエン、シクロオクタン等が代表的なものであるが、これらには限られず、環状のものであればよい。
「サイト情報」とは、木分解されたノードが、元の分子構造において、どのように接続されていたかの関係を示す情報である。一般的な木分解は、不可逆であるが、このサイト情報を用いることにより、本開示における実施形態においては、木分解したツリー表現からグラフ表現に逆変換できる可逆性を担保する。また、このサイト情報を付加したツリー表現を、サイト情報付きツリー表現と呼ぶ。
「ノード」、「エッジ」は、本開示においては、主にツリー表現のノード、エッジを示すが、木分解する前後においては、グラフ表現におけるノード、エッジと、ツリー表現におけるノード、エッジと、適宜読み替えるものとする。
以下、図面を参照して本発明の実施形態について説明する。図面及び実施形態の説明は一例として示すものであり、本発明を限定するものではない。本開示においては、グラフで表現されたデータを第1タイプのデータ、サイト情報付きツリーで表現されたデータを第2タイプのデータ、潜在表現を第3タイプのデータと記載することがある。
(推定装置)
図1は、一実施形態に係る推定装置の構成の一例を示すブロック図である。推定装置1は、入力部100と、記憶部102と、探索部104と、デコード部106と、復元部108と、出力部110と、を備える。推定装置1は、入力部100から入力された情報、又は、推定装置1において自動的に生成される潜在状態に基づいて、化合物の化学式を生成して出力する。
図1は、一実施形態に係る推定装置の構成の一例を示すブロック図である。推定装置1は、入力部100と、記憶部102と、探索部104と、デコード部106と、復元部108と、出力部110と、を備える。推定装置1は、入力部100から入力された情報、又は、推定装置1において自動的に生成される潜在状態に基づいて、化合物の化学式を生成して出力する。
入力部100は、外部からの入力を受け付ける。入力部100が受信したデータは、必要であれば記憶部102に格納する。例えば、入力部100は、ユーザからの要求を受信したり、探索部104における探索のシードとなる情報を受け付けたりする。
記憶部102は、推定装置1の動作に必要となる情報を格納する。また、推定装置1の処理における中間生成データ、最終的な生成データ等を格納してもよい。例えば、推定装置1の各種動作において、ソフトウェアによる情報処理がハードウェア資源を用いて具体的に実現される場合には、このソフトウェアに係るプログラムを格納する。また、訓練済のニューラルネットワークモデルを構成するハイパーパラメータ及びパラメータを格納してもよい。
探索部104は、化合物を生成するための潜在表現(第3タイプ)のデータを取得する。例えば、この潜在変数は、乱数値を用いて取得されてもよい。別の例としては、探索部104は、入力された潜在変数又はすでに取得されている化合物に基づいた潜在変数に乱数値を加算、乗算等したものを潜在変数として取得してもよい。
さらに別の例として、探索部104は、デコード部106がデコードした結果、又は、復元部108が復元した結果に基づいて、よりよい結果が取得できるように潜在表現を最適化してもよい。この最適化には、例えば、PSO(粒子群最適化、Particle Swarm Optimization)等のメタヒューリスティクスに基づいた手法を用いてもよい。
デコード部106は、訓練済のニューラルネットワークモデルを用いて探索部104が探索した潜在変数をデコードする。デコード部106は、潜在変数をデコードすることにより、潜在変数に対応するサイト情報付きツリー表現を取得する。
デコード部106は、例えば、記憶部102に記憶されている各種パラメータを用いて、デコーダニューラルネットワーク(以下デコーダNN 120と記載する。)を構成する。そして、デコード部106は、このデコーダNN 120に潜在変数を入力することにより、サイト情報付ツリー表現(第2タイプ)のデータを取得する。このデコーダNN 120は、例えば、オートエンコーダを生成する手法により最適化されたモデルである。
すなわち、デコード部106は、第3タイプのデータを入力すると第2タイプのデータを出力するデコードNN 120を用いて、第3タイプから第2タイプへとデータを変換する。
例えば、このニューラルネットワークモデルは、サイト情報付きツリー表現を入力すると潜在変数を出力するエンコーダと、潜在変数を入力するとサイト情報付きツリー表現を出力するデコーダとを合わせて最適化したものである。例えば、デコーダNN 120の入力である潜在変数の次元は、出力であるサイト情報付きツリー表現の有する情報の次元よりも低い次元であってもよい。
復元部108は、デコード部106が出力したサイト情報付きツリー表現から、化合物の化学構造式を出力する。復元部108は、木分解の逆操作を実行することにより、サイト情報付きツリー表現を化学構造式表現(グラフ表現、第1タイプ)のデータへと変換する。すなわち、復元部108は、データを第2タイプから第1タイプへと変換する。このグラフ表現への逆変換をアセンブルと呼ぶ。アセンブルの方法ついては、後述する訓練装置の説明において、より詳しく説明する。
なお、デコード部106又は復元部108の少なくとも一方は、取得された結果を判定する動作をしてもよい。例えば、デコード部106は、出力されたサイト情報付きツリー表現を評価関数により評価して、そのスコア値に基づいて出力するか、再探索するかを選択してもよい。復元部108も同様に、出力された化学構造式の情報を評価関数により評価して、そのスコア値に基づいて出力するか、再探索するかを選択してもよい。
探索部104は、デコード部106又は復元部108の少なくとも一方において再探索すると判断された場合には、再探索を実行する。なお、この判断は、デコード部106又は復元部108において実行されるのではなく、探索部104がデコード部106又は復元部108の出力に基づいて判断するものであってもよい。
探索部104は、複数の潜在変数を同じタイミングで探索してもよい。例えば、探索手法としてPSOを用いる場合には、複数の粒子となる潜在変数について並行して探索を実行する。この場合、デコード部106もまた、並行して複数の潜在変数から複数の木の情報を生成してもよい。さらには、復元部108もまた、並行して複数の木の情報から複数の化学構造式の情報を生成してもよい。ここで、木の情報とは、ノードの情報及びエッジの情報を含む木の情報のことを表す。以下、ノードの情報及びエッジの情報を含む情報を単に木の情報と記載することがある。
出力部110は、適切な情報を出力する。例えば、出力部110が出力する情報は、化学構造式である。例えば、出力部110は、化学構造式の情報を外部へと出力する。また、出力部110は、記憶部102に化学構造式の情報を格納することにより出力としてもよい。このように、出力とは、外部への出力と合わせて、内部の記憶部102へと記憶することをも含む概念である。
出力部110は、探索が一回で終了する場合には、当該情報を出力する。探索部104により出力情報の最適化がされる場合には、最終的なデータのみを出力してもよいし、最終的なデータとともに、途中経過のデータを含む複数のステップにおけるデータを出力してもよい。
図2は、推定装置1の推定処理を示す概念をチャートとして示すものである。この図2を用いて、推定装置1の処理の流れを説明する。
まず、探索部104は、潜在変数(第3タイプのデータ)z’を探索する(S100)。上述したように、この潜在表現は、乱数として取得してもよいし、予め生成した化合物の潜在表現に近い潜在変数を取得してもよい。例えば、ある化合物に性質、又は、構造の近い化合物を推定したい場合には、当該化合物の構造式(グラフ表現)を木分解及びエンコーダを介して潜在表現zとして取得する。そして、この潜在表現zに対して、微少値等を加算したり、1に近い値を乗算したりすることにより、探索の対象となる潜在表現z’を取得する。
次に、デコード部106は、デコーダNN 120に探索部104が生成した潜在表現z’を入力して、サイト情報付ツリー表現(第2タイプ)のデータを取得する(S102)。図に示される個々の分子式がサイト情報付ツリー表現におけるノードであり、矢印がサイト情報を示す。個々のノード間におけるサイト情報を矢印として示している。
次に、復元部108は、デコード部106が生成したサイト情報付ツリー表現を用いてアセンブルを行うことにより、化合物のグラフ表現x’(第1タイプのデータ)を取得する(S104)。
さらなる探索が必要であれば、探索部104は、デコード部106又は復元部108の少なくとも一方の生成したデータを用いて新たな潜在表現(第3タイプのデータ)を取得し、探索を繰り返してもよい(S106)。
そして、最終的に取得された化合物のデータを出力して処理を終了する。このように、推定装置1は、化合物x’の情報を生成することが可能となる。
(訓練装置)
次に、訓練装置の構成、動作について説明する。
次に、訓練装置の構成、動作について説明する。
図3は、一実施形態に係る訓練装置の構成を示すブロック図である。訓練装置2は、入力部200と、記憶部202と、分解部204と、エンコード部206と、デコード部208と、復元部210と、更新部212と、出力部214と、を備える。
入力部200は、訓練装置2の動作に必要となるデータの入力を受け付ける。訓練装置2は、例えば、入力部200を介して訓練データとなる化合物のグラフ表現(第1タイプ)のデータを取得する。また、最適化を行うニューラルネットワークモデルのハイパーパラメータ等の入力を受け付けてもよい。
記憶部202は、訓練装置2の動作に必要となるデータを格納する。訓練装置2が入力部200を介して取得した訓練データが記憶部202に格納されてもよい。この他の動作は、推定装置1の記憶部102とほぼ同じものであるので、詳しい説明については省略する。
分解部204は、入力部200を介して取得した第1データについて木分解を実行することにより、サイト情報付きツリー表現(第2タイプ)のデータへと変換する。また、別の例として、分解部204は、記憶部202に格納されている第1タイプのデータに基づいて第2タイプのデータを取得してもよい。すなわち、分解部204は、データを第1タイプから第2タイプへと変換する。
エンコード部206は、分解部204が生成した第2データをエンコーダNN 220に入力して潜在表現(第3タイプ)のデータを取得する。エンコード部206は、例えば、記憶部202に格納されているモデルの各種パラメータに基づいてエンコーダNN 220を形成し、第2タイプのデータから第3タイプのデータを生成する。すなわち、エンコード部206は、データを第2タイプから第3タイプへと変換する。
デコード部208は、エンコード部206が生成した第3タイプのデータをデコーダNN 222に入力して第2タイプのデータを生成する。このデコーダNN 222及びデコード部208は、上述した推定装置1のデコーダNN 120及びデコード部106とそれぞれ対応するものである。すなわち、デコード部208は、データを第3タイプから第2タイプへと変換する。
復元部210は、デコード部208が出力した第2タイプのデータについてアセンブルを実行することにより、第1タイプのデータを取得する。この復元部210は、上述した推定装置1の復元部108と対応するものである。すなわち、復元部210は、データを第2タイプから第1タイプへと変換する。
更新部212は、復元部210が出力した化合物の第1タイプのデータに基づいて、エンコーダNN 220と、デコーダNN 222とを最適化する。この最適化には、オートエンコーダの最適化に用いられる種々の最適化が用いられてもよい。また、オートエンコーダの最適化として、確率分布として潜在変数を扱うVAE(Variational Autoencoder)の手法を用いてもよい。
別の例として、更新部212は、第1タイプのデータに基づいてモデルの更新を行うのではなく、デコード部208の出力した第2タイプのデータに基づいてモデルの更新を実行してもよい。この場合、訓練データの第1タイプのデータを第2タイプに変換したデータと、デコード部208が出力したデータとを比較することにより最適化が実行される。
更新部212は、このように、第1タイプ又は第2タイプの少なくともいずれか一方のデータを用いてエンコーダとデコーダのパラメータ更新を実行する。望ましくは、更新部212は、第2タイプのデータを用いてパラメータ更新を実行する。
出力部214は、更新部212によりパラメータが更新されて最適化されたエンコーダ及びデコーダの各種パラメータ等を出力する。推定装置1と同様に、出力部214は、取得したデータを外部に出力してもよいし、記憶部202に出力してもよい。
記憶部202にパラメータ等を格納した場合には、訓練後の訓練装置2を推定装置1として利用してもよい。
図4は、訓練装置2の訓練処理を示す概念をチャートとして示すものである。この図4を用いて、訓練装置2の処理の流れを説明する。
まず、訓練装置2は、入力部200を介して化合物のデータxを取得する。このデータは、例えば、第1タイプ、すなわち、グラフ形式の表現のデータであってもよい。
次に、分解部204は、この第1タイプの化合物データを木分解し、第2タイプのデータ、すなわち、サイト情報付きツリー表現のデータを取得する(S200)。
次に、エンコード部206は、分解部204が生成した第2タイプのデータをエンコーダNN 220に入力して、第3タイプのデータである潜在表現zを生成する(S202)。
次に、デコード部208は、エンコード部206が生成した第3タイプのデータである潜在表現zをデコーダNN 222に入力して、第2タイプのデータを取得する(S204)。
次に、復元部210は、デコード部208が生成した第2タイプのデータから、アセンブルを実行して第1タイプのデータである化合物のグラフ表現を取得する(S206)。
次に、更新部212は、復元部210が復元したデータに基づいて、エンコーダNN 220及びデコーダNN 222のパラメータの更新を実行する(S208)。なお、上述したように、復元部210が復元した第1タイプのデータではなく、デコード部208が生成した第2タイプのデータに基づいてパラメータの更新をしてもよい。この場合、S206の処理は、必須ではない。
そして、最終的に取得されたデコーダNN 222のパラメータ等を出力して処理を終了する。このように、訓練装置2は、少なくともデコーダNN 222に関する情報を生成することが可能となる。
なお、出力部214は、デコーダNN 222だけではなく、エンコーダNN 220のパラメータ等をも出力してもよい。この場合、将来的にさらなる学習等にエンコーダNN 220のパラメータを用いることができる。
訓練装置2により最適化されたデコーダNN 222は、推定装置1におけるデコーダNN 120として用いることができる。この訓練済の推論モデルを用いることにより、推定装置1は、第3タイプのデータ空間において1点を指定することにより、第1タイプのデータを生成する推論を実現することができる。
(木分解)
次に、本開示におけるサイト情報付木分解について説明する。訓練装置2の分解部204、復元部210、及び、推定装置1の復元部108は、以下の説明にあるように、木分解による変換及びアセンブルを実行する。
次に、本開示におけるサイト情報付木分解について説明する。訓練装置2の分解部204、復元部210、及び、推定装置1の復元部108は、以下の説明にあるように、木分解による変換及びアセンブルを実行する。
木分解されたノードは、上述した、シングルトン、ボンド、リングのいずれかのノードとなる。ノード間の接続は、ボンド-ボンド、ボンド-シングルトン(又はシングルトン-ボンド)、リング-ボンド(又はボンド-リング)、リング-リングの4種類のケースがある。
ボンド-ボンドは、2つのボンド同士が接続するケースである。
ボンド-シングルトンは、1つのボンドが分岐点であるシングルトンに接続するケースである。
リング-ボンドは、1つのボンドがリングに接続しているケースである。
リング-リングは、2つのリングが直接接続しているケースである。この場合、縮合している(1つのボンドを共有して接続している)ケースと、スピロ結合している(1つの原子のみを共有して接続している)ケースとがある。
一般的な木分解を化合物のグラフ表現に対して実行すると、リングが関連するケースに関して、接続する位置等の情報が失われる。このため、ツリー情報単独では、一意性を持った復元が不可能である。本実施形態においては、ツリー情報とグラフ表現とを一意的に変換するために、ノード同士が接続する関係を示すノードの接続情報を木情報にサイトに関する情報として付与する。この接続情報は、後述で詳しく説明するように、例えば、ノードが接続する位置の情報、及び、ノードが接続する方向の情報を含む。
上記の4つのケースについて、それぞれ木分解、アセンブルにおいてどのような処理をするか以下詳しく記載する。
ボンド-ボンドの接続について説明する。例えば、ノードC-NとノードC-Nが1つのエッジで接続している場合、元のグラフ表現においては、炭素原子を共有してボンドノードが接続したケースと、窒素原子を共有してボンドノードが接続したケースがありうる。すなわち、ツリー表現では、元の化合物において、どちらの原子が共有されていたか情報が失われるため、ツリー表現のみからグラフ表現を復元することができない。
これに対応するため、分解部204は、サイト情報として、どの原子がノード間で共有されていたかを記憶しておく。このサイト情報を用いることにより、復元部108、210は、グラフ表現を復元することが可能となる。
ボンド-シングルトンの接続の場合は、一般的な木分解によるツリー表現のみであっても復元可能である。例えば、ノードC-NとノードCが1つのエッジで接続している場合、両ノードは炭素原子を共有していると一意的に決定することができる。そのため、復元部108、210は、付加情報なしにグラフ表現を取得することができる。
リング-ボンドの接続の場合、一般的な木分解においては、ボンドノードが、リングノードの環構造中のいずれの原子に接続しているかの情報が失われる。このため、ツリー表現のみからでは、グラフ表現を復元することができない。
これに対応するために、分解部204は、サイト情報として、ボンドがリングのいずれの位置、すなわち、どの原子に接続していたかを記憶する。復元部108、210は、このサイト情報に基づいて、リングに対するボンドの接続位置を一意的に決定することが可能となる。
リング-リングの接続の場合、縮合しているケースと、スピロ結合しているケースで状況が異なる。
縮合している場合、2つのリングノードが、互いの環構造中のどのボンドを共有して縮合していたかの情報が木分解により失われる。このため、ツリー表現からだけではグラフ表現を復元することができない。これに対応するために、分解部204は、サイト情報として、どのボンドを共有していたかを記憶する。さらに、サイト方向情報として、そのボンドが接続していた向きを記録しておく。このサイト情報及びサイト方向情報を用いることにより、復元部108、210は、グラフ表現を復元することが可能となる。
スピロ結合している場合、2つのリングノードが、互いの環構造中のどの原子を共有して結合していたかの情報が木分解により失われる。このため、ツリー表現からだけではグラフ表現を復元することができない。これに対応するために、リング-ボンドの接続の場合と同様に、サイト情報として、どの原子を共有して接続していたかを記憶しておけば、復元可能となる。
このように、リングが関連している接続に関してサイト情報をツリー表現に付加することにより、グラフ表現への復元をすることが可能となる。サイト情報の一例を以下説明する。
サイト情報は、ノードが表現する化合物の部分原子群(ボンドノードの場合は共有結合で接続された2つの原子、リングノードの場合は環構造に属する3つ以上の原子)をノード内で一意に表現できるようにあらかじめ適切に決めておく。ボンドノードであれば、例えば、ノードに含まれる各原子に0、1等の数値をサイト情報として付与される。リングノードであれば、例えば、基準となる原子から時計回りで全ての原子を通るように、番号が付与される。サイト情報が0となる基準の原子は、例えば、元素名をアスキーコードで表して辞書ソートした昇順であってもよい。また、別の例としては、原子番号に基づいて、決定してもよい。
0となる複数の候補があるボンドノードは、いずれの原子を0としてもよい。リングノードの場合は、例えば、当該候補から数値を振る順に原子を並べた場合に、アスキーコードによる辞書順が一番若くなる、又は、原子番号を順番に並べた場合に一番小さくなる順番としてもよい。原子番号の場合は、1~2桁の番号であっても、3桁に拡張したものを用いてもよい。例えば、6個の原子を有するリングノードの場合には、18桁の数値として、一番若くなるようにサイト情報を付与してもよい。
また、上記に限定されるものではなく、同じ構成を有するボンドノード、又は、リングノードにおいては、同じサイト情報が適切に付与される手法であればよい。同じ手法でサイト情報を付与する場合に、辞書順等に差異が出ない、例えばベンゼン環のように対称性を有するノードにおいては、候補となる原子のうち、いずれの原子を基準としてもよい。
サイト情報(サイト方向情報を含む)は、実装においては、全ての木のノードに付加されてもよい。例えば、ボンド-シングルトンの接続においては、サイト情報が任意の値に設定されてもよいし、0として設定されてもよい。以下の説明においては、全てのノードにサイト情報を付加するものとして説明する。もちろん、ボンド-シングルトンの接続においては、サイト情報を付加しない構成であってもよい。
まず、付加するサイト情報について説明する。
図5は、サイト情報についての一例を示す図である。図5は、ボンド-ボンドの接続に関するサイト情報を示すものであるが、ボンド-シングルトンの場合であっても同様に処理することができる。以下の図においては、○は、ノードを示し、矢印は、特徴を付加した有向のエッジを示す。
例えば、ノードA及びノードBは、双方C-Nを示すノードであり、これらのノードが接続する。ノード内の炭素原子(C)には0、窒素原子(N)には1の番号が付与されているとする。このツリー表現があらわす分子構造としては、図5のようにCH3NHCH3と NH2CH2NH2、の二通りがありうるが、エッジA → Bに0の情報が付加され、エッジB → Aに0の情報が付加されていた場合、このツリー表現をアセンブルして得られるグラフ表現(化合物)は NH2CH2NH2と一意に決定できる。
また、シングルトンについて、サイト情報は、必須ではないが、実装上においては付加してもよい。
復元部108、210は、このサイト情報を元に復元を行う。
図6は、サイト情報についての一例を示す図であり、リング-ボンドの接続に関するサイト情報を示すものである。ノードAは、リングであり、ノードBは、ボンドである。
ノードAの「2」は、ノードAのグラフのリングにおいて所定の原子から出発し、全ての原子を通るように、番号が付与される。図6に示すように、図のSから始まり、順に0、1、…、4と番号が付与される。ノードBについては、図5の場合と同様に、0、1と番号が付与される。
ノードAからノードBに向かうエッジには、接続する原子の番号である2がサイト情報として付加され、ノードBからノードAに向かうエッジには、0がサイト情報として付加される。
このようなサイト情報を有する場合、復元部108、210は、下方の図における左のグラフではなく、右のグラフを当該サイト情報付の木の情報から一意に復元することができる。復元部108、210は、例えば、ノードAからノードBに向かうエッジの情報に基づいたノードAの2の位置の原子と、ノードBからノードAに向かうエッジの情報に基づいたノードBの0の位置の原子とを接続する。
リングとボンドの接続の場合、復元部108、210は、リングにおける接続する原子の位置を、上記のようにサイト情報として付加することにより、木の情報から、原子グラフを一意的に復元することが可能となる。
図7は、サイト情報についての一例を示す図であり、リング-リングの縮合接続に関するサイト情報を示すものである。ノードA、ノードBともにリングである。例えば、ノードAは、6員環の芳香族化合物であり、ノードBは、5員環の芳香族化合物である。
ノードAは、原子グラフにおいて、ある辺から順番に0~5の番号が付加される。ノードBも同様に、0~4の番号が付加される。図6の場合とは異なり、原子グラフのノードではなく、原子グラフのエッジに対してサイト情報となる番号が付加される。
縮合接続の場合には、ノードのサイト情報として、原子グラフのエッジの番号と、接続する方向とを指定する。例えば、エッジA → Bのサイト情報として、番号0と方向+1が付加される。同様に、エッジB → Aのサイト情報として、番号3と方向+1が付加される。方向は、例えば、番号が付加されている順番に接続するか、逆順に接続するかを意味する。例えば、方向は、時計方向に付与されるが、一例として示すものであり、一意的に指定できるものであれば反時計回りであってもよい。
図7の例においては、エッジA → Bのサイト情報が0(+1)、エッジB → Aのサイト情報が3(+1)であれば、ノードAは、原子グラフの0が方向+で接続され、ノードBは、原子グラフの3が方向+で接続されるものとする。このため、復元部108、210は、図の下方の右側の接続状態であることを一意的に復元することができる。
図7の例のケースでは、エッジA → Bのサイト情報が0(+1)である場合には、同じ接続を示すのに、エッジB → Aのサイト情報を1(-1)としてもよい。このように、サイト情報の付与の仕方は、同じ接続に関して複数存在してもよいが、サイト情報を含めた木の情報から、原子グラフが、一意的に復号できればよい。
図8は、サイト情報についての一例を示す図であり、リング-リングのスピロ接続に関するサイト情報を示すものである。ノードA、ノードBは、ともにリングであり、図7と同様の構成である。
スピロ接続の場合は、サイト方向情報を0とする。復元部108、210は、リング-リングを示す木からグラフへと復元する場合に、まず、サイト方向情報を参照してもよい。サイト方向情報が0であれば、この図8に示すように、復元部108、210は、サイト情報が原子の番号を示すものとして判断し、指定された原子同士を接続してグラフ情報を復元する。一方で、サイト方向情報が±1の場合は、図7のケースに基づいて、エッジ同士を接続してグラフ情報を復元する。
(訓練方法)
上記のようにサイト情報を付与した木分解をすることにより、ニューラルネットワークモデル(エンコーダNN、デコーダNN)の訓練方法も、通常の機械学習の手法から変更する。
上記のようにサイト情報を付与した木分解をすることにより、ニューラルネットワークモデル(エンコーダNN、デコーダNN)の訓練方法も、通常の機械学習の手法から変更する。
一例として、上記のサイト付情報を訓練するために、TreeGRU(Tree Gated Recurrent Unit)を用いるが、例えば、Tree LSTM(Tree Long Short Term Memory)でも同様に実装することができる。TreeGRUは、例えば、W. Jin, et.al., “Junction Tree Variational Autoencoder for Molecular Graph Generation,” arXiv:1802.04364v4, March 29, 2019に示す方法を用いる。例えば、このTreeGRUでは、VAEによるオートエンコーダの最適化が実現できる。これらは例としてあげただけであり、適切なネットワークの形成方法及び最適化方法であれば適用することが可能である。
式(1)のEdgeTreeGRU()は、サイト情報付ツリー表現をメッセージとして入出力するように設計されたGRUである。xは、ノードの種類等を示す特徴量を示すベクトルであり、例えば、ワンホットベクトルで表現される。eは、エッジの情報、すなわち、サイト情報(サイト方向情報を含む)の特徴量を示すベクトルであり、例えば、ワンホットベクトルで表現される。hは、ノード間のメッセージベクトルである。このように、サイト情報を含む特徴量ベクトルを定義し、ノード間のメッセージベクトルをGRUの隠れベクトルとして与えることで、GRUと同様に処理を実行する。
また、各式におけるσ()は、シグモイド関数、odotは、要素同士の積を示す。W、Uは、重みを表し、bは、バイアス項を表す。
式(1)から式(6)にしたがって、メッセージベクトルhが演算される。ここで、サイト情報は、式(2)、式(4)、式(5)に示すように、GRUのメッセージベクトルにその情報が含まれるように連結(concatenate)されて演算される。
エンコード部206は、GRUを表すネットワークとして、上記の式(1)のEdgeTreeGRU()を用いて、エンコーダNN 220を形成する。デコード部208も同様に、EdgeTreeGRU()を用いてデコーダNN 222を形成する。デコード部208は、以下の式に基づいて、グラフ情報のデコードとともに、サイト情報のデコードを実行する。
各式において、u、Wは、重みを表す。
式(7)のτ()は、ReLUを表す。あるノードのデコードにおいて、デコード部208は、式(7)に基づいて当該ノードがさらに子ノードを有するか否かの確率を、前ステップにおける出力z、ノードの特徴x、受信したメッセージhに基づいて算出する。
式(8)のqは、子ノードが生成された場合の当該ノードの特徴を示す。
さらに、本実施形態においては、デコード部208は、上記の木のノード情報の推論に加えて、サイト情報、サイト方向情報を推論する。
デコード部208は、式(9)に基づいて前ステップの出力と入力メッセージとを用いて中間変数を算出する。
さらに、デコード部208は、式(10)に基づいて式(9)の結果と重みとからサイト情報を取得し、式(11)に基づいて、式(9)の結果と重みとからサイト方向情報を推論する。
この結果、デコード部208は、潜在変数からサイト付の木の情報を取得する。上記は、オートエンコーダとしてのエンコード部206、デコード部208の動作であるが、デコードNNだけを用いることも可能である。推定装置1においては、潜在変数に対する式(7)から式(11)の演算に基づいて、デコード部106がサイト付の木の情報を取得する。
更新部212は、訓練データに対する上記の式に基づいてエンコード及びデコードされた木の情報との評価値(損失、Loss)を算出し、この評価値に基づいて各式の重みU、W、u、及び、場合によってはバイアスbを更新する。損失は、例えば、以下の式により表される。
p_hat、q_hat、s_hat、d_hatは、それぞれ、予測値p、q、s、dに対するgrand truth値を表す。ws、wdは、サイト情報とサイト方向情報とのバランスを調整するためのハイパーパラメータであり、適切に設定される必要がある。また、各Lは、それぞれの変数に対して適切に設定される損失関数である。式(13)において、一般的なTLSTMについてのロス関数である式(12)に対してサイト付情報を利用するために修正を加えたロス関数が定義される。
式(13)に示されるクロスエントロピーロスを最小化するように、更新部212は、ネットワークのパラメータの更新を実行する。この操作を繰り返すことにより、更新部212は、エンコーダNN 220及びデコーダNN 222(デコーダNN 120)の最適化を実行する。例えば、q_hatは、分解部204が訓練データとして取得される原子グラフをサイト付木分解することにより取得できる。
更新部212による最適化は、一般的な手法を用いて実行される。例えば、GRUの次のステップに正解データを入力するTeacher Forcingの方法を用いてもよい。もちろん、Scheduled Sampling、Professor Forcingといった他の手法を用いることも可能である。
(符号化)
図5から図8を用いて、サイト情報について説明したが、次に、このサイト情報をどのように符号化するかについて説明する。以下に示す符号化を用いることにより、上記の訓練にサイト情報付ツリー情報を反映した訓練を実行することができる。分解部204は、原子グラフが入力されると、木分解するタイミングにおいてボンド、シングルトン、リングとなるノードに、サイト情報及びサイト方向情報を付加する。
図5から図8を用いて、サイト情報について説明したが、次に、このサイト情報をどのように符号化するかについて説明する。以下に示す符号化を用いることにより、上記の訓練にサイト情報付ツリー情報を反映した訓練を実行することができる。分解部204は、原子グラフが入力されると、木分解するタイミングにおいてボンド、シングルトン、リングとなるノードに、サイト情報及びサイト方向情報を付加する。
(一方向)
サイト情報は、一方向に向けて付与してもよい。分解部204は、1つのエッジに片方のサイト情報をエンコードする。エッジの出発側のサイト情報をエンコードする方法と、エッジの到着側のサイト情報をエンコードする方法と、がある。
サイト情報は、一方向に向けて付与してもよい。分解部204は、1つのエッジに片方のサイト情報をエンコードする。エッジの出発側のサイト情報をエンコードする方法と、エッジの到着側のサイト情報をエンコードする方法と、がある。
エッジの出発側のサイト情報をエンコードする場合、ノードAからノードBへのエッジには、(ノードAのサイト、サイト方向)がエッジ特徴として付与されることにより、サイト情報がエンコードされる。
例えば、図6のノードAからノードBのエッジに付与されるサイト情報は、(2, 0)、ノードBからノードAのエッジに付与されるサイト情報は、(0, 0)とエンコードされる。
例えば、図7のノードAからノードBのエッジに付与されるサイト情報は、(0, +1)であり、ノードBからノードAのエッジに付与されるサイト情報は、(3, +1)である。また、ノードBからノードAのエッジに付与されるサイト情報は、(1, -1)であってもよい。
例えば、図8のノードAからノードBのエッジに付与されるサイト情報は、(0, 0)であり、ノードBからノードAのエッジに付与されるサイト情報は、(3, 0)である。この場合、上述したように、サイト方向を0とすることにより、スピロ接続であることを示し、サイトが示す情報がグラフのエッジではなく、グラフのノードであることを読み取ることができる。
エッジの到着側のサイト情報をエンコードする場合、ノードAからノードBへのエッジには、(ノードBのサイト、サイト方向)がエッジ特徴として付与されることによりサイト情報がエンコードされる。
例えば、図6のノードAからノードBのエッジに付与されるサイト情報は、(0, 0)、ノードBからノードAのエッジに付与されるサイト情報は、(2, 0)とエンコードされる。
例えば、図7のノードAからノードBのエッジに付与されるサイト情報は、(3, +1)であり、ノードBからノードAのエッジに付与されるサイト情報は、(0, +1)である。
このように、自ノードから見た情報を用いてサイト情報を付与することができる。また、例えば、図6の状況であれば、一方のサイト情報があれば、他方のサイト情報は、必須ではない。例えば、接続する原子は、同じ原子であるので、一方のサイト情報から他方のノード内から同じ原子を抽出して当該結果をサイト情報としてもよい。このように、状況に応じて、サイト情報は省略できる場合もある。
(双方向)
また、上記のように自ノード側、又は、相手ノード側のみのサイト情報ではなく、双方のサイト情報をエッジの特徴として付与してもよい。すなわち、1つの有向エッジに、双方のサイト情報をエンコードしてもよい。
また、上記のように自ノード側、又は、相手ノード側のみのサイト情報ではなく、双方のサイト情報をエッジの特徴として付与してもよい。すなわち、1つの有向エッジに、双方のサイト情報をエンコードしてもよい。
例えば、図6のノードAからノードBのエッジに付与されるサイト情報は、(2, 0, 0)、ノードBからノードAのエッジに付与されるサイト情報は、(0, 2, 0)とエンコードされる。
例えば、図7のノードAからノードBのエッジに付与されるサイト情報は、(0, 3, +1)、ノードBからノードAのエッジに付与されるサイト情報は、(3, 0, +1)とエンコードされる。
サイト方向は、例えば、グラフのノードに付与された番号により算出されてもよい。ノードA内の隣り合う原子ノードをaiとaj(i, jは、原子ノードの番号でi < j、又は、iが原子ノードの番号の最大値かつj = 0)とおく。また、ノードBの隣り合う原子ノードをblとbk(l, kは、原子ノードの番号)とおく。このとき、一例として、ai-ajのボンドと、bl-bkのボンドが接続する場合を考える。
l < kである場合には、サイト方向を+1とする。例えば、ノードAからノードBのエッジのサイト情報は、(i, l, +1)となる。一方で、l > kである場合には、サイト方向を-1とする。例えば、ノードAからノードBのエッジのサイト情報は、(i, l, -1)となる。ただし、l, kのうち一方が0であり、他方が原子ノードの番号の最大値である場合には、逆とする。
このようにサイト方向情報を取得することにより、一意的に分解した木の情報をグラフへと復元することが可能となる。なお、上記のサイト方向の付与は、一例として記載したものであり、この手法ではなくとも、リング内において縮合して接続されるボンドにおいて、サイト方向情報からグラフへの変換が一意的にできる適切な付与の手法であればよい。
こちらの場合も、図6の場合は、一方のサイト情報があれば、他方のサイト情報は必須ではない。
訓練においては、双方向のサイト情報を利用することが望ましいが、これに限られるものではない。これは、デコードにおいて、双方向のサイト情報があることにより、あるノードに接続するノードの情報が相手側のノードからの情報で与えられるのではなく、双方のノードから読み取ることができるためであると考えられる。
推定装置1又は訓練装置2において、デコード部が出力したサイト付の木の情報に基づいて、復元部108、210は、原子グラフを再構成する。例えば、自己回帰手法によりグラフの1ノードから順々にノードを復元してもよい。本実施形態においては、木の情報に加えてサイト情報が存在するので、各ノードから次のノードへの推論は、一意的に決定することができる。ノードの推論は、上述したサイト情報の付与についての逆操作を実行すればよい。
図9は、原子グラフの再構成について説明する図である。木構造の生成は、RNN(Recurrent Neural Network)の自己回帰モデルと同様の手法により実行されてもよい。
まず、復元部は、取得した潜在ベクトルから、所定の起点ノードとして、デコード部のニューラルネットワークモデルにより、ノード1を生成する。
次に、復元部は、潜在ベクトルと、ノード1との情報に基づいて、自己回帰的にノード2を生成する。このステップにおいて、図の右側に示すように、ノード1とノード2とを接続する木の構造を取得する。このノード2の生成には、RNNに表されるように、自己回帰する構成を有するニューラルネットワークモデルを用いてもよい。
復元部は、全てのノード(例えば、ノードNまでのノード)が生成されるまでこの操作を繰り返す。この繰り返し演算により、木構造を取得することができ、すなわち、分子構造を取得することが可能となる。
以上のように、本実施形態によれば、原子グラフから木分解するタイミングにおいてサイト情報を付与することにより、木の情報から原子グラフへの復元を一意的に実現することが可能となる。本実施形態において、一意的な復元を解決する手法として、サイト付木分解の手法が提案された。さらに、このサイト付木分解の情報を潜在変数から推論する手法として、オートエンコーダを用いることが可能であることを説明した。
本実施形態の方法を用いることにより、木の情報から、高速に原子グラフの情報を復元することが可能となる。このことから、潜在表現から化合物へのマッピングを学習することにより、新規化合物のデザインに使用可能な分子生成モデルを構築することが可能となる。このようなモデルの構築は、様々な化合物群に対して高速に実現することができる。また、学習したモデルを用いることにより、高速に新規化合物の生成、デザインが可能となる。このモデルは、創薬、材料探索に応用することができる。
上記の全ての訓練済の推論モデルは、例えば、説明したように訓練した上で、さらに、一般的な手法により蒸留されたモデルを含む概念であってもよい。
前述した実施形態における各装置(推定装置1又は訓練装置2)の一部又は全部は、ハードウェアで構成されていてもよいし、CPU(Central Processing Unit)、又はGPU(Graphics Processing Unit)等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、フレキシブルディスク、CD-ROM(Compact Disc-Read Only Memory)又はUSB(Universal Serial Bus)メモリ等の非一時的な記憶媒体(非一時的なコンピュータ可読媒体)に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアがASIC(Application Specific Integrated Circuit)又はFPGA(Field Programmable Gate Array)等の回路に実装されることにより、情報処理がハードウェアにより実行されてもよい。
ソフトウェアを収納する記憶媒体の種類は限定されるものではない。記憶媒体は、磁気ディスク、又は光ディスク等の着脱可能なものに限定されず、ハードディスク、又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし、コンピュータ外部に備えられてもよい。
図10は、前述した実施形態における各装置(推定装置1又は訓練装置2)のハードウェア構成の一例を示すブロック図である。各装置は、一例として、プロセッサ71と、主記憶装置72(メモリ)と、補助記憶装置73(メモリ)と、ネットワークインタフェース74と、デバイスインタフェース75と、を備え、これらがバス76を介して接続されたコンピュータ7として実現されてもよい。
図10のコンピュータ7は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図10では、1台のコンピュータ7が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース74等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における各装置(推定装置1又は訓練装置2)は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。
前述した実施形態における各装置(推定装置1又は訓練装置2)の各種演算は、1又は複数のプロセッサを用いて、又は、ネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ7と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実行されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
プロセッサ71は、コンピュータの制御装置及び演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA又はASIC等)であってもよい。また、プロセッサ71は、専用の処理回路を含む半導体装置等であってもよい。プロセッサ71は、電子論理素子を用いた電子回路に限定されるものではなく、光論理素子を用いた光回路により実現されてもよい。また、プロセッサ71は、量子コンピューティングに基づく演算機能を含むものであってもよい。
プロセッサ71は、コンピュータ7の内部構成の各装置等から入力されたデータやソフトウェア(プログラム)に基づいて演算処理を行い、演算結果や制御信号を各装置等に出力することができる。プロセッサ71は、コンピュータ7のOS(Operating System)や、アプリケーション等を実行することにより、コンピュータ7を構成する各構成要素を制御してもよい。
前述した実施形態における各装置(推定装置1又は訓練装置2)は、1又は複数のプロセッサ71により実現されてもよい。ここで、プロセッサ71は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
主記憶装置72は、プロセッサ71が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置72に記憶された情報がプロセッサ71により読み出される。補助記憶装置73は、主記憶装置72以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ、不揮発性メモリのいずれでもよい。前述した実施形態における各装置(推定装置1又は訓練装置2)において各種データを保存するための記憶装置は、主記憶装置72又は補助記憶装置73により実現されてもよく、プロセッサ71に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における記憶部102、202は、主記憶装置72又は補助記憶装置73により実現されてもよい。
記憶装置(メモリ)1つに対して、複数のプロセッサが接続(結合)されてもよいし、単数のプロセッサが接続されてもよい。プロセッサ1つに対して、複数の記憶装置(メモリ)が接続(結合)されてもよい。前述した実施形態における各装置(推定装置1又は訓練装置2)が、少なくとも1つの記憶装置(メモリ)とこの少なくとも1つの記憶装置(メモリ)に接続(結合)される複数のプロセッサで構成される場合、複数のプロセッサのうち少なくとも1つのプロセッサが、少なくとも1つの記憶装置(メモリ)に接続(結合)される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置(メモリ))とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置(メモリ)がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。
ネットワークインタフェース74は、無線又は有線により、通信ネットワーク8に接続するためのインタフェースである。ネットワークインタフェース74は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース74により、通信ネットワーク8を介して接続された外部装置9Aと情報のやり取りが行われてもよい。なお、通信ネットワーク8は、WAN(Wide Area Network)、LAN(Local Area Network)、PAN(Personal Area Network)等のいずれか、又は、それらの組み合わせであってよく、コンピュータ7と外部装置9Aとの間で情報のやりとりが行われるものであればよい。WANの一例としてインターネット等があり、LANの一例としてIEEE802.11やイーサネット(登録商標)等があり、PANの一例としてBluetooth(登録商標)やNFC(Near Field Communication)等がある。
デバイスインタフェース75は、外部装置9Bと直接接続するUSB等のインタフェースである。
外部装置9Aは、コンピュータ7とネットワークを介して接続されている装置である。外部装置9Bは、コンピュータ7と直接接続されている装置である。
外部装置9A又は外部装置9Bは、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ等、キーボード、マウス、又は、タッチパネル等のデバイスであり、取得した情報をコンピュータ7に与える。また、パーソナルコンピュータ、タブレット端末、又は、スマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。
また、外部装置9A又は外部装置9Bは、一例として、出力装置でもよい。出力装置は、例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、又は、有機EL(Electro Luminescence)パネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末、又は、スマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。
また、外部装置9A又は外部装置9Bは、記憶装置(メモリ)であってもよい。例えば、外部装置9Aは、ネットワークストレージ等であってもよく、外部装置9Bは、HDD等のストレージであってもよい。
また、外部装置9A又は外部装置9Bは、前述した実施形態における各装置(推定装置1又は訓練装置2)の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ7は、外部装置9A又は外部装置9Bの処理結果の一部又は全部を送信又は受信してもよい。
本明細書(請求項を含む)において、「a、b及びcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)が用いられる場合は、a、b、c、a-b、a-c、b-c、又は、a-b-cのいずれかを含む。また、a-a、a-b-b、a-a-b-b-c-c等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a-b-c-dのようにdを有する等、列挙された要素(a、b及びc)以外の他の要素を加えることも含む。
本明細書(請求項を含む)において、「データを入力として/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、各種データそのものを入力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を入力として用いる場合を含む。また「データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合、当該データのみに基づいて当該結果が得られる場合を含むとともに、当該データ以外の他のデータ、要因、条件、及び/又は状態等にも影響を受けて当該結果が得られる場合をも含み得る。また、「データを出力する」旨が記載されている場合、特に断りがない場合、各種データそのものを出力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を出力とする場合も含む。
本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。
本明細書(請求項を含む)において、「AがBするよう構成される(A configured to B)」との表現が用いられる場合は、要素Aの物理的構造が、動作Bを実行可能な構成を有するとともに、要素Aの恒常的(permanent)又は一時的(temporary)な設定(setting/configuration)が、動作Bを実際に実行するように設定(configured/set)されていることを含んでよい。例えば、要素Aが汎用プロセッサである場合、当該プロセッサが動作Bを実行可能なハードウェア構成を有するとともに、恒常的(permanent)又は一時的(temporary)なプログラム(命令)の設定により、動作Bを実際に実行するように設定(configured)されていればよい。また、要素Aが専用プロセッサ又は専用演算回路等である場合、制御用命令及びデータが実際に付属しているか否かとは無関係に、当該プロセッサの回路的構造が動作Bを実際に実行するように構築(implemented)されていればよい。
本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」及び有する「(having)等)」が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」又は「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。
本明細書において、ある実施例の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施例についても当該効果が得られると理解されるべきである。但し当該効果の有無は、一般に種々の要因、条件、及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件、及び/又は状態等が満たされたときに実施例に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
本明細書(請求項を含む)において、「最大化(maximize)」等の用語が用いられる場合は、グローバルな最大値を求めること、グローバルな最大値の近似値を求めること、ローカルな最大値を求めること、及びローカルな最大値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最大値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最小化(minimize)」等の用語が用いられる場合は、グローバルな最小値を求めること、グローバルな最小値の近似値を求めること、ローカルな最小値を求めること、及びローカルな最小値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最小値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最適化(optimize)」等の用語が用いられる場合は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。
本明細書(請求項を含む)において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書(請求項を含む)において、「1又は複数のハードウェアが第1の処理を行い、前記1又は複数のハードウェアが第2の処理を行う」等の表現が用いられている場合、第1の処理を行うハードウェアと第2の処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1の処理を行うハードウェア及び第2の処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、又は、電子回路を含む装置等を含んでもよい。
以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した全ての実施形態において、数値又は数式を説明に用いている場合は、一例として示したものであり、これらに限られるものではない。また、実施形態における各動作の順序は、一例として示したものであり、これらに限られるものではない。
1:推定装置、
100:入力部、
102:記憶部、
104:探索部、
106:デコード部、
108:復元部、
110:出力部、
2:訓練装置、
200:入力部、
202:記憶部、
204:分解部、
206:エンコード部、
208:デコード部、
210:復元部、
212:更新部、
214:出力部
100:入力部、
102:記憶部、
104:探索部、
106:デコード部、
108:復元部、
110:出力部、
2:訓練装置、
200:入力部、
202:記憶部、
204:分解部、
206:エンコード部、
208:デコード部、
210:復元部、
212:更新部、
214:出力部
Claims (13)
1又は複数のメモリと、
1又は複数のプロセッサを備え、
前記1又は複数のプロセッサは、
潜在表現から、ノードの情報及びエッジの情報を含む木の情報を取得し、
前記木の情報から、グラフを生成する、
推定装置であって、
前記木の情報は、前記ノードの接続情報を含む、
推定装置。
1又は複数のプロセッサを備え、
前記1又は複数のプロセッサは、
潜在表現から、ノードの情報及びエッジの情報を含む木の情報を取得し、
前記木の情報から、グラフを生成する、
推定装置であって、
前記木の情報は、前記ノードの接続情報を含む、
推定装置。
前記1又は複数のプロセッサは、
訓練済の推論モデルにより、前記潜在表現から前記木の情報を取得する、
請求項1に記載の推定装置。
訓練済の推論モデルにより、前記潜在表現から前記木の情報を取得する、
請求項1に記載の推定装置。
前記グラフは、分子構造のグラフである、
請求項1又は請求項2に記載の推定装置。
請求項1又は請求項2に記載の推定装置。
前記ノードは、
前記分子構造のグラフにおける分岐点を示す原子を表すシングルトンノード、
非環状の原子のノードのうちシングルトン以外のノードを表すボンドノード、
環状の原子構造を表すリングノード、
のいずれか1つであり、
前記ノードの接続は、
シングルトンノードと、ボンドノード、
ボンドノードと、ボンドノード、
ボンドノードと、リングノード、
リングノードと、リングノード、
のいずれか1つである、
請求項3に記載の推定装置。
前記分子構造のグラフにおける分岐点を示す原子を表すシングルトンノード、
非環状の原子のノードのうちシングルトン以外のノードを表すボンドノード、
環状の原子構造を表すリングノード、
のいずれか1つであり、
前記ノードの接続は、
シングルトンノードと、ボンドノード、
ボンドノードと、ボンドノード、
ボンドノードと、リングノード、
リングノードと、リングノード、
のいずれか1つである、
請求項3に記載の推定装置。
前記ノードの接続情報は、前記ノードの接続の種類がリングノードとリングノードであって、これらのリングノード同士が双方のリングノードに属するボンドを共有して接続する場合における、接続するボンドの方向を表す、
請求項4に記載の推定装置。
請求項4に記載の推定装置。
前記1又は複数のプロセッサは、
第1潜在表現から取得した第1ノード情報及び第1エッジ情報に基づいて、第2潜在表現を生成し、
前記第2潜在表現から第2ノード情報及び第2エッジ情報を取得する、
請求項1から請求項5のいずれかに記載の推定装置。
第1潜在表現から取得した第1ノード情報及び第1エッジ情報に基づいて、第2潜在表現を生成し、
前記第2潜在表現から第2ノード情報及び第2エッジ情報を取得する、
請求項1から請求項5のいずれかに記載の推定装置。
前記ノードの接続情報は、前記エッジが接続する前記ノードの接続位置の情報及び前記ノードの接続方向の情報を含む、
請求項1から請求項6のいずれかに記載の推定装置。
請求項1から請求項6のいずれかに記載の推定装置。
1又は複数のメモリと、
1又は複数のプロセッサと、
を備え、
前記1又は複数のプロセッサは、
グラフから、ノードの情報及びエッジの情報を含む木の情報を取得し、
前記木の情報から、第1ネットワークに基づいて潜在表現を生成し、
前記潜在表現から、第2ネットワークに基づいてノードの情報及びエッジの情報を含む木の情報を取得し、
前記第1ネットワークへの入力と、前記第2ネットワークからの出力との比較結果に基づいて、前記第1ネットワークと、前記第2ネットワークのパラメータを更新する、
訓練装置。
1又は複数のプロセッサと、
を備え、
前記1又は複数のプロセッサは、
グラフから、ノードの情報及びエッジの情報を含む木の情報を取得し、
前記木の情報から、第1ネットワークに基づいて潜在表現を生成し、
前記潜在表現から、第2ネットワークに基づいてノードの情報及びエッジの情報を含む木の情報を取得し、
前記第1ネットワークへの入力と、前記第2ネットワークからの出力との比較結果に基づいて、前記第1ネットワークと、前記第2ネットワークのパラメータを更新する、
訓練装置。
前記エッジの情報は、前記エッジにより接続される前記ノードの接続情報を含む、
請求項8に記載の訓練装置。
請求項8に記載の訓練装置。
1又は複数のプロセッサにより、
潜在表現から、ノードの情報及びエッジの情報を含む木の情報を取得し、
前記木の情報から、グラフを生成する、
グラフ生成方法であって、
前記木の情報は、前記ノードの接続情報を含む、
グラフ生成方法。
潜在表現から、ノードの情報及びエッジの情報を含む木の情報を取得し、
前記木の情報から、グラフを生成する、
グラフ生成方法であって、
前記木の情報は、前記ノードの接続情報を含む、
グラフ生成方法。
請求項10に記載された方法で生成されたグラフに基づく分子構造。
1又は複数のプロセッサにより、
グラフから、ノードの情報及びエッジの情報を含む木の情報を取得し、
前記木の情報から、第1ネットワークに基づいて潜在表現を生成し、
前記潜在表現から、第2ネットワークに基づいてノードの情報及びエッジの情報を含む木の情報を取得し、
前記第1ネットワークへの入力と、前記第2ネットワークからの出力との比較結果に基づいて、前記第1ネットワークと、前記第2ネットワークのパラメータを更新する、
ネットワーク生成方法。
グラフから、ノードの情報及びエッジの情報を含む木の情報を取得し、
前記木の情報から、第1ネットワークに基づいて潜在表現を生成し、
前記潜在表現から、第2ネットワークに基づいてノードの情報及びエッジの情報を含む木の情報を取得し、
前記第1ネットワークへの入力と、前記第2ネットワークからの出力との比較結果に基づいて、前記第1ネットワークと、前記第2ネットワークのパラメータを更新する、
ネットワーク生成方法。
請求項12に記載された方法で生成された、ネットワーク。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022542877A JPWO2022034913A1 (ja) | 2020-08-14 | 2021-08-12 | |
| US18/167,948 US20230196075A1 (en) | 2020-08-14 | 2023-02-13 | Inferring device, training device and inferring method |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020137071 | 2020-08-14 | ||
| JP2020-137071 | 2020-08-14 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/167,948 Continuation US20230196075A1 (en) | 2020-08-14 | 2023-02-13 | Inferring device, training device and inferring method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022034913A1 true WO2022034913A1 (ja) | 2022-02-17 |
Family
ID=80248027
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2021/029717 Ceased WO2022034913A1 (ja) | 2020-08-14 | 2021-08-12 | 推定装置、訓練装置、グラフ生成方法及びネットワーク生成方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20230196075A1 (ja) |
| JP (1) | JPWO2022034913A1 (ja) |
| WO (1) | WO2022034913A1 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20230267159A1 (en) * | 2022-02-18 | 2023-08-24 | Microsoft Technology Licensing, Llc | Input-output searching |
| US12368503B2 (en) | 2023-12-27 | 2025-07-22 | Quantum Generative Materials Llc | Intent-based satellite transmit management based on preexisting historical location and machine learning |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018078735A1 (ja) * | 2016-10-26 | 2018-05-03 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
-
2021
- 2021-08-12 WO PCT/JP2021/029717 patent/WO2022034913A1/ja not_active Ceased
- 2021-08-12 JP JP2022542877A patent/JPWO2022034913A1/ja active Pending
-
2023
- 2023-02-13 US US18/167,948 patent/US20230196075A1/en active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018078735A1 (ja) * | 2016-10-26 | 2018-05-03 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
Non-Patent Citations (1)
| Title |
|---|
| WENGONG JIN; REGINA BARZILAY; TOMMI JAAKKOLA: "Junction Tree Variational Autoencoder for Molecular Graph Generation", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 12 February 2018 (2018-02-12), 201 Olin Library Cornell University Ithaca, NY 14853 , XP080856473 * |
Also Published As
| Publication number | Publication date |
|---|---|
| US20230196075A1 (en) | 2023-06-22 |
| JPWO2022034913A1 (ja) | 2022-02-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112073221B (zh) | 一种实现网络节点排序的方法及装置 | |
| KR102129640B1 (ko) | 스트링 변환의 귀납적 합성을 위한 랭킹 기법 | |
| Davies | Why is the physical world so comprehensible | |
| CN112068798B (zh) | 一种实现网络节点重要性排序的方法及装置 | |
| CN110023963A (zh) | 使用神经网络处理文本序列 | |
| CN109155003A (zh) | 生成神经网络 | |
| US20200134471A1 (en) | Method for Generating Neural Network and Electronic Device | |
| CN110138595A (zh) | 动态加权网络的时间链路预测方法、装置、设备及介质 | |
| US20230196075A1 (en) | Inferring device, training device and inferring method | |
| CN109376857A (zh) | 一种融合结构和属性信息的多模态深度网络嵌入方法 | |
| CN114038516A (zh) | 一种基于变分自编码器的分子生成与优化 | |
| WO2018160342A1 (en) | Small majorana fermion codes | |
| CN115831261A (zh) | 基于多任务预训练逆强化学习的三维空间分子生成方法和装置 | |
| CN114297398A (zh) | 基于神经网络的知识图谱实体链接方法、装置及电子设备 | |
| CN116681139A (zh) | 一种量子态制备方法及相关装置 | |
| CN114970334B (zh) | 基于深度强化学习的作战体系设计方法及相关设备 | |
| US20240079099A1 (en) | Inferring device, training device, inferring method, method of generating reinforcement learning model and method of generating molecular structure | |
| WO2022163629A1 (ja) | 推定装置、訓練装置、推定方法、生成方法及びプログラム | |
| Jadhav et al. | CSADF: ingesting cuckoo search optimization algorithm enabled with fitness function for effective model transformation pertaining to ADF | |
| WO2022145388A1 (ja) | 推定装置、訓練装置、グラフ生成方法、分子構造、ネットワーク生成方法及びネットワーク | |
| CN109472023A (zh) | 一种基于实体及文本联合嵌入的实体关联度衡量方法、系统及存储介质 | |
| CN118690864B (zh) | 基于模式树的量子线路模式匹配方法 | |
| Patterson | Structured and decorated cospans from the viewpoint of double category theory | |
| Jadhav et al. | WOADF: whale optimization integrated adaptive dragonfly algorithm enabled with the TDD properties for model transformation | |
| Katona et al. | Utilizing the untapped potential of indirect encoding for neural networks with meta learning |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21855992 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2022542877 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21855992 Country of ref document: EP Kind code of ref document: A1 |