Batch selection strategy for training machine learning models using active learning
By selecting model input batches with high predictive uncertainty and diversity during machine learning model training, the number of training iterations and label inputs is reduced, solving the problem of high training resource consumption and achieving more efficient training and prediction accuracy.
Patent Information
- Application Number
- CN202480036643.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-12-13
- Filing Date
- 2024-04-19
- Publication Date
- 2026-02-27
AI Technical Summary
The training process of existing machine learning models involves many training iterations and requires a large number of label inputs, resulting in high resource consumption. In particular, label generation is time-consuming and expensive for physical entity model inputs.
By employing a batch selection strategy, scores are generated for candidate batches of model input. Taking into account prediction uncertainty and diversity, batches with high scores are selected for training, reducing the number of training iterations and label inputs.
It improves the prediction accuracy of machine learning models and reduces training resource consumption, especially in terms of physical entity model input, thereby reducing experimental and computational costs.
Smart Images

Figure CN121586902A_ABST
Abstract
Description
Technical Field
[0001] This manual relates to using active learning to train machine learning models. Background Technology
[0002] Machine learning models receive input and generate outputs, such as predicted outputs, based on the received inputs. Some machine learning models are parametric models, generating outputs based on the received inputs and the values of the model parameters.
[0003] Some machine learning models are deep neural network models, which employ multiple layers to generate outputs from received inputs. For example, a deep neural network is a deep machine learning model that includes an output layer and one or more hidden layers, each of which applies a nonlinear transformation to the received input to generate an output. Summary of the Invention
[0004] This specification generally describes a system implemented as a computer program on one or more computers at one or more locations, which can train a machine learning model by training an iterative sequence using a batch selection strategy.
[0005] Throughout the specification, the “embedding” of an entity (e.g., model input) may refer to a representation of an entity as an ordered set of numerical values (e.g., a vector, matrix, or other numerical tensor).
[0006] In this specification, if a first neural network is included in a second neural network, the first neural network may be referred to as a "subnetwork" of the second neural network.
[0007] In this specification, "subject" may refer to an animal or a human.
[0008] In this specification, a “batch” of data elements (e.g., model input for a machine learning model) can refer to a group of data elements, such as a group of 5, 10, 100, or 1000 data elements.
[0009] In this specification, the “uncertainty” of a machine learning model in generating predicted labels for model inputs can refer to the confidence level of the machine learning model on the predicted labels of the model inputs.
[0010] In this specification, the "diversity" of model inputs in a batch can characterize the level of correlation between the predicted labels generated by the machine learning model for the model inputs included in that batch. More specifically, a lower level of correlation between the predicted labels of model inputs in a batch indicates higher batch diversity, and vice versa.
[0011] According to a first aspect, a method is provided to be performed by one or more computers, the method comprising: training a machine learning model via a sequence of training iterations, including: in each of a plurality of training iterations in the training iteration sequence: selecting a current batch of model inputs for training the machine learning model in the training iteration, wherein the current batch of model inputs comprises a plurality of model inputs, wherein selecting the current batch of model inputs comprises: generating a set of candidate batches of model inputs; generating a corresponding score for each candidate batch of model inputs, the score representing: (i) the uncertainty of the machine learning model in predicting labels of the model inputs in the candidate batch of model inputs, and (ii) the diversity of the model inputs in the candidate batch of model inputs; and selecting a current batch of model inputs from the set of candidate batches of model inputs based on the scores; obtaining a corresponding target label for each model input in the current batch of model inputs, wherein the target label of the model input defines a model output that the machine learning model should generate by processing the model input; and training the machine learning model using the target labels of the current batch of model inputs; and outputting the trained machine learning model.
[0012] In some implementations, generating a score for each batch of model input candidates includes: determining, for each pair of model inputs in the batch, the corresponding covariance between: (i) the predicted label of the first model input in the pair of model inputs, and (ii) the predicted label of the second model input in the pair of model inputs; and generating a score for the batch of model input candidates based on the corresponding covariance of each pair of model inputs in the batch of model inputs.
[0013] In some implementations, generating a score for a candidate batch of model inputs based on the corresponding covariance of each pair of model inputs in the candidate batch of model inputs includes: generating the determinant of a covariance matrix, which includes the corresponding covariance of each pair of model inputs in the candidate batch of model inputs; and determining the score for the candidate batch of model inputs based on the determinant of the covariance matrix.
[0014] In some implementations, determining the score of the model input candidate batch based on the determinant of the covariance matrix includes applying a logarithm to the determinant of the covariance matrix.
[0015] In some implementations, determining the covariance of a pair of model inputs for each pair of model inputs in the candidate batch of model inputs includes: generating multiple predicted labels for the first model input in the pair of model inputs using an ensemble of machine learning models; generating multiple predicted labels for the second model input in the pair of model inputs using an ensemble of machine learning models; and determining the covariance of the pair of model inputs based on: (i) the multiple predicted labels of the first model input, and (ii) the multiple predicted labels of the second model input.
[0016] In some implementations, the machine learning model is a neural network, and the ensemble of the machine learning model includes multiple modified neural networks, wherein each modified neural network in the ensemble of the machine learning model is a modified version of the neural network (e.g., with a different network topology).
[0017] In some implementations, each modified neural network in the ensemble of the machine learning model is determined by discarding a corresponding set of parameters from the neural network.
[0018] In some implementations, generating the covariance of each pair of model inputs in the candidate batch of model inputs includes: for each of the multiple pairs of model parameters of the machine learning model, determining the covariance between: (i) a first model parameter in the pair of model parameters, and (ii) a second model parameter in the pair of model parameters; and generating the covariance of these pairs of model inputs based on the covariance of each pair of model parameters of the machine learning model.
[0019] In some implementations, the machine learning model is a neural network comprising: (i) an embedding subnetwork configured to process model inputs to generate embeddings of the model inputs, and (ii) an output layer configured to process the embeddings of the model inputs to generate predicted labels of the model inputs.
[0020] In some implementations, generating the covariance of the model inputs based on the covariance of these pairs of model parameters of the machine learning model includes: for each pair of model inputs including a first model input and a second model input: generating an embedding of the first model input using the embedding subnetwork; generating an embedding of the second model input using the embedding subnetwork; and generating the covariance of the pair of model inputs based on the embedding of the first model input, the embedding of the second model input, and the covariance of each pair of model parameters included in the output layer of the machine learning model.
[0021] In some implementations, for each pair of model inputs including a first model input and a second model input, generating the covariance of the pair of model inputs includes computing a matrix product of the following: (i) the embedding of the first model input, (ii) the covariance matrix including the covariances of each pair of model parameters included in the output layer of the machine learning model, and (iii) the embedding of the second model input.
[0022] In some implementations, for each of a plurality of pairs of model parameters of the machine learning model, a corresponding covariance is determined between the following: (i) the first model parameter in the pair of model parameters, and (ii) the second model parameter in the pair of model parameters, including: for each of a plurality of pairs of model parameters of the machine learning model, determining a corresponding second derivative of the objective function with respect to the pair of model parameters, wherein the machine learning model has been trained to optimize the objective function; and processing the second derivatives of the objective function with respect to these pairs of model parameters to generate the covariance of these pairs of model parameters.
[0023] In some implementations, determining the covariance of each pair of model inputs in the candidate batch of model inputs includes: determining a quality metric for the first model input based on the relationship between the predicted label value of the first model input in the pair of model inputs and the predicted label value of each other model input in the candidate batch of model inputs; determining a quality metric for the second model input based on the relationship between the predicted label value of the second model input in the pair of model inputs and the predicted label value of each other model input in the candidate batch of model inputs; and modifying the covariance of the pair of model inputs based on: (i) the quality metric of the first model input, and (ii) the quality metric of the second model input.
[0024] In some implementations, the quality metric of the first model input is based on the quantile of the predicted label value of the first model input in a set of values, which includes the corresponding value of the predicted label of each model input in the candidate batch of model inputs.
[0025] In some implementations, the quality metric of the second model input is based on the quantile of the predicted label value of the second model input in a set of values, which includes the corresponding value of the predicted label of each model input in the candidate batch of model inputs.
[0026] In some implementations, modifying the covariance of the pair of model inputs includes scaling the covariance of the pair of model inputs using a quality metric of the first model input and a quality metric of the second model input.
[0027] In some implementations, the method further includes: in each of the plurality of training iterations in the training iteration sequence: after training the machine learning model on the current batch of model inputs, preparing to further train the machine learning model in the next training iteration in the training iteration sequence.
[0028] In some implementations, the machine learning model is a neural network.
[0029] In some implementations, the neural network includes one or more message-passing neural network layers.
[0030] In some implementations, training the machine learning model using these target labels of the current batch of model inputs at least on the current batch of model inputs includes: training the machine learning model to process the model inputs to generate predicted labels that match the target labels of the model inputs for each model input in the current batch of model inputs.
[0031] In some implementations, training the machine learning model to process the model input to generate a predicted label that matches the target label of the model input includes training the machine learning model to optimize an objective function that measures the error between (i) the predicted label generated by the machine learning model for the model input, and (ii) the target label of the model input.
[0032] In some implementations, generating a batch of candidate model inputs includes: generating a pool of model inputs; determining a corresponding uncertainty score for each model input in the pool of model inputs, wherein the uncertainty score of a model input characterizes the uncertainty of the machine learning model in generating the predicted label of the model input; determining a probability distribution over the pool of model inputs using the uncertainty scores of each model input; and generating the batch of candidate model inputs using the probability distribution over the pool of model inputs.
[0033] In some implementations, generating the set of model input candidate batches using the probability distribution over the model input pool includes: for each model input candidate batch: sampling each model input included in the model input candidate batch from the model input pool according to the probability distribution over the model input pool.
[0034] In some implementations, the generative model input pool includes generating each model input in the model input pool using a generative machine learning model.
[0035] In some implementations, outputting a trained machine learning model includes storing the trained machine learning model in memory.
[0036] In some implementations, outputting a trained machine learning model includes: generating a plurality of model inputs; and processing each of the plurality of model inputs using the trained machine learning model to generate a predicted label for the model input.
[0037] In some implementations, in each of multiple training iterations, each model input in the current batch corresponds to a corresponding physical entity, and the target label for each model input is generated by operations including: physically generating one or more instances of the physical entity corresponding to the model input; determining one or more properties of the instances of the physical entity; and determining the target label for the model input based on the properties of the instances of the physical entity.
[0038] In some implementations, the machine learning model is configured to process model inputs to generate predicted labels for those model inputs.
[0039] In some implementations, the predicted labels input to the model include numerical values.
[0040] In some implementations, the model input corresponds to a molecule, and the prediction label of the model input defines the predicted properties of the molecule.
[0041] In some implementations, the model input includes data that defines a graph representing the three-dimensional geometry of the molecule.
[0042] In some embodiments, the predictive properties of the molecule characterize the molecule’s absorption, distribution, metabolism, excretion, or toxicity.
[0043] In some implementations, outputting a trained machine learning model includes: using the machine learning model to select one or more molecules; and physically synthesizing the one or more molecules.
[0044] In some implementations, the model input corresponds to a messenger ribonucleic acid (mRNA) nucleotide sequence, and the predicted label of the model input characterizes the protein generated from that mRNA nucleotide sequence.
[0045] In some implementations, the predicted label input to the model characterizes the stability of the protein generated from the mRNA nucleotide sequence.
[0046] In some implementations, the predicted tags input to the model characterize the efficiency of translating the mRNA nucleotide sequence into the protein.
[0047] In some implementations, outputting a trained machine learning model includes using the machine learning model to select one or more mRNA nucleotide sequences; and physically synthesizing the one or more mRNA nucleotide sequences.
[0048] In some implementations, the model input corresponds to a lipid nanoparticle, and the predicted label of the model input characterizes the performance of the lipid nanoparticle in delivering the drug to the target.
[0049] In some implementations, outputting a trained machine learning model includes using the machine learning model to select one or more lipid nanoparticles; and physically synthesizing the one or more lipid nanoparticles.
[0050] In some implementations, the model input corresponds to the amino acid sequence of the capsid protein monomer, and the prediction tag of the model input characterizes the prediction quality of the capsid protein.
[0051] In some embodiments, the predicted quality of the capsid protein characterizes the manufacturability of the capsid protein, or the ability of a virus containing the capsid protein to evade neutralization, or the immunoreactivity of the capsid protein, or the ability of a virus containing the capsid protein to penetrate target tissue, or the packaging capability of the capsid protein, or the ability of the capsid protein to integrate into the host genome.
[0052] In some implementations, the output trained machine learning model includes selecting one or more amino acid sequences of capsid protein monomers; and physically synthesizing the one or more amino acid sequences of the capsid protein monomers.
[0053] In some implementations, generating a score for each batch of model input candidates includes: obtaining a classification set for each model input in the batch of model input candidates, the classification set including the corresponding classification generated for the model input by each machine learning model in the ensemble of machine learning models; and processing these classification sets of model inputs in the batch of model input candidates to generate a score for the batch of model input candidates as an approximation of the entropy of the batch of model input candidates.
[0054] In some implementations, processing the classification set of these model inputs in the candidate batch of model inputs to generate a score for the candidate batch of model inputs as an approximation of the entropy of the candidate batch of model inputs includes: processing the classification set of these model inputs in the candidate batch of model inputs to generate a corresponding probability distribution of the model inputs in the model input n-tuples over a possible joint classification space for each model input n-tuple from the candidate batch of model inputs; and processing the probability distribution of each model input n-tuple in the candidate batch of model inputs to generate a score for the candidate batch of model inputs.
[0055] In some implementations, each model input n-tuple is a model input tuple that includes a first model input and a second model input from the candidate batch of model inputs.
[0056] In some implementations, processing the probability distribution of each model input n-tuple in the model input candidate batch to generate a score for the model input candidate batch includes: for each model input n-tuple from the model input candidate batch, generating a corresponding joint entropy of the model inputs in the model input n-tuple based on the probability distribution of the model inputs in the model input n-tuple on the joint classification space; and generating a score for the model input candidate batch by combining the joint entropies of the model inputs in these model input n-tuples from the model input candidate batch.
[0057] In some implementations, generating a score for a batch of model input candidates by combining the joint entropy of the model inputs in the n-tuples of the model input candidates includes summing the joint entropy of the model inputs in the n-tuples of the model input candidates.
[0058] In another aspect, a system is provided comprising: one or more computers; and one or more storage devices communicatively coupled to the one or more computers, wherein the one or more storage devices store instructions that, when executed by the one or more computers, cause the one or more computers to perform the operations described herein.
[0059] In another aspect, one or more non-transitory computer storage media are provided, which store instructions that, when executed by one or more computers, cause the one or more computers to perform the operations described herein.
[0060] Specific embodiments of the subject matter described in this specification may be implemented to achieve one or more of the following advantages.
[0061] The system described in this specification can train a machine learning model to perform a machine learning task using a sequence of training iterations. In each training iteration, the system selects a new batch of model inputs and obtains the corresponding target label for each model input in the current batch. The labels of the model inputs define the model output that the machine learning model should produce by processing the model inputs. The system can then use the target labels of the model inputs to train the machine learning model on all inputs from all already labeled batches.
[0062] This system implements a strategy for selecting the current batch of model inputs in each training iteration to improve the predictive accuracy of the machine learning model, reduce the number of training iterations required to train the model, and reduce the total number of inputs requiring labels. Reducing the number of training iterations required to train the machine learning model allows for more efficient resource utilization. For example, training the machine learning model in each training iteration requires computational resources (e.g., memory and computing power), so reducing the number of training iterations reduces the consumption of computational resources during training. Furthermore, obtaining target labels for model inputs in each training iteration can be very time-consuming and expensive, for example, in cases where generating target labels for model inputs may require performing physical experiments. In some cases, model inputs may represent physical entities (e.g., molecules, messenger RNA (mRNA) nucleotide sequences, lipid nanoparticles, or amino acid sequences of capsid protein monomers), and determining target labels for model inputs may require synthesizing and testing one or more instances of the physical entity. Therefore, reducing the number of training iterations required to train the machine learning model reduces the resource consumption required to obtain target labels for model inputs.
[0063] To select the current batch of model inputs for training a machine learning model during training iterations, the system generates a set of candidate batches of model inputs and determines a score for each candidate batch. The score of a candidate batch of model inputs represents both (i) the uncertainty of the machine learning model in generating predicted labels for the model inputs in that candidate batch, and (ii) the diversity of these model inputs in that candidate batch. The system uses the score to select the current batch of model inputs from the set of candidate batches, for example, by selecting the candidate batch with the highest score. The highest-scoring batch is searched by generating a set of batches, each containing a set of model inputs. The model inputs of a batch are sampled according to their weights, which are based on the uncertainty of the labels assigned to them. The system then generates a score for each batch and selects the batch with the highest score for labeling.
[0064] Training a machine learning model on model inputs (features) associated with high levels of uncertainty can rapidly improve the predictive accuracy of a machine learning model. However, selecting model inputs to include in a batch of model inputs solely based on the predictive uncertainty associated with each individual model input can result in a batch of homogeneous model inputs—that is, many similar or nearly identical model inputs. Training a machine learning model on a batch of homogeneous model inputs may be less efficient than training it on a batch of diverse model inputs, and may completely miss very high-scoring inputs that were never included in any batch. To address this issue, the system implements a strategy for selecting batches of model inputs in each training iteration that considers both the predictive uncertainty associated with each individual model input and the diversity of the batch of model inputs as a whole.
[0065] Specifically, the system can generate scores for model input candidate batches by generating a covariance matrix, which represents the covariance between the predicted labels associated with each pair of corresponding model inputs in the candidate batch. The system can use various methods to generate this covariance, such as based on random dropout or the Laplace approximation. The system can apply transformation operations (e.g., determinant operations) to the covariance matrix to generate scores for the model input batches, which characterize the predictive uncertainty and variability of the model input batches.
[0066] Furthermore, in an implementation where the machine learning model is configured to perform a classification task, the system can generate a score for the model input batch by determining the joint entropy of each model input n-tuple from the batch (where n can be, for example, two, or any suitable integer value greater than two). The system can then combine the entropies of these model input n-tuples from the batch to generate a score that approximates the entropy of the batch and thus characterizes both the predictive uncertainty and diversity of the batch.
[0067] Scoring candidate batches of model input in this way defines a strategy for selecting batches of model input that can improve the predictive accuracy of machine learning models and reduce the number of training iterations required to train machine learning models.
[0068] Details of one or more embodiments of the subject matter of this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of this subject matter will become apparent from the specification, drawings, and claims. Attached Figure Description
[0069] Figure 1 An example training system is shown.
[0070] Figure 2 This is a flowchart of an example process for training a machine learning model using a batch selection strategy.
[0071] Figure 3 This is a flowchart of an example process for generating a batch of candidate batches of model inputs.
[0072] Figure 4A This is a flowchart of an example process for generating scores for a batch of model inputs based on the covariance matrix, which characterizes: (i) the uncertainty of the machine learning model in generating predicted labels for model inputs in the candidate batch of model inputs, and (ii) the diversity of these model inputs in the candidate batch of model inputs.
[0073] Figure 4B This is a flowchart of an example process for generating a score for a batch of model inputs based on an approximation of the entropy (information) in the batch of model inputs. The score represents: (i) the uncertainty of the machine learning model in generating predicted labels for model inputs in the candidate batch of model inputs, and (ii) the diversity of these model inputs in the candidate batch of model inputs.
[0074] Figure 5 This is a flowchart of an example process for determining the covariance between predicted labels of a pair of model inputs using an ensemble of machine learning models.
[0075] Figure 6 This is a flowchart of an example process for determining the covariance between predicted labels of a pair of model inputs based on the covariance between pairs of model parameters of a machine learning model.
[0076] Figure 7 An example of an active learning loop implemented by the training system is shown.
[0077] Figure 8 Examples of ligands and proteins are shown.
[0078] Figure 9 A table showing the results of comparing the performance of various implementations of the training system described in this specification with that of alternative training systems is presented.
[0079] Figure 10 This demonstrates an example of selecting batches of model inputs from a pool of candidate model inputs for training a machine learning model.
[0080] In each of the accompanying drawings, the same reference numerals and names indicate the same elements. Detailed Implementation
[0081] Figure 1 An example training system 100 is shown. The training system 100 is an example of a system implemented as a computer program on one or more computers at one or more locations, and the systems, components and techniques described below are implemented in this training system.
[0082] The training system 100 trains the machine learning model 112 to perform machine learning tasks by training an iterative sequence, specifically by processing the model input based on the values of a set of machine learning model parameters to generate predicted labels for the model input.
[0083] The training system 100 can train the machine learning model 112 to perform any appropriate machine learning task. Several examples of possible machine learning tasks are described below.
[0084] In some implementations, the machine learning model 112 may be configured to process model input including data characterizing the molecule to generate predictive labels that define one or more predictive properties of the molecule. For example, the predictive labels may characterize one or more of the following: absorption of the molecule in the subject, distribution of the molecule group in the subject, metabolism of the molecule group in the subject, excretion of the molecule in the subject, or toxicity of the molecule in the subject.
[0085] In some implementations, the machine learning model 112 may be configured to process model inputs characterizing messenger ribonucleic acid (mRNA) nucleotide sequences to generate predictive tags characterizing proteins generated from the mRNA nucleotide sequences. For example, the predictive tags may characterize the predicted stability of proteins generated from the mRNA nucleotide sequences, or the efficiency of translating the mRNA nucleotide sequences to generate the corresponding proteins.
[0086] In some implementations, the machine learning model 112 can be configured to process model inputs characterizing non-coding ribonucleic acid (ncRNA) nucleotide sequences to generate predictive tags for the ncRNA sequences. For example, the predictive tags can classify ncRNA sequences into a set of possible ncRNA types, such as miRNA, srRNA, incRNA, etc. As another example, the predictive tags can classify whether an ncRNA sequence is associated with a specific disease (e.g., cancer). Yet another example is that the predictive tags can characterize the predicted expression levels of ncRNA sequences under different conditions or in different tissues.
[0087] In some implementations, the machine learning model 112 may be configured to process model input characterizing the lipid nanoparticles to generate predictive labels characterizing the performance of the lipid nanoparticles in delivering a drug to a target. More specifically, the predictive labels may characterize, for example, the proportion of drug reaching a target in a subject's body when administered via lipid nanoparticles. This target may be, for example, a target organ of the subject, such as the liver, brain, or kidney.
[0088] In some implementations, machine learning model 112 may be configured to process model inputs representing the amino acid sequence of a capsid protein monomer to generate predictive tags characterizing the predicted quality of the capsid protein. More specifically, the predictive tags may characterize, for example, the manufacturability of the capsid protein, or the ability of a virus containing the capsid protein to evade neutralization, or the immunoreactivity of the capsid protein, or the ability of a virus containing the capsid protein to penetrate target tissue, or the packaging capability of the capsid protein, or the ability of the capsid protein to integrate into the host genome.
[0089] The input to a machine learning model can be represented in any suitable manner. For example, the input to a machine learning model can include graph data representing a graph characterizing a set of one or more molecules. This graph can include a set of nodes and a set of edges, where each edge connects a pair of corresponding nodes in the graph. For example, each node in the graph can represent a corresponding atom in the set of molecules, and each edge in the graph can represent a relationship between a pair of corresponding atoms in the set of molecules. For example, an edge can represent that the interval between a pair of corresponding atoms is less than a predefined threshold distance, or that there is a bond between a pair of corresponding atoms. Each node and each edge in the graph can be associated with a corresponding set of features; for example, each node can be associated with features defining the three-dimensional (3D) spatial location of the atom represented by that node, such that the graph characterizes the 3D geometry of the set of molecules. As another example, the input to a machine learning model can include a string-based representation of a set of one or more molecules. The string-based representation can be, for example, a Simplified Molecular Linear Input Specification (SMILES) string.
[0090] The machine learning model can be any suitable type of machine learning model and can have any suitable machine learning model architecture. For example, the machine learning model can include one or more of the following: neural networks, decision trees, random forests, or support vector machines. In implementations where the machine learning model includes one or more neural networks, each neural network can include any suitable number (e.g., 5 layers, 10 layers, or 100 layers) of any suitable type of neural network layers (e.g., fully connected layers, message-passing layers, convolutional layers, attention layers, etc.) connected in any suitable configuration (e.g., directed graphs as layers). See below for reference. Figure 6 A more detailed description of specific example implementations of machine learning models as neural networks.
[0091] The training system 100 includes a batch generation engine 102, an annotation engine 104, and a training engine 110, which will be described in more detail below.
[0092] The batch generation engine 102 is configured to select, in each training iteration of the training iteration sequence, the corresponding batch of model inputs for training the machine learning model in that training iteration. The batch generation engine 102 implements a strategy for selecting the current batch of model inputs that takes into account both the prediction uncertainty associated with each individual model input and the diversity of the current batch of model inputs as a whole.
[0093] More specifically, as part of selecting the current batch of model inputs, the batch generation engine 102 evaluates a set of candidate batches of model inputs. For each candidate batch of model inputs, the system determines a score for that batch, which represents two things: (i) the uncertainty of the machine learning model 112 in generating predicted labels for the model inputs in the candidate batch, and (ii) the diversity of these model inputs in the candidate batch. The batch generation engine 102 can then select the current batch of model inputs from that set of candidate batches based on the score, for example, by selecting the candidate batch of model inputs associated with the highest score as the current batch of model inputs.
[0094] The system can generate scores for candidate batches of model inputs, which jointly characterize the predictive uncertainty and diversity of the model inputs in that batch in any of a number of possible ways. (See below for reference.) Figures 4A to 4B A more detailed description of example techniques for scoring candidate batches of model input is provided.
[0095] The labeling engine 104 is configured to obtain a corresponding target label 108 for each model input in the current batch of model inputs in each training iteration of the training iteration sequence. The target labels 108 of the model inputs define the model output that the machine learning model 112 should generate by processing the model inputs.
[0096] The annotation engine 104 can obtain the target labels 108 of the model inputs in the current batch 106 of model inputs in any of a variety of possible ways. Several example techniques for obtaining the target labels 108 of the model inputs are described below.
[0097] For example, annotation engine 104 can provide instructions, for instance, via a user interface or application programming interface (API) available to system 100, to perform one or more physical experiments to obtain target label 108. In some cases, model inputs may represent physical entities (e.g., molecules, or messenger RNA (mRNA) nucleotide sequences, or amino acid sequences of lipid nanoparticles or capsid protein monomers), and determining the target label for the model input may require physically synthesizing and testing the properties of one or more instances of the physical entity. Annotation engine 104 can receive experimental results, for instance, via a user interface or API, and can associate each model input in the current batch 106 with a corresponding target label based on the experimental results.
[0098] For example, the labeling engine 104 can perform numerical simulations to obtain the target labels 108 of the current batch 106 as model input. Numerical simulations can include, for example, molecular dynamics (MD) simulations, quantum mechanics / molecular mechanics (QM / MM) simulations, density functional theory (DFT) simulations, and so on.
[0099] Training engine 110 is configured to train machine learning model 112 in each training iteration using the target labels 108 of the current batch of model inputs 106. Optionally, training engine 110 can also train machine learning model 112 using the model inputs and target labels obtained in any previous training iteration.
[0100] Training the machine learning model 112 on the model input may include training the machine learning model 112 to reduce the difference between (i) the predicted labels generated by the machine learning model 112 for the model input, and (ii) the target label 108 of the model input. More specifically, the training engine 110 may train the machine learning model 112 to optimize (e.g., minimize) an objective function that measures the error between (i) the predicted labels of the model input, and (ii) the target label of the model input. The objective function may measure the error between the predicted label and the target label, for example, through cross-entropy loss, squared error loss, hinge loss, Huber loss, or any other suitable method.
[0101] Training engine 110 can use any suitable machine learning training technique to train machine learning model 112. For example, for machine learning model 112 implemented as a neural network, training engine 110 can train the neural network on the model input by processing the model input to generate predicted labels, evaluating the objective function on the predicted labels, determining the gradient of the objective function with respect to a set of neural network parameters, and adjusting the current values of the set of neural network parameters using the gradient. Training engine 110 can determine the gradient of the objective function, for example, using backpropagation, and can adjust the current values of the neural network parameters based on the gradient using the update rule of an appropriate gradient descent optimization technique (e.g., RMSprop or Adam).
[0102] After training the machine learning model 112, the training system 100 can output the trained machine learning model 112, for example, by storing the data defining the trained machine learning model 112 in memory or by transmitting the data defining the trained machine learning model 112 via a data communication network. The trained machine learning model 112 can be defined by specifying the architecture of the machine learning model 112 and the training values of that set of model parameters.
[0103] Downstream systems can utilize trained machine learning models in a variety of possible ways. Several example applications of trained machine learning models are described below.
[0104] In some implementations, a machine learning model is configured to process model input characterizing a molecule to generate predictive labels that define the predicted properties of that molecule. In these implementations, a downstream system can use a trained machine learning model to select one or more molecules for physical synthesis. For example, the downstream system can use a trained machine learning model to generate a corresponding predictive label for each molecule in a set of candidate molecules. The downstream system can rank the candidate molecules based on the predictive labels and then select one or more molecules for physical synthesis based on the ranking, for example, selecting one or more of the highest-ranked molecules for physical synthesis. The selected molecules can then be physically synthesized.
[0105] In some implementations, a machine learning model is configured to process model input characterizing mRNA nucleotide sequences to generate predictive tags characterizing properties of the protein derived from the mRNA nucleotide sequences, such as stability or translation efficiency. In these implementations, a downstream system can use a trained machine learning model to select one or more mRNA nucleotide sequences for physical synthesis. For example, the downstream system can use a trained machine learning model to generate a corresponding predictive tag for each mRNA nucleotide sequence in a set of candidate mRNA nucleotide sequences. The downstream system can then rank the candidate mRNA nucleotide sequences based on the predictive tags and select one or more of the highest-ranking mRNA nucleotide sequences for physical synthesis. The selected mRNA nucleotide sequence can then be physically synthesized.
[0106] In some implementations, a machine learning model is configured to process model input characterizing lipid nanoparticles to generate predictive labels characterizing the performance of the lipid nanoparticles in delivering drugs to a target. In these implementations, a downstream system can use a trained machine learning model to select one or more lipid nanoparticles for physical synthesis. For example, the downstream system can use a trained machine learning model to generate a corresponding predictive label for each lipid nanoparticle in a set of candidate lipid nanoparticles. The downstream system can rank the candidate lipid nanoparticles based on the predictive labels and can select one or more of the highest-ranked lipid nanoparticles for physical synthesis. The selected lipid nanoparticles can then be physically synthesized.
[0107] In some implementations, a machine learning model is configured to process model inputs characterizing the amino acid sequence of a capsid protein monomer to generate predictive tags (as described above) characterizing the predicted quality of the capsid protein. In these implementations, a downstream system can use a trained machine learning model to select one or more amino acid sequences of the capsid protein monomer for synthesis. For example, a downstream analysis system can use a trained machine learning model to generate predictive tags for each amino acid sequence in a set of candidate amino acid sequences. The downstream analysis system can rank the candidate amino acid sequences based on the predictive tags and select one or more of the highest-ranked amino acid sequences for physical synthesis. The selected amino acid sequences can then be physically synthesized and optionally aggregated to form the capsid protein.
[0108] In some implementations, the machine learning model is configured to perform a classification task, that is, to process the model input to generate a classification of the model input that assigns the model input to a corresponding category from a finite set of possible categories. This finite set of possible categories can include any suitable number of categories, such as 2 categories, 5 categories, or 10 categories. Several examples of possible classification tasks are described below.
[0109] In one example, the machine learning model is configured to process model inputs characterizing molecules to generate a classification of the molecules that defines whether the molecule binds to a specific protein target.
[0110] In another example, the machine learning model is configured to process model inputs representing molecules to generate a classification of the molecules that defines whether the molecule has crossed the blood-brain barrier.
[0111] In another example, a machine learning model is configured to process model inputs characterizing molecules to generate a classification of the molecules that defines whether the molecule has at least a threshold level of toxicity (e.g., which would cause the molecule to fail a clinical trial).
[0112] In another example, the machine learning model is configured to process model inputs representing molecules to generate a classification of the molecules that defines whether the molecule blocks a specific gene.
[0113] In another example, the machine learning model is configured to process model inputs representing molecules to generate a classification of the molecules that defines whether the molecule treats a specific disease, such as acquired immunodeficiency syndrome (AIDS) or SARS-CoV-2.
[0114] In another example, the machine learning model is configured to process model inputs representing molecules to generate a classification of the molecules that defines whether the molecule will trigger an immune response when administered as a drug to a subject.
[0115] Figure 2 This is a flowchart of an example process 200 for training a machine learning model using a batch selection strategy. For convenience, process 200 will be described as being performed by a system consisting of one or more computers located at one or more locations. For example, a training system appropriately programmed according to this specification (e.g., Figure 1 The training system 100 can execute process 200.
[0116] Steps 202 to 212 of procedure 200 are performed in each training iteration of one or more training iteration sequences. For convenience, the following description will refer to the “current” training iteration in the training iteration sequence.
[0117] The system generates a set of candidate batches of model inputs for the machine learning model (202). The system can generate any appropriate number of candidate batches, such as 10 batches, 1000 batches, or 1,000,000 batches. Each candidate batch can include any appropriate number of model inputs, such as 10 model inputs, 50 model inputs, or 100 model inputs. (See reference) Figure 3A sample process for generating a set of candidate batches of model inputs is described in detail.
[0118] The system generates a corresponding score (204) for each batch of model input candidates. The score of a batch of model input candidates represents: (i) the uncertainty of the machine learning model in generating predicted labels for the model inputs in the batch of model input candidates, and (ii) the diversity of these model inputs in the batch of model input candidates. References Figures 4A to 4B A sample process for generating scores that characterize the uncertainty and diversity of candidate batches of input to a predictive model is described in detail.
[0119] The system selects the current batch of model inputs for training the machine learning model in the current training iteration based on the scores of the candidate batches of model inputs (206). For example, the system can select the candidate batch of model inputs associated with the highest score from the set of candidate batches of model inputs. Optionally, as part of selecting the current batch of model inputs, the system can select one or more candidate batches from the candidate batches of model inputs (e.g., the candidate batch associated with the highest score), and then optimize the batch element-wise, for example, changing the first model input in the batch to optimize the score associated with the batch, then changing the second model input in the batch to optimize the score associated with the batch, and so on, performing this several times until each batch reaches a balance. The system can then select the model input batch associated with the highest score as the current batch of model inputs for training the machine learning model in the current training iteration.
[0120] The system obtains the corresponding target label (208) for each model input in the current batch of model inputs. The target label for the model input defines the model output that the machine learning model should produce by processing the model input. Target labels for model inputs can be generated, for example, by determining one or more properties of physically synthesized instances of an entity (e.g., a molecule) corresponding to the model input through physical synthesis, and determining the target label for the model input based on these properties. Alternatively, the system can determine the target label for the model input by performing one or more numerical simulations (as referenced above). Figure 1 (as described).
[0121] The system trains the machine learning model on at least the target labels of the current batch of model inputs (210). Optionally, the system may train the machine learning model on: (i) the current batch of model inputs, and (ii) a batch of model inputs selected in any previous training iteration.
[0122] The system determines whether the termination criteria for terminating the training of the machine learning model are met (212). For example, the system can determine that the termination criteria have been met if a predefined number of training iterations have been performed, or if the performance of the machine learning model (e.g., prediction accuracy) exceeds a threshold when evaluated on a set of validation data.
[0123] In response to the determination that the termination criteria have been met, the system outputs the trained machine learning model (214).
[0124] When it is determined that the termination criterion has not been met, the system returns to step (202) and proceeds to the next training iteration.
[0125] Figure 3 This is a flowchart of an example process 300 for generating a batch of candidate batches of model inputs. For convenience, process 300 will be described as being executed by a system consisting of one or more computers located at one or more locations. For example, a training system appropriately programmed according to this specification (e.g., Figure 1 The training system 100 can execute process 300.
[0126] The system obtains a model input pool (302). In some cases, the system obtains a predefined model input pool, such as in the form of a pre-existing database of molecules, amino acid sequences, or lipid nanoparticles. In other cases, the system generates the model input pool using a generative model (e.g., a machine learning model that can be queried to generate samples based on the distribution of possible model inputs in the space). The generative model can be, for example, a diffusion-based neural network model, a generative adversarial neural network, a flow-based model, etc.
[0127] The system determines a corresponding uncertainty score (304) for each model input in the model input pool. The uncertainty score of the model input characterizes the uncertainty of the machine learning model in generating the predicted label for the model input. See below for reference. Figures 4A to 4B A more detailed example process for generating uncertainty scores for model inputs is described below.
[0128] The system uses the uncertainty scores of the model inputs to determine the probability distribution over the model input pool (306). To generate the probability distribution, the system can generate a quantile distribution over the input pool, which assigns a corresponding quantile value to each model input, defining the quantile of the uncertainty score of the model input. The system can then process this quantile distribution, for example, using a soft-max function, to generate the probability distribution over the set of model inputs.
[0129] The system uses the probability distribution over the model input pool to generate the set of model input candidate batches (308). For example, for each model input candidate batch, the system can sample each model input included in the model input candidate batch according to the probability distribution over the model input pool.
[0130] Figure 4A This is a flowchart of an example process 400 for generating scores for a batch of model inputs based on a covariance matrix. These scores characterize: (i) the uncertainty of the machine learning model in generating predicted labels for model inputs in a candidate batch of model inputs, and (ii) the diversity of these model inputs in the candidate batch of model inputs. For convenience, process 400 will be described as being performed by a system consisting of one or more computers located at one or more locations. For example, a training system appropriately programmed according to this specification (e.g., [example system]). Figure 1 The training system 100 can execute process 400.
[0131] The system determines the covariance between the following items for each pair of model inputs included in the batch of model inputs: (i) the predicted label of the first model input in the pair, and (ii) the predicted label of the second model input in the pair (402). Specifically, the predicted labels of the model inputs are associated with the distribution over the possible value space of the predicted labels, for example, due to the uncertainty of the parameter values of the machine learning model. (For example, uncertainty in the parameter values of the machine learning model may arise because the current parameter values of the machine learning model define an uncertain estimate of the “target” parameter values that will globally optimize the objective function). Therefore, the predicted labels of the model inputs define random variables over the possible value space of the predicted labels. Thus, the “covariance” between the predicted labels of a pair of model inputs refers to the covariance between a pair of random variables corresponding to that pair of model inputs. The covariance of each pair of model inputs in the batch can be represented as a covariance matrix, for example, where the elements of the covariance matrix are... Define the model input in the candidate batch. With model input The covariance.
[0132] The covariance matrix characterizes both the predictive uncertainty and diversity of model inputs in a batch of model inputs. Specifically, the covariance between predicted labels of a pair of identical model inputs defines the variance of the predicted labels for the model inputs. The variance of the predicted labels for the model inputs characterizes the spread or dispersion of the distribution of predicted label values, thus defining the uncertainty (e.g., uncertainty score) of the machine learning model in generating predicted labels for the model inputs. The covariance between predicted labels of a pair of different model inputs measures the degree of correlation between the predicted labels of that pair of model inputs, and therefore the set of covariances between different pairs of model inputs collectively characterizes the diversity of model inputs in the batch.
[0133] The system can generate the covariance matrix in any of a number of possible ways. (See reference) Figure 5 A sample procedure for generating covariance matrices using an ensemble of machine learning models is described in detail. (Reference) Figure 6 An example procedure for generating a covariance matrix from the covariances between pairs of model parameters in a machine learning model is described in detail. The specific procedure chosen for generating the covariance matrix can depend on the machine learning task under consideration and can be driven, for example, by empirical comparisons of performance, available computing power, and memory resources.
[0134] Optionally, for each pair of model inputs in a batch, the system may adjust (modify) the covariance of that pair of model inputs based on: (i) a quality metric of the first model input in the pair, and (ii) a quality metric of the second model input in the pair (404). A "quality metric" of a model input may characterize the relationship between the value of the predicted label of that model input and the values of the predicted labels of other model inputs in the batch. For example, a quality metric of a model input may be based on the quantile of the value of the predicted label of that model input (i.e., among a set of values including the predicted label values of each model input in the batch). In some implementations, the system adjusts the covariance of each pair of model inputs by multiplying the covariance of each pair of model inputs by: (i) a quality metric of the first model input in the pair, and (ii) a quality metric of the second model input in the pair.
[0135] Intuitively, adjusting covariance based on a quality metric of the model inputs encourages the selection of batches with higher-performing model inputs (e.g., higher-valued predicted labels, where, in this context, higher is understood as better). Batches with lower-performing model inputs (e.g., lower-valued predicted labels) are more likely to be selected if they are associated with high predictive uncertainty. Even if the machine learning model currently estimates the model inputs poorly, model inputs associated with high predictive uncertainty have the potential to become high-performing model inputs. This will be described in more detail below. Figure 10 This demonstrates the effectiveness of using quality metrics to adjust the covariance of each pair of model inputs.
[0136] The system determines the score of the model input batch based on the determinant of the covariance matrix (406). For example, the system can determine the score of the model input batch as the logarithm of the determinant of the covariance matrix. The determinant of the covariance matrix defines a single numerical value that summarizes the covariance matrix and, in particular, characterizes both the predictive uncertainty and variability of the model inputs in the model input batch.
[0137] Figure 4B This is a flowchart of an example process 408 for generating a score for a batch of model inputs based on an approximation of the entropy (information) in the batch. This score characterizes: (i) the uncertainty of the machine learning model in generating predicted labels for model inputs in the candidate batch of model inputs, and (ii) the diversity of these model inputs in the candidate batch of model inputs. For convenience, process 408 will be described as being performed by a system consisting of one or more computers located at one or more locations. For example, a training system appropriately programmed according to this specification (e.g., Figure 1 The training system 100 can execute process 408.
[0138] Figure 4B The ensemble of machine learning models referenced in the description can include any appropriate number of machine learning models, such as 5, 10, or 100. Each machine learning model in the ensemble is different from every other machine learning model in the ensemble, for example, due to different parameter values, different architectures, or both. Several example techniques for generating ensembles of machine learning models are described below.
[0139] In some implementations, the system trains an ensemble of multiple machine learning models in each training iteration, i.e., not just a single machine learning model. Each machine learning model in the ensemble may be trained on a different subset of the training data, or may have different initial parameter values than each other machine learning model in the ensemble, or both.
[0140] In some implementations, the machine learning models include neural networks, and each machine learning model in the ensemble is determined by discarding a corresponding set of parameters from the neural network. Discarding a parameter from the neural network can mean setting the parameter's value to a default value (e.g., zero) or to a random value, such as a value sampled from a Gaussian distribution. The system can randomly sample this set of parameters to be discarded from the neural network to generate each machine learning model in the ensemble. For example, for each parameter in the neural network and each machine learning model in the ensemble, the system can determine whether to discard the parameter from the machine learning model based on sampling from a probability distribution (e.g., a Bernoulli distribution).
[0141] exist Figure 4B In the description, each machine learning model in the ensemble of machine learning models is trained to perform a classification task, that is, to process the model input (based on the values of a set of machine learning model parameters) to generate a classification of the model input. The classification of the model input allows it to be assigned to a corresponding class from a set of possible classes, where the set of possible classes includes a finite number of classes, such as 2 classes, 5 classes, or 10 classes. (See above reference...) Figure 1 Examples of classification tasks are described in more detail.
[0142] For each model input in the batch of model inputs, the system obtains a set of classifications for that model input (410). Each classification of the model input is generated by the corresponding machine learning model in the ensemble of machine learning models, for example, by processing the model input according to the values of that set of model parameters of the machine learning model. Therefore, each model input in the batch of model inputs can be associated with multiple classifications, the number of which is equal to the number of machine learning models in the ensemble of machine learning models.
[0143] For at least some (and possibly all) of the model inputs, the classification set of the model inputs includes multiple distinct categories from the set of possible categories. That is, for at least some model inputs, the classification set of the model inputs does not all assign the model inputs to the same category, but rather includes classifications that assign the model inputs to different categories from the set of possible categories. Variations in model input classification may stem from underlying uncertainties in the classification itself (e.g., if the task of classifying the model inputs has some inherent fuzziness), or from uncertainties in the model parameters of the machine learning models in the ensemble of machine learning models, or both.
[0144] The system can represent the classification set of the model input in the batch as, for example: Classification matrix (represented as) ),in, This refers to the number of model inputs in the batch of model inputs. It refers to the number of machine learning models in the ensemble of machine learning models, and Represents the rows of a matrix and column The elements in the model are defined by the machine learning model. Input to the model The generated categories.
[0145] The system processes the classification matrix for each model input n-tuple from the batch of model inputs (where, And N is the number of model inputs in the batch of model inputs) to generate the probability distribution of the model inputs in the joint classification space of the model input n-tuple (412). The joint classification of the model inputs in the model input n-tuple makes it possible to assign a corresponding class from the set of possible classes to each model input in the model input n-tuple. Therefore, the space of the joint classification can be an n-fold Cartesian product of the sets of possible classes.
[0146] For a given set of n-tuples of model inputs, the probability distribution of the model inputs in the n-tuples over the joint classification space such that a corresponding probability is assigned to each possible joint classification of the model inputs in the n-tuples. The system can determine the probability of a particular joint classification of the model inputs in the n-tuples, for example, by a ratio between: (i) the number of machine learning models in the ensemble that classify each model input in the n-tuples into a category included in the corresponding category assigned to that model input by the joint classification, and (ii) the number of machine learning models in the ensemble.
[0147] For example, for each model input tuple The system can generate the probability distribution of the model input binary pairs on possible joint classifications. ,as follows: in, It is a joint classification of binary groups. ,in, It is the number of categories in the possible category set. Indexing machine learning models for use in ensemble machine learning model compilation. It represents the total number of machine learning models in the ensemble of machine learning models. It is a machine learning model For model input The generated classification, and is Machine learning models For model input The generated categories.
[0148] For each model input n-tuple, the system generates the corresponding joint entropy (414) among the model inputs included in that n-tuple, based on the probability distribution of the model inputs in the joint classification space. For example, for each model input pair... The system can generate model inputs. and joint entropy ,as follows: in, Index the categories in the possible category set, and It is the model input tuple Probability distribution over possible joint classifications.
[0149] The system generates a score for a model input batch by combining the joint entropy of the model input n-tuples in the batch. This score defines an approximation of the entropy of the batch (416). For example, the system can determine the score of the model input batch by summing (and optionally scaling) the joint entropy of the model input n-tuples in the batch. fractions ,as follows: in, It is a positive scaling constant. It is the model input pair. It is the set of model input pairs, and It is the model input tuple The joint entropy. More generally, the system can combine the joint entropy of the model input n-tuples in the batch of input patterns in any suitable way (e.g., in combination with summing the joint entropy or as an alternative), for example, using any suitable manually defined or machine learning operation.
[0150] Generating a score for a batch of model inputs by approximating its entropy allows the score to characterize both the predictive uncertainty and diversity of the model inputs within that batch. Specifically, increasing the predictive uncertainty of the model inputs within a batch may increase the batch's entropy, while increasing the diversity of the model inputs within a batch (e.g., by reducing the correlation between predicted classifications of the model inputs within a batch) may also increase the batch's entropy. Therefore, the batch entropy can jointly encode and characterize both the predictive uncertainty and diversity of the model inputs within a batch. (Note that for any given model input, the entropy of the model input can provide an uncertainty score that defines the uncertainty of the ensemble of the machine learning model when classifying the model input.)
[0151] In implementations where the system generates a probability distribution of each model input in a batch of model inputs on possible joint classifications, the system can then determine the joint entropy among all model inputs in that batch, and this joint entropy can directly define the score of that batch. That is, in these implementations, the step of aggregating joint entropy, as described in step 416 above, can be omitted because there is only a single joint entropy.
[0152] In some cases, the system can generate a more accurate approximation of the batch entropy by referring to the model input n-tuples (where n is a decimal, e.g., n is two, three, or four) to determine the probability distribution and joint entropy. For larger n choices (and especially if n is chosen to be equal to the total number of model inputs in the batch), the probability that each possible joint classification of the model input n-tuples will appear once or never in the classification matrix E increases, which can lead to inaccurate batch entropy estimates.
[0153] Figure 5 This is a flowchart of an example procedure 500 for determining the covariance between predicted labels of a pair of model inputs using an ensemble of machine learning models. For convenience, procedure 500 will be described as being performed by a system consisting of one or more computers located at one or more locations. For example, a training system appropriately programmed according to this specification (e.g., Figure 1 The training system 100 can execute process 500.
[0154] Figure 5 The ensemble of machine learning models referenced in the description can include any appropriate number of machine learning models, such as 5, 10, or 100. Each machine learning model in the ensemble is different from every other machine learning model in the ensemble, for example, due to different parameter values, different architectures, or both. Several example techniques for generating ensembles of machine learning models are described below.
[0155] In some implementations, the system trains an ensemble of multiple machine learning models in each training iteration, i.e., not just a single machine learning model. Each machine learning model in the ensemble may be trained on a different subset of the training data, or may have different initial parameter values than each other machine learning model in the ensemble, or both.
[0156] In some implementations, the machine learning models include neural networks, and each machine learning model in the ensemble is determined by discarding a corresponding set of parameters from the neural network. Discarding a parameter from the neural network can mean setting the parameter's value to a default value (e.g., zero) or to a random value, such as a value sampled from a Gaussian distribution. The system can randomly sample this set of parameters to be discarded from the neural network to generate each machine learning model in the ensemble. For example, for each parameter in the neural network and each machine learning model in the ensemble, the system can determine whether to discard the parameter from the machine learning model based on sampling from a probability distribution (e.g., a Bernoulli distribution).
[0157] Given an ensemble of machine learning models, the system uses each machine learning model in the ensemble to generate the corresponding predicted label (502) for the first model input.
[0158] The system uses each machine learning model in the ensemble to generate the corresponding predicted label (504) for the second model input.
[0159] The system modifies the covariance of the pair of model inputs based on: (i) a set of predicted labels for the first model input, and (ii) a set of predicted labels for the second model input (506). For example, the system can calculate the covariance of the pair of model inputs as follows: in, It is the number of machine learning models in the ensemble. It is a machine learning model The generated predicted labels are the first input to the model. It is the mean of the predicted labels input to the first model. It is a machine learning model The generated second model input predicted label, and It is the mean of the predicted labels input to the second model.
[0160] Figure 6This is a flowchart of an example procedure 600 for determining the covariance between predicted labels of a pair of model inputs based on the covariance between pairs of model parameters of a machine learning model. For convenience, procedure 600 will be described as being performed by a system consisting of one or more computers located at one or more locations. For example, a training system appropriately programmed according to this specification (e.g., Figure 1 The training system 100 can execute process 600.
[0161] For each pair of model parameters in a set of model parameters of a machine learning model, the system determines the corresponding covariance between: (i) the first model parameter in the pair, and (ii) the second model parameter in the pair (602). Specifically, each model parameter of the machine learning model is associated with a distribution over the space of possible values of that model parameter, for example, due to the uncertainty of the values of the model parameters. (For example, uncertainty in the values of the model parameters of a machine learning model may arise because the current value of a model parameter defines an uncertain estimate of the “target” value of the model parameter that will globally optimize the objective function). Therefore, each model parameter defines a random variable over the space of possible values of that model parameter. Thus, the “covariance” between a pair of model parameters refers to the covariance between a pair of random variables corresponding to that pair of model parameters. The covariance of each pair of model parameters of the machine learning model can be represented as a covariance matrix, for example, where the elements of the covariance matrix are... Model parameters are defined. With model parameters The covariance between them.
[0162] This system can determine the covariance between pairs of model parameters of a machine learning model in any of a number of possible ways. For example, for each pair of multiple pairs of model parameters from a set of model parameters from a machine learning model, the system can determine the corresponding second derivative of the objective function with respect to that pair of model parameters. (The objective function can be the same as the objective function used during the training of the machine learning model, as referenced above.) Figure 2 The second derivatives of the objective function with respect to each pair of model parameters in the machine learning model can be expressed as Hessian matrices, for example, where the elements of the Hessian matrix are... The objective function is defined with respect to the model parameters. and model parameters The second derivative. Then, the system can determine the covariance matrix of the covariances between each pair of model parameters based on the Hessian matrix. For example, according to the following equation: in, Let represent the Hessian matrix, and This represents the matrix inverse operation.
[0163] In a specific example, the machine learning model can be implemented as a neural network comprising: (i) an embedding subnetwork configured to process the model input to generate an embedding of the model input, and (ii) an output layer configured to process the embedding of the model input to generate a predicted label for the model input. In this example, the system can generate a Hessian matrix of the second derivatives of the objective function with respect to each pair of model parameters of the output layer of the neural network, for example, using second-order backpropagation. The system can then process the Hessian matrix to generate a covariance matrix of the covariances of each pair of model parameters of the output layer of the neural network, for example, according to equation (2).
[0164] The system uses a machine learning model to generate an embedding of the first model input (604). For example, for a machine learning model implemented as a neural network (as described above), the system can process the first model input using an embedding subnetwork of the neural network to generate an embedding of the first model input.
[0165] The system uses a machine learning model to generate an embedding of the second model input (606). For example, for a machine learning model implemented as a neural network (as described above), the system can process the second model input using an embedding subnetwork of the neural network to generate an embedding of the second model input.
[0166] The system uses the following to generate the covariance of the predicted labels for the pair of model inputs: (i) the embedding of the first model input, (ii) the embedding of the second model input, and (iii) the covariance matrix of the covariances of each pair of model parameters of the machine learning model (608). For example, the system can generate the covariance of the predicted labels for the pair of model inputs according to the following equation. : in, It is the embedding of the first model input. It is the covariance matrix of the covariances of the model parameters of the machine learning model, and It is the embedding of the second model input.
[0167] Figure 7 An example of an active learning loop implemented by the training system described in this specification is shown. During each iteration of the active learning loop, the training system selects a batch of model inputs from an unlabeled pool of model inputs (e.g., the target labels may be unknown), obtains the target labels for the selected batch, and trains a machine learning model using at least the selected batch of model inputs and the associated target labels.
[0168] Figure 8 Examples of ligands and proteins are shown. The training system described in this specification can train machine learning models to perform machine learning, for example, processing model inputs characterizing ligands and proteins to generate predictive labels that define the predicted binding affinity of the ligand to the protein.
[0169] Figure 9 A table showing the performance comparisons of various implementations (alternative training systems) of the training system described in this specification is presented. "COVDROP" refers to an implementation of the training system, wherein reference numerals are used. Figure 5 The described process determines a covariance matrix that characterizes the covariance between the predicted labels for each pair of model inputs. "COVLAP" refers to the implementation method of the training system, where a reference... Figure 6 The described process determines the covariance matrix, which characterizes the covariance between the predicted labels for each pair of model inputs. Alternative systems are denoted as "k-means", "BAIT", "Random", and "Chron." "NC" refers to the number of compounds in the corresponding dataset. The numbers in the table (except those in the "%gain" column) define the number of experiments required to achieve threshold prediction accuracy using the corresponding training system on the model inputs from the corresponding dataset. The "%gain" column defines the performance improvement of "COVDROP" (implemented by the training system described in this specification) compared to "Random" (random batch selection strategy).
[0170] Figure 10 An example is shown of selecting batches of model inputs (“selected batches”) from a pool of candidate model inputs (“candidate sequences”) for training a machine learning model. The training system described in this specification can select batches of model inputs for training a machine learning model based on two factors: (i) the uncertainty of the machine learning model in generating predicted labels for the model inputs in the batch, and (ii) the diversity of these model inputs in the candidate batch. The system can implement a batch selection strategy that further encourages the selection of batches of model inputs that are predicted to have higher performance (e.g., higher predicted labels), as referenced... Figures 4A to 4B As stated above. Figure 10 The scatter plot in the diagram shows "predictive performance" (e.g., predicted labels) on the vertical axis and "model uncertainty" (e.g., measured by the variance of the predicted label distribution) on the horizontal axis. It will be understood that, in this example, the training system tends to select model inputs associated with both high model uncertainty and high predictive performance for inclusion in the batch of model inputs used to train the machine learning model.
[0171] This specification uses the term "configuration" when referring to system and computer program components. For a system consisting of one or more computers, being configured to perform a specific operation or action means that the system has software, firmware, hardware, or a combination thereof installed thereon that causes the system to perform those operations or actions when run. For one or more computer programs, being configured to perform a specific operation or action means that the one or more programs include instructions that, when executed by a data processing device, cause that device to perform those operations or actions.
[0172] Embodiments of the subject matter and functional operation described in this specification may be implemented in digital electronic circuits, tangibly embodied computer software or firmware, computer hardware (including the structures disclosed in this specification and their structural equivalents), or a combination thereof. Embodiments of the subject matter described in this specification may be implemented as one or more computer programs (i.e., one or more computer program instruction modules encoded on a tangible non-transitory storage medium) for execution by a data processing apparatus or for controlling the operation of the data processing apparatus. The computer storage medium may be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination thereof. Alternatively or additionally, program instructions may be encoded on artificially generated propagation signals (e.g., machine-generated electrical, optical, or electromagnetic signals) generated to encode information for transmission to a suitable receiver device for execution by the data processing apparatus.
[0173] The term "data processing apparatus" refers to data processing hardware and encompasses all kinds of devices, apparatuses, and machines for processing data, including, for example, programmable processors, computers, or multiple processors or computers. The apparatus may also be or further include special-purpose logic circuitry, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits). In addition to hardware, the apparatus may optionally include code that creates an execution environment for computer programs, such as code constituting processor firmware, protocol stacks, database management systems, operating systems, or combinations thereof.
[0174] Computer programs (which may also be referred to or described as programs, software, software applications, applications, modules, software modules, scripts, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages; and they can be deployed in any form, including as standalone programs or as modules, components, subroutines, or other units suitable for use in a computing environment. A program may, but does not necessarily, correspond to a file in a file system. A program may be stored as a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), as a single file dedicated to the program in question, or as multiple co-located files (e.g., a file storing one or more modules, subroutines, or code portions). A computer program can be deployed to execute on a single computer, or on multiple computers located in one location or distributed across multiple locations and interconnected via a data communication network.
[0175] In this specification, the term "engine" is used broadly to refer to a software-based system, subsystem, or process programmed to perform one or more specific functions. Typically, an engine will be implemented as one or more software modules or components installed on one or more computers located at one or more sites. In some cases, one or more computers will be dedicated to a particular engine; in others, multiple engines may be installed on or run on the same or more computers.
[0176] The processes and logic flows described in this specification can be executed by one or more programmable computers, which execute one or more computer programs to perform functions by manipulating input data and generating output. These processes and logic flows can also be executed by special-purpose logic circuitry (e.g., FPGA or ASIC), or by a combination of special-purpose logic circuitry and one or more programmable computers.
[0177] A computer suitable for executing computer programs can be based on a general-purpose microprocessor or a special-purpose microprocessor or both, or on any other type of central processing unit (CPU). Typically, the CPU receives instructions and data from read-only memory or random access memory or both. The basic components of a computer are the CPU for executing instructions and one or more memory devices for storing instructions and data. The CPU and memory may be supplemented by or incorporated into special-purpose logic circuitry. Typically, a computer will also include one or more mass storage devices (e.g., disks, magneto-optical disks, or optical disks) for storing data, or be operatively coupled to one or more mass storage devices for storing data to receive data from, transfer data to, or both receive and transfer data. However, a computer does not necessarily need to have such a device. Furthermore, a computer can be embedded in another device, such as a mobile phone, personal digital assistant (PDA), mobile audio or video player, game console, GPS receiver, or portable storage device (e.g., a Universal Serial Bus (USB) flash drive).
[0178] Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example: semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
[0179] To provide interaction with the user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including auditory, voice, or tactile input. Additionally, the computer can interact with the user by sending documents to and receiving documents from the device used by the user; for example, by sending a webpage to a web browser on the user's device in response to a request received from a web browser. Furthermore, the computer can interact with the user by sending text messages or other forms of messages to a personal device (e.g., a smartphone running a messaging application) and receiving response messages returned by the user.
[0180] The data processing apparatus used to implement machine learning models may also include, for example, dedicated hardware accelerator units for handling the computationally intensive portions common in machine learning training or production (i.e., inference) workloads.
[0181] Machine learning models can be implemented and deployed using machine learning frameworks such as TensorFlow or Jax.
[0182] Embodiments of the subject matter described in this specification can be implemented in a computing system that includes back-end components (e.g., as a data server), or middleware components (e.g., an application server), or front-end components (e.g., a client computer having a graphical user interface, web browser, or application through which a user can interact with embodiments of the subject matter described in this specification), or any combination of one or more such back-end components, middleware, or front-end components. The components of the system can be interconnected via any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include local area networks (LANs) and wide area networks (WANs) (e.g., the Internet).
[0183] A computing system may include clients and servers. Clients and servers are typically geographically separated and usually interact via a communication network. The client-server relationship arises from computer programs running on respective computers that have a client-server relationship with each other. In some embodiments, the server transmits data (e.g., HTML pages) to a user device acting as a client, for example, to display data to a user interacting with that device and to receive user input from that user. Data generated at the user device (e.g., the result of user interaction) can be received from that device at the server.
[0184] While this specification contains numerous details regarding specific implementations, these details should not be construed as limiting the scope of any invention or the scope of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of a particular invention. Certain features described herein in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, different features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments. Furthermore, although features may be described above as functioning in a certain combination and even initially claimed in this way, in some cases, one or more features from the claimed combination may be removed from that combination, and the claimed combination may involve sub-combinations or variations thereof.
[0185] Similarly, although operations are depicted in a specific order in the accompanying drawings and are also recited in a specific order in the claims, this should not be construed as requiring such operations to be performed in the specific order shown or sequentially, or requiring the performance of all illustrated operations to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system modules and components in the embodiments described above should not be construed as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
[0186] Specific embodiments of this subject matter have been described. Other embodiments fall within the scope of the appended claims. For example, the actions recited in the claims may be performed in a different order and still achieve the desired result. As an example, the processes depicted in the drawings do not necessarily require a specific order or sequence to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous.
Claims
1. A method performed by one or more computers, the method comprising: training a machine learning model by a sequence of training iterations, including, at each of a plurality of training iterations in the sequence of training iterations: selecting a current batch of model inputs for training the machine learning model in that training iteration, wherein the current batch of model inputs includes a plurality of model inputs, wherein selecting the current batch of model inputs includes: generating a set of candidate batches of model inputs; for each candidate batch of model inputs, generating a respective score for that candidate batch of model inputs, the score representing: (i) uncertainty of the machine learning model in generating predicted labels for model inputs in that candidate batch of model inputs, and (ii) diversity of the model inputs in that candidate batch of model inputs; and selecting the current batch of model inputs from the set of candidate batches of model inputs based on the scores; obtaining a respective target label for each model input in the current batch of model inputs, wherein a target label for a model input defines a model output that should be generated by the machine learning model by processing that model input; and training the machine learning model on at least the current batch of model inputs using the target labels for the current batch of model inputs; and outputting the trained machine learning model.
2. The method of claim 1, wherein, generating the score for each candidate batch of model inputs includes: for each pair of model inputs in that candidate batch of model inputs, determining a respective covariance between: (i) a predicted label for a first model input in that pair of model inputs, and (ii) a predicted label for a second model input in that pair of model inputs; and generating the score for that candidate batch of model inputs based on the respective covariances for each pair of model inputs in that candidate batch of model inputs.
3. The method of claim 2, wherein, generating the score for that candidate batch of model inputs based on the respective covariances for each pair of model inputs in that candidate batch of model inputs includes: generating a determinant of a covariance matrix that includes the respective covariances for each pair of model inputs in that candidate batch of model inputs; and determining the score for the candidate batch of model inputs based on the determinant of the covariance matrix.
4. The method of claim 3, wherein, determining the score for the candidate batch of model inputs based on the determinant of the covariance matrix includes: applying a logarithm to the determinant of the covariance matrix.
5. The method of any one of claims 2 to 4, wherein, for each pair of model inputs in that candidate batch of model inputs, determining the covariance for that pair of model inputs includes: generating a plurality of predicted labels for the first model input in that pair of model inputs using an ensemble of the machine learning model; generating a plurality of predicted labels for the second model input in that pair of model inputs using the ensemble of the machine learning model; and determining the covariance for that pair of model inputs based on: (i) the plurality of predicted labels for the first model input, and (ii) the plurality of predicted labels for the second model input.
6. The method of claim 5, wherein, the machine learning model is a neural network, and the ensemble of the machine learning model includes a plurality of modified neural networks, wherein each modified neural network in the ensemble of the machine learning model is a modified version of the neural network.
7. The method of claim 6, wherein, Each modified neural network in the ensemble of the machine learning model is determined by discarding a respective set of parameters from the neural network.
8. The method of any one of claims 2 to 4, wherein, Generating the respective covariance for each pair of model inputs in the batch of model input candidates includes: For each pair of model parameters of the plurality of pairs of model parameters of the machine learning model, determining a respective covariance between: (i) a first model parameter of the pair of model parameters, and (ii) a second model parameter of the pair of model parameters; and Generating the covariances for the pairs of model inputs based on the covariances of pairs of model parameters of the machine learning model.
9. The method of claim 8, wherein, The machine learning model is a neural network that includes: (i) an embedding subnetwork configured to process a model input to generate an embedding of the model input, and (ii) an output layer configured to process the embedding of the model input to generate a predicted label for the model input.
10. The method of claim 9, wherein, Generating the covariances for the pairs of model inputs based on the covariances of pairs of model parameters of the machine learning model includes, for each pair of model inputs including a first model input and a second model input: generating an embedding of the first model input using the embedding subnetwork; generating an embedding of the second model input using the embedding subnetwork; and generating the covariance for the pair of model inputs based on the embedding of the first model input, the embedding of the second model input, and the covariances of pairs of model parameters included in the output layer of the machine learning model.
11. The method of claim 10, wherein, For each pair of model inputs including a first model input and a second model input, generating the covariance for the pair of model inputs includes: computing a matrix product between: (i) the embedding of the first model input, (ii) a covariance matrix including the covariances of pairs of model parameters included in the output layer of the machine learning model, and (iii) the embedding of the second model input.
12. The method of any one of claims 8 to 11, wherein, For each pair of model parameters of the plurality of pairs of model parameters of the machine learning model, determining a respective covariance between: (i) the first model parameter of the pair of model parameters, and (ii) the second model parameter of the pair of model parameters, includes: For each pair of model parameters of the plurality of pairs of model parameters of the machine learning model, determining a respective second derivative of a target function with respect to the pair of model parameters, wherein the machine learning model has been trained to optimize the target function; and processing the second derivatives of the target function with respect to the pairs of model parameters to generate the covariances of the pairs of model parameters.
13. The method of any one of claims 2 to 12, wherein, For each pair of model inputs in the batch of model input candidates, determining the covariance for the pair of model inputs includes: determining a quality metric for a first model input of the pair of model inputs based on a relationship of a value of a predicted label for the first model input relative to values of predicted labels for each other model input in the batch of model input candidates; determining a quality metric for a second model input of the pair of model inputs based on a relationship of a value of a predicted label for the second model input relative to values of predicted labels for each other model input in the batch of model input candidates; and modifying the covariance of the pair of model inputs based on (i) a quality metric of the first model input and (ii) a quality metric of the second model input.
14. The method of claim 13, wherein, the quality metric of the first model input is based on a quantile of a value of a predicted label of the first model input in a set of values that includes respective values of predicted labels of each model input in the batch of model input candidates.
15. The method of claim 13 or claim 14, wherein, the quality metric of the second model input is based on a quantile of a value of a predicted label of the second model input in a set of values that includes respective values of predicted labels of each model input in the batch of model input candidates.
16. The method of any one of claims 13 to 15, wherein, modifying the covariance of the pair of model inputs includes scaling the covariance of the pair of model inputs by the quality metric of the first model input and the quality metric of the second model input.
17. The method of claim 1, wherein, generating, for each batch of model input candidates, a score for the batch of model input candidates includes: obtaining, for each model input in the batch of model input candidates, a set of classifications for the model input, the set of classifications including respective classifications generated by each machine learning model in the ensemble of machine learning models for the model input; and processing the sets of classifications for the model inputs in the batch of model input candidates to generate the score for the batch of model input candidates as an approximation of an entropy of the batch of model input candidates.
18. The method of claim 17, wherein, processing the sets of classifications for the model inputs in the batch of model input candidates to generate the score for the batch of model input candidates as an approximation of an entropy of the batch of model input candidates includes: processing the sets of classifications for the model inputs in the batch of model input candidates to generate, for each model input n-tuple from the batch of model input candidates, a respective probability distribution over a space of possible joint classifications for the model inputs in the model input n-tuple; and processing the probability distributions for the model input n-tuples in the batch of model input candidates to generate the score for the batch of model input candidates.
19. The method of claim 18, wherein, each model input n-tuple is a model input pair that includes a first model input and a second model input from the batch of model input candidates.
20. The method of any one of claims 18-19, wherein, processing the probability distributions for the model input n-tuples in the batch of model input candidates to generate the score for the batch of model input candidates includes: generating, for each model input n-tuple from the batch of model input candidates, a respective joint entropy for the model inputs in the model input n-tuple based on the probability distribution over the space of joint classifications for the model inputs in the model input n-tuple; and generating the score for the batch of model input candidates by combining the joint entropies for the model inputs in the model input n-tuples from the batch of model input candidates.
21. The method of claim 20, wherein, generating the score for the batch of model input candidates by combining the joint entropies for the model inputs in the model input n-tuples from the batch of model input candidates includes: summing the joint entropies for the model inputs in the model input n-tuples from the batch of model input candidates.
22. The method of any preceding claim, further comprising: in each of a plurality of training iterations in the sequence of training iterations: After training the machine learning model on the current batch of model inputs, the machine learning model is prepared for further training in a next training iteration in the sequence of training iterations.
23. The method of any preceding claim, wherein, The machine learning model is a neural network.
24. The method of claim 23, wherein, The neural network includes one or more message passing neural network layers.
25. The method of any preceding claim, wherein, In each of the plurality of training iterations, training the machine learning model on the current batch of model inputs using the respective target labels for the current batch of model inputs includes, for each model input in the current batch of model inputs: training the machine learning model to process the model input to generate a predicted label that matches a target label for the model input.
26. The method of claim 25, wherein, training the machine learning model to process the model input to generate a predicted label that matches a target label for the model input includes: training the machine learning model to optimize an objective function that measures an error between (i) the predicted label generated by the machine learning model for the model input, and (ii) the target label for the model input.
27. The method of any preceding claim, wherein, generating a set of candidate batches of model inputs includes: generating a pool of model inputs; determining a respective uncertainty score for each model input in the pool of model inputs, wherein the uncertainty score for a model input characterizes an uncertainty of the machine learning model in generating a predicted label for the model input; determining a probability distribution over the pool of model inputs using the uncertainty scores for the model inputs; and generating the set of candidate batches of model inputs using the probability distribution over the pool of model inputs.
28. The method of claim 27, wherein, generating the set of candidate batches of model inputs using the probability distribution over the pool of model inputs includes, for each candidate batch of model inputs: sampling each model input included in the candidate batch of model inputs from the pool of model inputs according to the probability distribution over the pool of model inputs.
29. The method of claim 27 or claim 28, wherein, generating the pool of model inputs includes: generating each model input in the pool of model inputs using a generative machine learning model.
30. The method of any preceding claim, wherein, outputting the trained machine learning model includes: storing the trained machine learning model in a memory.
31. The method of any preceding claim, wherein, outputting the trained machine learning model includes: generating a plurality of model inputs; and processing each of the plurality of model inputs using the trained machine learning model to generate a predicted label for the model input.
32. The method of any preceding claim, wherein, In each of the plurality of training iterations, each model input in the current batch of model inputs corresponds to a respective physical entity, and the target label for each model input is generated by operations including: physically generating one or more instances of the physical entity corresponding to the model input; and determining one or more properties of the instances of the physical entity; and determining the target label for the model input based on the properties of the instances of the physical entity.
33. The method of any preceding claim, wherein, the machine learning model is configured to process a model input to generate a predicted label for the model input.
34. The method of claim 33, wherein, the predicted label for the model input includes a numerical value.
35. The method of claim 33 or claim 34, wherein, the model input corresponds to a molecule, and the predicted label for the model input defines a predicted property of the molecule.
36. The method of claim 35, wherein, the model input includes data defining a graph representing a three-dimensional geometric structure of the molecule.
37. The method of claim 35 or claim 36, wherein, The predicted properties of the molecule characterize an absorption of the molecule, or a distribution of the molecule, or a metabolism of the molecule, or an excretion of the molecule, or a toxicity of the molecule.
38. The method of any one of claims 35 to 37, wherein, Outputting the trained machine learning model includes: selecting one or more molecules using the machine learning model; and physically synthesizing the one or more molecules.
39. The method of claim 33 or claim 34, wherein, The model input corresponds to a messenger ribonucleic acid (mRNA) nucleotide sequence, and the predicted label of the model input characterizes a protein generated from the mRNA nucleotide sequence.
40. The method of claim 39, wherein, The predicted label of the model input characterizes a stability of the protein generated from the mRNA nucleotide sequence.
41. The method of claim 39 or claim 40, wherein, The predicted label of the model input characterizes an efficiency of translation of the mRNA nucleotide sequence into the protein.
42. The method of any one of claims 39 to 41, wherein, Outputting the trained machine learning model includes: selecting one or more mRNA nucleotide sequences using the machine learning model; and physically synthesizing the one or more mRNA nucleotide sequences.
43. The method of claim 33 or claim 34, wherein, The model input corresponds to a lipid nanoparticle, and the predicted label of the model input characterizes a performance of the lipid nanoparticle in delivering a drug to a target.
44. The method of claim 43, wherein, Outputting the trained machine learning model includes: selecting one or more lipid nanoparticles using the machine learning model; and physically synthesizing the one or more lipid nanoparticles.
45. The method of claim 33 or claim 34, wherein, The model input corresponds to an amino acid sequence of a capsid protein monomer, and the predicted label of the model input characterizes a predicted quality of the capsid protein.
46. The method of claim 45, wherein, The predicted quality of the capsid protein characterizes a manufacturability of the capsid protein, or an ability of a virus comprising the capsid protein to evade neutralization, or an immunoreactivity of the capsid protein, or an ability of a virus comprising the capsid protein to penetrate a target tissue, or a packaging ability of the capsid protein, or an ability of the capsid protein to integrate into a host genome.
47. The method of claim 45 or claim 46, wherein, Outputting the trained machine learning model includes: selecting one or more amino acid sequences of capsid protein monomers; and physically synthesizing the one or more amino acid sequences of capsid protein monomers.
48. A system comprising: one or more computers; and one or more storage devices communicatively coupled to the one or more computers, wherein the one or more storage devices store instructions that, when executed by the one or more computers, cause the one or more computers to perform operations of the respective method recited in any one of claims 1-46.
49. One or more non-transitory computer storage media storing instructions that, when executed by one or more computers, cause the one or more computers to perform operations of the respective method recited in any one of claims 1-46.