WO2021251413A1 - 推定装置、推定方法、化学構造式及びプログラム - Google Patents

推定装置、推定方法、化学構造式及びプログラム Download PDF

Info

Publication number
WO2021251413A1
WO2021251413A1 PCT/JP2021/021850 JP2021021850W WO2021251413A1 WO 2021251413 A1 WO2021251413 A1 WO 2021251413A1 JP 2021021850 W JP2021021850 W JP 2021021850W WO 2021251413 A1 WO2021251413 A1 WO 2021251413A1
Authority
WO
WIPO (PCT)
Prior art keywords
structural formula
score
chemical structural
latent variable
parallel
Prior art date
Application number
PCT/JP2021/021850
Other languages
English (en)
French (fr)
Inventor
隆一郎 石谷
幹 阿部
Original Assignee
株式会社 Preferred Networks
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 株式会社 Preferred Networks filed Critical 株式会社 Preferred Networks
Priority to JP2022530594A priority Critical patent/JPWO2021251413A1/ja
Publication of WO2021251413A1 publication Critical patent/WO2021251413A1/ja
Priority to US18/076,636 priority patent/US20230112275A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/50Molecular design, e.g. of drugs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B15/00ICT specially adapted for analysing two-dimensional or three-dimensional molecular structures, e.g. structural or functional relations or structure alignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial 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]
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/70Machine learning, data mining or chemometrics

