Subset Conditioning Using Variational Autoencoders with Learnable Tensor Sequence Induced Priors

The VAE-TTLP model uses tensor column decomposition to process unknown properties, solves the problem of unknown properties when generating objects, improves generation efficiency and accuracy, and is suitable for complex data processing and drug discovery fields.

CN113039559BActive Publication Date: 2025-01-03INSILICO MEDICINE IP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN201980074420.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-09-18
Filing Date
2019-06-19
Publication Date
2025-01-03
Estimated Expiration
2039-06-19

AI Technical Summary

Technical Problem

The prior art is difficult to effectively solve the problem that when generating objects in the fields of chemistry, text, images, etc., the properties of the objects are partially unknown or unused, especially in drug discovery and complex data processing. The lack of data leads to low model training and generation efficiency.

Method used

Using the Variable Autoencoder-based Tensor Column Decomposition (VAE-TTLP) model, unknown properties can be processed by learning prior parameterization, allowing partially specifying conditional values, and using tensor column format to represent the latent variable and properties. Complex dependencies, implement sampling of latent code and generation of refactored objects.

Benefits of technology

The conditional matching and visual quality when generating objects are improved, and objects that meet the desired properties can be generated under the lack of data, which reduces conditional violations and improves the generation efficiency and accuracy of the model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113039559B_ABST
    Figure CN113039559B_ABST
Patent Text Reader

Abstract

The proposed model is a variational autoencoder VAE-TTLP with a learnable prior parameterized by tensor sequences. The VAE-TTLP can be used to generate new objects with specific properties and new objects (e.g., molecules) with specific biological activities (when molecules). The VAE-TTLP can be trained with tensor sequences in a way that one or more properties of the object can be ignored for the data provided and still produce an object with the desired properties.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. Patent Application No. 16 / 134,624, filed on September 18, 2018, entitled “SUBSET CONDITIONING USING VARIATIONAL AUTOENCODERWITH A LEARNABLE TENSOR TRAIN INDUCED PRIOR,” which is incorporated herein by reference in its entirety. Background Art

[0003] Deep neural networks (DNNs) are a recently created computer system architecture for complex data processing and artificial intelligence (AI). DNNs are machine learning models that employ more than one hidden layer of nonlinear computational units to predict outputs from a set of received inputs. DNNs are available in a variety of configurations for a variety of purposes, and they continue to be developed to improve performance and predictive capabilities.

[0004] It would be advantageous to have a computer method for generating objects satisfying conditions using one or more DNNs, some of which may be known and some of which may not be known. Summary of the invention

[0005] In some embodiments, a method for training a model to generate an object is provided. The method may include the following steps: providing a model, the model being configured as a variational autoencoder having a tensor train; providing a data set, the data set having object data of an object and property data of a property of the object; processing the object data of the data set with the object encoder of the model to obtain latent object data, wherein the latent object data comprises a latent variable distribution having a mean and a variance; sampling one or more latent variables from the obtained latent variable distribution; processing the sampled one or more latent variables having defined object properties to calculate the probability of the sample having the defined object properties; processing the sampled one or more latent variables through an object decoder to obtain a reconstruction object; determining a reconstruction loss of the reconstructed object compared to the original object based on the object data; calculating the Kullback-Leibler divergence based on the probability of the sample having the defined object property; calculating the loss compared to the data set using the determined reconstruction loss and the calculated Kullback-Leibler divergence; performing gradient descent until the reconstructed object sufficiently represents the original object and has the defined object property; obtaining a trained model, the trained model being configured as a trained variational autoencoder having a learnable prior parameterized by the tensor sequence; and providing the trained model.

[0006] In some embodiments, the method may further include further training the trained model with reinforcement learning, wherein the reinforcement learning produces the reconstructed object with defined characteristics. In some aspects, the training of the trained model with the reinforcement learning includes: discarding the object encoder; fixing the weights of all layers of the object decoder except the first layer of the object decoder; performing the following steps until convergence: estimating the mean and variance of each dimension of a previously obtained latent variable distribution, the previously obtained latent variable distribution being defined as a learnable prior; obtaining an exploratory latent variable for each dimension in addition to the latent variables produced by the encoder; passing the exploratory latent variables through the decoder to obtain a reconstructed object based on the exploratory latent variables; calculating the reward of the reconstructed object based on at least one defined reward; and applying a single gradient ascent step to maximize the total reward relative to the parameters of the learned prior and the first layer of the decoder.

[0007] In some embodiments, a method for generating an object having desired properties may include: obtaining the trained model according to one of the embodiments; identifying the desired object properties; obtaining a latent code from a tensor sequence distribution conditioned on the desired object properties; generating the object having the desired object properties with the decoder; and providing the generated object having the desired object properties.

[0008] In some embodiments, the method may include: obtaining a learnable prior based on the latent code and the desired property, and / or entangle the latent code with the object property to obtain the learnable prior; obtaining a set of properties; marginalizing the learnable prior on the set of properties that are not in the set of desired properties; conditioning the marginalized learnable prior on the properties in the set of desired properties to obtain a distribution on the latent space; sampling from the distribution on the latent space; and processing the sampled latent vector with a decoder to obtain a generated object with a predetermined property. The conditioning may include changing the distribution on the latent variable to provide an object with the desired property. The change in the distribution may be accomplished by the following formula: p(z|property)=p(z, property) / p(property).

[0009] In some embodiments, a computer program product may include a non-transitory tangible memory device having computer executable instructions, which when executed by a processor will result in the performance of a method, the method comprising: providing a model, the model being configured as a variational autoencoder having a tensor train, providing a data set, the data set having object data of an object and property data of a property; processing the object data of the data set with the object encoder of the model to obtain latent object data, wherein the latent object data comprises a latent variable distribution having a mean and a variance; sampling one or more latent variables from the obtained latent variable distribution; processing the sampled one or more latent variables having defined object properties to calculate a latent variable having the defined object properties; The invention relates to a method for preparing a sample of a plurality of latent variables for a given object and a plurality of latent variables for a given object. The method comprises the steps of: determining a probability of the sample having the defined object property; processing the sampled one or more latent variables through an object decoder to obtain a reconstructed object; determining a reconstruction loss of the reconstructed object compared to the original object based on the object data; calculating the Kulbeck-Leibler divergence based on the probability of the sample having the defined object property; calculating the loss compared to the data set using the determined reconstruction loss and the calculated Kulbeck-Leibler divergence; performing gradient descent until the reconstructed object sufficiently represents the original object and has the defined object property; obtaining a trained model, the trained model being configured as a trained variational autoencoder having a learnable prior parameterized by a tensor train; and providing the trained model.

[0010] In some embodiments, the method performed by the computer program product further includes further training the trained model with reinforcement learning, wherein the reinforcement learning produces the reconstructed object with defined characteristics, wherein the training of the trained model with the reinforcement learning includes: discarding the object encoder; fixing the weights of all layers of the object decoder except the first layer of the object decoder; performing the following steps until convergence: estimating the mean and variance of each dimension of the previously obtained latent samples from a learnable prior; obtaining an exploratory latent variable for each dimension outside the distribution specified by the mean and variance obtained in the previous step; passing the exploratory latent variable through the object decoder to obtain a reconstructed object based on the exploratory latent variable; calculating the reward of the reconstructed object based on at least one defined return; and applying a single gradient ascent step to maximize the total reward relative to the parameters of the learned prior and the first layer of the decoder.

[0011] The foregoing summary is illustrative only and is not intended to be limiting in any way. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the drawings and the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The foregoing and following information and other features of the present disclosure will become more fully apparent from the following description and the appended claims in conjunction with the accompanying drawings. After understanding that these drawings depict only several embodiments according to the present disclosure and therefore should not be considered as limiting the scope thereof, the present disclosure will be described with additional specificity and detail through the use of the accompanying drawings.

[0013] Figure 1 Illustration of the architecture that comprises the VAE-TTLP model.

[0014] Figure 2 Contains plots for computing the probability of a set of latent variables underlying the distribution modeled by a tensor sequence.

[0015] Figure 3A Contains a flowchart of the protocol for using the VAE-TTLP model.

[0016] Figure 3B Contains a flowchart describing the steps for calculating the probability of a sample given a property of an object.

[0017] Figure 3C Contains a flow chart describing the detailed steps for calculating the probability of object properties.

[0018] Figure 4A Contains a flowchart describing the use of the VAE-TTLP model to generate objects with desired properties.

[0019] Figure 4B Contains a flowchart describing the validation and testing of generated objects from the VAE-TTLP model.

[0020] Figure 5 Contains illustrations of continuous and discrete latent variable distributions modeled via tensor train decomposition methods.

[0021] Figure 6 Contains a flowchart describing the details of using the VAE-TTLP model to generate objects with desired properties.

[0022] Figure 7 One embodiment of a computing device is shown.

[0023] Figure 8 A sample of a VAE-TTLP model trained on the MNIST database is shown, showing the learned latent space.

[0024] Fig. 9 A sample of numbers obtained by processing the VAE-TTLP model is shown.

[0025] Fig.10 Generated images are shown, indicating that the VAE-TTLP model learns to produce highly diverse images with a variety of different attributes.

[0026] Fig.11 A novel DDR1 kinase inhibitor is shown embedded in a graph showing activity versus concentration.

[0027] The elements of the drawings are arranged according to at least one of the embodiments described herein, and the arrangement may be modified by one of ordinary skill in the art based on the disclosure provided herein. DETAILED DESCRIPTION

[0028] In the following detailed description, reference is made to the accompanying drawings which form a part thereof. In the accompanying drawings, similar reference numerals generally identify similar components unless the context otherwise indicates. The illustrative embodiments described in the detailed description, drawings, and claims are not intended to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented herein. It will be readily understood that the various aspects of the present disclosure as generally described herein and shown in the accompanying drawings may be arranged, substituted, combined, separated, and designed in a variety of different configurations, all of which are expressly contemplated herein.

[0029] An autoencoder (AE) is a deep neural network (DNN) used for efficient information encoding in unsupervised learning. The purpose of an AE is to learn representations (e.g., encodings) of objects. An AE contains an encoder part, which is a DNN that converts input information from an input layer into a latent representation (e.g., a latent code); and a decoder part, which uses the latent representation and decodes the original object with an output layer having the same dimensionality as the encoder's input. Typically, the purpose of an AE is to learn to represent or encode a data set. The AE learns to compress the data from the input layer into a short code, and then decompress the code into content that closely matches the original data. In one example, the original data can be a molecule that interacts with a target protein, and from this, the AE can design a molecule that is not part of the original set of molecules, or select a variant or derivative thereof that interacts with a molecule or target protein (e.g., binds to a binding site) from the original set of molecules.

[0030] Generative adversarial networks (GANs) are structured probabilistic models that can be used to generate data. GANs can be used to generate data (e.g., molecules) that are similar to the dataset (e.g., a library of molecules) on which the GAN is trained. GANs can contain two separate modules, which are DNN architectures, referred to as: (1) a discriminator and (2) a generator. The discriminator estimates the probability that a generated product is from a real dataset by working to compare the generated product with the original instance, and is optimized to distinguish the generated product from the original instance. The generator outputs a generated product based on the original instance. The generator is trained to generate products that are as realistic as possible compared to the original instance. The generator attempts to improve its output in the form of a generated product until the discriminator cannot distinguish the generated product from the real original instance. In one example, the original instance can be a molecule of a library of molecules that bind to a protein, and the generated product is a molecule that can also bind to the protein, whether the generated product is a variant of a molecule in the library or a combination of its molecules or their derivatives.

[0031] Adversarial Autoencoder (AAE) is a probabilistic AE that uses GAN for variational inference. AAE is a DNN-based architecture in which the latent representation is forced to follow a prior distribution via a discriminator.

[0032] Conditional architectures can be considered supervised architectures because the processing is supervised by the conditions. Thus, conditional architectures can be configured to generate objects that match specific conditions (e.g., properties of a molecule). In some applications, conditional models can take into account conditional values ​​even if the conditional values ​​are only partially known. During the generation process, a conditional architecture may have only a few specified conditions, and thus, the remaining conditions may take arbitrary values, at least initially.

