WO2020217620A1 - 訓練装置、推定装置、訓練方法、推定方法及びプログラム - Google Patents
訓練装置、推定装置、訓練方法、推定方法及びプログラム Download PDFInfo
- Publication number
- WO2020217620A1 WO2020217620A1 PCT/JP2020/003052 JP2020003052W WO2020217620A1 WO 2020217620 A1 WO2020217620 A1 WO 2020217620A1 JP 2020003052 W JP2020003052 W JP 2020003052W WO 2020217620 A1 WO2020217620 A1 WO 2020217620A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- graph
- data
- converter
- inverse
- feature amount
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
Definitions
- This disclosure relates to training equipment, estimation equipment, training methods, estimation methods and programs.
- the graph data generation model is a mathematical model equipped with an algorithm that generates data having a graph structure when an appropriate random number or the like is input. For example, it can be used for computer-based candidate substance generation in the creation of new compounds and drugs. Research on this graph data generation model has been rapidly developing in recent years. There are two typical graph data generation model structures and trainings: Variational AutoEncoder (VAE) and Generative Adversarial Networks (GAN). In addition, as a procedure for generating graph data, there are an incremental method of adding or deleting nodes one by one to a graph, and a one-shot method of generating an amount representing the relationship of all nodes at once.
- VAE Variational AutoEncoder
- GAN Generative Adversarial Networks
- the training device comprises one or more memories and one or more processors.
- the one or more processors convert the first feature amount related to the node of the graph and the second feature amount related to the structure of the graph into the first latent value by a transformation in which the inverse transformation can be defined, and the first converter and the above.
- a second converter that converts a second feature quantity into a second latent value by a transformation that can define an inverse transformation is trained based on the first latent value and the second latent value.
- FIG. 1 is a block diagram showing the functions of the training device 1 according to the embodiment.
- the training device 1 includes an input unit 10, a storage unit 12, a processing unit 14, a training unit 16, and an output unit 18.
- a first converter 100 and a second converter 120 which are data converters for converting data and are subject to training of the training device 1, are provided.
- the first converter 100 and the second converter 120 may be outside the training device 1 and can be referred to by the training device 1.
- the storage unit 12 may be outside the training device 1 and may be referenced from the training device 1.
- the input unit 10 acquires data related to the graph. That is, the input unit 10 functions as an acquisition unit for acquiring data.
- the data related to the graph may be the data of the node and the edge, or may be the data divided into the data of the tensor showing the characteristics of the node and the data of the tensor showing the adjacent state. That is, the format does not matter as long as the data shows the features of the nodes of the graph and the adjacent state.
- the adjacency state is a state quantity indicating the connection of nodes, and includes, for example, an adjacency matrix. Further, in the case of a compound, the amount may be an amount considering double bonds, triple bonds and the like.
- the graph of a compound is generally an undirected graph, it is possible to apply this embodiment to a directed graph by adding a directed state quantity to a tensor indicating an adjacent state. ..
- the storage unit 12 stores data such as training data required for processing.
- the data acquired by the input unit 10 may be stored.
- the parameters constituting the various networks to be trained may be stored.
- the training device 1 specifically executes the software processing by using the hardware, the training device 1 may store a program, binary data, and the like necessary for the execution.
- the processor may read the executable file stored in the storage unit 12 to execute the process.
- the processing unit 14 transfers the data to the first tensor and the second tensor. And process.
- FIG. 2 shows an example of the first tensor and the second tensor.
- the ruled lines shown in the figure are drawn for easy viewing, and the elements of the tensor are indicated by the numerical values described in the ruled lines.
- the first tensor is shown as, for example, a matrix having a dimension of (number of features) ⁇ (number of nodes).
- the node feature amount is an atom (for example, an atom of carbon, nitrogen, oxygen, or hydrogen, respectively), and is a matrix indicating which atom is present in each node. In this case, there is one atom with a value of 1 for each node, and the atom with a value of 1 means an atom that constitutes each node.
- the second tensor is, for example, a tensor having a dimension of (number of nodes) ⁇ (number of nodes) ⁇ (number of patterns), and is shown as a tensor having an adjacency matrix for the number of patterns.
- the first pattern represents single-bonded nodes
- the second pattern represents double-bonded nodes.
- the first node and the second node are 1 in the first pattern and the second pattern and 0 in the third pattern, it indicates that they are double bonds.
- the first node and the third node are 1 in the first pattern and 0 in the second pattern, they indicate that they are single bonds.
- the first pattern is set to 1, the other pattern is set to 0, and in the case of a double bond, the second pattern is set to 1 and the other pattern is set. It may be 0. Further, for example, a pattern indicating a ⁇ bond, a ⁇ bond, or the like may be further provided for adjacent nodes.
- the processing unit 14 processes the data so that the data input by the input unit 10 does not have the structure shown in FIG. 2, for example, as shown in FIG.
- the node atoms are processed as the first tensor, and from the data showing the edge state, each edge is a multiple bond.
- the input is not limited to this, and data representing a drawing of the structural formula or data representing the structural formula in XML format may be input.
- the data is not limited to this, and any data may be input as long as the data correctly represents the graph, and a plurality of processing units 14 may exist based on the format of the input data.
- the processing unit 14 may process the above processing using a rule-based conversion formula, or may process the above processing using a trained model (trained model) trained (learned) by machine learning. May be good.
- the processing unit 14 is indispensable. is not. In this case, returning to FIG. 1, as shown by the broken line, the value may be output directly from the input unit 10 to the first converter 100 and the second converter 120. Further, regardless of the presence or absence of the processing unit 14, the data acquired by the input unit 10 is stored in the storage unit 12 at least temporarily, and is referred to by the processing unit 14 or each converter when necessary. May be good.
- the first converter 100 and the second transducer 120 are represented using a map whose inverse mapping can be easily defined, for example, an NVP (Non-volume Preserving) mapping.
- the first converter 100 and the second transducer 120 may be represented, for example, by a non-linear mapping or by a mapping applied multiple times.
- a specific mapping will be described below as an example, but the mapping according to the present embodiment is not limited to this.
- the mapping based on the NVP mapping shall be represented by the following equation.
- N is the number of nodes
- M is the type of atom (number of features)
- P is the type of bond (number of patterns).
- the first converter 100 converts the first tensor and the second tensor into the first latent value. This transformation is performed, for example, by a transform mapping provided with a neural network capable of processing graph data based on the map of [Equation 1]. At least once a first potential value for the first tensor to update, by repeating the following mapping L 1 times, the first tensor and second tensor, calculates a first potential value.
- z X ( ⁇ R N ⁇ M ) is the tensor indicating the first latent value
- f is the index of the row of the first latent value
- A is the second tensor.
- f is calculated separately for f update and f param
- f update is the set of rows selected for update
- f param is the set of rows of f that are not selected for update.
- s f and t f are the maps at the center of the transformation, the scale and the translation, respectively.
- z X [f update,: ] of the z X, when shown in the example of FIG. 2 shows a set of elements of the line to be updated
- z X [f param,: ] is other than the row to be updated Shows a set of elements.
- x may be [1, N] other than l arranged in order ⁇ .
- L 1 N.
- s f and t f are represented, for example, as a map that transforms a matrix of R (N-1) ⁇ M + N ⁇ N ⁇ P into a vector of R 1 ⁇ M.
- s f and t f are represented, for example, as a mapping that transforms a matrix of R N ⁇ M + N ⁇ N ⁇ P into a vector of R 1 ⁇ M or a matrix of R N ⁇ M.
- the row corresponding to f update is set to 1 and the others are set to 0 at the update timing, and the update is performed.
- s f and t f are maps for calculating parameters and may be arbitrary maps with learnable parameters.
- the transformation including the graph A which is the second tensor, is performed, it is possible to efficiently perform learning by expressing it using a neural network that can handle graph data.
- learning efficiency can be improved by using GNN (Graph Neural Network), GCN (Graph Convolutional Network), Relational GCN, and the like.
- GNN Graph Neural Network
- GCN Graph Convolutional Network
- Relational GCN Relational GCN
- the model is not limited to these methods, and any model can be used as long as it is a model capable of appropriately converting graph data and training, for example, MLP (Multi-Layer Perceptron). Absent.
- the second converter 120 converts the second tensor into the second latent value. This conversion, like the first converter 100, as at least one each element of the second potential values for the second tensor to update, by repeating the following mapping L 2 times, the second tensor, Calculate the second latent value.
- z A ( ⁇ R N ⁇ N ⁇ P ) is a tensor indicating the second latent value, and a is an index of the row of the second latent value.
- a is calculated separately for a update and a param
- a update is a set of rows selected for update
- a param is a set of rows of a that are not selected for update.
- s a and t a is a mapping for the transform center, respectively scale and translation.
- z A [a update ,:,:] indicates a set of elements of the row to be updated for the number of patterns in z A , as shown in the example of FIG. 2, and z A [a param ,:,: ] Indicates a set of elements other than the row to be updated for the number of patterns.
- y may be [1, N] other than l arranged in order ⁇ .
- L 2 N.
- s a and t a is expressed by, for example, a matrix of R N ⁇ N ⁇ P as mapping converted into a vector of R 1 ⁇ N ⁇ P.
- s a and t a for example, be represented as the mapping to convert the matrix R N ⁇ N ⁇ P into matrices R 1 ⁇ N ⁇ P vector or R N ⁇ N ⁇ M.
- the update is performed by masking the rows corresponding to a update as 1 and the others as 0 over the pattern at the update timing.
- s a and t a is a mapping of calculating parameters may be any mapping with learning parameters.
- any model such as MLP (Multi-Layer Perceptron), which can be trained using machine learning, may be used.
- f update is a set of indexes of the elements to be updated
- f param is a set of indexes of other elements.
- the order of selecting the elements to be updated shall be the predetermined order in the conversion and the inverse conversion. That is, as long as the predetermined order is observed in each phase of training and estimation, any elemental unit and the update in the transformation for obtaining the first latent value and the second latent value from the first tensor and the second tensor It may be performed in any order.
- the values of the lines to be updated may be replaced in a predetermined order so that all the lines are updated instead of the lth line in the lth update.
- the inverse conversion is performed in the reverse order of the predetermined order.
- This predetermined order may be defined in advance with random numbers and fixed at the time of training and estimation. Further, even when it is performed in units of lines, it is not necessary to perform it line by line, and it may be updated in a predetermined order for each of a plurality of lines so that all the lines are updated. In this way, any transformation may be used as long as all latent value elements are updated.
- the row of the node is focused on
- the column of the feature amount in the first tensor may be focused on, and the conversion may be performed separately for the column to be updated and the column not to be updated.
- the second tensor for example, it is assumed that the rows of the same node of all patterns are updated, but the present invention is not limited to this, and elements that are freely updated and elements that are not updated may be set.
- all other elements were converted for the element to be updated, but this is not limited to this. That is, the element to be updated may be updated using at least some elements instead of all other elements.
- the values of X and A are used as they are as the initial values of z X and z A , but this is also not limited to this.
- Predetermined processing for example, noise may be superimposed on the values of X and A to obtain the initial values of z X and z A.
- the training unit 16 optimizes the first converter 100 and the second converter 120 by executing the training.
- the interest of the training is the conversion of s f, t f, s a and t a.
- the network configuration prepared for these transformations can be freely determined.
- the training unit 16 trains by a machine learning and deep learning method that can optimize these transformations. For example, training may be performed using the method of SGD (Stochastic Gradient Descent). Of course, other machine learning methods may be used.
- the training unit 16 calculates the log-likelihood based on the following equation and trains so that the likelihood becomes large.
- z is a combined latent value, which is a combination of the first latent value and the second latent value. More specifically, the elements constituting each tensor are the first latent value z X from the first row, the first column to the Mth column, the second row, the first column to the Mth column, ..., Nth row.
- 1st column to Mth column, 2nd latent value z A 1st pattern 1st row 1st column to Nth column, ..., Nth row 1st column to Nth column, 2nd pattern 1st row It is a vector that is connected to the first column ..., the P pattern Nth row, the first column to the Nth column, and has all the values of the first latent value and the second latent value.
- p z (z) is a prior distribution with respect to the combined latent value z, and is generated by using, for example, a multidimensional normal distribution having the same dimension as the number of elements of z.
- the Jacob matrix can be made into a block triangular matrix. Therefore, it is possible to reduce the cost of calculating the Jacobian.
- the transformation as represented by these equations, it is possible to define the inverse transformation.
- the same thing can be said even if it is more generalized as in [Equation 4].
- the training unit 16 calculates the log-likelihood based on [Equation 5]. .. First, the combined latent value z is obtained from the converted first latent value and the second latent value, the Jacobian at the value of G is calculated, and the log-likelihood is calculated by [Equation 5] based on the prior probability. .. The transmutations of s f , t f , s a and t a are optimized by learning based on the calculated log-likelihood. By using a normal distribution as the prior probability, the latent values of the graph showing the features and structure are trained to be normally distributed.
- the average vector of this normal distribution may be a zero vector.
- this covariance matrix may be a diagonal matrix.
- the optimization method is not limited to this, and for example, random numbers according to the normal distribution are used as teacher data so that the data after conversion follows the normal distribution, and is optimized by other supervised learning. It may be converted. Not limited to SGD, it is also possible to use various neural network optimization methods. Further, the processing for a plurality of graph data may be made more efficient and more accurate by using a mini-batch processing or the like. Training unit 16, thus, using a variety of techniques, optimal s f, t f, s a and t a on the basis of the output of the first transducer 100 and second transducer 120 for a plurality of graph data Perform the conversion. The optimization termination conditions are also determined based on the method used.
- the output unit 18 outputs network parameters and the like optimized by the training unit 16.
- the output is a concept that includes not only outputting to the outside of the training device 1 via the interface but also storing optimized parameters and the like in the storage unit 12 in the training device 1. Is.
- FIG. 3 is a flowchart showing the processing flow of the training device 1. The operation of each part described above will be briefly summarized with reference to FIG. See above for detailed operation.
- the data related to the graph is acquired via the input unit 10 (S100).
- the processing unit 14 generates a first tensor and a second tensor (S102).
- the first latent value is calculated using the first converter 100 (S104).
- the second latent value is calculated using the second converter 120 (S106).
- the calculation order of the first latent value and the second latent value is not limited to this.
- the processing of S104 may be performed after S106, or may be performed in parallel.
- the training unit 16 calculates the log-likelihood of the latent value (S108).
- the training unit 16 updates the parameters related to the neural network provided in the first converter 100 and the second converter 120 based on the calculated log-likelihood (S110). For example, error backpropagation is performed based on the log-likelihood, and various parameters are updated.
- the processing for one graph data has been described above, but the network is updated by obtaining the log-likelihood for a plurality of graph data. For example, by setting one set of neural network parameters for all the graph data which is training data and updating this one set of parameters, so-called log-likelihood becomes large for all the graph data. Batch learning may be performed.
- the training data may be divided into a predetermined number of mini-batch and updated by so-called mini-batch learning. This process can be changed as appropriate depending on the available resources.
- the training unit 16 determines whether or not the training meets the end condition (S112). If the end condition is not satisfied (S112: NO), the process from S104 is repeated. If the first tensor or the like is appropriately erased due to a problem of resources such as memory, it may be repeated from S102.
- the output unit 18 When the end condition is satisfied (S112: YES), the output unit 18 outputs the optimized network parameters and the like (S114), and ends the process.
- the mapping that converts the graph data into the latent value is the GCN.
- the training device 1 optimizes the graph data to the latent value and will be described below. This means that the inverse conversion from latent values to graph data can also be easily optimized.
- the model trained in this way in the space of the stay variable z, if a prediction model such as a simple linear regression model is used, the value of z and the characteristic value of the substance of the compound graph generated from that value. For example, it is possible to predict the solubility in water with high accuracy. On the contrary, by selecting z such that the predicted value becomes high, it is possible to efficiently generate a graph having a high possibility of having good properties.
- a generative model based on GAN cannot always generate the same graph data when a certain graph data is encoded and decoded, and it is not easy to verify the validity and reliability of training and the like.
- the generative model based on VAE uses an approximate value of likelihood as the destination, the validity of the training can be verified, but the reproducibility in the mutual conversion between the internal representation of the trained network and the graph data is high. There is no guarantee. Since the incremental method checks the validity of the graph every time one node is operated, the operation of the graph can be finished at an appropriate timing, but the end judgment is necessary and the product It is difficult to specify the size of the graph of.
- FIG. 4 is a block diagram showing the functions of the estimation device 2 according to the present embodiment.
- the estimation device 2 includes an input unit 20, a storage unit 22, a noise generation unit 24, a first inverse converter 200, a second inverse converter 220, a generation unit 26, and an output unit 28.
- the estimation device 2 generates graph data based on the distribution from the input random number information or the noise data generated by the noise generation unit 24. That is, the estimation device 2 may function as a graph generation device that generates a graph from predetermined data.
- the input unit 20 acquires data.
- the data are, for example, first data having an element of N ⁇ M and second data having an element of N ⁇ N ⁇ P.
- This data may be, for example, a numerical value based on a random number set by a normal distribution, a uniform distribution, or the like. Further, the data may have a value arbitrarily selected by the user.
- the data acquired by the input unit 20 may be temporarily stored in the storage unit 22.
- the storage unit 22 stores data and the like required for the estimation device 2. Similar to the training device 1 described above, a program for operating the estimation device 2, data used for estimation of the estimation device 2, and the like may be stored.
- the noise generation unit 24 generates the first data and the second data when the random number data is not input from the input unit 20.
- the input unit 20 may instruct the user to generate, for example, random number data to generate a graph.
- the noise generation unit 24 generates random number data.
- the second inverse converter 220 uses the second data as the second latent value and converts it into a second tensor showing the structure of the graph.
- the second inverse converter 220 is a converter that performs the inverse conversion of the second converter 120 having the trained model optimized by the training device 1 described above.
- the second inverse converter 220 it is possible to define the second inverse converter 220 as the inverse conversion of the second converter 120.
- the second inverse converter 220 is defined by MLP
- the MLP that is the inverse conversion of this MLP is defined as the second inverse converter 220.
- the second inverse converter 220 is defined by the equation that performs the inverse conversion of the equation of [Equation 3].
- the second inverse converter 220 is defined by first inversely converting the second L second update of the conversion of the second converter 120 and then sequentially performing the inverse conversion until the first update.
- the first inverse converter 200 uses the first data as the first latent value and uses the second tensor converted by the second inverse converter 220 to convert the first tensor into the first tensor indicating the node feature amount.
- the first inverse converter 200 is a converter that performs inverse conversion of the first converter 100 having a trained model optimized by the training device 1 described above. Similar to the second inverse converter 220, the first inverse converter 200 can be defined as its inverse converter by appropriately defining the first converter 100. When the first converter 100 is a conversion of GNN, GCN, etc., the first inverse converter 200 is defined as the inverse conversion thereof. More specifically, the first inverse converter 200 is defined by the equation that performs the inverse conversion of the equation of [Equation 2]. Since the update is the same as that of the second inverse converter 220, it will be omitted.
- the generation unit 26 generates graph data based on the first tensor converted by the first inverse converter 200 and the second tensor converted by the second inverse converter 220.
- the generation unit 26 is not an essential configuration.
- the output unit 28 outputs the graph data generated by the generation unit 26.
- the output unit 28 may output the values of the first tensor and the second tensor.
- FIG. 5 is a flowchart showing a processing flow of the estimation device 2 according to the present embodiment.
- the input unit 20 acquires the first data and the second data (S200). This step may be omitted, and if omitted, for example, a step in which the noise generation unit 24 generates random number data is executed instead.
- the second tensor is estimated by the second inverse converter 220 based on the second data (S202).
- the first tensor is estimated by the first inverse converter 200 based on the first data and the second data estimated in S202 (S204).
- the generation unit 26 generates graph data based on the first tensor and the second tensor (S206).
- the output unit 28 outputs the generated graph data (S208).
- the step S206 is omitted and the output unit 28 outputs the estimated first tensor and the second tensor.
- the first inverse converter 200 defined based on the first converter 100 and the second converter 120 trained by the training device 1 described above, respectively.
- the second inverse converter 220 makes it possible to convert a graph from random data with high accuracy. Since the inverse transducer according to the present embodiment estimates (generates) a graph from the distribution (latent value) of random numbers, it is possible to easily estimate (generate) different graphs by changing this distribution. .. Moreover, when estimated from the same distribution, the same graph data is obtained.
- the graph is generated based on N, M, and P, the graph is estimated by one shot.
- the learning cost of the model is calculated from the above-mentioned Jacobian calculation and the definition of the inverse transformation is easy even if the number of nodes increases. It is not so expensive, and it is possible to generate a graph with a large number of nodes with high accuracy.
- FIG. 6 is a block diagram showing a function of the estimation device 2 according to another aspect.
- the estimation device 2 according to this modification includes an input unit 20, a storage unit 22, a first inverse converter 200, a second inverse converter 220, a generation unit 26, and an output unit 28, and further.
- the noise addition unit 30, the first converter 100 learned by the training device 1, and the second converter 120 are provided.
- the estimation device 2 automatically estimates and outputs the graph data existing in the vicinity.
- the configuration to which the same reference numerals are given has the same configuration as the training device 1 or the estimation device 2 according to the above-described embodiment, and therefore detailed description is omitted.
- the first converter 100 is a converter including a trained model trained by the training device 1.
- the second transducer 120 is also a transducer having a trained model trained by the training device 1.
- the noise addition unit 30 adds noise to the first latent value converted from the first tensor by the first converter 100 and the second latent value converted from the second tensor by the second converter 120.
- the noise level to be applied, dispersion, average value, random number pattern, random number generation method, and the like may be set by the user. Further, noise may be added to both latent values, or noise may be added to one of the latent values.
- the first inverse converter 200 and the second inverse converter 220 convert the data of the latent value to which noise is added, and estimate the first tensor and the second tensor, respectively.
- the estimation device 2 converts the latent value into a latent value, adds noise to the latent value, performs inverse conversion, and outputs the graph data. ..
- FIG. 7 is a flowchart showing a processing flow of the estimation device 2 according to this modification.
- the input unit 10 acquires data related to the graph (S210).
- the processing unit 14 generates the first tensor and the second tensor (S212).
- the first latent value is calculated using the first converter 100 including the trained model (S214).
- the second latent value is calculated using the second converter 120 including the trained model (S216).
- the calculation order of the first latent value and the second latent value is not limited to this.
- the processing of S214 may be performed after S216, or may be performed in parallel.
- the noise adding unit 30 adds noise to the calculated first latent value and the second latent value (S218).
- the graph data is added by adding noise to the graph data converted by using the first converter 100 and the second converter 120 trained in the training device 1. It is possible to estimate the graph data in the vicinity of. If no noise is added, the same graph as the input graph may be generated. By generating the same graph in this way, it can be seen that each converter trained in the training device 1 and each inverse converter are functioning normally.
- first converter 100 and the first inverse converter 200 may be designed so that they can be converted and inversely converted by the same module. That is, the first converter 100 and the first inverse converter 200 may be provided in the same module. The same applies to the second converter 120 and the second inverse converter 220.
- the estimation device 2 estimates the graph from the (random number) data generated by the user, the data generated by the noise generation unit 24, or the data in which noise is added to the latent value converted from the graph. Further, as another example, the noise data generated by the noise generation unit 24 may be added to the data generated by the user, and the graph may be estimated from the data.
- the noise addition unit 30 shown in FIG. 6 may be provided in the configuration of FIG. 4, and the noise addition unit 30 may add noise to the input data.
- the noise addition unit 30 may add noise to at least one of the first data and the second data with respect to the input data.
- the first graph when estimating the first graph as graph data, the first graph may be generated from input data, noise data, or input data with noise added.
- a second graph similar to the graph to be generated may be input, the latent value of the second graph may be obtained by a converter, and the first graph may be generated from the latent value of the second graph.
- the above-mentioned estimation device 2 and the estimation device 2 according to the modified example have different configurations from the training device 1, but the configuration is not limited to this.
- the training device 1 and the estimation device 2 may be provided in the same device and function as the estimation device 2 as they are after training in the training device 1.
- the user may be able to switch between the training device 1 and the estimation device 2 via the user interface.
- the functions included in the training device 1 and the estimation device 2 may be implemented by a plurality of computers so that each computer exchanges information via a network.
- each function may be a circuit composed of an analog circuit, a digital circuit, or an analog / digital mixed circuit. Further, a control circuit for controlling each function may be provided. The implementation of each circuit may be by ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array) or the like.
- ASIC Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- the training device 1 and the estimation device 2 may be configured by hardware, or may be configured by software and executed by a CPU or the like by information processing of the software.
- the training device 1 and the estimation device 2 and a program that realizes at least a part of the functions are stored in a storage medium such as a flexible disk or a CD-ROM, and read by a computer for execution. It may be.
- the storage medium is not limited to a removable one such as a magnetic disk or an optical disk, and may be a fixed storage medium such as a hard disk device or a memory. That is, information processing by software may be concretely implemented using hardware resources. Further, the processing by software may be implemented in a circuit such as FPGA and executed by hardware.
- the generation of the model and the processing after inputting to the model may be performed by using an accelerator such as a GPU, for example.
- the computer can be used as the device of the above embodiment by reading the dedicated software stored in the storage medium that can be read by the computer.
- the type of storage medium is not particularly limited.
- the computer can be used as the device of the above embodiment. In this way, information processing by software is concretely implemented using hardware resources.
- FIG. 8 is a block diagram showing an example of a hardware configuration according to an embodiment of the present invention.
- the training device 1 and the estimation device 2 include a processor 71, a main storage device 72, an auxiliary storage device 73, a network interface 74, and a device interface 75, and these are computer devices connected via a bus 76. It can be realized as 7.
- the computer device 7 of FIG. 8 includes one component, the computer device 7 may include a plurality of the same components. Further, although one computer device 7 is shown in FIG. 8, software may be installed on a plurality of computer devices, and each of the plurality of computer devices may execute a part of processing different from the software. ..
- the processor 71 is an electronic circuit (processing circuit, Processing circuitry) including a computer control device and an arithmetic unit.
- the processor 71 performs arithmetic processing based on data and programs input from each apparatus of the internal configuration of the computer apparatus 7, and outputs the arithmetic result and the control signal to each apparatus and the like.
- the processor 71 controls each component constituting the computer device 7 by executing an OS (operating system) of the computer device 7, an application, or the like.
- the processor 71 is not particularly limited as long as it can perform the above processing.
- Each component of the training device 1 and the estimation device 2 is realized by the processor 71.
- 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 directly read by the processor 71.
- the auxiliary storage device 73 is a storage device other than the main storage device 72. Note that these storage devices mean arbitrary electronic components capable of storing electronic information, and may be memory or storage. Further, the memory includes a volatile memory and a non-volatile memory, but any of them may be used. The memory for storing various data in the training device 1 and the estimation device 2 may be realized by the main storage device 72 or the auxiliary storage device 73.
- the storage unit 12 may be mounted on the main storage device 72 or the auxiliary storage device 73. As another example, when an accelerator is provided, the storage unit 12 may be mounted in the memory provided in the accelerator.
- the network interface 74 is an interface for connecting to the communication network 8 wirelessly or by wire. As the network interface 74, one conforming to the existing communication standard may be used. Information may be exchanged by the network interface 74 with the external device 9A which is communicated and connected via the communication network 8.
- the external device 9A includes, for example, a camera, motion capture, an output destination device, an external sensor, an input source device, and the like. Further, the external device 9A may be a device having some functions of the components of the training device 1 and the estimation device 2. Then, the computer device 7 may receive a part of the processing results of the training device 1 and the estimation device 2 via the communication network 8 like a cloud service.
- the device interface 75 is an interface such as USB (Universal Serial Bus) that directly connects to the external device 9B.
- the external device 9B may be an external storage medium or a storage device.
- the storage unit 12 may be realized by the external device 9B.
- the external device 9B may be an output device.
- the output device may be, for example, a display device for displaying an image, a device for outputting audio, or the like.
- a display device for displaying an image for example, there are LCD (Liquid Crystal Display), CRT (Cathode Ray Tube), PDP (Plasma Display Panel), speaker, etc., but the present invention is not limited to these.
- the external device 9B may be an input device.
- the input device includes devices such as a keyboard, a mouse, and a touch panel, and gives the information input by these devices to the computer device 7.
- the signal from the input device is output to the processor 71.
- some or all of the processes, means, etc. of the present disclosure may be executed or functioned based on at least one of a control circuit and a storage circuit provided on the cloud via a network.
- Various operations of learning and inference may be executed by parallel processing using, for example, an accelerator such as a GPU, or using a plurality of computers via a network.
- processing such as batch processing in learning and generation of operation information of each object in inference may be performed by allocating operations to a plurality of arithmetic cores and executing them at the same timing.
- Training device 10: Input unit, 12: Storage unit, 14: Machining unit, 16: Training unit, 18: Output unit, 100: First converter, 120: Second converter, 2: Estimator, 20: Input unit, 22: Storage unit, 24: Noise generation unit, 26: Generation unit, 28: Output unit, 30: Noise addition unit, 200: First inverse converter, 220: Second inverse converter
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Complex Calculations (AREA)
- Machine Translation (AREA)
Abstract
精度の高いグラフ生成アルゴリズムの訓練をする。訓練装置は、1又は複数のメモリと、1又は複数のプロセッサと、を備える。前記1又は複数のプロセッサは、グラフのノードに関する第1特徴量及び前記グラフの構造に関する第2特徴量を、逆変換が定義できる変換により第1潜在値に変換する第1変換器、及び、前記第2特徴量を逆変換が定義できる変換により第2潜在値に変換する第2変換器を、前記第1潜在値及び前記第2潜在値に基づいて訓練する。
Description
本開示は、訓練装置、推定装置、訓練方法、推定方法及びプログラムに関する。
グラフデータ生成モデルは、適当な乱数等を入力すると、グラフ構造を有するデータを生成するアルゴリズムを備える数学モデルである。例えば、新規化合物、薬物の創出における計算機による候補物質生成等に利用できる。このグラフデータ生成モデルの研究が、近年急速に発展してきている。グラフデータ生成モデルの構造、訓練の代表的なものとして、Variational AutoEncoder(VAE)と、Generative Adversarial Networks(GAN)の2つがある。また、グラフデータの生成手順として、グラフにノードを1つずつ加える、又は、削除するインクリメンタルな手法と、全ノードの関係を表す量を一度に生成するワンショットの方法がある。
精度の高いグラフ生成アルゴリズムの訓練装置、また、精度の高いグラフデータ推定装置を提供する。
一実施形態よれば、訓練装置は、1又は複数のメモリと、1又は複数のプロセッサと、を備える。前記1又は複数のプロセッサは、グラフのノードに関する第1特徴量及び前記グラフの構造に関する第2特徴量を、逆変換が定義できる変換により第1潜在値に変換する第1変換器、及び、前記第2特徴量を逆変換が定義できる変換により第2潜在値に変換する第2変換器を、前記第1潜在値及び前記第2潜在値に基づいて訓練する。
以下、図面を参照して本発明の実施形態について説明する。図面及び実施形態の説明は一例として示すものであり、本発明を限定するものではない。化合物の例を挙げて説明するが、本実施形態の適用範囲は、これに限られるものではない。例えば、他の態様としては、回路設計、交通網・ネットワーク等のインフラ整備、建築、言語学、ウェブ等における種々のグラフに適用できるものである。また、化合物の場合も、ノードの要素は原子として説明するが、これには限られず、例えば、分子、基(group、radical)等により示される意味のある集まりであってもよい。
図1は、一実施形態に係る訓練装置1の機能を示すブロック図である。訓練装置1は、入力部10と、記憶部12と、加工部14と、訓練部16と、出力部18と、を備える。この他に、データを変換するデータ変換器であって訓練装置1の訓練の対象となる、第1変換器100と、第2変換器120と、を備える。なお、第1変換器100と第2変換器120が訓練装置1の外部にあり、訓練装置1から参照できる構成であってもよい。また、記憶部12が訓練装置1の外部にあり、訓練装置1から参照できる構成であってもよい。
入力部10は、グラフに関するデータを取得する。すなわち、入力部10は、データを取得する取得部として機能する。グラフに関するデータは、ノード及びエッジのデータであってもよいし、ノードの特徴を示すテンソルと隣接状態を示すテンソルのデータに分割されているデータであってもよい。すなわち、グラフのノードの特徴量と、隣接状態が分かるデータであればその形式は問わない。隣接状態とは、ノードの接続を示す状態量であり、例えば、隣接行列を備える。さらに、化合物である場合には、2重結合、3重結合等を考慮した量であってもよい。なお、化合物のグラフでは一般的に無向グラフであるが、隣接状態を示すテンソルに、有向の状態量を追加することにより、有向グラフに対しても本実施形態を適用することは可能である。
記憶部12は、処理に必要となる訓練データ等のデータを記憶する。入力部10が取得したデータを記憶してもよい。また、訓練対象となる各種ネットワークを構成するパラメータを記憶してもよい。さらに、訓練装置1がソフトウェアの処理がハードウェアを用いて具体的実行される場合には、実行に必要なプログラム、バイナリデータ等を記憶してもよい。この場合、記憶部12に記憶されている実行ファイルをプロセッサが読み出すことにより処理を実行してもよい。
加工部14は、入力部10が取得したデータが、グラフのノードの特徴量を示す第1テンソル及びグラフの構造を示す第2テンソルではない場合に、当該データを第1テンソル及び第2テンソルへと加工する。
図2は、第1テンソル及び第2テンソルの一例を示す。図に示す罫線は、見やすくするために描いたものであり、テンソルの要素は、罫線内に記載された数値で示される。第1テンソルは、例えば、(特徴量数)×(ノード数)の次元を有する行列として示される。化合物である場合、一例として、ノード特徴量は、原子(例えば、それぞれ炭素、窒素、酸素、水素の原子)であり、各ノードにどの原子が存在しているかを示す行列となる。この場合、各ノードに対して1が示されている原子が1つ存在し、この1が示されている原子が各ノードを構成する原子を意味する。
一方、第2テンソルは、例えば、(ノード数)×(ノード数)×(パターン数)の次元を有するテンソルであり、隣接行列をパターン数分備えるテンソルとして示される。第1パターンは、1重結合しているノード同士を表し、第2パターンは、2重結合しているノード同士を表す。例えば、図2に示す第2テンソルについては、第1ノードと第2ノードは、第1パターン及び第2パターンで1、第3パターンで0であるので、2重結合であることを示す。同様に、第1ノードと第3ノードは、第1パターンで1であり、第2パターンで0であるので、単結合であることを示す。このような行列表現には限られず、例えば、1重結合の場合には第1パターンを1、他のパターンを0にし、2重結合の場合には、第2パターンを1、他のパターンを0としてもよい。また、例えば、隣接するノード同士についてπ結合、σ結合等を示すパターンをさらに備えていてもよい。
加工部14は、入力部10が入力したデータが、例えば、図2に示すような構造ではない場合に、図2に示すような構造となるようにデータを加工する。例えば、ノードの原子と、各ノード間を接続するエッジの状態を示すデータが入力された場合、ノードの原子を第1テンソルとして加工し、エッジの状態を示すデータから、各エッジが多重結合か否かを確認して、各ノードの接続状態を示す第2テンソルをとして加工する。これには限られず、構造式の図面を表すデータ、また、構造式をXML形式で示すデータを入力としてもよい。これには限られず、グラフを正しく表すデータであれば、入力されるデータはどのようなものでもよく、加工部14は、入力されるデータの形式に基づいて複数存在していてもよい。加工部14は、例えば、上記の加工を、ルールベースの変換式を用いて加工してもよいし、機械学習により訓練(学習)された学習済みモデル(訓練済みモデル)を用いて加工してもよい。
また、入力部10に第1テンソル、第2テンソルが入力される場合、又は、単純に第1テンソルと第2テンソルとを結合した値が入力される場合には、加工部14は必須の構成ではない。この場合、図1に戻り、破線で示すように、入力部10から直接的に第1変換器100、第2変換器120へと値が出力されてもよい。また、加工部14の有無に拘わらず、入力部10が取得したデータは、少なくとも一時的に記憶部12に記憶されて、必要になった場合に、加工部14又は各変換器に参照されてもよい。
第1変換器100及び第2変換器120は、逆写像が容易に定義できる写像、例えば、NVP(Non-volume Preserving)写像を用いて表される。第1変換器100及び第2変換器120は、例えば、非線形な写像により、また、複数回適用される写像を用いて表されてもよい。以下に、一例として具体的な写像を説明するが、本実施形態に係る写像は、これに限られるものではない。本実施形態においては、NVP写像に基づいた写像は、以下の式により示されるものとする。
ここで、s(x)、t(x)は、任意の写像であり、○の中に・を記載した記号(odot)は、アダマール積(要素同士の積)を示す。例えば、機械学習モデル、特に、ディープニューラルネットワーク等の複雑な写像を用いても学習が困難ではない。本実施形態においては、この写像を、グラフデータが適用できるようにする。以下、Nをノード数、Mを原子の種類(特徴量数)、Pを結合の種類(パターン数)とする。これらのN、M、Pの値は訓練及び推定において所定の値であるものとする。所定の値とすることにより、ワンショット方式におけるグラフデータから潜在値への変換(及び後述する逆変換)が実行可能となる。
第1変換器100は、第1テンソル及び第2テンソルを、第1潜在値へと変換する。この変換は、例えば、[数1]の写像に基づいたグラフデータを処理可能なニューラルネットワークを備える変換写像により実行される。第1テンソルに対する第1潜在値を少なくとも1回は更新するように、以下の写像をL1回繰り返すことにより、第1テンソル及び第2テンソルから、第1潜在値を算出する。
ここで、zX(∈RN×M)は第1潜在値を示すテンソル、fは第1潜在値の行のインデクス、Aは第2テンソルを示す。fは、fupdateとfparamとに分けて計算され、fupdateは更新対象として選択されている行の集合、fparamはfのうち更新対象として選択されていない行の集合を示す。sf及びtfは、変換の中心となる写像であり、それぞれスケールとトランスレーションである。例えば、zX[fupdate,:]は、zXのうち、図2の例で示すと、更新する行の要素の集合を示し、zX[fparam,:]は、更新する行以外の要素の集合を示す。初期値は、例えば、zX=Xとしてもよい。
l(<L1)回目の更新では、fupdate=l、fparam={x|xはl以外の[1,N]を順序で並べたもの}、としてもよい。この場合、L1=Nとなる。N回の更新を繰り返すことにより、第1潜在値の各行、すなわち、全ての要素が更新される。sf及びtfは、例えば、R(N-1)×M+N×N×Pの行列をR1×Mのベクトルへと変換する写像として表される。
別の例として、l回目の更新でfupdate=lとすることは同様であるが、fparamとして用いるものに、l行目を0、それ以外を1としてマスキングしたものを用いてもよい。この場合、sf及びtfは、例えば、RN×M+N×N×Pの行列をR1×Mのベクトル又はRN×Mの行列へと変換する写像として表される。N×M次元への行列への変換である場合には、更新のタイミングでfupdateに対応する行を1とし、その他を0とするマスクを掛けて更新を行う。
いずれの場合においても、sf及びtfは、パラメータを計算する写像であり、学習可能なパラメータを有する任意の写像としてもよい。特に、第2テンソルであるAというグラフを含む変換を行うので、グラフデータを扱うことのできるニューラルネットワークを用いて表現されることにより効率よく学習を行うことが可能となる。例えば、GNN(Graph Neural Network)、GCN(Graph Convolutional Network)、Relational GCN等を用いることにより学習の効率化を図ることが可能である。しかしながら、これらの手法に限られるものではなく、適切にグラフデータを変換し、訓練が可能であるモデル、例えば、MLP(Multi-Layer Perceptron)等であれば、どのようなモデルであっても構わない。
一方、第2変換器120は、第2テンソルを、第2潜在値へと変換する。この変換も、第1変換器100と同様に、第2テンソルに対する第2潜在値の各要素を少なくとも1回は更新するように、以下の写像をL2回繰り返すことにより、第2テンソルから、第2潜在値を算出する。
ここで、zA(∈RN×N×P)は第2潜在値を示すテンソル、aは第2潜在値の行のインデクスを示す。aは、aupdateとaparamとに分けて計算され、aupdateは更新対象として選択されている行の集合、aparamはaのうち更新対象として選択されていない行の集合を示す。sa及びtaは、変換の中心となる写像であり、それぞれスケールとトランスレーションである。例えば、zA[aupdate,:,:]は、zAのうち、図2の例で示すと、パターン数分の更新する行の要素の集合を示し、zA[aparam,:,:]は、パターン数分の更新する行以外の要素の集合を示す。初期値は、例えば、za=Aとしてもよい。
l(<L2)回目の更新では、aupdate=l、aparam={y|yはl以外の[1,N]を順序で並べたもの}、としてもよい。この場合、L2=Nとなる。N回の更新を繰り返すことにより、第2潜在値の各行、すなわち、全ての要素が更新される。sa及びtaは、例えば、RN×N×Pの行列をR1×N×Pのベクトルへと変換する写像として表される。
別の例として、l回目の更新でaupdate=lとすることは同様であるが、aparamとして用いるものに、l行目を0、それ以外を1としてマスキングしたものを用いてもよい。この場合、sa及びtaは、例えば、RN×N×Pの行列をR1×N×Pのベクトル又はRN×N×Mの行列へと変換する写像として表される。N×N×M次元への行列への変換である場合には、更新のタイミングでパターンに亘り、aupdateに対応する行を1とし、その他を0とするマスクを掛けて更新を行う。
いずれの場合においても、sa及びtaは、パラメータを計算する写像であり、学習可能なパラメータを有する任意の写像としてもよい。例えば、機械学習を用いて訓練が可能であるモデル、MLP(Multi-Layer Perceptron)等であれば、どのようなモデルであっても構わない。
なお、第1潜在値及び第2潜在値を求める写像における繰り返しにおいては、行ごとに指定するものとしたが、行単位に更新することには限られず、テンソルの要素ごとに更新する要素と更新しない要素とを設定してもよい。すなわち、例えば、[数2]を以下のように書き換えてもよい。[数3]等についても同様に行ではなく要素で指定してもよい。
この場合、fupdateは、更新対象となる要素のインデクスの集合、fparamは、それ以外の要素のインデクスの集合である。この場合においても、更新する要素を選択する順番は、変換、逆変換において所定の順番であるものとする。すなわち、訓練及び推定の各フェーズにおいて所定の順番が守られているのであれば、第1テンソル及び第2テンソルから第1潜在値及び第2潜在値を求める変換における更新について、任意の要素単位及び任意の順番で行ってもよい。
さらに、上述のようにl回目の更新でl行目ではなく、更新の対象とする行の値を、全ての行について更新がされるように所定の順番で入れ替えてもよい。逆変換は、所定の順番の逆の順番で実行される。この所定の順番は、あらかじめ乱数で定義し、訓練及び推定時には固定されるものとしてもよい。また、行単位で行う場合においても、1行ずつ行う必要は無く、全ての行が更新されるように、複数行ごとに所定の順番で更新をしてもよい。このように、全ての潜在値の要素が更新される変換であればよい。
例えば、上述したように、第1変換器100と第2変換器120とのそれぞれの変換において、l回目の更新でl行目を更新するとした場合、L1=L2となるが、これには限られない。また、ノードの行に着目したが、第1テンソルにおける特徴量の列に着目し、更新する列と、更新しない列とに分けて変換をしてもよい。第2テンソルにおいては、例えば、全てのパターンの同じノードの行を更新するとしたが、これには限られず、自由に更新する要素と更新しない要素とを設定してもよい。また、更新する要素に対して、他の全ての要素を変換していたが、これには限られない。すなわち、更新する要素に対して、他の全ての要素ではなく、少なくとも一部の要素を用いて更新してもよい。
zX、zAの初期値として、X、Aの値をそのまま用いるとしたが、これも、これに限られるものではない。X、Aの値に対して、所定の処理、例えば、ノイズを重畳してzX、zAの初期値としてもよい。
図1に戻り、訓練部16は、訓練を実行することにより、第1変換器100及び第2変換器120を最適化する。訓練の対象となるのは、sf、tf、sa及びtaの各変換である。上述したように、これらの変換に備えられるネットワークの構成は、自由に決めることができる。訓練部16は、これらの変換を最適化できる機械学習、ディープラーニングの手法で訓練を行う。例えば、SGD(確率的勾配降下法:Stochastic Gradient Descent)の手法を用いて訓練を行ってもよい。もちろん、これ以外の機械学習の手法を用いてもよい。
SGDを用いる場合、訓練部16は、対数尤度を以下の式に基づいて算出し、尤度が大きくなるように訓練する。
zは、結合された潜在値であり、第1潜在値と第2潜在値とを結合したものである。より具体的には、各テンソルを構成する要素を、第1潜在値zXの1行目1列目からM列目、2行目1列目からM列目、・・・、N行目1列目からM列目、第2潜在値zAの1パターン目1行目1列目からN列目、・・・、N行目1列目からN列目、2パターン目1行目1列目から・・・、Pパターン目N行目1列目からN列目、と結合し、第1潜在値及び第2潜在値の全ての値を有するベクトルである。また、pz(z)は、結合された潜在値zに対する事前分布であり、例えば、zの要素数と同じ次元を有する多次元正規分布を利用して生成する。detの対象である∂z/∂Gは、G=(A,X)の値におけるzのヤコブ行列であり、右辺の第2項のlogの中身は、ヤコビアンである。
[数2]及び[数3]で表されるように第1変換器100及び第2変換器120を定義することにより、ヤコブ行列をブロック三角行列とすることが可能となる。このため、ヤコビアンを算出するコストを軽減することが可能となる。また、同様に、これらの式で表されるように変換を定義することにより、逆変換を定義することも可能となる。もちろん、[数4]のように、より一般化しても、同様のことが言えることに留意されたい。
第1変換器100及び第2変換器120により、第1潜在値及び第2潜在値が繰り返しの更新により変換された後、訓練部16は、[数5]に基づいて対数尤度を算出する。まず、変換後の第1潜在値及び第2潜在値から結合された潜在値zを取得し、Gの値におけるヤコビアンを算出し、事前確率に基づいて[数5]により対数尤度を算出する。算出された対数尤度に基づいて学習を行うことによりsf、tf、sa及びtaの各変換が最適化される。事前確率として正規分布を用いることにより、特徴量及び構造を示すグラフの潜在値が正規分布となるように訓練される。
SDGを用いる場合、sf、tf、sa及びtaの全てのパラメータを更新するのではなく、一部のパラメータを更新しないようにしてもよい。例えば、事前分布pzを多次元正規分布とする場合には、この正規分布の平均ベクトルがゼロベクトルとなるようにしてもよい。別の例として、この共分散行列を対角行列としてもよい。
なお、最適化の手法はこれには限られず、例えば、変換を行った後のデータが正規分布にしたがうように、正規分布にしたがった乱数を教師データとして用いて、他の教師あり学習により最適化を行ってもよい。SGDに限られず、種々のニューラルネットワークの最適化手法を用いることも可能である。また、複数のグラフデータに対しての処理は、ミニバッチ処理等を用いて効率化、高精度化を図ってもよい。訓練部16は、このように、種々の手法を用いて、複数のグラフデータに対する第1変換器100及び第2変換器120の出力に基づいてsf、tf、sa及びtaの最適化を行う。最適化の終了条件についても、用いる手法に基づいて決定する。
出力部18は、訓練部16が最適化したネットワークのパラメータ等を出力する。なお、本実施形態において出力とは、インタフェースを介して訓練装置1の外部へと出力することのみならず、訓練装置1内の記憶部12へ最適化されたパラメータ等を記憶させることも含む概念である。
図3は、訓練装置1の処理の流れを示すフローチャートである。この図3を用いて上記した各部の動作について簡単にまとめる。詳しい動作については、上記を参照されたい。
まず、入力部10を介してグラフに関するデータを取得する(S100)。
次に、必要であれば、加工部14により第1テンソル、第2テンソルを生成する(S102)。
次に、第1変換器100を用いて第1潜在値を算出する(S104)。
次に、第2変換器120を用いて第2潜在値を算出する(S106)。なお、第1潜在値と第2潜在値の算出順序は、これに限られるものではない。例えば、S106の後にS104の処理を行ってもよいし、並列に行ってもよい。
次に、訓練部16は、潜在値の対数尤度を算出する(S108)。
次に、訓練部16は、算出した対数尤度に基づいて、第1変換器100及び第2変換器120に備えられるニューラルネットワークに関するパラメータを更新する(S110)。例えば、対数尤度に基づいて誤差逆伝播を行い、各種パラメータを更新する。この更新は、上述においては、1のグラフデータに対する処理を説明したが、複数のグラフデータに対して対数尤度を求めてネットワークの更新を行う。例えば、訓練データであるグラフデータ全てに対して1セットのニューラルネットワークのパラメータを設定し、この1セットのパラメータを更新することにより、全てのグラフデータに対して対数尤度が大きくなるよう、所謂バッチ学習をしてもよい。別の例としては、訓練データを所定数のミニバッチに分割し、所謂ミニバッチ学習により更新をしてもよい。この処理は、利用できる資源に応じて適宜変更することが可能である。
次に、訓練部16は、訓練が終了条件を満たしたか否かを判断する(S112)。終了条件を満たしていない場合(S112:NO)、S104からの処理を繰り返す。メモリ等の資源の問題により、第1テンソル等を適宜消去している場合にはS102から繰り返してもよい。
終了条件を満たしている場合(S112:YES)、出力部18は、最適化されたネットワークのパラメータ等を出力して(S114)、処理を終了する。
以上のように、本実施形態によれば、ノード数及び特徴量数が設定されている状態において、グラフデータを潜在値、例えば、正規分布にしたがった潜在値へと変換する写像を、GCN、GNN、あるいはその他のネットワークを用いた手法により最適化することにより、計算コストを抑え、かつ、高精度に訓練することが可能となる。また、上記の第1変換器100、第2変換器120は、逆演算を容易に定義することができるので、訓練装置1によるグラフデータから潜在値への最適化を行うとともに、以下に説明する潜在値からグラフデータへの逆変換も容易に最適化できることを意味する。
このように訓練したモデルにしたがえば、滞在変数zの空間において、簡単な線形回帰モデル等の予測モデルを用いると、zの値と、その値から生成される化合物グラフが有する物質の特性値、例えば、水への溶けやすさ等、を高精度に予測することが可能となる。逆に、当該予測値が高くなるようなzを選択することにより、性質のよい可能性が高いグラフを効率よく生成することができる。
例えば、GANに基づく生成モデルは、あるグラフデータをエンコードして、デコードした場合に、同じグラフデータが生成できるとは限られず、訓練等の正当性、信頼性を検証することが容易ではない。また、VAEに基づく生成モデルは、尤度の近似値を目的地とするため、訓練の正当性は検証できるが、訓練されたネットワークの内部表現とグラフデータとの相互変換における再現性が高くなる保証はない。インクリメンタルの手法は、1つのノードを操作する度にグラフの妥当性をチェックするため、適切なタイミングでグラフの操作を終了することができるが、それ故に終了判定が必要であり、また、生成物のグラフの大きさを規定することが困難である。ワンショットの手法では、必ず指定したサイズのグラフを生成することが可能であるが、ノード数が増えるとモデルの学習(訓練)、グラフの生成についてコストが急速に高くなるため、大ノード数のグラフを生成することが困難である。以上のような問題を、本実施形態によれば解決することが可能である。
図4は、本実施形態に係る推定装置2の機能を示すブロック図である。推定装置2は、入力部20と、記憶部22と、ノイズ生成部24と、第1逆変換器200と、第2逆変換器220と、生成部26と、出力部28と、を備える。推定装置2は、入力された乱数情報、又は、ノイズ生成部24により生成されたノイズデータから、当該分布に基づいてグラフデータを生成する。すなわち、推定装置2は、所定のデータからグラフを生成するグラフ生成装置として機能してもよい。
入力部20は、データを取得する。データは、例えば、N×Mの要素を有する第1データと、N×N×Pの要素を有する第2データである。このデータは、例えば、正規分布、一様分布等により設定された乱数に基づく数値であってもよい。また、ユーザが任意に選択した値を有するデータであってもよい。入力部20が取得したデータは、一時的に記憶部22へと記憶されてもよい。
記憶部22は、推定装置2に必要なデータ等を記憶する。上述した訓練装置1と同様に、推定装置2を動作させるためのプログラムや、推定装置2の推定に使用するデータ等を記憶してもよい。
ノイズ生成部24は、入力部20から乱数データが入力されない場合に、第1データ及び第2データを生成する。この場合、入力部20からは、ユーザにより、例えば、乱数データを生成してグラフを生成する旨の指示がされてもよい。この指示を受け、ノイズ生成部24が乱数データを生成する。
第2逆変換器220は、第2データを第2潜在値として、グラフの構造を示す第2テンソルへと変換する。この第2逆変換器220は、前述した訓練装置1により最適化された学習済みモデルを有する第2変換器120の逆変換を行う変換器である。前述のように、第2変換器120を適切に定義することにより、この第2変換器120の逆変換として、第2逆変換器220を定義することが可能となる。例えば、第2変換器120がMLPで定義されている場合には、このMLPの逆変換となるMLPを第2逆変換器220として定義する。他の形式に基づくネットワークの場合も同様である。より具体的には、[数3]の式の逆変換を行う式により第2逆変換器220は定義される。例えば、第2変換器120の変換の第L2回目の更新をまず逆変換し、逐次的に第1回目の更新まで逆変換を行うことにより、第2逆変換器220が定義される。
第1逆変換器200は、第1データを第1潜在値とし、第2逆変換器220により変換された第2テンソルを用いて、ノード特徴量を示す第1テンソルへと変換する。この第1逆変換器200は、前述した訓練装置1により最適化された学習済みモデルを有する第1変換器100の逆変換を行う変換器である。第2逆変換器220と同様に、第1変換器100を適切に定義することにより、第1逆変換器200をその逆変換として定義することができる。第1変換器100がGNN、GCN等の変換である場合に、その逆変換として第1逆変換器200が定義される。より具体的には、[数2]の式の逆変換を行う式により、第1逆変換器200は、定義される。更新については、第2逆変換器220と同様であるので省略する。
生成部26は、第1逆変換器200により変換された第1テンソル及び第2逆変換器220により変換された第2テンソルに基づいて、グラフデータを生成する。なお、生成部26は、必須の構成ではない。
出力部28は、生成部26が生成したグラフデータを出力する。生成部26が備えられていない場合には、出力部28は、第1テンソル及び第2テンソルの値を出力してもよい。
図5は、本実施形態に係る推定装置2の処理の流れを示すフローチャートである。
まず、入力部20は、第1データ及び第2データを取得する(S200)。このステップは、省略されてもよく、省略された場合には、例えば、ノイズ生成部24が乱数データを生成するステップが代わりに実行される。
次に、第2データに基づいて、第2逆変換器220により第2テンソルを推定する(S202)。
次に、第1データ及びS202で推定された第2データに基づいて、第1逆変換器200により第1テンソルを推定する(S204)。
次に、生成部26は、第1テンソル及び第2テンソルに基づいてグラフデータを生成する(S206)。
次に、出力部28は、生成されたグラフデータを出力する(S208)。第1テンソル及び第2テンソルをそのまま出力する場合には、S206のステップを省略して、出力部28が推定された第1テンソル及び第2テンソルを出力する。
以上のように、本実施形態に係る推定装置2によれば、前述の訓練装置1により訓練された第1変換器100、第2変換器120にそれぞれ基づいて定義された第1逆変換器200、第2逆変換器220により、乱数データからグラフを高精度に変換することが可能となる。本実施形態に係る逆変換器は、乱数の分布(潜在値)からグラフの推定(生成)を行うので、この分布を変えることにより、異なるグラフを容易に推定(生成)することが可能となる。かつ、同じ分布から推定した場合には、同じグラフデータとなる。すなわち、あるグラフデータを第1変換器100及び第2変換器120により変換し、この変換された潜在値に基づいて第1逆変換器200及び第2逆変換器220により変換を実行すると、入力したグラフデータと同じグラフデータが出力される。
さらに、N、M、Pに基づいてグラフを生成するので、ワンショットによりグラフを推定する。一方で、ワンショットの手法であるにも拘わらず、本実施形態の訓練装置1によれば、ノード数が増えてもモデルの学習コストは上述したヤコビアンの算出と逆変換の定義の容易さからそれほど高くならず、ノード数が大きいグラフの生成を高精度に行うことが可能となる。
(変形例)
図6は、別の態様に係る推定装置2の機能を示すブロック図である。本変形例に係る推定装置2は、入力部20と、記憶部22と、第1逆変換器200と、第2逆変換器220と、生成部26と、出力部28と、を備え、さらに、ノイズ付与部30と、訓練装置1により学習された第1変換器100と、第2変換器120と、を備える。この推定装置2は、例えば、あるグラフデータに対して、当該グラフデータを入力すると、自動的に近傍に存在するグラフデータを推定して出力するものである。
図6は、別の態様に係る推定装置2の機能を示すブロック図である。本変形例に係る推定装置2は、入力部20と、記憶部22と、第1逆変換器200と、第2逆変換器220と、生成部26と、出力部28と、を備え、さらに、ノイズ付与部30と、訓練装置1により学習された第1変換器100と、第2変換器120と、を備える。この推定装置2は、例えば、あるグラフデータに対して、当該グラフデータを入力すると、自動的に近傍に存在するグラフデータを推定して出力するものである。
同じ符号が付与されている構成については、特に説明が無い限り、前述の実施形態に係る訓練装置1又は推定装置2と同様の構成であるので詳しい説明は省略したものである。
第1変換器100は、訓練装置1により訓練された学習済みモデルを備える変換器である。同様に、第2変換器120も、訓練装置1により訓練された学習済みモデルを備える変換器である。
ノイズ付与部30は、第1変換器100により第1テンソルから変換された第1潜在値、及び、第2変換器120により第2テンソルから変換された第2潜在値にたいして、ノイズを付与する。付与するノイズのレベル、分散、平均値、乱数のパターン、乱数の生成方法等は、ユーザが設定できるものであってもよい。また、双方の潜在値にノイズを付与してもよいし、いずれか一方の潜在値にノイズを付与してもよい。
第1逆変換器200及び第2逆変換器220は、ノイズが付与された潜在値のデータを変換して、第1テンソル及び第2テンソルをそれぞれ推定する。
このように、本変形例に係る推定装置2は、グラフデータが入力されると、潜在値へと変換し、当該潜在値にノイズを付与した上で逆変換を行って、グラフデータを出力する。
図7は、本変形例に係る推定装置2の処理の流れを示すフローチャートである。
まず、入力部10は、グラフに関するデータを取得する(S210)。
次に、必要であれば、加工部14により第1テンソル、第2テンソルを生成する(S212)。
次に、学習済みモデルを備える第1変換器100を用いて第1潜在値を算出する(S214)。
次に、学習済みモデルを備える第2変換器120を用いて第2潜在値を算出する(S216)。なお、第1潜在値と第2潜在値の算出順序は、これに限られるものではない。例えば、S216の後にS214の処理を行ってもよいし、並列に行ってもよい。
次に、ノイズ付与部30は、算出された第1潜在値及び第2潜在値にノイズを付与する(S218)。
以下の流れは、前述の実施形態に係る推定装置2と同様であるので省略する。
以上のように、本変形例によれば、訓練装置1において訓練された第1変換器100及び第2変換器120を用いて変換したグラフデータに対してノイズを付与することにより、当該グラフデータの近傍のグラフデータを推定することが可能となる。ノイズを付与しない場合には、入力したグラフと同じグラフが生成されてもよい。このように同じグラフが生成されることにより、訓練装置1において訓練された各変換器、及び、各逆変換器が正常に機能していることが分かる。
なお、図6においては、第1変換器100と第1逆変換器200は、別の構成であるとしたが、同じモジュールで変換、逆変換ができるように設計してもよい。すなわち、第1変換器100と第1逆変換器200は、同一のモジュール内に備えられていてもよい。第2変換器120と第2逆変換器220についても同様である。
上述したように、推定装置2は、ユーザが生成した(乱数)データ、ノイズ生成部24で生成したデータ、あるいは、グラフから変換された潜在値にノイズを付与したデータからグラフを推定する。また、別の例としては、ユーザが生成したデータにノイズ生成部24が生成したノイズデータを付加して、当該データからグラフを推定してもよい。入力されたデータに対してノイズデータを付加する場合、図4の構成において、図6に記載のノイズ付与部30を備え、ノイズ付与部30が入力データにノイズを付与してもよい。ノイズ付与部30は、入力データに対する第1データ及び第2データの少なくとも1つにノイズを付与するものであってもよい。
例えば、グラフデータとして第1グラフを推定する場合、入力データ、ノイズデータ又は入力データにノイズ付加したものから第1グラフを生成してもよい。別の例として、生成したいグラフと類似する第2グラフを入力し、変換器により第2グラフの潜在値を求め、当該第2グラフの潜在値から第1グラフを生成してもよい。
また、前述の推定装置2、及び、変形例に係る推定装置2について、訓練装置1と別の構成であるとしたが、これには限られない。例えば、訓練装置1と推定装置2が同じ装置内に備えられ、訓練装置1において訓練した後にそのまま推定装置2として機能するものであってもよい。ユーザが、ユーザインタフェースを介して、訓練装置1と推定装置2とを切り替え可能であるものであってもよい。また、訓練装置1及び推定装置2が備える機能が複数のコンピュータにより実装され、各コンピュータがネットワークを介して情報のやり取りを実行するようにしてもよい。
前述した実施形態及び変形例における訓練装置1及び推定装置2において、各機能は、アナログ回路、デジタル回路又はアナログ・デジタル混合回路で構成された回路であってもよい。また、各機能の制御を行う制御回路を備えていてもよい。各回路の実装は、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等によるものであってもよい。
上記の全ての記載において、訓練装置1及び推定装置2の少なくとも一部はハードウェアで構成されていてもよいし、ソフトウェアで構成され、ソフトウェアの情報処理によりCPU等が実施をしてもよい。ソフトウェアで構成される場合には、訓練装置1及び推定装置2及びその少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD-ROM等の記憶媒体に収納し、コンピュータに読み込ませて実行させるものであってもよい。記憶媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記憶媒体であってもよい。すなわち、ソフトウェアによる情報処理がハードウェア資源を用いて具体的に実装されるものであってもよい。さらに、ソフトウェアによる処理は、FPGA等の回路に実装され、ハードウェアが実行するものであってもよい。モデルの生成や、モデルに入力をした後の処理は、例えば、GPU等のアクセラレータを使用して行ってもよい。
例えば、コンピュータが読み取り可能な記憶媒体に記憶された専用のソフトウェアをコンピュータが読み出すことにより、コンピュータを上記の実施形態の装置とすることができる。記憶媒体の種類は特に限定されるものではない。また、通信ネットワークを介してダウンロードされた専用のソフトウェアをコンピュータがインストールすることにより、コンピュータを上記の実施形態の装置とすることができる。こうして、ソフトウェアによる情報処理が、ハードウェア資源を用いて、具体的に実装される。
図8は、本発明の一実施形態におけるハードウェア構成の一例を示すブロック図である。訓練装置1及び推定装置2は、プロセッサ71と、主記憶装置72と、補助記憶装置73と、ネットワークインタフェース74と、デバイスインタフェース75と、を備え、これらがバス76を介して接続されたコンピュータ装置7として実現できる。
なお、図8のコンピュータ装置7は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図8では、1台のコンピュータ装置7が示されているが、ソフトウェアが複数のコンピュータ装置にインストールされて、当該複数のコンピュータ装置それぞれがソフトウェアの異なる一部の処理を実行してもよい。
プロセッサ71は、コンピュータの制御装置および演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry)である。プロセッサ71は、コンピュータ装置7の内部構成の各装置などから入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を各装置などに出力する。具体的には、プロセッサ71は、コンピュータ装置7のOS(オペレーティングシステム)や、アプリケーションなどを実行することにより、コンピュータ装置7を構成する各構成要素を制御する。プロセッサ71は、上記の処理を行うことができれば特に限られるものではない。訓練装置1及び推定装置2の各構成要素は、プロセッサ71により実現される。
主記憶装置72は、プロセッサ71が実行する命令および各種データなどを記憶する記憶装置であり、主記憶装置72に記憶された情報がプロセッサ71により直接読み出される。補助記憶装置73は、主記憶装置72以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、メモリでもストレージでもよい。また、メモリには、揮発性メモリと、不揮発性メモリがあるが、いずれでもよい。訓練装置1及び推定装置2内において各種データを保存するためのメモリは、主記憶装置72または補助記憶装置73により実現されてもよい。例えば、記憶部12は、この主記憶装置72又は補助記憶装置73に実装されていてもよい。別の例として、アクセラレータが備えられている場合には、記憶部12は、当該アクセラレータに備えられているメモリ内に実装されていてもよい。
ネットワークインタフェース74は、無線または有線により、通信ネットワーク8に接続するためのインタフェースである。ネットワークインタフェース74は、既存の通信規格に適合したものを用いればよい。ネットワークインタフェース74により、通信ネットワーク8を介して通信接続された外部装置9Aと情報のやり取りが行われてもよい。
外部装置9Aは、例えば、カメラ、モーションキャプチャ、出力先デバイス、外部のセンサ、入力元デバイスなどが含まれる。また、外部装置9Aは、訓練装置1及び推定装置2の構成要素の一部の機能を有する装置でもよい。そして、コンピュータ装置7は、訓練装置1及び推定装置2の処理結果の一部を、クラウドサービスのように通信ネットワーク8を介して受け取ってもよい。
デバイスインタフェース75は、外部装置9Bと直接接続するUSB(Universal Serial Bus)などのインタフェースである。外部装置9Bは、外部記憶媒体でもよいし、ストレージ装置でもよい。記憶部12は、外部装置9Bにより実現されてもよい。
外部装置9Bは出力装置でもよい。出力装置は、例えば、画像を表示するための表示装置でもよいし、音声などを出力する装置などでもよい。例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、スピーカなどがあるが、これらに限られるものではない。
なお、外部装置9Bは入力装置でもよい。入力装置は、キーボード、マウス、タッチパネルなどのデバイスを備え、これらのデバイスにより入力された情報をコンピュータ装置7に与える。入力装置からの信号はプロセッサ71に出力される。また、本開示の処理、手段等の一部又は全部は、ネットワークを介したクラウド上に備えられる制御回路及び記憶回路の少なくとも一方に基づいて実行され又は機能されるものであってもよい。
上記の全ての記載に基づいて、実施形態の追加、効果又は種々の変形を想到できるかもしれないが、上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更及び部分的削除が可能である。例えば、前述した全ての実施形態において、説明に用いた数式および数値は、一例として示したものであり、これらに限られるものではない。
学習、推論の各種演算は、例えば、GPU等のアクセラレータを用いて、又は、ネットワークを介した複数の計算機を用いて、並列処理により実行されるものであってもよい。例えば、学習におけるバッチ処理、推論における各オブジェクトの動作情報の生成等の処理は、複数ある演算コアに演算を振り分けて同じタイミングで実行されるものであってもよい。
1:訓練装置、10:入力部、12:記憶部、14:加工部、16:訓練部、18:出力部、100:第1変換器、120:第2変換器、
2:推定装置、20:入力部、22:記憶部、24:ノイズ生成部、26:生成部、28:出力部、30:ノイズ付与部、200:第1逆変換器、220:第2逆変換器
2:推定装置、20:入力部、22:記憶部、24:ノイズ生成部、26:生成部、28:出力部、30:ノイズ付与部、200:第1逆変換器、220:第2逆変換器
Claims (23)
- 1又は複数のメモリと、
1又は複数のプロセッサと、を備え、
前記1又は複数のプロセッサは、
グラフのノードに関する第1特徴量及び前記グラフの構造に関する第2特徴量を、逆変換が定義できる変換により第1潜在値に変換する第1変換器、及び、前記第2特徴量を逆変換が定義できる変換により第2潜在値に変換する第2変換器を、前記第1潜在値及び前記第2潜在値に基づいて訓練する、
訓練装置。 - 前記第1変換器は、第1ニューラルネットワークモデルを備え、
前記第2変換器は、第2ニューラルネットワークモデルを備え、
前記1又は複数のプロセッサは、
前記第1ニューラルネットワークモデル及び前記第2ニューラルネットワークモデルを訓練する、
請求項1に記載の訓練装置。 - 前記1又は複数のプロセッサにより、
前記第1変換器及び前記第2変換器は、非線形な写像に基づく変換を行う、
請求項1又は請求項2に記載の訓練装置。 - 前記1又は複数のプロセッサにより、
前記第1変換器及び前記第2変換器は、NVP(Non-volume Preserving)写像に基づく写像を実行する、
請求項3に記載の訓練装置。 - 前記1又は複数のプロセッサにより、
前記第1変換器は、前記第1特徴量及び前記第2特徴量にNVP写像を複数回適用して前記第1潜在値を算出し、
前記第2変換器は、前記第2特徴量にNVP写像を複数回適用して前記第2潜在値を算出する、
請求項4に記載の訓練装置。 - 前記第1特徴量は、前記グラフのノード特徴量を示す第1テンソルであり、
前記第2特徴量は、前記グラフの構造を示す第2テンソルである、
請求項1から請求項5のいずれかに記載の訓練装置。 - 前記1又は複数のプロセッサは、さらに、
取得した前記グラフに関するデータを、前記第1テンソル及び前記グラフの隣接行列を含む前記第2テンソルに加工する、
請求項6に記載の訓練装置。 - 前記1又は複数のプロセッサは、
前記第1潜在値及び前記第2潜在値に対する事前分布に基づいて、前記第1変換器及び前記第2変換器を訓練する、
請求項1から請求項7のいずれかに記載の訓練装置。 - 1又は複数のメモリと、
1又は複数のプロセッサと、を備え、
前記1又は複数のプロセッサは、
第2逆変換器を用いて、第2データを第1グラフの構造に関する第2特徴量へと変換し、
第1逆変換器及び前記第2特徴量を用いて、第1データを前記第1グラフのノードに関する第1特徴量へと変換する、
推定装置。 - 前記第1データは、前記1又は複数のプロセッサにより、第2グラフのノードに関する第1特徴量及び前記第2グラフの構造に関する第2特徴量を、逆変換が定義できる第1変換器を用いて第1潜在値に変換したものであり、
前記第2データは、前記1又は複数のプロセッサにより、前記第2グラフの構造に関する前記第2特徴量を、逆変換が定義できる第2変換器を用いて第2潜在値に変換したものである、
請求項9に記載の推定装置。 - 前記1又は複数のプロセッサにより、
前記第1逆変換器は、前記第1変換器の逆変換を実行し、
前記第2逆変換器は、前記第2変換器の逆変換を実行する、
請求項10に記載の推定装置。 - 前記第1データ及び前記第2データは、乱数に基づいて生成される、
請求項9から請求項11のいずれかに記載の推定装置。 - 前記1又は複数のプロセッサは、さらに、
前記第1データ又は前記第2データの少なくとも1つにノイズを付与する、
請求項9から請求項12のいずれかに記載の推定装置。 - 前記第1グラフと前記第2グラフは同じグラフである、請求項10に記載の推定装置。
- 前記1又は複数のプロセッサは、さらに、
前記第1逆変換器を用いて変換された前記第1特徴量及び前記第2逆変換器を用いて変換された前記第2特徴量に基づいて、前記第1グラフのデータを生成する、
請求項9から請求項14のいずれかに記載の推定装置。 - 前記第1逆変換器が備える学習済みモデルは、前記第1逆変換器が実行する変換の逆変換における潜在値に対する事前分布に基づいて訓練されたモデルであり、
前記第2逆変換器が備える学習済みモデルは、前記第2逆変換器が実行する変換の逆変換における潜在値に対する事前分布に基づいて訓練されたモデルである、
請求項9から請求項15のいずれかに記載の推定装置。 - 前記第1逆変換器が備える学習済みモデルは、ニューラルネットワークモデルであり、
前記第2逆変換器が備える学習済みモデルは、ニューラルネットワークモデルである、
請求項16に記載の推定装置。 - 前記第1グラフのノードに関する前記第1特徴量は、前記第1グラフのノード特徴量を示す第1テンソルであり、
前記第1グラフの構造に関する前記第2特徴量は、前記第1グラフの構造を示す第2テンソルである、
請求項9から請求項17のいずれかに記載の推定装置。 - 1又は複数のプロセッサにより、
グラフのノードに関する第1特徴量及び前記グラフの構造に関する第2特徴量を、逆変換が定義できる変換により第1潜在値に変換する第1変換、及び、前記第2特徴量を逆変換が定義できる変換により第2潜在値に変換する第2変換を、前記第1潜在値及び前記第2潜在値に基づいて訓練すること、
を備える訓練方法。 - 1又は複数のプロセッサにより、
第2データを第1グラフの構造に関する第2特徴量へと第2逆変換することと、
前記第2特徴量を用いて、第1データを前記第1グラフのノードに関する第1特徴量へと第1逆変換することと、
を備える推定方法。 - 前記第1データは、前記1又は複数のプロセッサにより、第2グラフのノードに関する第1特報量及び前記第2グラフの構造に関する前記第2特徴量を、逆変換が定義できる第1変換により第1潜在値に変換したものであり、
前記第2データは、前記1又は複数のプロセッサにより、前記第2グラフの構造に関する前記第2特徴量を、逆変換が定義できる第2変換により第2潜在値に変換したものである、
請求項20に記載の推定方法。 - 1又は複数のプロセッサにより実行されると、
第2データを第1グラフの構造に関する第2特徴量へと第2逆変換により変換し、
前記第2特徴量を用いて、第1データを前記第1グラフのノードに関する第1特徴量へと第1逆変換により変換する、
プログラムを格納した非一時的コンピュータ可読媒体。 - 前記1又は複数のプロセッサにより実行されると、
第2グラフのノードに関する第1特徴量及び前記第2グラフの構造に関する前記第2特徴量を、逆変換が定義できる第1変換により第1潜在値に変換し、
前記第2グラフの構造に関する前記第2特徴量を、逆変換が定義できる第2変換により第2潜在値に変換する、
プログラムであり、
前記第1データは、前記第1潜在値であり、
前記第2データは、前記第2潜在値である、
請求項22に記載のプログラムを格納した非一時的コンピュータ可読媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/508,592 US20220044121A1 (en) | 2019-04-24 | 2021-10-22 | Training device, inferring device, training method, inferring method, and non-transitory computer readable medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-082977 | 2019-04-24 | ||
JP2019082977A JP7349811B2 (ja) | 2019-04-24 | 2019-04-24 | 訓練装置、生成装置及びグラフ生成方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/508,592 Continuation US20220044121A1 (en) | 2019-04-24 | 2021-10-22 | Training device, inferring device, training method, inferring method, and non-transitory computer readable medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020217620A1 true WO2020217620A1 (ja) | 2020-10-29 |
Family
ID=72942095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/003052 WO2020217620A1 (ja) | 2019-04-24 | 2020-01-28 | 訓練装置、推定装置、訓練方法、推定方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220044121A1 (ja) |
JP (1) | JP7349811B2 (ja) |
WO (1) | WO2020217620A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114923486B (zh) * | 2022-04-21 | 2024-05-17 | 厦门大学 | 一种基于全局环境图和注意力侧重的机器人导航方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111051876B (zh) | 2017-09-06 | 2023-05-09 | 株式会社半导体能源研究所 | 物性预测方法及物性预测系统 |
-
2019
- 2019-04-24 JP JP2019082977A patent/JP7349811B2/ja active Active
-
2020
- 2020-01-28 WO PCT/JP2020/003052 patent/WO2020217620A1/ja active Application Filing
-
2021
- 2021-10-22 US US17/508,592 patent/US20220044121A1/en active Pending
Non-Patent Citations (2)
Title |
---|
HAMON, RONAN ET AL.: "From graphs to signals and back: Identification of network structures using spectral analysis", ARXIV:1502.04697V3, 10 June 2016 (2016-06-10), pages 1 - 19, XP055758436, Retrieved from the Internet <URL:https://arxiv.org/abs/1502.04697v3> [retrieved on 20200406] * |
JEPSEN, TOBIAS SKOVGAARD: "How to do Deep Learning on Graphs with Graph Convolutional Networks", PART 1: A HIGH-LEVEL INTRODUCTION TO GRAPH CONVOLUTIONAL NETWORKS, 18 September 2018 (2018-09-18), XP055689132, Retrieved from the Internet <URL:https://towardsdatascience.com/how-to-do-deep-learning-on-graphs-with-graph-convolutional-networks-7d2250723780> [retrieved on 20200406] * |
Also Published As
Publication number | Publication date |
---|---|
JP2020181312A (ja) | 2020-11-05 |
US20220044121A1 (en) | 2022-02-10 |
JP7349811B2 (ja) | 2023-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110929869B (zh) | 序列数据处理方法、装置、设备及存储介质 | |
JP7438303B2 (ja) | ディープラーニングモデルのトレーニング方法、自然言語処理方法及び装置、電子機器、記憶媒体及びコンピュータプログラム | |
CN113095129B (zh) | 姿态估计模型训练方法、姿态估计方法、装置和电子设备 | |
CN111243045A (zh) | 一种基于高斯混合模型先验变分自编码器的图像生成方法 | |
CN114964296B (zh) | 车辆行驶路径规划方法、装置、设备和计算机可读介质 | |
JP2017016384A (ja) | 混合係数パラメータ学習装置、混合生起確率算出装置、及び、これらのプログラム | |
CN114863385B (zh) | 道路曲面信息生成方法、装置、设备和计算机可读介质 | |
JP2020068000A (ja) | 訓練装置、訓練方法、予測装置、予測方法及びプログラム | |
WO2020217620A1 (ja) | 訓練装置、推定装置、訓練方法、推定方法及びプログラム | |
Rügamer | A new PHO-rmula for improved performance of semi-structured networks | |
CN113487014B (zh) | 基于语义分割神经网络模型的任意比特量化方法及设备 | |
JP7512631B2 (ja) | イジングマシンデータ入力機器、及びイジングマシンにデータを入力する方法 | |
Gotovac et al. | Maximum entropy algorithm with inexact upper entropy bound based on Fup basis functions with compact support | |
US20230059447A1 (en) | Training device, plant, method of generating model, inference device, inference method, and method of controlling plant | |
WO2022163629A1 (ja) | 推定装置、訓練装置、推定方法、生成方法及びプログラム | |
CN111382557B (zh) | 非定长输入数据的批量处理方法、装置、终端及存储介质 | |
JP7425755B2 (ja) | 変換方法、訓練装置及び推論装置 | |
CN115053235A (zh) | 使用插补的序列建模 | |
WO2024052996A1 (ja) | 学習装置、変換装置、学習方法、変換方法及びプログラム | |
CN117475399B (zh) | 车道线拟合方法、电子设备及可读介质 | |
JP6604060B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN112596691B (zh) | 信息推送方法、装置、电子设备和计算机可读介质 | |
CN114863026B (zh) | 三维车道线信息生成方法、装置、设备和计算机可读介质 | |
WO2022260179A1 (ja) | 訓練装置、訓練方法、プログラム及び推論装置 | |
WO2020045193A1 (ja) | 訓練方法、訓練装置、学習済みモデル、推定方法、推定装置、プログラム及び非一時的コンピュータ可読媒体 |
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: 20796169 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20796169 Country of ref document: EP Kind code of ref document: A1 |