Definitions

  • This disclosure relates to an estimation device, an estimation method, a chemical structural formula and a program.
  • This model may output a plurality of chemical structural formulas, or may output one or a plurality of chemical structural formulas stochastically from a plurality of candidates.
  • the present disclosure provides an estimation device that streamlines the generation of chemical structural formulas.
  • the estimation device comprises one or more memories and one or more processors.
  • the one or more processors, the one or more processors acquire a plurality of latent variables by a meta-heuristic algorithm, generate a chemical structural formula based on the latent variables, and calculate a score for the chemical structural formula. do.
  • the flowchart which shows the processing of the estimation apparatus which concerns on one Embodiment.
  • the block diagram schematically showing the implementation of at least a part of the estimation apparatus which concerns on one Embodiment.
  • the flowchart which shows the processing of the estimation apparatus which concerns on one Embodiment.
  • FIG. 1 is a block diagram schematically showing an estimation device according to the present embodiment.
  • the estimation device 1 includes a latent variable acquisition unit 10, a structural formula acquisition unit 12, a score calculation unit 14, and a storage unit 16.
  • the latent variable acquisition unit 10 acquires the latent variable used in the structural formula acquisition unit 12.
  • This latent variable may be a coordinate indicating one point in a multidimensional latent space. That is, in the following description, the term latent variable may be used as the meaning of the coordinates indicating one point in the latent space.
  • This latent variable includes, for example, a hidden vector, a latent vector, and the like.
  • the latent variable acquisition unit 10 acquires a latent variable based on a metaheuristic algorithm, as will be described later.
  • a latent variable may include a scalar, or may be a concept including a matrix which is a vector having two or more dimensions, and a tensor which is a generalization of these.
  • the structural formula acquisition unit 12 acquires the chemical structural formula based on the latent variable acquired by the latent variable acquisition unit 10.
  • the chemical structural formula shows the structure of a compound such as a molecule or a crystal in a pseudo two-dimensional manner, for example.
  • the structural formula acquisition unit 12 may not only estimate and acquire the structural formula by one method, but may also estimate and acquire the structural formula by a plurality of methods. Further, the structural formula may be estimated by a method of performing complementary estimation. For example, the structure of a compound can be represented graphically.
  • the score calculation unit 14 calculates the score for the chemical structural formula acquired by the structural formula acquisition unit 12. The score is determined, for example, based on the chemical properties of the compound represented by the chemical structural formula.
  • the score calculation unit 14 may, for example, calculate a plurality of scores from a plurality of properties and calculate a score represented by one scalar from the plurality of scores.
  • the score calculation unit 14 may store the latent variable and the score in association with the storage unit 16.
  • the storage unit 16 may store the latent variable information and the score information acquired by the latent variable acquisition unit 10.
  • the storage unit 16 stores a program or the like (including an OS or the like) that executes the processing of the software. May be good.
  • the storage unit 16 may be provided inside the estimation device 1 or may be provided outside the estimation device 1.
  • the storage unit 16 may be provided on a server via a network such as the Internet or on the cloud.
  • the estimation device 1 may include an input interface for inputting data and an output interface for outputting the result to the outside.
  • the structural formula acquisition unit 12 may acquire a chemical structural formula from a latent variable based on a method such as JunctionTreeVAE (VariationalAutoencoder) or AAE (AdversarialAutoencoder).
  • the chemical structural formula is obtained by inputting latent variables into the model generated based on these methods.
  • a 56-dimensional latent variable is input to obtain the chemical structural formula
  • a 32-dimensional latent variable is input to obtain the chemical structural formula. do.
  • Latent variables are input to an intermediate layer of a model generated by an autoencoder, for example, a layer of a decoder, and the model outputs a chemical structural formula based on the features indicated by the latent variables.
  • the score calculation unit 14 measures the structural characteristics of the chemical structural formula acquired by the structural formula acquisition unit 12 as one of the above scores, and acquires the chemical properties from the structural characteristics. Acquisition of this chemical property is performed, for example, by docking simulation.
  • the score calculation unit 14 calculates a score based on, for example, this chemical property.
  • the score may be calculated based on the position of a compound and at least one of the potential functions obtained by docking simulation.
  • the position of the compound indicates, for example, the position at which the compound binds to a certain protein. More specifically, as will be described later, the score calculation unit 14 calculates the score based on various methods, and based on this score, the latent variable acquisition unit 10 uses various optimization methods to calculate the latent variable. To get.
  • the score calculation unit 14 may consider not only the position of the compound but also the orientation of the compound. Although the chemical structural formula itself has a one-dimensional or two-dimensional structure, the compound actually has a three-dimensional structure. Therefore, in addition to the docking position, the orientation and internal coordinates of the compound represented by the structural formula are also important factors. Therefore, the score calculation unit 14 may evaluate the docking direction. For example, it is important for a compound used as a drug to have information on how much affinity it binds to a protein. In such a case, it is possible to improve the accuracy of the score by evaluating using the score considering the position of the compound and the conformation of the compound to the protein.
  • the docking evaluation determines the position and posture (including conformation) of the above-mentioned compound to bind to the protein, and calculates the chemical energy when the binding is performed. Is executed by.
  • the compound used in this docking algorithm is a compound generated by the structural formula acquisition unit 12 based on an algorithm such as JunctionTreeVAE and AAE that generates various chemical structural formulas.
  • the estimation device 1 searches for a "compound” having conditions such as appropriate binding to a protein or easy binding, as an example. More specifically, the estimation device 1 performs an evaluation using a docking algorithm, and considers the position and orientation at which the compound and the protein obtained from the latent variable are bound, and the ease of binding between the compound and the protein. Calculate the score indicating. Then, the estimation device 1 searches for a compound that can appropriately bind to the protein based on this score.
  • the score calculation unit 14 evaluates the compound acquired by the structural formula acquisition unit 12 based on the chemical properties that the compound has or will have, and calculates the score. This score may be output so that it can be used for multiple purposes. That is, it may be calculated based on an appropriately defined calculation method based on the situation in which the compound is used.
  • FIG. 2 is an example of the flowchart of the present embodiment.
  • the latent variable acquisition unit 10 acquires a latent variable based on a metaheuristic algorithm (S100), as will be described later.
  • the latent variable acquisition unit 10 acquires a latent variable so that a more desirable score can be acquired based on the already obtained score.
  • the structural formula acquisition unit 12 acquires the chemical structural formula from the acquired latent variable (S102).
  • the structural formula acquisition unit 12 may acquire the structural formula from one model or may acquire the structural formula from a plurality of models.
  • the latent variable acquisition unit 10 acquires latent variables that are appropriate inputs for the model to be used. As described above, various algorithms can be used to generate this chemical structural formula.
  • the latent variable acquisition unit 10 acquires a latent variable suitable for the algorithm used in the structural formula acquisition unit 12.
  • the score calculation unit 14 calculates the score for the acquired chemical structural formula (S104).
  • the score calculation unit 14 calculates the docking score based on the evaluation method described above.
  • the estimation device 1 appropriately outputs information (S106).
  • the estimation device 1 may convert data into visual information or the like, which is information that can be perceived by the user, and acquire a chemical structural formula and a score.
  • the estimation device 1 may output the latent variable and the score to the storage unit 16.
  • appropriate information among the latent variables, chemical structural formulas, and scores obtained above may be output to appropriate locations via the output interface.
  • the score calculation unit 14 may adjust the score assuming that a structure is present by pulling a substance toxic to humans or animals.
  • the latent variable acquisition unit 10 may be configured to acquire the latent variable so that the repellent structure can be finally avoided by performing the optimization described later based on this score.
  • the latent variable acquisition unit 10 acquires a plurality of latent variables based on a metaheuristic algorithm.
  • the structural formula acquisition unit 12 acquires a plurality of chemical structural formulas based on the latent variables acquired by the latent variable acquisition unit 10 based on the meta-heuristic algorithm.
  • the score calculation unit 14 calculates scores for a plurality of chemical structural formulas acquired by the structural formula acquisition unit 12 based on a metaheuristic algorithm.
  • the score calculation unit 14 calculates a plurality of chemical structural formulas acquired by the structural formula acquisition unit 12 in parallel. Further, the score calculation unit 14 calculates docking scores for various conformations in parallel for each of the plurality of compounds.
  • the score calculation unit 14 calculates a plurality of docking scores in parallel for each of the plurality of chemical structural formulas generated by the metaheuristic algorithm. As described above, the estimation of the compound according to the present embodiment is efficiently executed for a plurality of compounds at the same timing.
  • the processing in the latent variable acquisition unit 10, the structural formula acquisition unit 12, and the score calculation unit 14 may be realized as parallel processing.
  • This parallel processing may be executed using, for example, a GPU (Graphics Processing Unit) or the like.
  • the parallel processing is not necessarily processed by the GPU, and a general-purpose processing circuit such as a CPU (Central Processing Unit) may be used, or a dedicated circuit such as an ASIC (Application Specific Integrated Circuit) may be used.
  • a programmable processing circuit such as FPGA (Field Programable Gate Array) may be used.
  • particle swarm optimization may be used. Even if it is not PSO, for example, the metropolis method / Monte Carlo method such as artificial bee colony (ABC: Artificial Bee Colony) method, grilled (SA: Simulated Annealing) method, mountain climbing (HC: Hill Climbing) method and derivative are used.
  • ABS Artificial Bee Colony
  • SA Simulated Annealing
  • HC Hill Climbing
  • ant colony optimization Ant Colony Optimization
  • harmony search Harmony Searcy
  • cuckoo search Cuckoo Search
  • vortex optimization Spiral Optimization
  • firefly algorithm Firefly
  • GA GeneticAlgorithm
  • immune algorithm ImmuneAlgorithm
  • CMA-ES CovarianceMatrixAdaptationEvolutionStrategy
  • Various algorithms such as AmoebaMethod / Nelder-MeadMethod) may be used.
  • FIG. 3 is a schematic diagram showing an arithmetic unit that is a part of the implementation of the estimation device 1 according to the present embodiment.
  • the arithmetic unit 3 includes a control unit 30 and an arithmetic unit 32. Further, each may have a storage unit (not shown), or may have a memory area that can be shared and used. Further, communication paths such as buses shall be appropriately provided.
  • the control unit 30 executes control of arithmetic processing.
  • the control unit 30 is formed, for example, with an electronic circuit.
  • the calculation unit 32 executes the calculation process based on the request from the control unit 30.
  • the arithmetic unit 32 may have a plurality of arithmetic cores 3200, 3201, ..., 320n, 3210, 3211, ..., 32m0, 32m1, ..., 32mn.
  • the configuration is set in parallel in a grid with m ⁇ n arithmetic cores, but the configuration is not limited to this.
  • arithmetic cores may be divided into a plurality of groups in which a plurality of threads are executed synchronously. A plurality of groups in the same group may be further synchronized among a plurality of predetermined groups by atomic processing. Furthermore, the configuration may be such that all groups or arithmetic cores execute arithmetic in synchronization. In this way, in the arithmetic unit 32, the processing by the multithread may be executed while being appropriately synchronized.
  • equivalent arithmetic processing can be executed by multiple arithmetic cores.
  • equivalent arithmetic processing can be executed by multiple arithmetic cores.
  • a metaheuristic algorithm it is possible to output different calculation results by giving information to each of a plurality of calculation cores with different parameters.
  • a part or all of the arithmetic cores and a memory such as a cache shared by at least a plurality of configurations of the control unit may be provided.
  • the memory such as the cache may be shared by a predetermined number of arithmetic cores. For example, there may be a memory area that can be accessed by a predetermined arithmetic core, or there may be a memory area that can be accessed from the control unit (host side). At the time of reading the cache, control that can suppress the conflict of banks may be executed.
  • a latent variable acquisition unit 10 may be implemented in each of these calculation cores. As described above, these components may be executed synchronously between some or all predetermined arithmetic cores.
  • the control unit 30 executes the processing of the plurality of arithmetic cores belonging to the arithmetic unit 32.
  • a set of one arithmetic core is provided as the arithmetic unit 32 for the control unit 30, but the present invention is not limited to this.
  • the control unit 30 may execute control of arithmetic processing on a set of a plurality of different arithmetic cores.
  • the control unit 30 and the calculation unit 32 may be provided in the same accelerator or the like such as a GPU.
  • the control unit 30 may control the accelerator or the like from a host computer different from the calculation unit 32. In this case, a host control unit and a client control unit such as an accelerator may be provided in multiple stages.
  • one thread is often assigned to one arithmetic core to perform one operation, but the configuration is not limited to this, and one arithmetic core can also perform operations in parallel.
  • An arithmetic unit having a configuration may be used.
  • the accelerator or the like may be a heterogeneous or homogeneous multi-core processor or many-core processor.
  • Processing for a plurality of arithmetic cores may be executed by a SIMD (Single Instruction, Multiple Data) instruction, a MIMD (Multiple Instruction, Multiple Data) instruction, or a MISD (Multiple Instruction, Single Data) instruction. It may be executed by using it in an appropriate combination with the process of executing these instructions. Further, these arithmetic cores may be tightly coupled, loosely coupled, or may be an implementation in which they coexist.
  • the arithmetic unit 32 is realized as grid computing in which a plurality of GPUs are connected by various communication lines, and may be formed by a plurality of arithmetic cores provided in the plurality of GPUs.
  • FIG. 4 is a flowchart showing the processing of the estimation device 1 according to the present embodiment.
  • the latent variable acquisition unit 10 acquires the latent variable (S300). As described above, the latent variable acquisition unit 10 is implemented so as to be executed in the arithmetic core.
  • the control unit 30 controls each calculation core of the calculation unit 32 so that a plurality of latent variables can be acquired in parallel based on the metaheuristic algorithm.
  • a plurality of random numbers may be set as latent variables.
  • a plurality of latent variables may be set based on information such as chemical structural formulas for which knowledge has already been obtained. This information includes, for example, information relating to the latent variable and the score stored in the storage unit 16 or the like, or a database of the latent variable and the chemical structural formula, and the data in the database is collated and extracted. You may.
  • a velocity vector for the latent variable may be set as a random number for each of the latent variables set as initial values. Then, the latent variable may be updated at the initial speed with respect to the latent variable set as the initial value.
  • the latent variables and velocity vectors are updated as follows. Where x is a latent variable, v is velocity, w is an inertial constant, c 1 and c 2 are the proportions of particles heading to a good position in the group, r 1 and r 2 are random numbers of [0, 1], x.
  • ⁇ p is the optimum vector of the particle of interest in the previous loop, and x ⁇ g is the optimum vector of the group as a whole in the previous loop.
  • the latent variables are the chemical structural formula (graph data including the constituency) acquired in the previous loop and the calculated score.
  • a latent variable based on the data is generated by control from the control unit 30. For example, using the docking score, x ⁇ p and x ⁇ g in the above equation are extracted to update the velocity v and the latent variable x.
  • necessary data such as the relationship between the score in PSO and x ⁇ p and x ⁇ g may be appropriately linked and stored in the storage unit 16 in each step.
  • control unit 30 acquires a plurality of latent variables based on the docking score acquired up to the previous loop and the latent variable (chemical structural formula) acquired at the present time. Set parameters for each arithmetic core.
  • control unit 30 in each arithmetic core based on the evaluation value (docking score) and the latent variable acquired by the immediately preceding loop or the previous loop. Control to calculate each latent variable. In this way, by using the plurality of arithmetic cores provided in the arithmetic unit 32, the search for latent variables is executed in parallel.
  • the structural formula acquisition unit 12 acquires the chemical structural formula based on the acquired latent variable (S302).
  • the acquisition of the chemical structural formula for each latent variable may be executed in a closed state in the arithmetic core in which the latent variable is acquired. By executing in this way, it becomes possible to acquire a plurality of chemical structural formulas (including conformations) in parallel.
  • the score calculation unit 14 executes the evaluation of the structural formula acquired by the structural formula acquisition unit 12 (S304). This evaluation is performed by calculating the docking score based on the information such as the three-dimensional structure, the arrangement of atoms, the conformation, and the internal coordinates with respect to the chemical structural formula as described above. The calculation of this score is processed by parallel calculation as described later.
  • the estimation device 1 stores the acquired data in the storage unit 16 (S308).
  • the estimation device 1 stores at least the data required for the subsequent processing and the data that may be the final optimum solution in the storage unit 16. This step does not preclude the storage of other data.
  • the estimation device 1 determines whether or not the optimization has been completed, that is, whether or not the chemical structural formula has been estimated to be appropriate (S312).
  • a predetermined number or more of chemical structural formulas whose evaluation value is lower than a predetermined value, the number of loop repetitions reaches a predetermined number, or the evaluation value is lower than a predetermined value are searched. It is done based on the conditions such as. Of course, when the higher the evaluation value is, the better it is, not the case where it falls below it, but the case where it exceeds it as the termination condition. These conditions are given as an example, and the processing may be terminated under conditions other than these conditions.
  • the estimation device 1 When the processing is completed (S312: YES), the estimation device 1 outputs data and ends the processing (S314).
  • These methods are shown as an example, and may be any method that appropriately calculates the optimum docking score that is not a local solution for each chemical structural formula.
  • the Monte Carlo method and the BFGS method which is a type of quasi-Newton method
  • a global search is performed by the Monte Carlo method, and the state selected by the Monte Carlo method (for example, coordinate values, conformation, etc.) is used.
  • Search for the optimal solution locally by the BFGS method If such a method is performed sequentially, the time cost is large, but the time cost is reduced by making the operation for obtaining the local solution a parallel operation.
  • the BFGS method using the gradient of the docking score is used, but a method that does not use the gradient may be used.
  • the Monte Carlo method is sequentially performed, but the search may be executed in parallel, that is, a plurality of selections that are the reference of the BFGS method may be executed in parallel.
  • f (x) be the function for finding the evaluation value, that is, the function for finding the docking score from the coordinate values of the compound (for example, the coordinate values of atoms or the internal coordinate values). Is calculated by the following formula.
  • f (x) is a scalar function whose input is a vector.
  • indicates that it is a derivative for finding the gradient with respect to the vector x.
  • B k as an approximate matrix of the Hessian matrix
  • the search direction p k is calculated based on Eq. (4). Where k indicates the number of loop iterations.
  • equation (4) it can be written as equation (5). That is, the search direction is defined by Eq.
  • This equation gets a vector that goes in the direction of lowering the evaluation value.
  • x k may be the optimal vector obtained in the previous iteration.
  • This B k -1 may be obtained directly regardless of Eq. (5).
  • the inverse matrix of B or B may be calculated, for example, based on the B or H formula of the BFGS method.
  • the search direction p multiplied by 1/2 is acquired in the arithmetic core 3201, and the search direction p multiplied by 1/4 is acquired in the arithmetic core 3202 as a new latent variable. calculate.
  • the control unit 30 executes the control of such calculation.
  • each arithmetic core After calculating the coordinate values based on the equation (7), each arithmetic core acquires the chemical structural formula from each coordinate value and calculates the docking score. This can be expressed by the following equation. That is, in each calculation core, the latent variable acquisition unit 10, the structural formula acquisition unit 12, and the score calculation unit 14 are implemented, and the evaluation value is calculated.
  • This implementation is implemented by, for example, machine language, intermediate code (byte code), or an executable file written by ASCII and compiled online at run time, and is controlled by the control unit 30 to be executed in each arithmetic core. You may.
  • the arithmetic core can perform parallel arithmetic. Therefore, it is possible to acquire a plurality of different latent variables by a metaheuristic algorithm and calculate evaluation values (docking scores) in a plurality of conformations of chemical structural formulas for each latent variable in parallel.
  • the evaluation values f (x) in multiple coordinate values are calculated in parallel using the BFGS method for the coordinate values of the equation, and they are used as the evaluation values in the Monte Carlo method.
  • the step of finding ⁇ in Eq. (6) that minimizes the evaluation value f (x) can be a parallel calculation instead of a sequential calculation.
  • local optimum values based on the coordinate values of one compound are searched in parallel, and further, by searching in parallel in multiple compounds, high-speed arithmetic processing is performed for evaluation of multiple compounds. Can be executed.
  • the maximum calculation time is to perform a calculation for all ⁇ , that is, n ⁇ (1 calculation time) in the above example, and n ⁇ (1 calculation) on average. Time) / 2.
  • n ⁇ (1 calculation time) in the above example
  • n ⁇ (1 calculation) on average.
  • n becomes larger.
  • the coordinate values of atom positions, conformations, etc. with respect to one chemical structural formula are not small. Therefore, n is expected to be a large number to some extent.
  • by executing the above parallel calculation it is possible to reduce the calculation time.
  • by performing operations in parallel it is possible to realize a search in a wider range and a higher sampling rate, and it is possible to obtain a stable and optimum solution.
  • the first parallelization is realized by performing the processing of the plurality of compounds in parallel calculation.
  • a metaheuristic algorithm such as PSO
  • PSO a metaheuristic algorithm
  • increasing the number of particles can reduce the possibility of falling into a local solution.
  • the Monte Carlo method is executed as in the example shown above, but the local search for the candidate coordinate value of the next coordinate value in the Monte Carlo method is BFGS. Performed by law.
  • the BFGS method shown as an example of this is performed by n parallel operations. Therefore, as a whole, it is possible to realize parallel operations of m ⁇ n.
  • the space of the conformation / conformation that the compound can take is searched as widely as possible, and more accurate docking is performed. It is desirable to calculate the score.
  • the Monte Carlo method is used as an example for the search in the space of this three-dimensional structure.
  • the Monte Carlo method By adopting the Monte Carlo method, it is possible to realize a global search in a three-dimensional structural space where one chemical structural formula can be taken.
  • the BFGS method is used to further improve the accuracy of the solution candidates obtained by this Monte Carlo method.
  • the score function calculation is executed for the coordinate values acquired by the Monte Carlo method, and the gradient of the score is calculated. Then, based on this gradient, n parallel processing is executed by the BFGS method. By executing the BFGS method, it is possible to obtain a more accurate evaluation value of the next coordinate value candidate by the Monte Carlo method.
  • the position and velocity with respect to the compound are updated by PSO. This position and velocity update is performed on each of the plurality of compounds by parallel computing. Then, if necessary, the PSO operation is repeated.
  • the estimation device can estimate a more stable and appropriate chemical structural formula at a higher speed.
  • the solution method using PSO is described as an example of the metaheuristic algorithm, but even if the metaheuristic algorithm other than PSO is used, a large number of chemical structural formulas can be estimated in the same manner. It can be realized in parallel.
  • the PSO and the BFGS method are processed in parallel as an example, but the Monte Carlo method may also be processed in parallel.
  • a plurality of coordinate values may be processed in parallel for searching.
  • this parallel processing is l parallel
  • the above processing will execute the parallel processing of m ⁇ l ⁇ n.
  • the mountain climbing method it is possible to search for the next coordinate value at a higher speed by executing the search in parallel processing and comparing the scores calculated by the BFGS method.
  • the SA method the calculation can be executed at high speed by executing the search in parallel processing and searching for the docking score of each coordinate value weighted in consideration of the influence of temperature.
  • 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 that realizes at least a part of the functions of each device in the above-described embodiment is software such as a flexible disk, a CD-ROM (Compact Disc-Read Only Memory), or a USB (Universal Serial). Bus)
  • Software information processing 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. 5 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. 5 includes one component for each component, but may include a plurality of the same components. Further, although one computer 7 is shown in FIG. 5, software is installed on a plurality of computers, and each of the plurality of computers executes the same or different part 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 a calculation function based on quantum computing.
  • the processor 71 can perform arithmetic processing based on data and software (programs) input from each apparatus or the like of the internal configuration of the computer 7, and output the arithmetic result or control signal to each apparatus 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 and / 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 unit 16 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 (estimating 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 / coupling direct connection / coupling and indirect connection / coupling are used.
  • 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 a plurality of hardware.
  • the hardware may include an electronic circuit, a device including the electronic circuit, or the like.

Abstract

化学構造式を効率的に推定する。推定装置は、1又は複数のメモリと、1又は複数のプロセッサと、を備える。前記1又は複数のプロセッサは、メタヒューリスティックアルゴリズムにより複数の潜在変数を取得し、前記潜在変数に基づいて、化学構造式を生成し、前記化学構造式に対するスコアを算出する。

Description

推定装置、推定方法、化学構造式及びプログラム
 本開示は、推定装置、推定方法、化学構造式及びプログラムに関する。
 化学構造式の生成を機械学習等のアルゴリズムを用いて行うことが盛んに研究されている。これらの研究により生成されたモデルは、潜在変数等の数学的な記号が与えられた場合に、対応する化学構造式が出力されるものである。このモデルは、複数の化学構造式を出力する場合もあれば、複数の候補から確率的に1又は複数の化学構造式を出力する場合もある。
 これらの手法により、化学構造式の生成自体は可能となったものの、好ましい化学的性質を有する化合物の構造式を自動的に生成するのは困難である。好ましい化学的性質を有する化合物の化学構造式を生成するためには、複数の化学構造式を次々と自動的に生成し、好ましい化学的性質を有する化合物の化学構造式になるまで生成を継続することが必要で有り、これには極めて長い時間が掛かる。
W. Jin, et.al., "Junction Tree Variational Autoencoder for Molecular Graph Generation," 12 Feb. 2018, arXiv:1802.04364, https://arxiv.org/abs/1802.04364
 本開示は、化学構造式の生成を効率化する、推定装置を提供する。
 一実施形態によれば、推定装置は、1又は複数のメモリと、1又は複数のプロセッサと、を備える。前記1又は複数のプロセッサは、前記1又は複数のプロセッサは、メタヒューリスティックアルゴリズムにより複数の潜在変数を取得し、前記潜在変数に基づいて、化学構造式を生成し、前記化学構造式に対するスコアを算出する。
一実施形態に係る推定装置を模式的に示すブロック図。 一実施形態に係る推定装置の処理を示すフローチャート。 一実施形態に係る推定装置の少なくとも一部の実装を模式的に示すブロック図。 一実施形態に係る推定装置の処理を示すフローチャート。 一実施形態に係る装置の実装例を示す図。
 以下、図面を参照して本発明の実施形態について説明する。図面及び実施形態の説明は一例として示すものであり、本発明を限定するものではない。
 図1は、本実施形態に係る推定装置を模式的に示すブロック図である。推定装置1は、潜在変数取得部10と、構造式取得部12と、スコア算出部14と、記憶部16と、を備える。
 潜在変数取得部10は、構造式取得部12において使用する潜在変数を取得する。この潜在変数は、多次元の潜在空間の1点を示す座標であってもよい。すなわち、以下の説明においては、潜在空間の1点を示す座標の意味として、潜在変数という用語を用いることがある。この潜在変数には、例えば、隠れベクトル、潜在ベクトルなどが含まれる。
 潜在変数取得部10は、後述するように、メタヒューリスティックアルゴリズムに基づいて、潜在変数を取得する。本開示において、潜在変数は、スカラーを含んでもよいし、又は、2次元以上のベクトルであるマトリクス、さらにはこれらをより一般化したテンソルを含む概念であってもよい。
 構造式取得部12は、潜在変数取得部10が取得した潜在変数に基づいて、化学構造式を取得する。化学構造式は、分子、結晶等の化合物の構造を、例えば、疑似的に2次元で示す。構造式取得部12は、1つの手法により構造式を推定して取得するのみならず、複数の手法により構造式を推定して取得してもよい。また、相補的な推定を行う手法により構造式の推定を実行してもよい。例えば、化合物の構造は、グラフで表すことができる。
 スコア算出部14は、構造式取得部12が取得した化学構造式に対するスコアを算出する。スコアは、例えば、化学構造式で示される化合物が有する化学的性質に基づいて決定される。スコア算出部14は、例えば、複数の性質から複数のスコアを算出し、これらの複数のスコアから1つのスカラーで示されるスコアを算出してもよい。スコア算出部14は、記憶部16に潜在変数及びスコアを紐付けて格納してもよい。
 記憶部16は、潜在変数取得部10が取得した潜在変数の情報及びスコアの情報を格納してもよい。この他、記憶部16には、推定装置1がソフトウェアの処理によりハードウェアで具体的に実現される場合には、当該ソフトウェアの処理を実行するプログラム等(OS等を含む)が格納されていてもよい。記憶部16は、推定装置1内に備えられてもよいし、推定装置1の外部に設けられてもよい。例えば、記憶部16は、インターネット等のネットワークを介したサーバ、又は、クラウド上に備えられてもよい。
 推定装置1は、この他に、データを入力する入力インタフェース、結果を外部に出力する出力インタフェースを備えていてもよい。
 次に、各構成について、処理の一例を説明する。
 構造式取得部12は、例えば、Junction Tree VAE(Variational Autoencoder)、AAE(Adversarial Autoencoder)等の手法に基づいて潜在変数から化学構造式を取得してもよい。例えば、これらの手法に基づいて生成されたモデルに、潜在変数を入力することにより化学構造式を取得する。例えば、Junction Tree VAEのモデルの場合には、56次元の潜在変数を入力して化学構造式を取得し、AAEのモデルの場合には、32次元の潜在変数を入力して化学構造式を取得する。潜在変数は、オートエンコーダで生成されたモデルの中間層、例えば、デコーダの層に入力され、当該モデルは、潜在変数が示す特徴量に基づいた化学構造式を出力する。
 スコア算出部14は、上記のスコアの1つとして、構造式取得部12が取得した化学構造式の構造的特徴を計測し、この構造的特徴から化学的性質を取得する。この化学的性質の取得は、例えば、ドッキングシミュレーションにより実行される。スコア算出部14は、例えば、この化学的性質に基づいてスコアを算出する。例えば、ドッキングシミュレーションによって得られた、ある化合物の位置及び、ポテンシャル関数の少なくとも1つに基づいてスコアを算出してもよい。化合物の位置とは、例えば、あるタンパク質に対して化合物がどのような位置に結合するかを示すものである。より具体的には、スコア算出部14が、後述するように、種々の手法に基づいてスコアを算出し、このスコアに基づいて、潜在変数取得部10が種々の最適化法を用いて潜在変数を取得する。
 スコア算出部14は、化合物の位置だけではなく、化合物の向きを考慮してもよい。化学構造式自体は、1次元または2次元の構造を有するものではあるが、実際には化合物は、3次元構造を有するものである。このため、構造式で示される化合物は、そのドッキングする位置に加え、向き、内部座標も重要な要素となる。このため、スコア算出部14は、ドッキングする向きを評価の対象としてもよい。例えば、薬剤として用いられる化合物は、タンパク質にどの程度の親和性で結合するかの情報が重要となる。このような場合に、化合物の位置とともに、化合物がどのような配座でタンパク質に結合するかを考慮したスコアを用いて評価することにより、スコアの精度を向上させることが可能となる。
 例えば、ドッキングの評価は、上述した化合物がタンパク質にどのような位置、姿勢(配座を含む)で結合するかを判定し、結合した場合の化学的なエネルギーがどの程度になるかを算出することにより実行される。このドッキングのアルゴリズムに用いる化合物は、Junction Tree VAE、及び、各種化学構造式を生成するAAE等のアルゴリズムに基づいて構造式取得部12が生成した化合物である。タンパク質に対して、各種アルゴリズムにより生成された化合物が結合した場合に、エネルギーが低いほど、実際に結合する可能性が高いと評価することができる。このため、この結合するためのエネルギーの高さ(低さ)を評価値として用いてもよい。
 すなわち、推定装置1は、一例として、タンパク質と適切に結合する、又は、結合しやすい等の条件を有する「化合物」を探索する。より詳しくは、推定装置1は、ドッキングアルゴリズムを用いて評価を実行し、潜在変数から取得された化合物とタンパク質とが結合する位置、姿勢を考慮した、当該化合物とタンパク質との結合のしやすさを示すスコアを算出する。そして、推定装置1は、このスコアに基づいて、タンパク質と適切に結合することのできる化合物を探索する。
 スコア算出部14は、構造式取得部12が取得した化合物について、当該化合物が有する、又は、有するであろう化学的性質等に基づいて化合物を評価し、スコアを算出する。このスコアは、多目的で利用されるべく出力されてもよい。すなわち、当該合成物が利用される状況等に基づいて、適切に定義された算出方法に基づいて算出されてもよい。
 図2は、本実施形態のフローチャートの一例である。
 まず、潜在変数取得部10は、後述するように、メタヒューリスティックアルゴリズムに基づいて潜在変数を取得する(S100)。潜在変数取得部10は、すでに得られているスコアに基づいて、より望ましいスコアが取得できるような潜在変数を取得する。
 次に、構造式取得部12は、取得された潜在変数から化学構造式を取得する(S102)。上述したように、構造式取得部12は、1つのモデルから構造式を取得してもよいし、複数のモデルから構造式を取得してもよい。複数のモデルから構造式を取得する場合、S100において、潜在変数取得部10は、使用するモデルに適切な入力となる潜在変数を取得する。この化学構造式の生成は、上述したように、種々のアルゴリズムを用いることができる。潜在変数取得部10は、構造式取得部12で用いられるアルゴリズムに適した潜在変数を取得する。
 次に、スコア算出部14は、取得された化学構造式に対するスコアを算出する(S104)。スコア算出部14は、上述した評価方法に基づいて、ドッキングスコアを算出する。
 次に、推定装置1は、適切に情報の出力を行う(S106)。例えば、推定装置1は、ユーザが感知できる情報である視覚情報等にデータを変換して化学構造式及びスコアを取得してもよい。例えば、推定装置1は、潜在変数及びスコアを記憶部16に出力してもよい。この他、出力インタフェースを介して適切な箇所に、上記で得られた潜在変数、化学構造式、スコアのうち適切な情報を出力してもよい。
 本実施形態は、例えば、製薬分野に応用することができる。例えば、製薬に応用する場合、スコア算出部14において人間、動物に対して毒性のあるもの等を引き構造が存在するものとしてスコアを調整してもよい。潜在変数取得部10が、このスコアに基づいて後述の最適化をすることにより、最終的に忌避構造が回避できるような潜在変数を取得する構成としてもよい。
 スコア算出に用いる化学的性質としては、上記の医薬、農薬等の活性の他、化粧品、機能性材料としての性能をスコアにすることも可能である。これらには限られず、分子の構造に関する推定が必要となるものであれば、適切に応用することが可能である。
 次に、潜在変数をどのように取得するかについて、より具体的な内容を説明する。
 潜在変数取得部10は、メタヒューリスティックアルゴリズムに基づいて、複数の潜在変数を取得する。
 構造式取得部12は、メタヒューリスティックアルゴリズムに基づいて潜在変数取得部10が取得した潜在変数に基づいて、複数の化学構造式を取得する。
 スコア算出部14は、メタヒューリスティックアルゴリズムに基づいて構造式取得部12が取得した複数の化学構造式に対するスコアを算出する。スコア算出部14は、構造式取得部12が取得した複数の化学構造式を並列に演算する。さらに、スコア算出部14は、複数の化合物のそれぞれに対して、様々なコンフォメーションに関するドッキングスコアを並列して演算する。
 すなわち、スコア算出部14は、メタヒューリスティックアルゴリズムにより生成された複数の化学構造式のそれぞれについて、複数のドッキングスコアを並列して演算する。このように、本実施形態に係る化合物の推定は、同じタイミングで複数の化合物に対して効率よく実行される。
 これらの潜在変数取得部10、構造式取得部12及びスコア算出部14における処理を、並列処理として実現してもよい。この並列処理は、例えば、GPU(Graphics Processing Unit)等を用いて実行されてもよい。並列処理は、必ずしもGPUで処理されるものではなく、CPU(Central Processing Unit)等の汎用的な処理回路を用いてもよいし、ASIC(Application Specific Integrated Circuit)等の専用回路を用いてもよいし、FPGA(Field Programable Gate Array)等のプログラマブルな処理回路を用いてもよい。
 上述のメタヒューリスティックアルゴリズムの一例として、粒子群最適化(PSO:Particle Swarm Optimization)を用いてもよい。PSO以外であっても、例えば、人工蜂コロニー(ABC:Artificial Bee Colony)法、焼きなまし(SA:Simulated Annealing)法等のメトロポリス法/モンテカルロ法、山登り(HC:Hill Climbing)法と導関数を用いないその応用手法、蟻コロニー最適化(ACO:Ant Colony Optimization)法、ハーモニーサーチ(HS:Harmony Searcy)、カッコウ探索(CS:Cuckoo Search)、渦最適化(Spiral Optimization)法、ホタルアルゴリズム(Firefly Algorithm)、遺伝アルゴリズム(GA:Genetic Algorithm)/免疫アルゴリズム(Immune Algorithm)/共分散行列適応進化戦略(CMA-ES:Covariance Matrix Adaptation Evolution Strategy)等の進化戦略(ES:Evolution Strategy)、アメーバ法(Amoeba Method/Nelder-Mead Method)、等種々のアルゴリズムを用いてもよい。複数の演算コアにより並列処理を実現することにより、これらの演算効率を向上することが可能である。
 図3は、本実施形態に係る推定装置1の実装の一部である演算装置について示す模式図である。演算装置3は、制御部30と、演算部32と、を備える。また、図示しない記憶部をそれぞれが有していてもよいし、共有して利用できるメモリ領域を有していてもよい。さらに、バス等の通信経路は、適切に備えられるものとする。
 制御部30は、演算処理の制御を実行する。この制御部30は、例えば、電子回路を備えて形成される。
 演算部32は、制御部30からの要求に基づいて、演算処理を実行する。図に示すように、演算部32は、複数の演算コア3200、3201、・・・、320n、3210、3211、・・・、32m0、32m1、・・・、32mnを有していてもよい。一例として、m × nの演算コアを有するグリッド状に並列されている構成としたが、これには限られない。
 これらの演算コアは、複数のスレッドが同期して実行される複数のグループに分けられていてもよい。同一グループに複数のグループは、アトミックな処理により、所定の複数グループ間でさらに同期するものであってもよい。さらには、全てのグループ又は演算コアが同期して演算を実行する構成であってもよい。このように、演算部32において、マルチスレッドによる処理が、適切に同期しながら実行されてもよい。
 複数の演算コアが同期して実行されることにより、同等の演算処理を複数の演算コアにより実行することができる。例えば、メタヒューリスティックアルゴリズムを実行する場合、複数の演算コアのそれぞれに異なるパラメータを付与した情報を与えることにより、異なる演算結果を出力することが可能となる。
 一部又は全部の演算コア、及び、制御部のうち少なくとも複数の構成に共有して用いられるキャッシュ等のメモリが備えられてもよい。このキャッシュ等のメモリは、所定数の演算コアごとに共有しているものであってもよい。例えば、所定の演算コアにおいてアクセスできるメモリ領域があってもよいし、制御部(ホスト側)からもアクセスできるメモリ領域があってもよい。キャッシュの読み出し時には、バンクの競合を抑制できる制御が実行されてもよい。
 これらの演算コアのそれぞれにおいて、例えば、潜在変数取得部10、構造式取得部12及びスコア算出部14が実装されてもよい。これらの構成要素は、上述したように、一部又は全部の所定の演算コア間において同期して実行されてもよい。
 演算部32に属する複数の演算コアは、制御部30により処理が実行される。図3においては、制御部30に対して1つの演算コアの集合が演算部32として備えられているがこれには限られない。例えば、複数の異なる演算コアの集合に対して、制御部30が演算処理の制御を実行することもできる。また、制御部30と演算部32は、同一のGPU等のアクセラレータ等に備えられていてもよい。別の例として、制御部30は、演算部32とは異なるホストコンピュータからアクセラレータ等の制御を行ってもよい。この場合、ホストの制御部と、アクセラレータ等のクライアントの制御部が多段的に備えられる構成であってもよい。例えば、GPUの場合では、1つの演算コアにおいて1つのスレッドが割り当てられて1つの演算を行うことが多いが、このような構成には限られず、1つの演算コアにおいても並列に演算可能である構成を有する演算部を用いてもよい。
 いずれの場合においても、アクセラレータ等は、ヘテロジニアス又はホモジニアスのマルチコアプロセッサ、メニーコアプロセッサであってもよい。
 複数の演算コアに対する処理は、SIMD(Single Instruction, Multiple Data)命令により実行されてもよいし、MIMD(Multiple Instruction, Multiple Data)命令、又は、MISD(Multiple Instruction, Single Data)命令により実行されてもよいし、これらの命令を実行する処理に適切に組み合わせて用いて実行されるものであってもよい。また、これらの演算コアは、密結合であってもよいし、疎結合であってもよいし、さらにはこれらが同時に存在する実装であってもよい。例えば、演算部32は、複数のGPUを各種通信回線で接続したグリッドコンピューティングとして実現され、複数のGPUに備えられる複数の演算コアにより形成されてもよい。
 図4は、本実施形態に係る推定装置1の処理を示すフローチャートである。
 まず、潜在変数取得部10は、潜在変数を取得する(S300)。上述したように、潜在変数取得部10は、演算コアにおいて実行されるように実装される。制御部30は、メタヒューリスティックアルゴリズムに基づいて、複数の潜在変数を並列に取得できるように、演算部32の各演算コアを制御する。
 処理における最初の演算においては、例えば、複数の乱数を潜在変数として設定してもよい。また、別の例として、すでに知見の得られている化学構造式等の情報に基づいた複数の潜在変数を設定してもよい。この情報は、例えば、記憶部16等に格納されている潜在変数とスコアとの紐付け情報や、又は、潜在変数と化学構造式のデータベース等を備え、そのデータベースのデータを照合して抽出してもよい。
 PSOを潜在変数の探索に用いる場合には、初期値として設定した潜在変数のそれぞれに対して、潜在変数に対する速度ベクトルをそれぞれに乱数で設定してもよい。そして、初期値として設定された潜在変数に対して、最初の速度による潜在変数の更新をしてもよい。例えば、PSOの場合、以下のように潜在変数及び速度ベクトルの更新が実行される。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
ここで、xは潜在変数、vは速度、wは慣性定数、c1、c2は群のうちでよい位置に向かう粒子の割合、r1、r2は[0, 1]の乱数、x^pは着目粒子のそれまでのループにおける最適なベクトル、x^gは群全体としてそれまでのループにおける最適なベクトルである。
 ループの2回目以降においては、例えば、メタヒューリスティックアルゴリズムとしてPSO法を用いる場合には、潜在変数は、前のループで取得された化学構造式(配座を含むグラフデータ)と、計算されたスコアデータとに基づいた潜在変数を、制御部30からの制御により生成する。例えば、ドッキングスコアを用いて、上記の式のx^p、x^gを抽出して、速度v及び潜在変数xを更新する。なお、例えば、PSOにおけるスコアとx^p、x^gとの関係のように必要となるデータは、適切に紐付けられて、各ステップにおいて記憶部16に格納されてもよい。
 制御部30は、上述したように、前のループまでにおいて取得されているドッキングスコアと、現時点で取得されている潜在変数(化学構造式)に基づいて、複数の潜在変数を取得するように、それぞれの演算コアにパラメータを設定する。
 また、PSO以外のメタヒューリスティックアルゴリズムにおいても同様に、制御部30は、直前のループ、又は、さらに前のループにより取得された評価値(ドッキングスコア)と潜在変数に基づいて、それぞれの演算コアにおいてそれぞれの潜在変数を算出するように制御する。このように、演算部32に備えられる複数の演算コアを用いることにより、潜在変数の探索を並列に実行する。
 次に、各演算コアにおいて、構造式取得部12は、取得した潜在変数に基づいて化学構造式を取得する(S302)。各潜在変数に対する化学構造式の取得は、当該潜在変数を取得した演算コア内において閉じた状態で実行されてもよい。このように実行することにより、複数の化学構造式(配座を含む)を並列に取得することが可能となる。
 次に、スコア算出部14は、構造式取得部12が取得した構造式の評価を実行する(S304)。この評価は、上述したように化学構造式に対する立体構造、原子の配置、配座、内部座標等の情報に基づいたドッキングスコアを算出することにより実行される。このスコアの算出は、後述するように、並列演算により処理される。
 次に、推定装置1は、記憶部16に取得されたデータを格納する(S308)。推定装置1は、後の処理に必要となるデータ、及び、最終的な最適解となる可能性のあるデータを少なくとも記憶部16に格納する。このステップにおいて、この他のデータの格納を排除するものではない。
 次に、推定装置1は、最適化が終了した、すなわち、適切であると化学構造式が推定されたか否かを判断する(S312)。この判断は、例えば、評価値が所定の数値よりも下回った、ループの繰り返し回数が所定数に到達した、又は、評価値が所定の数値よりも下回る化学構造式が所定数以上探索された、等の条件に基づいてされる。もちろん、評価値が高いほどよい場合には、下回る場合ではなく、上回る場合を終了条件とする。これらの条件は、一例としてあげたものであり、これらの条件以外の条件で処理を終了してもよい。
 処理が終了していない場合(S312:NO)、S300からの処理を繰り返す。
 処理が終了している場合(S312:YES)、推定装置1は、データを出力して処理を終了する(S314)。
 以上が推定装置1の全体的な処理の流れの説明である。以下、ドッキングスコア計算の並列処理について、モンテカルロ法及びBFGS法を用いた場合を一例として、より詳しく説明する。なお、この説明は、本開示における発明の内容を限定するものではなく、並列に複数の化合物からの処理を行うことが可能である形態であればよい。
 これらの手法は、一例として示したものであり、適切にそれぞれの化学構造式に対する局所解ではない最適なドッキングスコアを算出する手法であればよい。例えば、モンテカルロ法と準ニュートン法の一種であるBFGS法を用いる場合には、モンテカルロ法でグローバルな探索を行うとともに、モンテカルロ法で選択された状態(例えば、座標値、配座等)に対して局所的に最適な解をBFGS法で探索する。このような手法は、逐次的に行うと、時間的なコストが大きいが、局所解を求める演算を並列演算とすることにより、時間的なコストを削減する。
 なお、一例として、ドッキングスコアの勾配を用いるBFGS法を用いているが、勾配を用いない方法であってもよい。また、以下の説明においては、モンテカルロ法は逐次的に行うが、探索を並列に実行、すなわち、BFGS法の基準となる選択を複数個並列に実行してもよい。
 化合物とその立体構造をxとし、評価値を求める関数、すなわち、化合物の座標値(例えば、原子の座標値でも内部座標値でもよい)からドッキングスコアを求める関数をf(x)とすると、勾配は以下の式により算出される。f(x)は、入力をベクトルとするスカラー関数である。
Figure JPOXMLDOC01-appb-M000003
ここで、∇は、ベクトルxに対する勾配を求める微分であることを示す。
Figure JPOXMLDOC01-appb-M000004
Bkをヘッセ行列の近似行列として、探索方向pkを(4)式に基づいて算出する。ここでkは、ループのイテレーション数を示す。
Figure JPOXMLDOC01-appb-M000005
(4)式を変形すると(5)式のように書ける。すなわち、ループ内において基準となる座標値に対して、探索方向が(5)式により定義される。この式は、評価値を下げる方向に向かうベクトルを取得する。例えば、xkは、前のイテレーションで取得された最適なベクトルであってもよい。このBk -1は、(5)式によらず、直接的に求められてもよい。B又はBの逆行列は、例えば、BFGS法のB公式又はH公式に基づいて算出されてもよい。
 このpを用いて、複数の演算コアは、それぞれ座標値を取得する。例えば、制御部30においてpが算出された後、それぞれの演算コアにおいて、異なる潜在変数を取得する。
Figure JPOXMLDOC01-appb-M000006
例えば、(6)式に基づいて、それぞれの演算コアは、座標値を取得する。iは、演算コアの番号であり、例えばn個の演算コアに対して同じ探索方向に対して座標値を取得する場合には、i = 0, 1, … , nである。このiを用いて、一例として、以下のようにそれぞれの演算コアは、それぞれの座標値を取得する。
Figure JPOXMLDOC01-appb-M000007
 例えば、(7)式に示すように、αi = 2-iとしてもよい。この場合、探索方向pに対して1 / 2を乗じたものを演算コア3201において取得し、探索方向pに対して1 / 4を乗じたものを演算コア3202において取得して新たな潜在変数として算出する。このような算出の制御を、制御部30が実行する。
 なお、αiの取り方は、一例として示したものであり、αiとして2以外のべき乗、例えば、αi = (√2)-iとしてもよい。別の例として、べき乗ではなくてもよく、所定の距離に対してxkから均等に分割したもの(jを分割数(並列数)として、αi = i / j)、単純にiの逆数(αi = 1 / i)等であってもよいし、また、対数等を用いてもよいし、この他の適切に局所探索をできる手法であってもよい。
 各演算コアは、(7)式に基づいて座標値を算出した後に、それぞれの座標値から化学構造式を取得し、ドッキングスコアを算出する。これは、以下の式により表すことができる。
Figure JPOXMLDOC01-appb-M000008
すなわち、各演算コアにおいて、潜在変数取得部10、構造式取得部12、スコア算出部14が実装され、評価値が算出される。
 この実装は、例えば、機械語、中間コード(バイトコード)、又は、アスキーにより記述された実行時にオンラインコンパイルされる実行ファイルにより実装され、制御部30により各演算コアにおいて実行されるように制御されてもよい。
 上述したように、演算コアは、並列演算を行うことが可能である。このため、異なる複数の潜在変数をメタヒューリスティックアルゴリズムにより取得し、それぞれの潜在変数に対する化学構造式の複数のコンフォメーションにおける評価値(ドッキングスコア)の算出を並列して実行することが可能となる。
 例えば、上記のようにPSOと、モンテカルロ法と、BFGS法と、を用いる場合、PSOにおいて複数の潜在変数を取得して複数の化学構造式を並列に推定し、モンテカルロ法により選択した当該化学構造式の座標値に関してBFGS法を用いて複数の座標値における評価値f(x)を並列して算出して、それらをモンテカルロ法での評価値として利用する。具体的な例として、評価値f(x)を最小とする(6)式のαを求めるステップを、逐次計算ではなく並列計算とすることができる。このことにより、1つの化合物における座標値を基準とした局所的な最適値を並列に探索し、さらに、これを複数の化合物において並列に探索することにより、複数の化合物に対する評価について高速な演算処理を実行することが可能となる。
 例えば、逐次計算によれば、最大の演算時間は、全てのαに対して演算をすること、すなわち、上記の例ではn × (1演算時間)となり、平均的には、n × (1演算時間) / 2となる。一方で、上記のように並列演算を実行することにより、(1演算時間)で処理することが可能となる。
 また、n個の評価値が算出された後に、最小値となる潜在変数を探索する場合にも、複数の演算コアにより並列演算を実行することにより、統計的に高速化することが可能となる。例えば、逐次的に最小値を探索する場合には、O(n)の比較演算時間が必要となる。一方で、SIMDによる単純な並列演算であってもO(log2 n)とすることもできるし、アルゴリズムによっては、複数の演算コアを用いた並列演算を実行することにより、これ以下に最適化することも可能である。
 これらの演算時間の差は、nが大きくなるほど顕著な差となる。一般的に1つの化学構造式に対する原子の位置、配座等の座標値は、少ない数ではない。このため、nは、ある程度大きな数字になることが想定される。このような場合に、上記の並列演算を実行することにより、演算時間の短縮を実現することが可能となる。また、並列に演算を行うことにより、より広範囲、よりサンプリングレートの高い探索を実現することも可能となり、安定した最適な解を取得することができる。
 PSOにおいては、複数の化合物に対して速度、位置を更新しながら処理を実行する。本実施形態の推定装置1によれば、この複数の化合物の処理を並列演算とすることにより、1つめの並列化を実現する。PSO等のメタヒューリスティックアルゴリズムを用いることにより、化合物の構造生成に用いる潜在空間において、局所解に陥ることを回避するグローバルな探索を実現できる。例えば、PSOの粒子をm個の群とすると、化合物ごとに演算、すなわち、m並列演算を行うことにより、潜在空間におけるグローバルな探索を並列化する。例えばPSOでは、粒子の数が多くすることにより局所解に陥る可能性を減少することができる。
 PSOにおける1つの化合物に関する演算においては、上述に示した例のように、モンテカルロ法が実行されるが、モンテカルロ法における次の座標値の候補となる座標値に対しての局所的な探索をBFGS法により実行される。この例として示されたBFGS法は、n並列演算により実行される。このため、全体としては、m × nの並列演算を実現することが可能となる。
 PSOにより取得された化学構造式は、どのような立体配置・配座で標的たんぱく質に結合するかわからないため、化合物がとりうる立体配置・配座の空間をなるべく広範囲にわたって探索し、より正確なドッキングスコアを算出することが望ましい。この立体構造の空間における探索に、一例として、モンテカルロ法が用いられる。
 モンテカルロ法を採用することにより、1つの化学構造式がとりうる立体構造空間におけるグローバルな探索が実現できる。ここで、このモンテカルロ法で得られた解の候補の精度をさらに向上させるために、BFGS法が用いられる。
 モンテカルロ法により取得された座標値に対して、スコア関数計算を実行し、スコアの勾配を算出する。そして、この勾配に基づいて、BFGS法により、n並列処理を実行する。BFGS法を実行することによりモンテカルロ法による次の座標値の候補のより精度の高い評価値を取得することができる。
 並列に演算された複数のドッキングスコアから、BFGS法の結果である最適なドッキングスコアを取得する。このBFGS法により取得されたドッキングスコアに基づいて、モンテカルロシミュレーションにより、最適なドッキングスコアの演算が繰り返される。
 モンテカルロシミュレーションの終了条件を満たすと、1つの化合物に対する精度の高いドッキングスコアが取得できる。このモンテカルロシミュレーションの結果を用いて、PSOにより、当該化合物に対する位置、速度が更新される。この位置、速度の更新は、並列演算により、複数の化合物のそれぞれにおいて実行される。そして、必要であれば、PSOの演算が繰り返される。
 本実施形態では、このPSOによるm並列と、BFGS法によるn並列を併せて実行することにより、高速な演算を実現している。
 以上のように、本実施形態によれば、推定装置は、より高速に、より安定した、適切な化学構造式を推定することが可能となる。
 なお、上述したように、本実施形態においては、メタヒューリスティックアルゴリズムの一例としてPSOを用いた解法を説明したが、PSO以外のメタヒューリスティックアルゴリズムであっても、同様に多数の化学構造式の推定を並列に実現することが可能となる。
 上記では、一例としてPSOとBFGS法とを並列処理することを一例として記載したが、さらに、モンテカルロ法も並列に処理してもよい。例えば、モンテカルロシミュレーションにおける1ステップにおいて、複数の座標値に対して並列処理をして検索をしてもよい。例えば、この並列処理をl並列とすると、上記の処理は、m × l × nの並列処理を実行することとなる。例えば、山登り法を用いる場合には、検索を並列処理で実行してBFGS法により算出されたスコアを比較することにより、次の座標値をより高速に探索することが可能である。例えば、SA法を用いる場合には、検索を並列処理で実行し、温度の影響を加味して重み付けした各座標値のドッキングスコアを探索することにより、高速に演算を実行することができる。
 前述した実施形態における各装置(推定装置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)等の回路に実装されることにより、情報処理がハードウェアにより実行されてもよい。
ソフトウェアを収納する記憶媒体の種類は限定されるものではない。記憶媒体は、磁気ディスク、又は光ディスク等の着脱可能なものに限定されず、ハードディスク、又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし、コンピュータ外部に備えられてもよい。
 図5は、前述した実施形態における各装置(推定装置1又は訓練装置2)のハードウェア構成の一例を示すブロック図である。各装置は、一例として、プロセッサ71と、主記憶装置72(メモリ)と、補助記憶装置73(メモリ)と、ネットワークインタフェース74と、デバイスインタフェース75と、を備え、これらがバス76を介して接続されたコンピュータ7として実現されてもよい。
 図5のコンピュータ7は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図5では、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に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における記憶部16は、主記憶装置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:推定装置、
10:潜在変数取得部、
12:構造式取得部、
14:スコア算出部、
16:記憶部

Claims (11)

  1.  1又は複数のメモリと、
     1又は複数のプロセッサと、
     を備え、
     前記1又は複数のプロセッサは、
      メタヒューリスティックアルゴリズムにより複数の潜在変数を取得し、
      前記潜在変数に基づいて、化学構造式を生成し、
      前記化学構造式に対するスコアを算出する、
     推定装置。
  2.  前記1又は複数のプロセッサは、
      前記潜在変数の取得の処理を並列に実行する、
     請求項1に記載の推定装置。
  3.  前記1又は複数のプロセッサは、
      取得した前記潜在変数に対する演算を並列に実行する、
     請求項2に記載の推定装置。
  4.  前記1又は複数のプロセッサは、
      前記潜在変数に基づいて生成された前記化学構造式に対する前記スコアの算出処理を並列に実行する、
     請求項2又は請求項3に記載の推定装置。
  5.  前記1又は複数のプロセッサは、
      前記メタヒューリスティックアルゴリズムとして、粒子群最適化法を用いる、
     請求項2から請求項4のいずれかに記載の推定装置。
  6.  前記1又は複数のプロセッサは、
      前記スコアの算出処理として、BFGS法を用いる、
     請求項2から請求項5のいずれかに記載の推定装置。
  7.  前記1又は複数のプロセッサは、前記スコアに基づいて複数の潜在変数を取得する、
     請求項1から請求項6のいずれかに記載の推定装置。
  8.  1又は複数のプロセッサにより、
      メタヒューリスティックアルゴリズムを用いて複数の潜在変数を取得し、
      前記潜在変数に基づいて、化学構造式を生成し、
      前記化学構造式に対するスコアを算出する、
     推定方法。
  9.  前記スコアに基づいて、複数の潜在変数を取得する、
     請求項8に記載の推定方法。
  10.  請求項8又は請求項9に記載の方法を用いて生成された、化学構造式。
  11.  1又は複数のプロセッサに実行させると、
      メタヒューリスティックアルゴリズムを用いて複数の潜在変数を取得し、
      前記潜在変数に基づいて、化学構造式を生成し、
      前記化学構造式に対するスコアを算出する、
     プログラム。
PCT/JP2021/021850 2020-06-09 2021-06-09 推定装置、推定方法、化学構造式及びプログラム WO2021251413A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022530594A JPWO2021251413A1 (ja) 2020-06-09 2021-06-09
US18/076,636 US20230112275A1 (en) 2020-06-09 2022-12-07 Inferring device, inferring method, structural formula, and non-transitory computer readable medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-100403 2020-06-09
JP2020100403 2020-06-09

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/076,636 Continuation US20230112275A1 (en) 2020-06-09 2022-12-07 Inferring device, inferring method, structural formula, and non-transitory computer readable medium

Publications (1)

Publication Number Publication Date
WO2021251413A1 true WO2021251413A1 (ja) 2021-12-16

Family

ID=78845690

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/021850 WO2021251413A1 (ja) 2020-06-09 2021-06-09 推定装置、推定方法、化学構造式及びプログラム

Country Status (3)

Country Link
US (1) US20230112275A1 (ja)
JP (1) JPWO2021251413A1 (ja)
WO (1) WO2021251413A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024040194A1 (en) 2022-08-17 2024-02-22 Capstan Therapeutics, Inc. Conditioning for in vivo immune cell engineering

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001058962A (ja) * 1999-08-20 2001-03-06 Mitsubishi Chemicals Corp 分子構造開発支援システム及び分子構造開発支援方法、並びに、分子構造抽出装置,分子構造抽出方法及び分子構造抽出プログラムを格納したコンピュータ読取可能な記録媒体
JP2007508643A (ja) * 2003-10-14 2007-04-05 バーセオン 分子の配置および組合せを分析する方法および装置
WO2014034577A1 (ja) * 2012-08-27 2014-03-06 株式会社京都コンステラ・テクノロジーズ 化合物設計装置、化合物設計方法、及びコンピュータプログラム
JP2018010428A (ja) * 2016-07-12 2018-01-18 株式会社日立製作所 材料創成装置、および材料創成方法
US20190303526A1 (en) * 2018-03-29 2019-10-03 International Business Machines Corporation Global routing optimization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001058962A (ja) * 1999-08-20 2001-03-06 Mitsubishi Chemicals Corp 分子構造開発支援システム及び分子構造開発支援方法、並びに、分子構造抽出装置,分子構造抽出方法及び分子構造抽出プログラムを格納したコンピュータ読取可能な記録媒体
JP2007508643A (ja) * 2003-10-14 2007-04-05 バーセオン 分子の配置および組合せを分析する方法および装置
WO2014034577A1 (ja) * 2012-08-27 2014-03-06 株式会社京都コンステラ・テクノロジーズ 化合物設計装置、化合物設計方法、及びコンピュータプログラム
JP2018010428A (ja) * 2016-07-12 2018-01-18 株式会社日立製作所 材料創成装置、および材料創成方法
US20190303526A1 (en) * 2018-03-29 2019-10-03 International Business Machines Corporation Global routing optimization

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Chapter 19 Quantitative structure-activity relationship method", THE PRACTICE OF MEDICINAL CHEMISTRY, vol. 1, 15 August 1998 (1998-08-15), pages 417 - 447, ISBN: 4-924746-59-2 *
CHUMAN, HIROSHI: "Structure-Activity Relationships and Drug Design", JOURNAL OF THE JAPAN SOCIETY FOR COMPUTATIONAL ENGINEERING AND SCIENCE, vol. 4, no. 4, 30 November 1999 (1999-11-30), pages 207 - 209, ISSN: 1341-7622 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024040194A1 (en) 2022-08-17 2024-02-22 Capstan Therapeutics, Inc. Conditioning for in vivo immune cell engineering
WO2024040195A1 (en) 2022-08-17 2024-02-22 Capstan Therapeutics, Inc. Conditioning for in vivo immune cell engineering

Also Published As

Publication number Publication date
US20230112275A1 (en) 2023-04-13
JPWO2021251413A1 (ja) 2021-12-16

Similar Documents

Publication Publication Date Title
WO2021190127A1 (zh) 一种数据处理方法和数据处理设备
WO2022022274A1 (zh) 一种模型训练方法及装置
WO2019173401A1 (en) Systems and methods for spatial graph convolutions with applications to drug discovery and molecular simulation
WO2022068623A1 (zh) 一种模型训练方法及相关设备
CN111417964A (zh) 使用异策略行动者-评价者强化学习进行分布式训练
Krömer et al. Nature-inspired meta-heuristics on modern GPUs: state of the art and brief survey of selected algorithms
CN110383299A (zh) 记忆增强的生成时间模型
JP2023515736A (ja) 逆グラフィックス生成のためのニューラル・レンダリング
JP7105825B2 (ja) ビジュアルナビゲーションのための訓練システム、方法およびナビゲーションロボット
US20200082227A1 (en) Imagination-based agent neural networks
CN110192205A (zh) 镜像损失神经网络
CN114398834A (zh) 粒子群优化算法模型的训练方法、粒子群优化方法及装置
WO2021251413A1 (ja) 推定装置、推定方法、化学構造式及びプログラム
Wang et al. Adaptive chimp optimization algorithm with chaotic map for global numerical optimization problems
Gankidi FPGA accelerator architecture for Q-learning and its applications in space exploration rovers
CN113407820B (zh) 利用模型进行数据处理的方法及相关系统、存储介质
US20210406646A1 (en) Method, accelerator, and electronic device with tensor processing
Kosicki et al. HYDRA distributed multi-objective optimization for designers
US20230237342A1 (en) Adaptive lookahead for planning and learning
Nardelli et al. Comparing tensorflow deep learning performance and experiences using cpus via local pcs and cloud solutions
CN114707070A (zh) 一种用户行为预测方法及其相关设备
Krömer et al. A brief survey of advances in particle swarm optimization on graphic processing units
EP3926543A1 (en) Method, accelerator, and electronic device with tensor processing
EP4348507A1 (en) Scaling deep graph learning in distributed setting
WO2021251414A1 (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: 21821457

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022530594

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: 21821457

Country of ref document: EP

Kind code of ref document: A1