[0033] The subset conditioning problem is defined as the problem of learning a generative model with partially observed conditions during training and / or generation (active use). The architecture described herein that can be used for the subset conditioning problem is a generative model based on a variational autoencoder extended for conditional generation and contains a tensor train decomposition parameterized by its learnable priors, which can be referred to as VAE-TTLP. By allowing partially specified conditional values, VAE-TTLP can be used to solve the subset conditioning problem. VAE-TTLP can be used as a discriminative model to predict any missing and / or unobserved values ​​and can be trained for any encoder / decoder architecture.

[0034] In general, the present technology relates to conditional generative models that are configured to generate realistic objects (e.g., chemicals, phrases, pictures, audio, etc.) in many domains including chemistry, text, images, video, and audio. However, some applications in, for example, the field of chemistry (e.g., biomedical applications where missing data (e.g., properties of molecules) is a common problem) require models that are trained to be conditioned on multiple properties, some of which are unknown during the training or generation procedure. Therefore, VAE-TTLP is a model that extends a variational autoencoder (VAE) by adding a learnable prior (LP), which has been parameterized with a tensor train (TT). The architecture VAE-TTLP described herein can also be used to turn any pre-trained autoencoder into a conditional generative model.

[0035] VAE-TTLP can be configured to generate objects with a specific set of properties, where the objects can be images, videos, audio, molecules, or other complex objects. The properties of the objects themselves may be complex, and some properties may be unknown. In some applications of conditional models, the property values ​​are only partially known and can now be used with VAE-TTLP. VAE-TTLP can be thought of as a model that goes through two stages, namely (1) training the model with objects with and without object-specific properties, and then using the trained model to (2) generate objects that are distinguishable from the objects used to train the model and that also satisfy the properties (whether known or unknown). Moreover, during the generative process using the model, the operator of the model can specify only a few properties, allowing the remaining properties to take arbitrary values. For example, VAE-TTLP is particularly useful for reconstructing missing or degraded portions of an object (e.g., missing portions of an image, text, or audio). In this case, the model can be trained to generate a complete object (e.g., an image) conditioned on observed elements. During the training procedure, the model is given access to the complete image, but for generation, the operator can specify only the observed pixels as conditions (e.g., properties). A similar problem arises in drug discovery, where the operator uses the model to generate new molecular structures with predetermined properties (e.g., activity against a specific target or a specific solubility). In most cases, the intersection between the measured parameters in different studies is usually small, so the combined data from these studies will have many missing values. During generation, the operator may only want to specify the activity of the molecule as a property, so the final solubility of the generated molecule can initially take an arbitrary value. Here, the process will have missing values ​​in terms of properties during training as well as in the generation procedure.

[0036] The problem of learning with a generative model with partially observed properties during training and / or generation (e.g., some properties are unknown or unused during training and / or conditioning) is called a subset conditioning problem. The main contributions of VAE-TTLP to such subset conditioning problems are summarized as follows. VAE-TTLP is a generative model based on an autoencoder with a tensor train decomposition parameterized by its learnable priors. VAE-TTLP is applied to subset conditioning problems (e.g., with unknown properties), and thus, a model is trained with a partially labeled dataset, and then the model is used to generate objects from several specified properties. Using a known object (e.g., an image or a molecule), the object is conditioned on a subset of attributes (e.g., features in an image or properties of a molecule) to estimate the VAE-TTLP. Compared with previous conditional models, the VAE-TTLP provided herein can provide suitable generated objects with lower condition violations.

[0037] Based on the above, the VAE framework is described for conditional generation. VAE is a generative model similar to an autoencoder. The encoder parameterized by Φ uses the distribution q φ (z|x) maps the data point x∈χ into the latent space Z. Then, the decoder p is used θ (x|z) will come from q φ The model assumes that there is a prior distribution on the latent code p(z) (which can be a complex learnable prior or a standard form of distribution, such as the standard normal distribution N(0, I)). The model is trained by maximizing the lower bound of evidence:

[0038]

[0039] where z i ~q φ (z|x), and The term is the Kullbeck–Leibler divergence, which can be computed analytically or estimated using Monte Carlo sampling:

[0040]

[0041] In order to get An unbiased estimate of the gradient of is usually obtained by reparametrization with a deterministic function g θ replace

[0042] z i ~q φ (z|x), where z i ~g θ (x,∈ l ),∈ l ~N(0,I).

[0043] The standard VAE with a normal prior p(z)=N(z|0,I) can be solved by replacing it with a more complex distribution p ψ (z) (called learnable prior) to improve. More flexible learnable priors produce tighter evidence bounds and solve the problem of decoder ignoring latent codes. In the model proposed in this paper, tensor sequence decomposition is used to decompose the complex prior distribution p ψ (z) is parameterized and entangled with the object properties to produce p ψ (z, y). For the task of conditional generation, the model is trained to sample from p(x|y), where y is a given value of the condition. The VAE can be modified for this setting by conditioning the encoder, decoder, and prior on y, which yields the following ELBO:

[0044]

[0045] The tensor train (TT) decomposition allows large, high-dimensional tensors to be represented with a relatively small number of parameters. This decomposition is useful for storing high-dimensional discrete distributions. For example, n discrete random variables r k The joint distribution p(r1,r2,…r n ) adopts from {0,1,…N k}. This distribution can be represented as an n-dimensional tensor P[r1,r2,…r n ]=p(r1,r2,…r n ). The number of elements in this tensor grows exponentially with the dimension n. For 50 binary variables, the tensor can contain 2 50 ≈10 15 Floating point number. To reduce the number of parameters, the TT format uses a low-rank matrix called the kernel To approximate the tensor P:

[0046]

[0047] in is a column vector of all ones. For a random variable r k For each value of k [r k ], and then multiply them together to get all the random variables. In this format, the number of parameters grows linearly with the number of dimensions. k With the increase of , more complex distributions can be represented in TT format.

[0048] The TT decomposition of discrete distributions allows the model to compute marginal and conditional distributions, and to sample from them without having to compute the entire tensor P[r1,r2,…r n ]. For example, to marginalize the random variable r k , the scheme can be used for Q k [r k ] and sum all the values ​​of

[0049]

[0050] Similarly, to obtain the marginal distribution on a single variable, the scheme can calculate:

[0051]

[0052] Note that these marginals can be computed in polynomial time without computing the full distribution. Having the marginals allows the model to also compute the conditional as well as the normalizing constant. Finally, sampling can be done efficiently using the chain rule.

[0053] Tensor rings are a higher-level model that extends the TT format. Intuitively, all tensor dimensions should be treated similarly, since there is no explicit meaning covered under their ordering. In the TT format, the first and last kernels Q1 and Q n Multiply by a vector of all ones. In the tensor ring model, the first and last dimensions are linked together in a similar way to adjacent intermediate kernels. The tensor ring model multiplies the kernels and then calculates the trace of the resulting matrix, giving:

[0054] P[r1,r2,…,r n ]=Tr(Q1[r1]·Q2[r2]…Q n [r n ]).

[0055] This model is called a tensor ring because the decomposition is invariant to cyclic shifts of its dimensions (because the trace is cyclic invariant). This method can approximate more complex distributions with smaller kernel sizes. Moreover, from the perspective of the computational graph, the information paths in the ring tensor format become shorter, which can help learn the parameters Q faster. k [r k ].

[0056] To address the subset conditioning problem, VAE-TTLP can be used to estimate the joint distribution p(z,y) of the latent code z and the conditional y in tensor column format. Having this distribution allows the model to compute the likelihood of partially labeled data points by marginalizing over unobserved values. During generation, given the observed conditions (e.g., properties), the model can sample from the conditional distribution over the latent code. Now, the tensor column format can be used for discrete distributions.

[0057] The model can assume that the latent code z = [z1, ... z d ] is continuous, and the condition (e.g., property) y = [y1, ...y n ] is discrete. The goal is to establish a joint distribution p ψ The tensor sequence representation of (z, y) can model the complex dependencies between z and y and the dependencies between the components of z and the components of y. To establish TT for continuous variables, the scheme can be used to model the complex dependencies between z and y. k Introducing categorical random variables s k ∈{1,...,N k}. The joint distribution becomes:

[0058]

[0059] For the conditional distribution p ψ (z|y,s), choose a fully factorized Gaussian that does not depend on y:

[0060]

[0061] Although the distribution p ψ (z|y,s) does not model the dependency between z and y, but the overall model still captures p ψ Dependencies in (s, y) terms. Distribution p ψ (s, y) is an overdiscrete variable and can be viewed as a tensor p ψ (s, y) = W[s l ,…,s d , y1,…,y n ]. The tensor W is stored in either tensor column or tensor ring format. The resulting distribution used as a prior model becomes:

[0062]

[0063] VAE-TTLP can be used with a learnable prior p parameterized by a tensor train or tensor ring model. ψ (z, y) is limited. For example, (x, yo b ), where x is the object and yo b is the observed value of the condition (e.g., property). The Evidence Lower Bound Object (ELBO) for VAE with learnable priors is shown in Equation 3. For the VAE-TTLP model, it becomes:

[0064]

[0065] To apply the model to the subset conditioning problem, the proposed approach makes two assumptions. First, the proposed approach assumes that all information about the value of y is contained in the object x itself. This is a reasonable assumption—for example, if we want to generate a handwritten digit (x), then the information about its label (y) is already contained in x. Under this assumption, q φ (z|x,y ob )=q φ (z|x). The model also assumes that p θ (z|x,y ob )=p θ (x|z). Thus, the object is completely qualified by its latent code. This yields the final ELBO:

[0066]

[0067] where z i ~q φ (z|x). Since the joint distribution p ψ (z, y) is parameterized in TT format, so the model can be calculated analytically given the observed conditional p ψ (z|y ob)’s posterior distribution over the latent code. The model can also be constructed by sampling p ψ (y un |z) to fill in the missing conditions.

[0068] The trained VAE-TTLP model can be used to obtain the ob ) generates conditional samples. The scheme can be achieved by first sampling the latent code x~p ψ (z|y ob ), which is then fed to the decoder x~p θ (x|z) to sample from this distribution. Sampling z can be done efficiently using the chain rule: p(z|y ob )=p(z1|y ob )p(z2|y ob ,z1)...p(z d |y ob ,z1,…,z d-1 ). k The conditional distribution on is the one with constant center and variance But the weights are different from a Gaussian mixture of w:

[0069]

[0070] Since W is represented in tensor array or tensor ring format, the weights of the components can be efficiently calculated. The overall architecture is Figure 1 The diagram is shown in FIG. Figure 1 A diagram of a VAE-TTLP model 100 is shown. An autoencoder is trained to map an object x to a latent code z. The joint distribution of conditions (e.g., properties) y and latent code z is trained in a tensor column format. The present model can be used to generate samples from a subset of all possible conditions. For example, the scheme can condition samples on properties y1 and y3 without specifying y2. That is, y2 is unknown or unused. As shown, an image 102 is provided to an encoder 104, in which the data of the image 102 is processed according to conditions y1 and y3, but the condition y2 is unknown. The image 102 can be a series of images 102, which are used to train the model 100 as described herein. The latent space 106 generates latent codes z1, z2, z3, z4, and z5, etc. based on conditions y1 and y3. The latent code is then processed by a decoder 108, which then reconstructs the image 102 to provide a reconstructed image 110.

[0071] As shown, y2 is unknown, but the scheme still works due to the decomposition of the tensor train. Objects can be associated with properties, such as properties of features visible in the object. When the object is an image of a person, hair length, hair color, gender (wearing or not wearing glasses) can all be properties. In molecules, different functional groups and three-dimensional orientations of the structure can be properties, and physicochemical properties (e.g., biological activity, melting point, solubility, etc.) can also be properties. Therefore, for a molecule, some properties may be unknown. However, the tensor train can be run so that the VAE-TTLP model can still produce molecules with desired properties, regardless of whether the desired properties have known values ​​(e.g., in the case of generating molecules with desired solubility, whether the solubility is known). The generated object can contain the defined features (regardless of the presence or absence of the features in the dataset).

[0072] The encoder generates a distribution over latent codes, and then we get a sample z from the latent distribution, which is a multi-component vector. The vector is processed by the decoder to reconstruct the object. Figure 1 A vector with 5 components z1-z5 is shown. However, any number of components may be used. The model may be trained so that the object x processed in the encoder 104 is identical to the reconstructed object from the decoder 108 The distribution of latent codes z can be shaped so that the latent code z contains some information about y or the property. The model can parameterize the joint distribution of z and y in a tensor column format to allow sample latent codes to be given by information about the property. This is why y2 may be unknown or undefined, as shown in the figure. Latent codes are then sampled from the distribution of latent codes and passed through the decoder 108 to generate the reconstructed image

[0073] In some embodiments, the latent code from the already trained autoencoder is enhanced to obtain objects with desired conditions. The use of tensor trains and the calculation of the probability of samples under a given object and the KL divergence improves the generation of appropriate objects with desired conditions.

[0074] The following information provides the technical details of training the VAE-TTLP model. First, the mixture weights w[s1,…,s d ,y1,…,y n ] should be non-negative and sum to one. To ensure non-negativity, the scheme converts the core tensor Q k The negative components of are replaced by their absolute values. The described scheme also stores the unnormalized tensor, which computes the normalization constant on the fly in polynomial time.

[0075] A well-known problem with Gaussian mixture models is the collapse of the mixture components. During training, it can be observed that the weights of many components quickly drop to zero, resulting in a decrease in the expressiveness of the prior distribution. It is hypothesized that this may occur due to a poor optimization procedure. To prevent component collapse, the proposed scheme uses a two-step procedure to reinitialize the mixture parameters multiple times during the training process. and First, the scheme starts from the distribution z~q φ (z|x) samples the latent code, and for each latent space dimension k, the scheme estimates the Gaussian mixture using the expectation-maximization algorithm The average value of the parameters and variance For the second step, the proposed scheme fixes the prior p ψ The mean and variance of (z, y) are optimized and expressed as W[s1,…,s d ,y1,…,y n ]. Therefore, the obtained prior distribution (e.g., learnable prior) uses the mixture components more efficiently, thereby improving the performance of the overall model.

[0076] Modern deep generative models are usually divided into two main categories. The first category is related to Generative Adversarial Networks (GANs), and the second corresponds to models similar to Variational Autoencoders (VAEs). Generative Adversarial Networks are models composed of two networks, a generator and a discriminator. The generator produces a set of novel objects, while the discriminator tries to distinguish them from real objects. Variational and Adversarial Autoencoders build autoencoder models with regularizers that reshape the latent space. GANs produce state-of-the-art samples in a specific domain, but autoencoder-based methods allow training with discrete data and prevent the mode collapse problem.

[0077] In some embodiments, the VAE-TTLP model may combine an autoencoder with a learnable prior that is parameterized via a tensor train or ring tensor (also known as a tensor ring) decomposition. Tensor train (TT) decomposition is used to represent large, high-dimensional tensors with a limited number of parameters. Therefore, the TT decomposition is particularly useful for storing high-dimensional discrete distributions. In order for TT to be able to handle continuous random variables, the distribution over each continuous variable is modeled by a Gaussian mixture. The TT decomposition will then store a discrete distribution of discrete latent variables and a discrete number of components that model the continuous variables. The concept is described in Figure 5As shown above. As shown in the figure, the discrete distribution in TT format is: (1) the number of components in the Gaussian mixture shown as "s"; and the discrete latent variable shown as "d". Then, the number of components in the Gaussian mixture is the discrete latent variable shown as "c". Therefore, when the condition is unknown, the number of components in the Gaussian mixture can be used to determine the discrete latent variable "c". TT decomposition is widely used in machine learning to efficiently represent tensors with a small number of parameters. TT decomposition is sometimes also used to compress fully connected convolutional or recurrent layers of neural networks. In the VAE-TTLP model, the TT decomposition of discrete distributions is used to allow the calculation of marginal and conditional distributions.

[0078] Unlike other models with learnable priors, the VAE-TTLP model learns not only dependencies between latent variables, but also: (a) cross-dependencies between object properties and the latent space; and allows (b) arithmetically efficient marginalization (e.g., integration over a set of variables) and conditioning (e.g., modifying the learnable prior to have higher density on objects with properties on which the model is conditioned). Properties (a) and (b) both allow latent variables to be sampled to produce objects with predetermined properties.

[0079] In some embodiments, the architecture of the VAE-TTLP model uses an 8-layer neural network convolutional neural network with 6 convolutional layers and 2 fully connected layers for the encoder, and a symmetric architecture with deconvolution for the decoder.

[0080] In some embodiments, the training procedure used by the VAE-TTLP model architecture is similar to the training of the conventional VAE architecture. However, there are some differences due to the presence of a learnable prior that simultaneously processes latent variables and object features (which may have some missing variables). In some aspects, training can be performed using stochastic gradient descent using an Adam optimizer with a learning rate equal to 0.0001.

[0081] For each iteration of stochastic gradient descent (SGD), the following steps are performed, which are Figure 3A Note that sub-steps d, e, and f are different from standard VAE training. Step 1 — For a small batch of objects {x1,…,x n} and its properties {y1,...,y n} for sampling. Step 2 — For the object with index i from the mini-batch, perform the following sub-steps: a) Run the encoder on the object and obtain the latent variable distribution N(z i |x i ); b) From the obtained distribution z i ~N(z i |x i) sample latent variables; c) run the decoder and obtain the logarithm of the probability of the sampled latent variable logp(x) from the obtained distribution i |z i ) (in the case of images, it simply generates the mean squared error between the object and the original object over all pixels and all color channels); d) Calculate N(z i |x i ) entropy; e) calculate the logarithm of the prior probability logp(z i |y i ); f) subtracting the obtained log probability from the entropy to obtain a single point approximation of the KL divergence; and g) subtracting the value obtained in substep (c) from the value in substep (f) to obtain an ELBO (Evidence Lower Bound Object) estimate. Step 3 - Calculate the average of all ELBOs obtained in substep (g) over the entire mini-batch. Step 4 - Perform a gradient descent step.

[0082] like Figure 3A As shown in method 300, a sample mini-batch is obtained from a dataset (302). Then objects and object properties are considered (304). The objects are processed by an encoder (306), and a and (308). Then obtain the distribution The sample (310) is taken and used together with the object properties to calculate the probability of the sample being obtained given the object properties (312). The sample latent code is then processed through a decoder (314) and a reconstructed object is obtained (316). A reconstruction loss is then calculated for the reconstructed object (318). The KL divergence is calculated (320). The loss is calculated and the gradient is back-propagated (322).

[0083] The following steps can be used to generate a reconstructed object and train a model to enable it to generate such a reconstructed object. Step 1 can be to provide the object data to an encoder. Step 2 can be to sample the latent code. Step 3 can be to determine the joint probability of samples of the latent code having a property (specified condition) such as a desired property or a defined property. The model can be trained to maximize this probability obtained from step 3. Thus, the model optimizes the latent code according to the property. This can be done in Figure 3A Seen in.

[0084] The scheme may start with sampling a data set, which may be by randomly selecting a few objects from the data set. For example, a data set may contain objects and object properties. For image objects, the properties may be features. For molecular objects, the properties may be biological activity, structural properties, and physical properties.

[0085] The object data is processed by the encoder (306) to generate mu (μ-distribution mean) and sigma2 (σ-variance), which defines the distribution of the latent code z. Therefore, the latent code z can have a distribution of vectors. It should be noted that the variance is sigma squared (σ 2 – variance). This indicates where the object is placed in latent space.

[0086] Then, the latent code z (310) is sampled from the distribution to obtain a normally distributed latent code z, which is then passed through a decoder (314) to obtain a reconstructed object 316. After obtaining the reconstructed object 316, a reconstruction loss is calculated based on the original object and the reconstructed object, where the information lost from the original object can be determined (318, Figure 3A ). This determines the difference between the original object and the reconstructed object. The goal of training the model is to make the difference zero.

[0087] Moreover, element 312 shows that a sample of the distribution of the latent code is used together with the object property to calculate the probability of the sample given the object property. In order to calculate the probability of the sample given the object property, a tensor column decomposition is used to calculate the probability that the sample conforms to the object property. In order to determine whether the object from the sample is from μ (mu) and σ2 (σ squared), the model processes it using a tensor column decomposition. Therefore, the latent code z can be compared with the distribution of the conditions / properties of the object, and then the probability that z has the desired property is determined. If the distribution of the properties of the latent code matches the distribution of the latent code from the autoencoder, the model is run, but if it does not match, the model can be further trained, or the parameters can be modified for the desired properties so that the distribution of the latent code matches the distribution of the latent code with the property.

[0088] Then, at element 320, the model can calculate the KL divergence to determine how the joint probability behaves. In an ideal case, this loss will be 0, while less ideal cases will result in a number other than 0 when the latent code does not match the object properties. The KL divergence can be calculated by Equation 11. The KL divergence measures the different distributions from the encoder and tensor columns.

[0089] Then, the loss is calculated based on the reconstruction loss and KL divergence using back-propagated gradients (322).

[0090] Figure 3B Contains a flowchart describing the steps for calculating the probability of a sample given a property of an object. Figure 3B Can be Figure 3A The method for calculating the joint probability of samples given the properties of the object is element 312 of . Therefore, Figure 3BA method 330 is shown in which an object property is provided (332) and used to calculate the probability of the object property under a TT distribution (334). Furthermore, a latent code sample from an autoencoder is obtained (336) and used with the object property to calculate the probability of the object property and the latent code under the TT distribution (338). The calculated probabilities of 334 and 338 are then used to calculate the probability of the latent code conditioned on the object property through a conditional probability formula (340).

[0091] For example, an instance is obtained from a mini-batch dataset, and a sample is obtained from a latent code. The probability is then calculated using Equation 9 (e.g., 312). The conditional probability of the latent code z given the property y is determined.

[0092] Figure 3C 350 for calculating the probability of an object property. Figure 3C Shown is the Figure 3B The method 338 includes setting the buffer (buf - intermediate vector stored in memory) to the eye matrix, where j = 1 (352). Then, determine y j is discrete or continuous, and whether it should be marginalized (354). If it is discrete, a discrete path is followed, which involves computing the onehot (y) along the intermediate indices. j ——Except y j All positions except the position contain 0 and y j If continuous, compute the dot product with [N(y j |mu i ,std i ), for all i] dot products (358). If marginalized, dot products with (1,1,…,1) are computed along the intermediate indices (360). Then, if discrete, continuous, or marginalized, the results are processed to derive the corresponding dot products with buffer (buf) to obtain a new buffer (buf) (362). The process then computes the trace of buffer (buf) and sets it to (y1,…,y n ) probability (364). However, before calculating the trace of buffer (buf), if there is a pending y j , the process iterates back to step 354 and makes a determination, and the process repeats as shown.

[0093] and, Figure 3C Schemes are shown for both discrete and continuous conditions or properties. However, when the property is not defined or specified, then a marginalization scheme can be performed.

[0094] In some embodiments, the results from element 312 may be used to train a model so that the encoder produces better latent codes, which can be used to generate better reconstructed objects with desired properties. Figure 6 In

[15] , the joint model samples the latent code z given a certain y, and the method then produces a reconstructed object with the desired properties. The properties may have been embedded in the object, and the object is selected using these properties. In some cases, the reconstruction loss is calculated using the reconstructed object, in another case, the KL divergence is calculated.

[0095] FIG4 illustrates a method 400 for generating an object with desired properties using a VAE-TTLP model. As shown, desired object properties are defined (402). Sample latent codes are then obtained from a TT distribution conditioned on the desired object properties (404). The decoder then generates a reconstructed object with the desired object properties (406).

[0096] In view of the foregoing, we describe the use of learnable priors to compute probabilities in tensor trains (TT). Figure 2 The procedure for calculating the probability in TT with a learnable prior is shown above. The nodes of this diagram are tensors, and the edges between the nodes represent tensor contraction operations. Since contraction is a commutative operation, it can be performed in any order. The tensors {Qi} are the core objects of TT decomposition. They are contracted with the values ​​of random variables. Discrete variables are represented by one-hot vectors, which can be processed as 1-dimensional tensors. Continuous variables are modeled by a mixture of normal distributions, and therefore, they are described as vectors of probabilities inside the mixture components. If the value of a variable is missing, it is represented as a vector filled with one. After all contractions, there is only one non-negative value, which is equal to the probability of the variable vector within the TT distribution.

[0097] Figure 2 can be considered as Figure 3C A more detailed description of . There are discrete variables and continuous variables. There may be multi-dimensional tensors, such as, for example, a vector is a one-dimensional tensor, a matrix is ​​a two-dimensional vector, and for more dimensions, it can be called a tensor. As described, a joint distribution can be obtained. For example, for discrete random variables, then the joint distribution is specified at the tensor. If there are two variables, such as R1 and R2, the probability that R1 is equal to R2 can be written in a two-dimensional tensor. Therefore, the variables can be represented in a tensor column format for tensor column decomposition. The method allows exploration of tensors with large tensors that may not be stored in memory.

[0098] When the object used to train the model may lack some properties, the VAE-TTLP model can be used to generate an object with predetermined properties. Therefore, the model can be run even when only some properties are known and other properties of the object are unknown.

[0099] Figure 6 A method 500 is shown for generating an object with predetermined properties under the principles described herein. First, the desired properties to be obtained from the generated object must be formulated (502). The desired properties may be a subset of all the properties used for training. In method 500, a learnable prior for the model is used (504) to marginalize the learnable prior over the properties not included in the set of desired properties (506) to obtain p(z1, ... z k ,y1,…y j )(508). The next step is to condition the marginalized learnable prior on the properties in the set (510). This step (510) provides a distribution p(z1,…,z k |y1=v1,…,y j =v j )(512), which has a higher density in the region that produces an object with a given property. Finally, a latent variable is sampled from the conditioned prior (514) to obtain an object with a predetermined property by running the decoder on the sampled latent vector (516).

[0100] therefore, Figure 6 yes Figure 4A A more detailed description of the subject matter of , wherein latent codes are sampled and the resulting object is obtained. The learnable prior is obtained from a general distribution of z and y. The expected feature set contains a few values ​​that we want the object to have, and the features that are not present can take any value for the generated object. Given the non-existent features, method 500 marginalizes the learnable prior. There is a probability of a latent code specified by y. This is then used to compute the conditional probability on the latent code given the specified value of y. The latent code z is then sampled from the distribution and then processed by the decoder to obtain the reconstructed object.

[0101] Although the VAE-TTLP model has been described for objects that may be images, the model can also be used to generate chemical structures with desired properties. Thus, there may be some missing properties of a molecular object, and VAE-TTLP can be used to generate a molecular object with desired properties even if some properties of the object are not available.

[0102] Extending the Model

[0103] This article has described the VAE-TTLP model. Now, the VAE-TTLP model can be used with reinforcement learning (RL). RL schemes can be used to introduce rewards for the generation of new objects (e.g., new molecular structures). Although RL schemes can be described in conjunction with molecular structures, they can also be applied to other types of objects, such as images, videos, audio, text, and other objects.

[0104] The VAE-TTLP model can also be used in combination with a reinforcement learning (RL) framework to extend the structure of the underlying manifold (e.g., latent space) to new chemical structures, such as new inhibitors of proteins or other biological activities. The RL scheme can be trained using the REINFORCE algorithm, which directly optimizes the policy using a logarithmic-derivative scheme. The scheme can include fixing all parameters of the encoder and decoder (except the first fully connected layer), and training only the manifold p in the latent space and the first layer of the decoder. ψ (z) (learnable priors). The scheme can expand the latent space with exploration batches containing molecules reconstructed from outside the current manifold (e.g., Figure 1 The scheme may include estimating the mean μ and variance σ of p(z) in all dimensions. 2 , then from z exploration ~U(μ-2σ,μ+2σ) sampling exploration codes. The scheme can pass these codes through the decoder x exploration ~p θ (x|z exploration ), and estimate the reward of the numerator {x exploration}. If the reward of a newly explored area is high, the latent manifold will expand towards it. The manifold is formed by shapes in a multidimensional space from the latent spaces of different objects.

[0105] RL can be implemented with at least partially trained VAE-TTLP models, and RL can further train the model to improve the generation of reconstructed objects. This can be helpful when using VAE-TTLP in the space of chemical structures, as certain features can be enhanced with rewards to improve the design of molecules with specific properties. The latent code can randomly sample near some known nodes of the chemical structure, allowing analysis of variable features. For example, a certain locus in a molecule can be derivatized by various substituents.

[0106] In some embodiments, the scheme helps to shape the output from the manifold, which can be a shape having Figure 1 The element 106 shows the conditional latent space.

[0107] The scheme can be used to treat z that may come from structures outside the manifold. explorationTherefore, the sample can come from z as the latent code exploration , then the probability of these samples given the object properties can be determined. These sampled z can then be processed by the decoder exploration The latent code is used to generate an exploration reconstruction object. Then, a loss can be calculated to determine how well the exploration reconstruction matches the original object. There may be exploration The return of the latent code. If the return is high, the latent manifold moves toward z exploration Otherwise, the latent manifold moves away from its extension, or toward a different z with higher rewards. exploration Subliminal code expansion.

[0108] Reward Function

[0109] A reward function was developed based on the Self-Organizing Kohonen Map (SOM). The algorithm was proposed by Teuvo Kohonen and is a unique unsupervised machine learning dimensionality reduction technique. It can effectively reproduce the inherent topology and patterns hidden in the input chemical space in a consistent and unbiased manner. The input chemical space is usually described by molecular descriptors (input vectors), while a 2D or 3D feature map that is convenient for visual inspection is generated at the output. An ensemble of three SOMs was used as the reward function: the first SOM was trained to predict the activity of compounds against kinases (general kinase SOM), the second was developed to select compounds located in neurons associated with DDR1 inhibitors within the entire kinase map (specific kinase SOM), and the last was trained to evaluate the novelty of chemical structures based on current medicinal chemistry trends (trend SOM). During learning, the basic AI model was rewarded when the generated structure was classified as a molecule that acts on a kinase, is located in a neuron attributed to a DDR1 inhibitor, and tends to be a relatively novel structure.

[0110] General kinase SOM

[0111] The preprocessed training dataset contained a total of 41K small molecule compounds: 24K kinase inhibitors and 17K molecules with reported activity (concentration <1 μM) against non-kinase targets. For the entire database, molecular descriptors for more than 2K were calculated using RDKit, Mordred library, and SmartMining software. Descriptors were ranked according to bivariate Student's t values, and then 9 descriptors were selected as the most specific and theoretically valid for distinguishing kinase and non-kinase chemistries. The set includes: MW (molecular weight, t = -63.4), Q' (doubly normalized quadratic index, t = 77.3), SS (common electrotopological index, t = -69.3), S[>C<] (partial SS index, t = -50.3), 1Ka (first Kiel topological index, t = -66.5), Hy (hydrophilicity index, t = -55.9), VDWwvol (weighted atomic van der Waals volume, t = -70), HBA (number of hydrogen bond acceptors, t = -34.0), HBD (number of hydrogen bond donors, t = -8.5) and RGyr (radius of gyration, t = -55). The map size is 15x15 2D representation (random distribution threshold is 177 molecules / neuron), number of learning rounds: 2000, initial learning rate: 0.3 (linear decay), initial learning radius: 8, the winning neuron is determined using the Euclidean metric, and the initial weight coefficients are randomly distributed. After the training process is completed, the areas where kinase inhibitors and molecules acting on other biological targets are present are highlighted. We observed that compounds from these two categories are mainly located in different areas of the common map. Neurons are then prioritized based on the following privilege factor (PF): NiK(%) / NiNK(%), where NiK is the percentage of kinase inhibitors located in the i-th neuron, and NiNK is the percentage of other molecules located in the same neuron, and vice versa. A PF value greater than 1.3 is used as a threshold for assigning neurons to one of the two categories. There are no "dead" neurons within the mapping. The average classification accuracy of the random threshold is 84%. During the learning cycle and in the prioritization step, all generated structures are scored using this model. Compounds classified as kinase inhibitors with the lowest error (Euclidean metric) are subsequently subjected to a specific kinase SOM.

[0112] A general kinase SOM may tend to be involved in molecules or loci among molecules that interact with the kinase.

[0113] Specific kinase SOM

[0114] A similar procedure was performed to construct the Kohonin map to identify elements along the kinase inhibitor chemical space that were assigned to DDR1 inhibitors. Structures classified as kinase inhibitors by the general kinase SOM were used as the input chemical pool. The final set of molecular descriptors contained: MW (t = -44), Q' (t = 37), 1Ka (t = -42), SS (t = -52), Hy (t = -30), VDWsumvol (t = -35), HBA (t = -40), and HBD (t = 14). The map size was 10x10 2D representation (random distribution threshold of 245 molecules / neuron), and the learning settings were the same as those applied by the general kinase SOM, except that the initial learning radius was equal to six. After constructing the map, we identified neurons that contained at least one DDR1 inhibitor. The formal average classification accuracy was 68%, and a bias towards DDR1 inhibitors was observed. The "active" neurons were then used during the learning procedure to select structures to report back to the core GENTRL and to perform the prioritization process. In this case, we did not use PF to make selection decisions in order to overcome overtraining and enhance the novelty of generated structures operating near tight terrain.

[0115] A specific kinase SOM can be similar to a general kinase SOM; however, the specific kinase SOM tends to the chemistry of a particular type of kinase. That is, it tends to the loci or functional groups that are known to interact with the specific kinase. For example, this can be used to design new DDR1 inhibitors. The reward can be to have a chemical signature of the remodeled object, such as a chemical moiety, functional group, or locus that is known to interact with DDR1.

[0116] Trending SOM

[0117] As an additional reward function, the protocol can also use Kohonen maps developed based on a training dataset of molecules. The following key molecular descriptors were selected for training: MW, LogP (lipophilicity, calculated partition coefficient in octanol-1 / water system), LogSw (solubility in water), PSA (polar surface area, ), HBA, Don, SS, BFL (Beyond the Flatland Function). The BFL function is closely related to chemical evolution and reflects the true non-planarity of molecules (relative to simple sp3 rates). BFL is sensitive enough to follow the trends observed in modern medicinal chemistry according to novelty. Map size 15x15 2D representation (random distribution threshold of 75 molecules / neuron), number of learning rounds: 2000, initial learning rate: 0.4 (linear decay), initial learning radius: 10, winning neuron is determined using Euclidean metric, initial weight coefficient: random distribution. After the training process is completed, the regions containing compounds claimed in different time periods are displayed, and molecules that have been described in relatively recent patent records (claimed between 2015 and 2018) end up in separate regions of the map, while "old" chemistry is mainly located in completely different regions, providing a statistically relevant separation. Within the map, we clearly observe intrinsic trends over the years and describe them as a collection of simple vectors. Our AI-Core is rewarded with neurons attributed to new chemistries (from the last decade), as opposed to neurons associated with the "old" chemotype.

[0118] In some cases, the trend SOM attempts to predict the year a molecule was invented. It can be predicted that the molecule is determined to be in a certain year, if it is recent, it may be new chemistry; but if it is old, it may be old chemistry. In some cases, the reward function can be upward to recent chemistry, so that relatively new molecules are explored.

[0119] Training Procedure

[0120] A training procedure can be used to train a VAE-TTLP model using reinforcement learning (trend SOM, general kinase SOM, and specific kinase SOM). The following training procedure can be performed. Step 1 - Get a trained VAE-TTLP conditional generative model. Step 2 - Discard the encoder and fix the weights of all layers of the decoder except the first layer (e.g., the first layer weights are not fixed). This allows training of the latent space and the first layer of the decoder. Step 3 - Estimate the prior p induced by the tensor series ψ (z) has a mean μ and variance σ for each dimension. This gives an estimate of the shape of the manifold. Step 4 — Sample z in each dimension exploration ~U(μ-2σ,μ+2σ). Step 5 - Change z exploration Pass the decoder and obtain SMILES x exploration (e.g., simplifying the numerator input line entry system or other). Step 6 - Calculate one or more returns: x exploration R trend 、r (general kinase SOM) 、r(specific kinase som) Step 7 — Apply a single gradient ascent step to maximize the learnable prior p induced by the tensor train ψ The parameters ψ of (z) and the total return of the first layer of the decoder r = effectiveness * (r trend +r general kinase SOM +r specific kinase SOM ). Step 8 — Repeat steps 3 to 7 until convergence. For example, when the rewards stop increasing, stop training.

[0121] Molecules can be sampled and then filtered through the pipeline scheme described in this paper. The molecules obtained by filtering can then be synthesized and verified.

[0122] In some embodiments, a training procedure may be used to further train the trained VAE-TTLP model to provide RL.

[0123] In some embodiments, all three SOMs may be used for training.

[0124] General Description

[0125] In some embodiments, a method for training a model to generate an object is provided. The method may include the following steps. The method may use a model configured as a variational autoencoder with a learnable prior parameterized by a tensor train. Moreover, the method may use a data set having object data of an object and conditional data of a condition, wherein the condition may be a property of the object. The model may be used to process the object data of the data set with an object encoder of the model to obtain latent object data, wherein the latent object data includes a latent variable distribution with a mean and a variance. The method may include sampling one or more latent variables from the obtained latent variable distribution. The method may include processing the sampled one or more latent variables with defined object properties to calculate the probability of the sample having the defined object properties. The method may include processing the sampled one or more latent variables through an object decoder to obtain a reconstructed object. The method may include determining a reconstruction loss of the reconstructed object compared to the original object based on the object data. The method may include calculating the Kulbeck-Leibler divergence based on the probability of the sample having the defined object properties. The method may include calculating a loss compared to the data set using the determined reconstruction loss and the calculated Kulbeck-Leibler divergence. The method may include performing gradient descent until the reconstructed object sufficiently represents the original object and has the defined object properties. The method may include obtaining a trained model, the trained model being configured as a trained variational autoencoder having a learnable prior parameterized by a tensor train. Once obtained, the trained model may be provided for storage (e.g., computer memory) or for generating a reconstructed object having a desired property.

[0126] The method can be used to process multiple objects in the data set, such as the following: process the object data with the object encoder to obtain a latent variable distribution; sample one or more latent variables from the obtained latent variable distribution; process the sampled one or more latent variables with a decoder to obtain the reconstructed object; obtain the logarithm of the probability that the sampled one or more latent variables have a defined property; calculate the entropy of the obtained latent variable distribution; calculate the logarithm of the logarithm of the probability to obtain the obtained logarithmic probability; subtract the obtained logarithmic probability from the entropy to obtain an approximation of the Kulbeck-Leibler divergence; subtract the approximation of the Kulbeck-Leibler divergence from the logarithm of the probability; and obtain an estimated lower bound target for the variational perturbation. In some aspects, the method may further include: first, calculating the average of all estimated lower bound targets over all objects in the data set; and second, performing the gradient descent.

[0127] In some embodiments, the method may include: defining one or more conditions for the object; and allowing one or more undefined conditions of the object to have arbitrary initial values.

[0128] In some embodiments, the calculating the probability of the sample having the defined object property comprises: calculating the probability of the object property of the object using a tensor column distribution; calculating the probability of the object property and the latent code using a tensor column distribution; and calculating the probability of the latent code conditioned on the object property by a conditional probability formula.

[0129] In some embodiments, the method of calculating the probability of the object property and the latent code using the tensor column distribution includes: setting the buffer to an eye matrix; determining whether the object property is discrete, continuous or undefined; when the object property is discrete, calculating the probability of the object property and the latent code along the intermediate index (y j ), where y j is the object property; when the object property is discrete, the value of [N(y j |mu i ,std i ), for all i], where mu i is the mean of i, and std i is the standard deviation of i (e.g., sigma), where i is an object; when the object property is discrete, calculating the dot product with (1, 1, ..., 1) along the intermediate index, and according to the obtained dot product, deriving the dot product with the buffer to obtain a new buffer; and calculating the trace of the new buffer and setting the trace to (y1, ..., y n ) probability.

[0130] In some embodiments, the trained model is further trained with reinforcement learning, wherein the reinforcement learning produces the reconstructed object with defined characteristics. In some aspects, the training of the trained model with the reinforcement learning comprises: discarding the object encoder; fixing the weights of all layers of the object decoder except the first layer of the object decoder; performing the following steps until convergence: estimating the mean and variance of each dimension of a previously obtained latent variable distribution, the previously obtained latent variable distribution being defined as a learnable prior; obtaining an exploratory latent variable for each dimension in addition to the latent variables produced by the encoder; passing the exploratory latent variables through a decoder to obtain a reconstructed object based on the exploratory latent variables; calculating the reward of the reconstructed object based on at least one defined reward; and applying a single gradient ascent step to maximize the total reward relative to the parameters of the learned prior and the first layer of the decoder.

[0131] In some aspects, when the object is a molecule, the reward comprises: a general biological activity self-organizing Kohonin map that provides a reward for a reconstructed object that is a molecule having biological activity in a biological pathway; a specific biological activity self-organizing Kohonin map that provides a reward for a reconstructed object that is a molecule having biological activity with a specific biological substance; and a trend self-organizing Kohonin map that provides a reward for a reconstructed object that is a molecule having a chemical moiety that degrades within a defined time frame. In some aspects, the general biological activity self-organizing Kohonin map provides a reward for a reconstructed object that is a molecule having biological activity in a kinase biological pathway. In some aspects, a specific biological activity self-organizing Kohonin map provides a reward for a reconstructed object that is a molecule having biological activity with a DDR1 protein. In some aspects, a trend self-organizing Kohonin map provides a reward for a reconstructed object that is a molecule having a chemical moiety that degrades within a defined time frame.

[0132] In one embodiment, a method of generating an object having a desired property may include: obtaining a trained model according to one of the embodiments; identifying a desired object property; obtaining a latent code from a tensor sequence distribution conditioned on the desired object property; generating the object having the desired object property with the decoder; and providing the generated object having the desired object property. In some aspects, the method may include obtaining a plurality of generated objects having the desired object property; filtering the plurality of generated objects based on one or more parameters; and selecting one or more generated objects based on the filtering.

[0133] In some embodiments, a method of obtaining a physical form of an object may include: selecting a selected generated object; obtaining a physical form of the selected generated object; and verifying the physical form of the selected generated object. In some aspects, the method may include: selecting a provided generated object; obtaining a physical form of the selected generated object; and verifying the physical form of the selected generated object.

[0134] In some embodiments, generating an object may include: obtaining a learnable prior based on the latent code and the desired property; obtaining a set of properties; marginalizing the learnable prior and the set of properties on the set of desired properties that are not in the set of properties; conditioning the marginalized learnable prior on the properties in the set of properties to obtain a distribution on the latent space; sampling the distribution on the latent space; and processing the sampled distribution on the latent space with a decoder to obtain a generated object with predetermined properties.

[0135] In some embodiments, a computer program product includes a non-transitory tangible memory device having computer executable instructions, which when executed by a processor will cause a method to be performed, the method comprising: providing a model, the model being configured as a variational autoencoder having a learnable prior parameterized by a tensor train, providing a data set, the data set having object data of an object and condition data of a condition, wherein the condition can be a property of the object; processing the object data of the data set with an object encoder of the model to obtain latent object data, wherein the latent object data includes a latent variable distribution having a mean and a variance; sampling one or more latent variables from the obtained latent variable distribution; processing the sampled one or more latent variables having defined object properties; latent variables to calculate the probability of the sample having the defined object property; processing the sampled one or more latent variables through an object decoder to obtain a reconstructed object; determining a reconstruction loss of the reconstructed object compared to the original object based on the object data; calculating the Kulbeck-Leibler divergence based on the probability of the sample having the defined object property; calculating the loss compared to the data set using the determined reconstruction loss and the calculated Kulbeck-Leibler divergence; performing gradient descent until the reconstructed object sufficiently represents the original object and has the defined object property; obtaining a trained model, the trained model being configured as a trained variational autoencoder with a learnable prior parameterized by a tensor train; and providing the trained model.

[0136] In some embodiments of the computer program product, the executed method further includes further training the trained model with reinforcement learning, wherein the reinforcement learning produces the reconstructed object with defined characteristics, wherein the training of the trained model with the reinforcement learning includes: discarding the object encoder; fixing the weights of all layers of the object decoder except the first layer of the object decoder; performing the following steps until convergence: estimating the mean and variance of each dimension of a previously obtained latent variable distribution, wherein the previously obtained latent variable distribution is defined as a learnable prior; obtaining an exploratory latent variable for each dimension in addition to the latent variables produced by the encoder; passing the exploratory latent variables through a decoder to obtain a reconstructed object based on the exploratory latent variables; calculating a reward for the reconstructed object based on at least one defined reward; and applying a single gradient ascent step to maximize the total reward relative to the parameters of the learned prior and the first layer of the decoder.

[0137] In one embodiment, the imposed conditions of VAE-TTLP are met by making the generated object (e.g., product) as complex as the object itself. The DNN architecture can be used to generate specific molecules (e.g., generated objects or products) that have a desired effect on human cells or have certain physical properties (e.g., conditions or properties), or one or more molecules (e.g., generated objects or products) that bind to a target protein or have a certain physical structure (e.g., conditions or properties). These problems are common in the field of drug discovery. In both cases, the conditions (cell state before the protein or molecule is received and the cell state after the molecule is received) or the properties (solubility, molecular weight, 3D conformation) are at least as complex as the object (candidate molecule for the drug) itself.

[0138] In one example, the output of the object encoder is analyzed for a specific distribution. For example, the distribution of the object information (e.g., latent object data) should be a standard normal distribution. For example, all molecules (e.g., object data) are processed by the object encoder to obtain latent object data, which includes generated molecules distributed as a standard deviation (e.g., sigma) distribution. The tensor train performs data processing to determine whether the generated molecule data (e.g., latent object data) is within the standard deviation (e.g., sigma) distribution of the object data.

[0139] In some embodiments, the molecules of the generated object data from the decoder are analyzed and one or more specific molecules that meet the condition criteria are selected. The selected one or more molecules are then selected and synthesized and subsequently tested with one or more cells to determine whether the synthesized molecules actually meet the condition 104.

[0140] In some embodiments, the VAE-TTLP architecture is a computer model that can be implemented in a computer or computing system. The model is configured to generate molecules with desired properties. Once one or more molecules are generated, the model can classify the molecules according to any desired characteristics. Specific physical properties (e.g., certain chemical parts or 3D structures) can be prioritized, and then molecules with characteristics matching the desired characteristics are selected and synthesized. Therefore, an object selector (e.g., a molecule selector) that can be a software module selects at least one molecule for synthesis, which can be accomplished by filtering as described herein. The selected molecule is then provided to an object synthesizer, and the selected object (e.g., the selected molecule) is then synthesized therein. The synthetic object (e.g., a molecule) is then provided to an object verifier (e.g., a molecule verifier, which tests the object to see if it meets a condition or property, or to see if it has biological activity for a specific purpose. The synthetic object as a molecule can be tested with living cell culture or other verification techniques to verify that the synthetic molecule meets the desired properties.

[0141] The method may include comparing the generated object data with the object data using an object loss module. During this comparison, a loss from the object data to the generated object data may be calculated. The calculated loss may be compared to a loss threshold. A generated object of the generated object data may then be selected, for example using an object selector, wherein the selected object is a generated object that is less than a threshold value. This may include selecting the selected generated object data that is less than a threshold object difference between the generated object data and the object data.

[0142] Once the object to be generated is selected, the method comprises validating the selected object. The validation may be performed as described herein. When the object is a molecule, the validation may comprise synthesis and then testing with living cells.

[0143] In some embodiments, method 700 may include selecting a selected object 710 that corresponds to the selected generated object data or corresponds to the desired property; and verifying the selected object 712, such as Figure 4B In some embodiments, method 700 may include: obtaining a physical object of the selected object 714; and testing whether the physical object has a desired property or biological activity 716), such as Figure 4B As shown in . Moreover, in any method, the obtaining of the physical object may include synthesizing, purchasing, extracting, refining, deriving or otherwise obtaining at least one of the physical objects (714a). The physical object may be a molecule or other. The method may include a test involving measuring the physical object in cell culture (716a). The method may also include measuring the physical object by genotyping, transcriptome typing, 3-D mapping, ligand-receptor docking before and after perturbation, initial state analysis, final state analysis, or a combination thereof (716b). When the physical object is a new molecular entity, the physical object of the selected generated object may generally include synthesis. Therefore, the method may include selecting a generated object that is not part of the original data set or previously known.

[0144] When the DNN-based methods described herein are used for tasks such as new molecule design and molecular feature extraction, drug-like molecular structures can be represented using strings, such as in the format of, for example, SMILES (Simplified Molecular Input Line Entry System).

[0145] The latent representation produced by the object encoder is used by a decoder (eg, an object decoder). The object decoder attempts to reconstruct the original object using the latent representation of the object (latent object data) that gives the desired properties.

[0146] Another part of the model can include a discriminator. The discriminator can be used as a regularizer for the distribution of the latent representation (e.g., the distribution of the latent object data). The discriminator makes the conditional distribution of the latent object data similar to a predetermined prior distribution, such as the standard normal distribution of the object data.

[0147] In one embodiment, the framework can be a single algorithm (e.g., a model), or each component can be a separate algorithm. The input to the algorithm is a data set containing data pairs representing objects (e.g., object data) and properties (e.g., property data). In one example, the objects are molecules represented as strings in SMILES format.

[0148] The VAE-TTLP model can be trained using a training data set so that it can perform the operations described herein. The training procedure comprises two steps that are performed alternately: (1) a generator step; and (2) a discriminator step. Using an optimization method, a separate objective function is optimized for one optimization step at each update. The Adam optimizer is an example. Training is terminated when the model loss converges or a maximum number of iterations that can be defined is reached. Thus, iterations can be used to train a neural network using a training data set. The result of this training procedure is a generative model that is capable of generating new objects (e.g., new molecules) that approximately match specific conditions (e.g., desired physical properties and / or specific biological activities).

[0149] The methods provided herein can be performed on a computer or in any computing system, such as Figure 7 Demonstrated in .

[0150] In some embodiments, the method may include: comparing the generated object data to the object data; and selecting the selected generated object data that is less than a threshold object difference between the generated object data and the object data.

[0151] In some embodiments, the method may include selecting a selected object corresponding to the selected generation object data or corresponding to the selected generation condition data.

[0152] In some embodiments, the method may comprise: preparing the physical form of the selected object; and testing the physical object with the condition.

[0153] In some embodiments, the method may comprise: said obtaining said physical form of the selected object comprises synthesizing, purchasing, extracting, refining, deriving or otherwise obtaining at least one of said physical object; and / or said testing comprises determining said physical form of the selected object in cell culture; and / or determining said physical form of the selected object by genotyping, transcriptome profiling, 3-D mapping, ligand-receptor docking before and after perturbation, initial state analysis, final state analysis or a combination thereof.

[0154] In some embodiments, the method may comprise determining whether the molecule satisfies the condition by having a desired property (eg, a particular biological activity).

[0155] In some embodiments, the method may include determining that the molecule is similar to one or more molecules in the subject data; and determining that the molecule has an activity similar to one or more molecules in the condition / property data.

[0156] In some embodiments, the method may include determining that the molecule is distinct from other molecules having other mechanisms of action.

[0157] In some embodiments, the data set comprises data on molecule-protein binding.In some aspects, the method may comprise configuring an object decoder that generates molecules that bind to a given protein.

[0158] The VAE-TTLP model can be used to solve subset conditioning problems using only partially specified conditioning values. The tensor train format allows the VAE-TTLP model to capture complex latent dependencies between latent codes and tokens. VAE-TTLP can be used as a discriminative model to predict missing / unobserved values ​​and can be trained from any autoencoder encoder / decoder pair. As shown in the experiments, VAE-TTLP provides a variety of samples that satisfy the specified conditions and can be used for the task of generating new objects with some conditions that are unknown during training or the generation procedure.

[0159] Examples

[0160] Experimental estimation of the VAE-TTLP model on two image datasets: MNIST and CelebA. Both datasets have properties that can be used for conditional learning and generation. MNIST has categorical class labeled features, while for CelebA images we choose 10 binary attributes including gender, hair color, smile, glasses, etc.

[0161] The scheme uses an 8-layer neural network convolutional neural network with 6 convolutional layers and 2 fully connected layers for the encoder, and a symmetric architecture with deconvolution for the decoder. MNIST samples are 28x28 grayscale images. In CelebA, we use images with 64x64 resolution. The model is estimated on the generation of images conditioned on a subset of attributes using CelebA faces. Both datasets have attributes for conditional learning and generation. These attributes can be either categorical (e.g., presence of beard on the face, type of hair: blond, black, etc.) or continuous (e.g., face rotation angle, digit inline, line thickness).

[0162] Some objects may have some missing attributes (e.g., referred to as missing), while some objects may lack all attributes. Missingness may occur due to the cost / time load of computing the attribute, or may be specifically missing due to possible errors. This occurs in molecular chemistry, where computing a certain attribute of a molecule is very expensive. Therefore, VAE-TTLP can be used to generate objects such as those described herein or known, where images and molecules are specific instances.

[0163] For the first experiment, the protocol visualizes the latent space of the learned VAE-TTLP model trained on MNIST data for a model with a 2D latent space. Figure 8 In , it can be seen that the model assigns a separate cluster in the latent space to each token 0-9. The cluster of each token is shown by an arrow. Figure 8 A sample of a VAE-TTLP model trained on the MNIST database is shown, showing the learned latent space. Fig. 9 A sample of numbers obtained by processing the VAE-TTLP model is shown.

[0164] The VAE-TTLP model is studied by visually and numerically comparing the quality of images generated by three models: CVAE (Conditional Variational Autoencoder - Sohn, Kihyuk, Honglak Lee, and Xinchen Yan, "Learning Structured Output Representation using Deep Conditional Generative Models", Advances in Neural Information Processing Systems, 2015), VAE-TTLP, and VAE-TTLP with a pre-trained VAE on the CelebA dataset. To estimate the visual quality of the samples, the scheme computes the Fréchet Inception Distance (FID), which is shown to be correlated with the evaluators' opinions. To estimate how well the generated image matches the specified conditions, the scheme predicts the attributes of the image with a separately trained predictor. The results are shown in Table 1 together with the samples used for visual analysis. The data show that VAE-TTLP performs better in creating clear images. These experiments show that VAE-TTLP outperforms or gives comparable results to CVAE in terms of both visual quality and condition matching.

[0165] Moreover, the performance of the pre-trained VAE-TTLP model is quite good, indicating that the model can be pre-trained on unlabeled datasets.

[0166] Table 1: Numerical comparison of generated images from different models.

[0167]

[0168] The performance of the analyzed VAE-TTLP models for different levels of missing data: fully labeled data and data with 30% and 70% randomly missing attributes. During generation, the models were conditioned on the entire set of attributes. The numerical results are reported in Table 2. From the results, it can be seen that the model is quite stable even when the dataset is sparsely labeled. This shows the improvement of the VAE-TTLP model and the usage scenario.

[0169] Table 2: Performance of VAE-TTLP on datasets with different percentages of missing attributes.

[0170]

[0171] The VAE-TTLP model can be obtained by ψ(y|x) sampling to input missing conditions. On the MNIST dataset, the VAE-TTLP model produces 95.4% accuracy and 89.21% accuracy on CelebA.

[0172] Use the VAE-TTLP model to generate images given a subset of conditions to estimate the diversity of the generated images. For example, if the scheme specifies an image to generate a "young man", it should generate different images to specify different hair colors, the presence or absence of glasses and hats, or other attributes. Fig.10 The generated images shown in indicate that the model learns to produce highly diverse images with a variety of different attributes. It should be noted that for a given attribute, the generated images exhibit high diversity, which can be seen by comparing images in the same row.

[0173] Although the previous example used VAE-TTLP without RL, the following example shows a VAE-TTLP model with RL for chemical design. The VAE-TTLP model with RL as described above was used to generate a previously unknown DDR1 kinase inhibitor with nanomolar activity ( Fig.11 ), thus demonstrating that the model can generate new molecular structures. To discover this molecule, the protocol generated 30,000 molecules from the VAE-TTLP model with RL and filtered them through the filtering pipeline described below to select 40 new molecules.

[0174] Filter Pipe

[0175] The filtering pipeline can use pharmacophore hypotheses, nonlinear Samon mapping, and / or molecule generation and selection procedures.

[0176] Pharmacophore hypothesis

[0177] Based on the X-ray data available in the PDB database (PDB codes: 3ZOS, 4BKJ, 4CKR, 5BVN, 5BVO, 5FDP, 5FDX, 6GWR), we developed three pharmacophore models describing DDR1 inhibitors. To obtain a superposition of the ligands, a 3D alignment of the complexes was performed. These 3-, 4-, and 5-center pharmacophore hypotheses contain the essential features of the active site responsible for binding to DDR1 kinase, including: (1) a hydrogen bond acceptor in the hinge region; (2) an aromatic / hydrophobic linker; and (3) a hydrophobic center in a pocket near the DFG motif. This information can be used to select one or more molecules from those generated by VAE-TTLP with or without RL. In most cases, it was used to narrow down the generated molecules to a manageable number.

[0178] Nonlinear Samon Map

[0179] In order to make the final selection of the designed molecules, we used a mapping technique based on Samon. The main goal of this algorithm is to approximate the local geometric and topological relationships hidden in the input chemical space on a visually understandable 2D or 3D dimensional graph. The basic idea of ​​this method is to greatly reduce the high dimensionality of the initial data set to a low-dimensional feature space, which is similar to the SOM method and multidimensional scaling in this respect. However, compared with other algorithms, the classic Samon-based method allows scientists to construct a projection that reflects the global topographic relationship as a pairwise distance between all objects in the entire space of the input vector sample. The structure that successfully passed all the above selection procedures was used as the input chemical space. For mapping, we used the same molecular descriptor set suitable for a specific kinase SOM and added the RMSD (root mean square deviation) value obtained during pharmacophore modeling as other inputs. Euclidean distance is used as a similarity metric, stress threshold: 0.01, number of interactions: 300, optimization step: 0.3, structural similarity factor: 0.5. The resulting mapping proves that the structure is normally distributed in the Samon diagram.

[0180] Molecule generation and selection procedures

[0181] Using the VAE-TTLP model, we ψ (z) Sample the latent code and distribute it from the decoder p θ(x|z) sampling structures generated 30,000 unique valid structures. To select molecular batches for synthesis and biological studies, we developed a prioritization pipeline. In the initial step, the dataset was reduced to a size of 12,147 compounds using the following molecular descriptor thresholds: -2 < logP < 7, 250 < MW < 750, HBA + HBD < 10, TPSA < 150, NRB < 10. Then, 150 MCFs (Medicinal Chemistry Filters) were applied to remove toxic and unstable structures. These included: potential substrates of 1,4 - adducts (with Michael's moieties) and other electrophilic species (e.g., pyridines substituted para - or ortho - halogen, furans and thiophenes substituted 2 - halogen, alkyl halides, aldehydes and acid anhydrides, etc.), disulfides, isatins, barbiturates, strained heterocycles, fused polycyclic aromatic hydrocarbon systems, detergents, hydroxamic acids and diazo compounds, peroxides, unstable fragments, and sulfonate ester derivatives. Additionally, we used simpler filtering rules, including the following: < 2 NO2 groups, < 3 Cl, < 2 Br, < 6 F, < 5 aromatic rings, unwanted atoms (e.g., Si, Co or P), to reasonably reduce the number of structures spreading across the entire chemical space to a more compact and drug - like biased set. This procedure produced 7912 structures. Then, cluster analysis was performed based on Tanimoto similarity and the standard Morgan fingerprints implemented in RDKit. All compounds meeting the 0.6 similarity threshold were assigned to a cluster, with a minimum of 5 structures per cluster. Inside each cluster, compounds were classified according to the coefficient of internal dissimilarity to output the top 5 molecules with the greatest structural diversity. Thus, the dataset was reduced to 5542 molecules. Then, we used vendor collections (MolPort and ZINC) for similarity searches and additionally removed 900 compounds with similarity > 0.5 to increase the novelty of the generated structures. Compounds were prioritized using general kinase SOM and specific kinase SOM based on their potential activity against DDR1. Among the 2570 molecules classified as kinase inhibitors by general kinase SOM, 1951 molecules were classified as DDR1 inhibitors by specific kinase SOM and were used for pharmacophore screening. For each molecule, 10 conformations were generated using the RDKit implementation of UFF (Universal Force Field) and minimized. Using the derived hypotheses, a pharmacophore screening procedure was performed, which produced a set of RMSD values for 848 molecules that matched at least one pharmacophore hypothesis. Based on the Salmon mapping, we performed a random selection procedure, paying particular attention to the regions of RMSD values obtained for 4 - and 5 - center pharmacophores. Thus, 40 molecules were selected for synthesis and subsequent biological evaluation.

[0182] For the models, processes and methods disclosed herein, the operations performed in the processes and methods may be implemented in different orders. In addition, the operations outlined are provided only as examples, and some operations may be optional, combined into fewer operations, eliminated, supplemented with additional operations or expanded into additional operations without departing from the essence of the disclosed embodiments.

[0183] The present disclosure is not limited by the specific embodiments described in this application, which are intended to be illustrations of various aspects. Many modifications and variations may be made without departing from its spirit and scope. In addition to those listed herein, functionally equivalent methods and devices within the scope of the present disclosure are also possible according to the foregoing description. These modifications and variations are intended to fall within the scope of the appended claims. The present disclosure is limited only by the full scope of the equivalents of the appended claims and these claims. The terms used herein are only for the purpose of describing specific embodiments and are not intended to be restrictive.

[0184] In one embodiment, the method may include aspects performed on a computing system. Thus, the computing system may include a memory device having computer executable instructions for performing the method. The computer executable instructions may be part of a computer program product comprising one or more algorithms for performing any method according to any of the claims.

[0185] In one embodiment, any operation, process, or method described herein may be performed or made to be performed in response to the execution of computer-readable instructions stored on a computer-readable medium and executable by one or more processors. The computer-readable instructions may be executed by a processor of a variety of computing systems from a desktop computing system, a portable computing system, a tablet computing system, a handheld computing system, and a network element and / or any other computing device. The computer-readable medium is not transitory. The computer-readable medium is a physical medium in which the computer-readable instructions are stored so that they can be physically read from the physical medium by the computer / processor.

[0186] There are various media (e.g., hardware, software, and / or firmware) by which the processes and / or systems and / or other techniques described herein may be implemented, and the preferred media may change as the environments in which the processes and / or systems and / or other techniques are deployed change. For example, if the implementer determines that speed and accuracy are most important, the implementer may choose a primarily hardware and / or firmware media; if flexibility is most important, the implementer may choose a primarily software implementation; or, also alternatively, the implementer may choose some combination of hardware, software, and / or firmware.

[0187] The various operations described herein can be implemented individually and / or collectively by various hardware, software, firmware, or any combination thereof in practice. In one embodiment, several parts of the subject matter described herein can be implemented via an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), or other integrated formats. However, some aspects of the embodiments disclosed herein can be implemented in whole or in part equivalently in an integrated circuit, as one or more computer programs running on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more processors (e.g., as one or more programs running on one or more microprocessors), as firmware, or as any combination thereof in practice, and it is possible to design circuit systems and / or write codes for software and / or firmware according to the present disclosure. In addition, the mechanisms of the subject matter described herein can be distributed in various forms as program products, and the illustrative embodiments of the subject matter described herein are applicable, regardless of the specific type of signal-bearing media actually used for distribution. Examples of physical signal bearing media include, but are not limited to, the following: recordable type media (e.g., floppy disk, hard disk drive (HDD), compact disk (CD), digital versatile disk (DVD), digital tape, computer memory), or any other non-transitory or transmission type physical media. Examples of physical media with computer readable instructions omit transitory or transmission type media, such as digital and / or analog communication media (e.g., fiber optic cables, waveguides, wired communication links, wireless communication links, etc.).

[0188] Devices and / or processes are generally described in the manner set forth herein, and then these described devices and / or processes are integrated into a data processing system using engineering practices. That is, at least a portion of the devices and / or processes described herein can be integrated into a data processing system via a reasonable number of experiments. A typical data processing system typically includes one or more of the following: a system unit housing, a video display device, a memory (e.g., volatile and non-volatile memory), a processor (e.g., a microprocessor and a digital signal processor), a computing entity (e.g., an operating system, a driver, a graphical user interface, and an application), one or more interactive devices (e.g., a touch pad or screen), and / or a control system (including a feedback loop and a control motor) (e.g., feedback for sensing position and / or velocity; a control motor for moving and / or adjusting components and / or quantities). A typical data processing system can be implemented using any suitable commercially available components, such as those typically found in data computing / communication and / or network computing / communication systems.

[0189] The subject matter described herein sometimes shows different components contained in different other components or connected with different other components. These depicted architectures are only exemplary, and in fact, many other architectures that realize the same function can be implemented. Conceptually, any arrangement of components that realize the same function is effectively "associated" so that the desired function is realized. Therefore, any two components combined to realize a specific function herein can be regarded as "associated" with each other so that the desired function is realized, regardless of the architecture or intermediate components. Similarly, any two components so associated can also be regarded as "operably connected" or "operably coupled" to realize the desired function, and any two components that can be so associated can also be regarded as "operably coupled" to realize the desired function. The specific instance of operable coupling includes but is not limited to: components that can be physically paired and / or physically interacted and / or components that can be wirelessly interacted and / or wirelessly interacted and / or components that can be logically interacted and / or components that can be logically interacted.

[0190] Figure 6 An exemplary computing device 600 (e.g., a computer) is shown, which may be arranged in some embodiments to perform the methods (or portions thereof) described herein. In a very basic configuration 602, the computing device 600 typically includes one or more processors 604 and a system memory 606. A memory bus 608 may be used to communicate between the processor 604 and the system memory 606.

[0191] Depending on the desired configuration, the processor 604 may be of any type, including but not limited to: a microprocessor (μP), a microcontroller (μC), a digital signal processor (DSP), or any combination thereof. The processor 604 may include one or more levels of cache (e.g., a level 1 cache 610 and a level 2 cache 612), a processor core 614, and registers 616. An exemplary processor core 614 may include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP core), or any combination thereof. An exemplary memory controller 618 may also be used with the processor 604, or in some embodiments, the memory controller 618 may be an internal part of the processor 604.

[0192] Depending on the desired configuration, system memory 606 may be of any type, including, but not limited to, volatile memory (e.g., RAM), non-volatile memory (e.g., ROM, flash memory, etc.), or any combination thereof. System memory 606 may include an operating system 620, one or more applications 622, and program data 624. Applications 622 may include a determination application 626 that is arranged to perform the operations described herein, including those described with respect to the methods described herein. Determination application 626 may obtain data such as pressure, flow rate, and / or temperature, and then determine changes to the system to change the pressure, flow rate, and / or temperature.

[0193] The computing device 600 may have additional features or functions and additional interfaces to facilitate communication between the basic configuration 602 and any desired devices and interfaces. For example, a bus / interface controller 630 may be used to facilitate communication between the basic configuration 602 and one or more data storage devices 632 via a storage interface bus 634. The data storage device 632 may be a removable storage device 636, a non-removable storage device 638, or a combination thereof. Examples of removable and non-removable storage devices include: magnetic disk devices (e.g., floppy disk drives and hard disk drives (HDD)), optical disk drives (e.g., compact disk (CD) drives or digital versatile disk (DVD) drives), solid state drives (SSDs), and tape drives, etc. Exemplary computer storage media may include: volatile and non-volatile removable and non-removable media implemented in any method or technology for storage of information (e.g., computer readable instructions, data structures, program modules, or other data).

[0194] System memory 606, removable storage 636, and non-removable storage 638 are examples of computer storage media. Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other media that can be used to store the desired information and can be accessed by computing device 600. Any such computer storage media may be part of computing device 600.

[0195] The computing device 600 may also include an interface bus 640 for facilitating communication from various interface devices (e.g., output devices 642, peripheral interfaces 644, and communication devices 646) to the basic configuration 602 via the bus / interface controller 630. Exemplary output devices 642 include a graphics processing unit 648 and an audio processing unit 650, which may be configured to communicate with various external devices such as a display or speakers via one or more A / V ports 652. Exemplary peripheral interfaces 644 include a serial interface controller 654 or a parallel interface controller 656, which may be configured to communicate with external devices such as input devices (e.g., keyboard, mouse, pen, voice input device, touch input device, etc.) or other peripheral devices (e.g., printer, scanner, etc.) via one or more I / O ports 658. Exemplary communication devices 646 include a network controller 660, which may be arranged to facilitate communication with other computing devices 662 over a network communication link via one or more communication ports 664.

[0196] A network communication link can be an example of a communication medium. Communication media can generally be embodied by computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and can include any information delivery media. A "modulated data signal" can be a signal whose one or more characteristics are set or changed in a certain way to encode the information in the signal. As an example and not limitation, communication media can include wired media (e.g., a wired network or a direct wired connection) and wireless media (e.g., acoustic, radio frequency (RF), microwave, infrared (IR), and other wireless media). The term computer-readable media as used herein can include storage media and communication media.

[0197] The computing device 600 may be implemented as part of a small form factor portable (or mobile) electronic device (e.g., a cell phone, a personal data assistant (PDA), a personal media player device, a wireless network viewing device, a personal headset device, a dedicated device, or a hybrid device including any of the above functionality). The computing device 600 may also be implemented as a personal computer including laptop and non-laptop configurations. The computing device 600 may also be any type of network computing device. The computing device 600 may also be an automated system as described herein.

[0198] The embodiments described herein may involve the use of a special purpose or general purpose computer including various computer hardware or software modules.

[0199] Embodiments within the scope of the present invention also include computer-readable media for carrying or having a computer-executable instruction or data structure stored thereon. Such computer-readable media can be any available media that can be accessed by a general or special-purpose computer. As an example and not limitation, such computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, disk storage or other magnetic storage device, or can be used for carrying or storing desired program code components in the form of computer-executable instructions or data structures and any other media that can be accessed by a general or special-purpose computer. When information is transferred or provided to a computer by a network or another communication connection (hard-wired, wireless or hard-wired or wireless combination), the computer will be appropriately regarded as a computer-readable medium. Therefore, any such connection is appropriately referred to as a computer-readable medium. The above combination should also be included in the scope of computer-readable media.

[0200] Computer executable instructions include, for example, instructions and data that cause a general purpose computer, a special purpose computer, or a special purpose processing device to perform a function or a group of functions. Although the subject matter has been described in language specific to structural features and / or methodological acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Instead, the specific features and acts described above are disclosed as exemplary forms of implementing the claims.

[0201] In some embodiments, a computer program product may include a non-transitory tangible memory device having computer executable instructions, which when executed by a processor cause a method to be performed, the method may include: providing a data set, the data set having object data of an object and condition data of a condition; processing the object data of the data set with an object encoder to obtain latent object data and latent object-condition data; processing the condition data of the data set with a condition encoder to obtain latent condition data and latent condition-object data; processing the latent object data and the latent object-condition data with an object decoder to obtain generated object data; processing the latent condition data and the latent condition-object data with a condition decoder to obtain generated condition data; comparing the latent object-condition data with the latent condition data to determine a difference; processing the latent object data and the latent condition data and one of the latent object-condition data or the latent condition-object data with a discriminator to obtain a discriminator value; selecting a selected object from the generated object data based on the generated object data, the generated condition data, and the difference between the latent object-condition data and the latent condition-object data; and providing a recommendation for the selected object in a report to verify the physical form of the object. The non-transitory tangible memory device may also have other executable instructions for any method or method steps described herein. Moreover, the instructions may be instructions for performing non-computational tasks (e.g., synthesis of molecules and / or experimental protocols for verifying molecules). Other executable instructions may also be provided.

[0202] With respect to the use of substantially any plural and / or singular terms herein, those skilled in the art can convert the plural to the singular and / or the singular to the plural as appropriate in the context and / or application. For clarity, various singular / plural permutations may be expressly stated herein.

[0203] Those skilled in the art will understand that, in general, the terms used herein (e.g., the bodies of the appended claims) (e.g., the terms "including" should be interpreted as "including but not limited to," the term "having" should be interpreted as "having at least," the term "comprising" should be interpreted as "including but not limited to," etc.). Those skilled in the art will further understand that if a specific number of an introduced claim recitation is intended, such intent will be explicitly stated in the claim, and in the absence of such recitation, no such intent is present. For example, to aid understanding, the following appended claims may contain usage of the introductory phrases "at least one" and "one or more" to introduce claim recitations. However, the use of such phrases should not be interpreted as implying that the introduction of a claim recitation by the indefinite article "a" or "an" limits any particular claim containing such introduced claim recitation to embodiments containing only one such recitation, even when the same claim contains the introductory phrases "one or more" or "at least one" and an indefinite article such as "an" (e.g., "a" should be interpreted as "at least one" or "one or more"); this is also true for the use of the definite article used to introduce a claim recitation. In addition, even if a specific number of introduced claim recitations is explicitly recited, one skilled in the art will recognize that such recitation should be interpreted to refer to at least the recited number (e.g., the recitation of "two recitations" alone, without other modifiers, refers to at least two recitations, or two or more recitations). Furthermore, in those instances where a convention similar to "at least one of A, B, and C, etc." is used, generally such construction is intended to be in the sense that one skilled in the art would understand the convention to be (e.g., "a system having at least one of A, B, and C" would include, but not be limited to, systems having only A, only B, only C, having A and B, having A and C, having B and C, and / or having A, B, and C, etc.). One skilled in the art would further understand that, in practice, any disjunctive conjunction and / or phrase presenting two or more alternative terms, whether in the specification, claims, or drawings, should be understood to contemplate the possibility of including one of the terms, including either of the terms, or including both terms. For example, the phrase "A or B" would be understood to include the possibility of "A" or "B" or "A and B."

[0204] In addition, where features or aspects of the disclosure are described in terms of Markush groups, those skilled in the art will recognize that the disclosure is also thereby described in terms of any individual member or subgroup of members of the Markush group.

[0205] As will be understood by those skilled in the art, for any and all purposes, for example, in terms of providing written description, all ranges disclosed herein also encompass any and all possible sub-ranges and combinations of sub-ranges thereof.Any listed range can be easily identified as fully describing and making the same range decomposed into two equal parts, three equal parts, four equal parts, five equal parts, ten equal parts, etc. As a non-limiting example, each range discussed herein can be easily decomposed into lower third, middle third and upper third, etc. As will be understood by those skilled in the art, all languages ​​(for example, "up to", "at least", etc.) contain the narrated numbers, and refer to the ranges that can be decomposed into the sub-ranges discussed above subsequently.Finally, as will be understood by those skilled in the art, ranges include each single member.Therefore, for example, a group with 1-3 units refers to a group with 1, 2 or 3 units.Similarly, a group with 1-5 units refers to a group with 1, 2, 3, 4 or 5 units, and the like.

[0206] From the foregoing, it will be understood that various embodiments of the present disclosure have been described herein for illustrative purposes, and that various modifications may be made without departing from the scope and spirit of the present disclosure. Therefore, the various embodiments disclosed herein are not intended to be limiting, with the true scope and spirit being indicated by the following claims.

Claims

1. A method for training a model to generate an object, the method comprising: Providing a model configured as a variational autoencoder with a learnable prior, wherein the learnable prior is parameterized by a tensor train decomposition; providing a data set, the data set having object data of an object and property data of a property of the object; processing the object data of the data set with an object encoder of the model to obtain latent object data, wherein the latent object data comprises a latent variable distribution having a mean and a variance; sampling one or more latent variables from the obtained latent variable distribution; Processing the sampled one or more latent variables having defined object properties to calculate the probability of the sample having the defined object properties; Processing the sampled one or more latent variables through an object decoder to obtain a reconstructed object; Determining a reconstruction loss of the reconstructed object compared to the original object according to the object data; calculating the Kullback-Leibler divergence based on the probability of the sample having the defined object property; calculating a loss compared to the data set using the determined reconstruction loss and the calculated Kulbeck-Leibler divergence; Performing gradient descent until the reconstructed object sufficiently represents the original object and has the defined object properties; Obtaining a trained model configured as a trained variational autoencoder having the learnable prior parameterized by the tensor train decomposition; providing the trained model; and further training the trained model using reinforcement learning, wherein the reinforcement learning produces the reconstructed object with defined properties; wherein the objects are molecules.

2. The method according to claim 1, further comprising, for a plurality of objects in the data set: Processing the object data with the object encoder to obtain a latent variable distribution; sampling one or more latent variables from the obtained latent variable distribution; Processing the sampled one or more latent variables with a decoder to obtain the reconstructed object; Obtaining the logarithm of the probability that the sampled one or more latent variables have a defined property; Calculate the entropy of the obtained latent variable distribution; calculating the logarithm of the logarithm of the probability to obtain the obtained logarithmic probability; subtracting the obtained log probability from the entropy to obtain an approximation of the Kullbeck-Leibler divergence; subtracting an approximation of the Kullbeck-Leibler divergence from the logarithm of the probability; and Obtain an estimated lower bound objective for the variational disturbance.

3. The method according to claim 2, further comprising: First, the average of all estimated lower bound targets over all objects in the dataset is calculated; and Next, the gradient descent is performed.

4. The method according to claim 1, further comprising: defining one or more conditions for the object; and Allows one or more unqualified conditions of the object to have arbitrary initial values.

5. The method of claim 1, wherein the calculating the probability of the sample having the defined object property comprises: Calculate the probability of the object property of the object using the tensor sequence distribution; Compute the probabilities of object properties and latent codes using tensor array distributions; and The probability of the latent code conditioned on the object property is calculated by a conditional probability formula.

6. The method of claim 1, wherein said training said trained model with said reinforcement learning comprises: discarding the object encoder; fixing weights of all layers of the object decoder except a first layer of the object decoder; Perform the following steps until convergence: estimating the mean and variance of each dimension of a previously obtained latent variable distribution, the previously obtained latent variable distribution being defined as a learnable prior; obtaining an exploratory latent variable for each dimension in addition to the latent variables generated by the learnable prior; passing the exploratory latent variable through the decoder to obtain a reconstructed object based on the exploratory latent variable; calculating a reward for the reconstructed object based on at least one defined reward, wherein the at least one defined reward causes the reconstructed object to have defined object properties and is calculated based on a self-organizing Kohonen map; and A single gradient ascent step is applied to maximize the total reward with respect to the learned prior parameters and the first layer of the decoder.

7. The method according to claim 6, wherein the reward comprises: A general bioactive self-organizing Kohonen map that provides rewards for reconstructed objects as molecules with bioactivity in biological pathways; A specific bioactive self-organizing Kohonen map that provides rewards for reconstructed objects that are molecules that are bioactive with a specific biological substance; and Trend self-organizing Kohonen maps that provide rewards for reconstructed objects as molecules with chemical motifs that degenerate within a defined time frame.

8. The method according to claim 7, wherein: wherein said general bioactivity self-organizing Kohonin map provides rewards for reconstructed objects as molecules having bioactivity in a kinase biological pathway; Specific bioactive self-organizing Kohonin maps that provide rewards for reconstructed objects as molecules with bioactivity with DDR1 kinase; and Trending self-organizing Kohonen maps that provide rewards for reconstructed objects as molecules with chemical parts that degenerate within a defined time frame.

9. A method of generating an object having desired properties, comprising: Obtaining a trained model according to claim 1; Identify the desired object properties; obtaining a latent code from a joint distribution induced by a sequence of tensors conditioned on the desired object property; generating, with said decoder, said object having said desired object properties; and The generated object is provided having the desired object properties.

10. The method according to claim 9, comprising: obtaining a plurality of generated objects having the desired object properties; filtering the plurality of generated objects based on one or more parameters; and One or more generation objects are selected based on the filtering.

11. The method according to claim 10, comprising: Select the object to be generated; obtaining a physical form of the selected generated object; and The physical form of the selected generated object is verified.

12. The method according to claim 9, comprising: Select the provided generated object; obtaining a physical form of the selected generated object; and The physical form of the selected generated object is verified.

13. A method of generating an object having desired properties, comprising: Obtaining a trained model according to claim 6; Identify the desired object properties; Obtaining a latent code from a distribution of tensor sequences conditioned on the desired object property; generating, with the decoder, the object having the desired object properties; and The generated object is provided having the desired object properties.

14. The method according to claim 13, comprising: obtaining a plurality of generated objects having the desired object properties; filtering the plurality of generated objects based on one or more parameters; and One or more generation objects are selected based on the filtering.

15. The method according to claim 14, comprising: Select the object to be generated; obtaining a physical form of the selected generated object; and The physical form of the selected generated object is verified.

16. The method according to claim 13, comprising: Select the provided generated object; obtaining a physical form of the selected generated object; and The physical form of the selected generated object is verified.

17. The method of claim 13, further comprising: Obtaining a learnable prior based on the latent code and the desired property; Get a set of properties; marginalizing the learnable prior and the set of properties on a set of desired properties that are not in the set of specified properties; conditioning the marginalized learnable prior on properties in the set of properties to obtain a distribution over the latent space; sampling a distribution on the latent space; and The sampled distribution over the latent space is processed by a decoder to obtain generated objects with predetermined properties.

18. The method of claim 13, further comprising: Obtaining a learnable prior based on the latent code and the desired property; Get a set of properties; marginalizing the learnable prior and the set of properties on a set of desired properties that are not in the set of properties; conditioning the marginalized learnable prior on properties in the set of properties to obtain a distribution over the latent space; sampling a distribution on the latent space; and The sampled distribution over the latent space is processed by a decoder to obtain generated objects with predetermined properties.

19. A computer program product comprising: A non-transitory tangible memory device having computer executable instructions which, when executed by a processor, result in performance of a method comprising: providing a model configured as a variational autoencoder with a learnable prior, wherein the learnable prior is parameterized by a tensor train decomposition, providing a data set having object data of an object and condition data of a condition, wherein the condition may be a property of the object; processing the object data of the data set with an object encoder of the model to obtain latent object data, wherein the latent object data comprises a latent variable distribution having a mean and a variance; sampling one or more latent variables from the obtained latent variable distribution; Processing the sampled one or more latent variables having defined object properties to calculate the probability of the sample having the defined object properties; Processing the sampled one or more latent variables through an object decoder to obtain a reconstructed object; Determining a reconstruction loss of the reconstructed object compared to the original object according to the object data; calculating the Kullback-Leibler divergence based on the probability of the sample having the defined object property; calculating a loss compared to the data set using the determined reconstruction loss and the calculated Kulbeck-Leibler divergence; Performing gradient descent until the reconstructed object sufficiently represents the original object and has the defined object properties; Obtaining a trained model configured as a trained variational autoencoder having the learnable prior parameterized by the tensor train decomposition; providing the trained model; and further training the trained model using reinforcement learning, wherein the reinforcement learning produces the reconstructed object with defined properties; wherein the objects are molecules.

20. The computer program product of claim 19, wherein the training the trained model with the reinforcement learning comprises: discarding the object encoder; fixing weights of all layers of the object decoder except a first layer of the object decoder; Perform the following steps until convergence: estimating the mean and variance of each dimension of a previously obtained latent variable distribution, the previously obtained latent variable distribution being defined as a learnable prior; obtaining an exploratory latent variable for each dimension in addition to the latent variables generated by the encoder; Passing the exploratory latent variable through the object decoder to obtain a reconstructed object based on the exploratory latent variable; calculating a reward for the reconstructed object based on at least one defined reward, wherein the at least one defined reward causes the reconstructed object to have defined object properties and is calculated based on a self-organizing Kohonen map; and A single gradient ascent step is applied to maximize the total reward with respect to the learned prior parameters and the first layer of the decoder.