Batch selection policies for training machine learning models using active learning

The batch selection policy in the system addresses inefficiencies in machine learning model training by optimizing batch selection based on uncertainty and diversity, improving predictive accuracy and reducing resource consumption.

JP2026519381APending Publication Date: 2026-06-16SANOFI SA(FR)

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SANOFI SA(FR)
Filing Date
2024-04-19
Publication Date
2026-06-16

AI Technical Summary

Technical Problem

Existing machine learning models face inefficiencies in training due to the need for numerous iterations and costly, time-consuming label acquisition, particularly when dealing with physical entities, and selecting batches based solely on uncertainty can lead to homogeneous training sets, reducing effectiveness.

Method used

A system that trains machine learning models using a batch selection policy that considers both predictive uncertainty and diversity of model inputs, employing covariance matrices and entropy calculations to optimize batch selection, thereby improving predictive accuracy and reducing the number of training iterations.

Benefits of technology

This approach enhances predictive accuracy and reduces resource consumption by efficiently selecting diverse and uncertain batches, minimizing the number of training iterations and label acquisition, thus optimizing computational and experimental resource use.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026519381000001_ABST
    Figure 2026519381000001_ABST
Patent Text Reader

Abstract

A method, system, and apparatus for training a machine learning model, comprising a computer program encoded on a computer storage medium. In one embodiment, the method includes: generating a set of candidate batches of model inputs; generating a score for each candidate batch of model inputs, characterizing (i) the uncertainty of the machine learning model in generating predictive labels for 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; selecting a current batch of model inputs from the set of candidate batches of model inputs based on the scores; and training a machine learning model with respect to at least the current batch of model inputs.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This specification relates to using active learning to train machine learning models. [Background technology]

[0002] A machine learning model receives input and, based on the received input, generates an output, such as a predicted output. Some machine learning models are parametric models, which generate an output based on the received input and the values ​​of the model's parameters.

[0003] Some machine learning models are deep neural network models that employ multiple layers of the model to produce an output for a given input. For example, a deep neural network is a deep machine learning model that includes an output layer and one or more hidden layers, each applying a nonlinear transformation to the input it receives to produce an output. [Overview of the project] [Means for solving the problem]

[0004] This specification describes a system, generally implemented as a computer program on one or more computers in one or more locations, that can train a machine learning model over a sequence of training iterations using a batch selection policy.

[0005] Throughout this specification, “embedding” of an entity (e.g., model input) may refer to a representation of the entity as an ordered set of numbers, such as a vector of numbers, a matrix, or other tensor.

[0006] Throughout this specification, if the first neural network is included in the second neural network, the first neural network may be referred to as a “sub-network” of the second neural network.

[0007] Throughout this specification, “subject” may refer to an animal or a human being.

[0008] Throughout this specification, a “batch” of data elements (e.g., model input to a machine learning model) can refer to a set of data elements, for example, a set of 5, 10, 100, or 1000 data elements.

[0009] Throughout this specification, the "uncertainty" of a machine learning model in generating predictive labels for model inputs can refer to the confidence level of the machine learning model in predictive labels for model inputs.

[0010] Throughout this specification, the "diversity" of model inputs within a batch of model inputs can be characterized by the level of correlation between the predicted labels generated by the machine learning model for the model inputs contained in the batch of model inputs. More specifically, a lower level of correlation between the predicted labels of model inputs within a batch may indicate higher batch diversity, and conversely, a higher level of correlation between the predicted labels of model inputs within a batch may indicate lower batch diversity.

[0011] According to a first aspect, a method is provided which is performed by one or more computers, the method of training a machine learning model over a sequence of training iterations, wherein in each of the multiple training iterations in the sequence of training iterations, the method of 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 multiple model inputs, and the method of selecting a current batch of model inputs comprises generating a set of candidate batches of model inputs, and for each candidate batch of model inputs, (i) the uncertainty of the machine learning model in the predicted labels for the model input in the candidate batch of model inputs, and (ii) the model input in the candidate batch of model inputs Selecting a model input includes generating a score for each candidate batch of model inputs that characterizes the diversity of forces, and selecting a current batch of model inputs from the set of candidate batches of model inputs based on the scores, and obtaining a target label for each model input in the current batch of model inputs, wherein the target label for a model input defines the model output that should be produced by the machine learning model by processing the model inputs, and training a machine learning model with respect to the current batch of model inputs using the target label for the current batch of model inputs, and outputting a trained machine learning model.

[0012] In some implementations, for each candidate batch of model inputs, generating a score for the candidate batch of model inputs involves, for each pair of model inputs in the candidate batch of model inputs, determining the respective covariances 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 candidate batch of model inputs based on the respective covariances for each pair of model inputs in the candidate batch of model inputs.

[0013] In some implementations, generating a score for a candidate batch of model inputs based on the respective covariances for each pair of model inputs within the candidate batch of model inputs includes generating the determinant of a covariance matrix containing the respective covariances for each pair of model inputs within 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 a candidate batch of model inputs based on the determinant of the covariance matrix involves 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 a candidate batch of model inputs involves using an ensemble of machine learning models to generate multiple predictive labels for the first model input in the pair of model inputs, using an ensemble of machine learning models to generate multiple predictive labels for the second model input in the pair of model inputs, and determining the covariance of the pair of model inputs based on (i) the multiple predictive labels for the first model input and (ii) the multiple predictive labels for the second model input.

[0016] In some implementations, a machine learning model is a neural network, an ensemble of machine learning models includes multiple modified neural networks, and each modified neural network within the ensemble of machine learning models is a modified version of a neural network (for example, having a different network topology).

[0017] In some implementations, each modified neural network within an ensemble of machine learning models is determined by dropping each set of parameters from the neural network.

[0018] In some implementations, generating the respective covariance for each pair of model inputs in a candidate batch of model inputs involves, for each of several pairs of model parameters of a machine learning model, (i) determining the respective covariance between the first model parameter of the pair of model parameters and (ii) the second model parameter of the pair of model parameters, and generating the covariance for the pair of model inputs based on the covariance for the pair of model parameters of the machine learning model.

[0019] In some implementations, a machine learning model is a neural network comprising (i) an embedding subnetwork configured to process the model input and generate an embedding of the model input, and (ii) an output layer configured to process the embedding of the model input and generate a predicted label for the model input.

[0020] In some implementations, generating covariance over pairs of model inputs based on covariance over pairs of model parameters of a machine learning model includes, for each pair of model inputs including a first model input and a second model input, generating an embedding for the first model input using an embedding subnetwork, generating an embedding for the second model input using an embedding subnetwork, and generating covariance over pairs of model parameters included in the first model input embedding, the second model input embedding, and 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 involves (i) calculating the matrix product between the embedding of the first model input, (ii) a covariance matrix containing the covariance of the pairs 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 a machine learning model, determining the 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 includes, for each of the plurality of pairs of model parameters of the machine learning model, determining the respective second derivative of an objective function with respect to the pair of model parameters, where the machine learning model is trained to optimize the objective function, and processing the second derivative of the objective function with respect to the pair of model parameters to generate the covariance of the pair of model parameters.

[0023] In some implementations, for each pair of model inputs within a candidate batch of model inputs, determining the covariance of the pair of model inputs includes determining a quality measure of a first model input within the pair of model inputs based on the value of the predicted label of the first model input relative to the values of the predicted labels of each other model input within the candidate batch of model inputs, determining a quality measure of a second model input within the pair of model inputs based on the value of the predicted label of the second model input relative to the values of the predicted labels of each other model input within the candidate batch of model inputs, and modifying the covariance of the pair of model inputs based on (i) the quality measure of the first model input and (ii) the quality measure of the second model input.

[0024] In some implementations, the quality measure of the first model input is based on the quantile of the value of the predicted label of the first model input within a set of values that includes the respective values of the predicted labels of each model input within the candidate batch of model inputs.

[0025] In some implementations, the quality measure of the second model input is based on the quantile of the value of the predicted label of the second model input within a set of values that includes the respective values of the predicted labels of each model input within the candidate batch of model inputs.

[0026] In some implementations, modifying the covariance of a pair of model inputs includes scaling the covariance of the pair of model inputs by a quality measure of a first model input and a quality measure of a second model input.

[0027] In some implementations, the method further includes, for each of a plurality of training iterations within a sequence of training iterations, training a machine learning model on a current batch of model inputs and then providing the machine learning model for further training in a next training iteration in the sequence of training iterations.

[0028] In some implementations, the machine learning model is a neural network.

[0029] In some implementations, the neural network comprises one or more message passing neural network layers.

[0030] In some implementations, for each of a plurality of training iterations, training the machine learning model on at least the current batch of model inputs using a target label for the current batch of model inputs includes training the machine learning model to process a model input in the current batch of model inputs to generate a predicted label that matches the target label of the model input.

[0031] In some implementations, training the machine learning model to process a model input to generate a predicted label that matches the target label for the model input includes training the machine learning model to optimize an objective function that measures an error between (i) a predicted label generated by the machine learning model for the model input and (ii) the target label for the model input.

[0032] In some implementations, generating a set of candidate batches of model inputs includes generating a pool of model inputs, determining an uncertainty score for each model input in the model input pool, the uncertainty score of a model input characterizing the uncertainty of the machine learning model in generating predictive labels for the model inputs, determining a probability distribution across the pool of model inputs using the uncertainty scores for the model inputs, and generating a set of candidate batches of model inputs using the probability distribution across the pool of model inputs.

[0033] In some implementations, generating a set of candidate batches of model inputs using a probability distribution across a pool of model inputs involves, for each candidate batch of model inputs, sampling each model input included in the candidate batch from the pool of model inputs according to the probability distribution across the pool of model inputs.

[0034] In some implementations, generating a pool of model inputs involves using a generative machine learning model to generate each model input in the pool.

[0035] In some implementations, outputting a trained machine learning model involves storing the trained machine learning model in memory.

[0036] In some implementations, outputting a trained machine learning model involves generating multiple model inputs and using the trained machine learning model to process each of the multiple model inputs to generate predicted labels for the model inputs.

[0037] In some implementations, in each of multiple training iterations, each model input in the current batch of model inputs corresponds to a physical entity, and the target label for each model input is generated by an operation that includes 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, machine learning models are configured to process model inputs and generate predicted labels for those inputs.

[0039] In some implementations, the predicted labels in the model input include numerical values.

[0040] In some implementations, the model input corresponds to a molecule, and the predicted labels of the model input define the predicted properties of the molecule.

[0041] In some implementations, the model input includes data that defines a graph representing the three-dimensional geometric structure of the molecule.

[0042] In some implementations, the predictive properties of a molecule characterize its absorption, distribution, metabolism, efflux, or toxicity.

[0043] In some implementations, outputting a trained machine learning model involves using the machine learning model to select one or more molecules and physically synthesizing one or more molecules.

[0044] In some implementations, the model input corresponds to a sequence of messenger ribonucleic acid (mRNA) nucleotides, and the predicted labels for the model input characterize the proteins generated from the mRNA nucleotide sequence.

[0045] In some implementations, the predicted labels of the model input characterize the stability of the protein generated from the mRNA nucleotide sequence.

[0046] In some implementations, the predicted labels of the model input characterize the efficiency of translating the mRNA nucleotide sequence to produce a protein.

[0047] In some implementations, outputting a trained machine learning model involves using the machine learning model to select one or more mRNA nucleotide sequences and physically synthesizing one or more mRNA nucleotide sequences.

[0048] In some implementations, the model input corresponds to lipid nanoparticles, and the predicted labels of the model input characterize the performance of the lipid nanoparticles in delivering drugs to their targets.

[0049] In some implementations, outputting a trained machine learning model involves using the machine learning model to select one or more lipid nanoparticles and to physically synthesize 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 predicted labels for the model input characterize the predicted quality of the capsid protein.

[0051] In some implementations, the expected quality of a capsid protein is characterized by its manufacturability, its ability to evade neutralization of viruses containing the capsid protein, its immunoreactivity, its ability to penetrate target tissues of viruses containing the capsid protein, its ability to fill, or its ability to integrate into the host genome.

[0052] In some implementations, outputting a trained machine learning model involves selecting one or more amino acid sequences of capsid protein monomers and physically synthesizing one or more amino acid sequences of capsid protein monomers.

[0053] In some implementations, generating a score for each candidate batch of model inputs involves obtaining a set of classifications for the model inputs, which for each model input in the candidate batch of model inputs includes the respective classifications generated for the model input by each machine learning model in the ensemble of machine learning models, and processing the set of classifications for the 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.

[0054] In some implementations, processing a set of classifications of model inputs within a 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, for each n tuple of model inputs from the candidate batch of model inputs, processing a set of classifications of model inputs within a candidate batch of model inputs to generate a respective probability distribution across the space of possible simultaneous classifications of model inputs within the n tuples of model inputs, and processing a probability distribution for the n tuples of model inputs within the candidate batch of model inputs to generate a score for the candidate batch of model inputs.

[0055] In some implementations, each n-tuple of model inputs is a 2-tuple of model inputs, containing a first model input and a second model input from a candidate batch of model inputs.

[0056] In some implementations, processing the probability distribution of n tuples of model inputs within a candidate batch of model inputs to generate a score for the candidate batch of model inputs involves, for each n tuple of model inputs from the candidate batch of model inputs, generating the combined entropy of each model input within the n tuple of model inputs based on the probability distribution across the space of simultaneous classification of the model inputs within the n tuple of model inputs, and then generating a score for the candidate batch of model inputs by combining the combined entropies of the model inputs within the n tuple of model inputs from the candidate batch of model inputs.

[0057] In some implementations, generating a score for a candidate batch of model inputs by combining the combined entropies of the model inputs within the n-tuple of model inputs from the candidate batch of model inputs involves summing the combined entropies of the model inputs within the n-tuple of model inputs from the candidate batch of model inputs.

[0058] In another embodiment, a system is provided, comprising one or more computers and one or more storage devices communicably coupled to one or more computers, wherein one or more storage devices, when executed by one or more computers, store instructions causing one or more computers to perform operations as described herein.

[0059] In another embodiment, when executed by one or more computers, one or more non-temporary computer storage media are provided that store instructions causing one or more computers to perform operations of the method described herein.

[0060] Certain embodiments of the subject matter described herein may be implemented to achieve one or more of the following advantages:

[0061] The system described herein can train a machine learning model over a sequence of training iterations to perform a machine learning task. In each training iteration, the system selects a new batch of model inputs and obtains a target label for each model input in the current batch of model inputs. The label of a model input defines the model output that should be produced by the machine learning model by processing the model input. The system can then train a machine learning model on all inputs from all batches labeled with the target label of the model input.

[0062] The system implements a policy for selecting the current batch of model inputs at each training iteration to improve the predictive accuracy of the machine learning model, reduce the number of training iterations required to train the machine learning model, and reduce the total number of inputs for which labels are needed. Reducing the number of training iterations required to train a machine learning model can enable more efficient use of resources. For example, training a machine learning model at each training iteration requires computational resources (e.g., memory and computing power), and therefore reducing the number of training iterations can reduce the consumption of computational resources during training. Furthermore, obtaining target labels for model inputs at each training iteration can be time-consuming and costly, for example, if generating target labels for model inputs may require performing physical experiments. In some cases, model inputs may represent physical entities (e.g., molecules, or sequences of messenger ribonucleic acid (mRNA) nucleotides, or 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 entities. Therefore, reducing the number of training iterations required to train a machine learning model can reduce the consumption of resources needed to obtain target labels for the model input.

[0063] To select the current batch of model inputs for training a machine learning model in training iterations, the system generates a set of candidate batches of model inputs and determines a score for each candidate batch of model inputs. The scores of the candidate batches of model inputs characterize both (i) the uncertainty of the machine learning model in generating predictive labels for the model inputs within the candidate batch of model inputs, and (ii) the diversity of the model inputs within the candidate batch of model inputs. The system uses the scores to select the current batch of model inputs from the set of candidate batches of model inputs, for example, by selecting the batch of model inputs with the highest score. The search for top-scoring batches is performed by generating a set of batches, each containing a set of model inputs. The model inputs in a batch are sampled according to their weights based on the uncertainty assigned to their labels. 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 with model inputs (features) associated with high levels of uncertainty can rapidly improve the predictive accuracy of the model. However, selecting model inputs to include in a batch of model inputs based solely on the predictive uncertainty associated with each individual model input can result in a homogeneous batch of model inputs, i.e., a batch containing many similar or nearly identical model inputs. Training a machine learning model against a homogeneous batch of model inputs may be less effective than training it against a diverse batch of model inputs, and may completely miss very high-scoring inputs that are not included in any batch. To address this, the system implements a policy for selecting batches of model inputs in each training iteration that considers both the predictive uncertainty associated with each individual model input and the overall diversity of the batch of model inputs.

[0065] Specifically, the system can generate a score for a candidate batch of model inputs by generating a covariance matrix that represents the covariance between the predicted labels associated with each pair of model inputs within the candidate batch of model inputs. The system can use various methods to generate such covariances, for example, based on stochastic dropout or Laplace approximation. The system can apply transformation operations, such as determinant operations, to the covariance matrix to generate a score for the batch of model inputs that characterizes both the predicted uncertainty and diversity of the batch of model inputs.

[0066] Furthermore, in implementations where a machine learning model is configured to perform a classification task, the system can generate a score for a batch of model inputs by determining the combined entropy of n tuples of model inputs from a batch of model inputs (where n can be, for example, 2, or any suitable integer greater than 2). The system can then combine the entropies of n tuples of model inputs from the batch of model inputs to generate a score that approximates the entropy of the batch of model inputs, thus characterizing both the predictive uncertainty and diversity of the batch of model inputs.

[0067] Scoring candidate batches of model input in this way defines a policy for selecting batches of model input that can improve the predictive accuracy of the machine learning model and reduce the number of training iterations required to train the machine learning model.

[0068] Details of one or more embodiments of the subject matter described herein are shown in the accompanying drawings and the following description. Other features, aspects, and advantages of the subject matter will become apparent from the description, drawings, and claims. [Brief explanation of the drawing]

[0069] [Figure 1] This is a diagram illustrating an exemplary training system. [Figure 2]This is an illustrative process flowchart for training a machine learning model using a batch selection policy. [Figure 3] This is a flowchart illustrating an exemplary process for generating a set of candidate batches for model input. [Figure 4A] This is a flowchart illustrating an exemplary process for generating scores for batches of model inputs based on a covariance matrix, which characterizes (i) the uncertainty of the machine learning model in generating predictive labels for model inputs within a candidate batch of model inputs, and (ii) the diversity of model inputs within a candidate batch of model inputs. [Figure 4B] This is a flowchart illustrating an exemplary process for generating scores for batches of model inputs based on an approximation of entropy (information) within a batch, which characterizes (i) the uncertainty of the machine learning model in generating predictive labels for model inputs within candidate batches of model inputs, and (ii) the diversity of model inputs within candidate batches of model inputs. [Figure 5] This is an illustrative process flowchart for determining the covariance between predicted labels of a pair of model inputs using an ensemble of machine learning models. [Figure 6] This is a flowchart illustrating an exemplary 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. [Figure 7] An example of an active learning loop implemented by a training system is shown. [Figure 8] Examples of ligands and proteins are shown. [Figure 9] This specification presents a table comparing the performance of various implementations of the training system described herein with alternative training systems. [Figure 10] This example shows how to select a batch of model inputs from a pool of candidate model inputs to train a machine learning model. [Modes for carrying out the invention]

[0070] Similar reference numbers and names in various drawings refer to the same elements.

[0071] Figure 1 shows an exemplary training system 100. Training system 100 is an example of a system implemented as a computer program on one or more computers in one or more locations where the systems, components, and techniques described below are implemented.

[0072] The training system 100 trains a machine learning model 112 over a sequence of training iterations to perform a machine learning task, and in particular, processes the model input according to the values ​​of a set of machine learning model parameters to generate predicted labels for the model input.

[0073] The training system 100 can train a machine learning model 112 to perform any suitable machine learning task. Some examples of possible machine learning tasks are described below.

[0074] In some implementations, the machine learning model 112 may be configured to process model inputs containing data characterizing molecules to generate predictive labels that define one or more predictive properties of the molecules. For example, the predictive labels may characterize one or more of the following: absorption of molecules in a target, distribution of a set of molecules in a target, metabolism of a set of molecules in a target, excretion of molecules in a target, or toxicity of molecules in a target.

[0075] In some implementations, the machine learning model 112 can be configured to process model inputs that characterize messenger ribonucleic acid (mRNA) nucleotide sequences and generate predictive labels that characterize the proteins produced from the mRNA nucleotide sequences. For example, the predictive labels may characterize the predicted stability of the proteins produced from the mRNA nucleotide sequences, or the efficiency of translating the mRNA nucleotide sequences to produce the corresponding proteins.

[0076] In some implementations, the machine learning model 112 can be configured to process model inputs characterizing non-coding ribonucleic acid (ncRNA) nucleotide sequences and generate predictive labels for the ncRNA sequences. For example, the predictive labels can classify the ncRNA sequence into a set of possible types of ncRNA, such as miRNA, srRNA, lncRNA, etc. Another example is that the predictive labels can classify whether the ncRNA sequence is associated with a particular disease (e.g., cancer). Another example is that the predictive labels can characterize the predicted expression levels of the ncRNA sequence under different conditions or in different tissues.

[0077] In some implementations, the machine learning model 112 can be configured to process model inputs characterizing lipid nanoparticles to generate predictive labels that characterize the performance of the lipid nanoparticles in delivering drugs to targets. More specifically, the predictive labels can characterize, for example, the proportion of drug delivered to the target by lipid nanoparticles reaching the target in the subject. The target may be, for example, a target organ in the subject (e.g., the liver, or the brain, or the kidneys).

[0078] In some implementations, the machine learning model 112 can be configured to process model inputs characterizing the amino acid sequence of the capsid protein monomer to generate predictive labels characterizing the predictive quality of the capsid protein. More specifically, the predictive labels can 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 tissues, or the filling ability of the capsid protein, or the ability of the capsid protein to integrate into the host genome.

[0079] Model input to a machine learning model can be represented in any suitable way. For example, model input to a machine learning model can include graph data representing a graph characterizing a set of one or more molecules. The graph can include a set of nodes and a set of edges, where each edge in the graph connects each pair of nodes in the graph. For example, each node in the graph can represent each atom in the set of molecules, and each edge in the graph can represent the relationship between corresponding pairs of atoms in the set of molecules. For example, an edge can represent that corresponding pairs of atoms are separated by less than a given threshold distance, or that a bond exists between corresponding pairs of 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 a feature that defines the three-dimensional (3D) spatial position of the atom represented by the node, so that the graph characterizes the 3D geometric structure of the set of molecules. As another example, model input to a machine learning model can include a string-based representation of a set of one or more molecules. A string-based representation can be, for example, a Simplified Molecular Input Line Input System (SMILES) string.

[0080] A machine learning model can be any suitable type of machine learning model and can have any suitable machine learning model architecture. For example, a machine learning model may include one or more of the following: a neural network, or a decision tree, or a random forest, or a support vector machine. In implementations where a machine learning model includes one or more neural networks, each neural network may include any suitable number (e.g., 5, 10, or 100 layers) of any suitable type of neural network layer (e.g., fully connected layers, message passing layers, convolutional layers, attention layers, etc.) connected in any suitable configuration (e.g., as a directed graph of layers). Specific exemplary implementations of a machine learning model as a neural network are described in more detail below with reference to Figure 6.

[0081] The training system 100 includes a batch generation engine 102, a labeling engine 104, and a training engine 110, each of which is described in more detail below.

[0082] The batch generation engine 102 is configured to select each current batch of model inputs for training the machine learning model in each training iteration within a sequence of training iterations. The batch generation engine 102 implements a policy for selecting the current batch of model inputs that takes into account both the predictive uncertainty associated with each individual model input and the diversity of the current batch of model inputs as a whole.

[0083] 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 the candidate batch of model inputs that characterizes both (i) the uncertainty of the machine learning model 112 in generating predictive labels for the model inputs within the candidate batch of model inputs, and (ii) the diversity of the model inputs within the candidate batch of model inputs. The batch generation engine 102 can then select the current batch of model inputs from the set of candidate batches of model inputs based on the scores, for example, by selecting the candidate batch of model inputs associated with the highest score as the current batch of model inputs.

[0084] The system can generate scores for candidate batches of model inputs that characterize together the predictive uncertainty and diversity of the model inputs within a batch, using one of several possible methods. Exemplary techniques for scoring candidate batches of model inputs are described in more detail below with reference to Figures 4A and 4B.

[0085] The labeling engine 104 is configured to acquire a target label 108 for each model input in the current batch of model inputs in each training iteration within a sequence of training iterations. The target label 108 for a model input defines the model output that should be generated by the machine learning model 112 by processing the model input.

[0086] The labeling engine 104 can obtain target labels 108 for the model inputs in the current batch of model inputs 106 by any of the various possible methods. Several exemplary techniques for obtaining target labels 108 for model inputs are described below.

[0087] For example, the labeling engine 104 may provide instructions, for example, via a user interface or application programming interface (API) made available by the system 100, that one or more physical experiments should be performed to obtain a target label 108. In some cases, the model input may represent a physical entity (e.g., a molecule, or a sequence of messenger ribonucleic acid (mRNA) nucleotides, or lipid nanoparticles, or an amino acid sequence of a capsid protein monomer), and determining a target label for a model input may require physically synthesizing and testing the properties of one or more instances of the physical entity. The labeling engine 104 may receive experimental results, for example, via a user interface or API, and based on the experimental results, it may associate each model input in the current batch 106 with its respective target label.

[0088] As another example, the labeling engine 104 may perform a numerical simulation to obtain target labels 108 for the current batch of model inputs 106. The numerical simulation may include, for example, molecular dynamics (MD) simulations, or quantum mechanics / molecular mechanics (QM / MM) simulations, or density functional theory (DFT) simulations.

[0089] The training engine 110 is configured to train the machine learning model 112 on at least the current batch of model inputs 106 using the target label 108 for the current batch of model inputs 106 in each training iteration. Optionally, the training engine 110 can also train the machine learning model 112 with model inputs and target labels obtained in any previous training iteration.

[0090] Training the machine learning model 112 on the model input may include training the machine learning model 112 to reduce the discrepancy between (i) the predicted labels generated by the machine learning model 112 on the model input and (ii) the target labels 108 on 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 on the model input and (ii) the target labels on the model input. The objective function may measure the error between the predicted labels and the target labels by, for example, cross-entropy loss, or squared error loss, or hinge loss, or by any other suitable method.

[0091] The training engine 110 can train the machine learning model 112 using any appropriate machine learning training technique. For example, in the case of a machine learning model 112 implemented as a neural network, the 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 with respect to the predicted labels, determining the gradient of the objective function with respect to the set of neural network parameters of the neural network, and using the gradient to adjust the current values ​​of the set of neural network parameters. The training engine 110 can determine the gradient of the objective function using, for example, backpropagation, and adjust the current values ​​of the neural network parameters based on the gradient using an appropriate gradient descent optimization technique, such as RMSprop or Adam update rules.

[0092] 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 over a data communication network. The trained machine learning model 112 can be defined by data specifying the architecture of the machine learning model 112 and the trained values ​​of the set of model parameters of the machine learning model.

[0093] The downstream system can use a machine learning model trained in one of several possible ways. Several exemplary applications of trained machine learning models are described below.

[0094] In some implementations, a machine learning model is configured to process model inputs that characterize molecules and generate predictive labels that define the predictive properties of the molecules. In these implementations, a downstream system can use the trained machine learning model to select one or more molecules for physical synthesis. For example, the downstream system can use the trained machine learning model to generate a predictive label for each molecule in a set of candidate molecules. The downstream system can rank the candidate molecules based on their predictive labels and then select one or more molecules for physical synthesis based on the ranking, for example, by selecting one or more of the highest-ranked molecules for physical synthesis. The selected molecules can then be physically synthesized.

[0095] In some implementations, a machine learning model is configured to process model inputs characterizing mRNA nucleotide sequences and generate predictive labels that characterize the properties (e.g., stability or translation efficiency) of proteins produced from those mRNA nucleotide sequences. In these implementations, a downstream system can use the trained machine learning model to select one or more mRNA nucleotide sequences for physical synthesis. For example, the downstream system can use the trained machine learning model to generate a predictive label 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 labels and select one or more top-ranked mRNA nucleotide sequences for physical synthesis. The selected mRNA nucleotide sequences can then be physically synthesized.

[0096] In some implementations, a machine learning model is configured to process model inputs characterizing lipid nanoparticles and generate predictive labels that characterize the performance of the lipid nanoparticles in delivering a drug to a target. In these implementations, a downstream system can use the trained machine learning model to select one or more lipid nanoparticles for physical synthesis. For example, the downstream system can use the trained machine learning model to generate a 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 select one or more top-ranked lipid nanoparticles for physical synthesis. The selected lipid nanoparticles can then be physically synthesized.

[0097] In some implementations, the machine learning model is configured to process model inputs characterizing the amino acid sequences of the capsid protein monomers to generate predictive labels that characterize the predictive quality of the capsid protein (as described above). In these implementations, downstream systems can use the trained machine learning model to select one or more amino acid sequences of the capsid protein monomers for synthesis. For example, a downstream analysis system can use the trained machine learning model to generate predictive labels 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 labels and select one or more top-ranked amino acid sequences for physical synthesis. The selected amino acid sequences can then be physically synthesized and optionally aggregated to form a capsid protein.

[0098] In some implementations, a machine learning model is configured to perform a classification task, that is, to process the model input and generate a classification of the model input, assigning it to each class from a finite set of possible classes. The finite set of possible classes can include any appropriate number of classes, for example, two classes, five classes, or ten classes. Some examples of possible classification tasks are described below.

[0099] In one example, a machine learning model is configured to process model inputs that characterize molecules and generate molecular classifications that define whether the molecules bind to a particular protein target.

[0100] In another example, a machine learning model is configured to process model inputs that characterize molecules and generate molecular classifications that define whether or not the molecules can cross the blood-brain barrier.

[0101] In another example, a machine learning model is configured to process model inputs that characterize molecules and generate a classification of those molecules that defines whether they possess at least a threshold level of toxicity (e.g., causing the molecule to fail a clinical trial).

[0102] In another example, a machine learning model is configured to process model inputs that characterize molecules and generate molecular classifications that define whether a molecule blocks a particular gene.

[0103] In another example, a machine learning model is configured to process model inputs that characterize molecules and generate classifications of molecules that define whether the molecules treat a particular disease, such as acquired immunodeficiency syndrome (AIDS) or SARS-CoV-2.

[0104] In another example, a machine learning model is configured to process model inputs that characterize molecules and generate molecular classifications that define whether the molecules will trigger an immune response when administered to a target with a drug.

[0105] Figure 2 is a flowchart of an exemplary process 200 for training a machine learning model using a batch selection policy. For convenience, process 200 is described as being executed by one or more computer systems located in one or more locations. For example, a training system appropriately programmed according to this specification, e.g., training system 100 in Figure 1, can execute process 200.

[0106] Steps 202–212 of process 200 are performed in each training iteration in a sequence of one or more training iterations. For convenience, the following description refers to the "current" training iteration in the sequence of training iterations.

[0107] The system generates a set of candidate batches of model inputs to a machine learning model (202). The system can generate any appropriate number of candidate batches, for example, 10 candidate batches, or 1,000 candidate batches, or 1,000,000 candidate batches. Each candidate batch can contain any appropriate number of model inputs, for example, 10 model inputs, or 50 model inputs, or 100 model inputs. An exemplary process for generating a set of candidate batches of model inputs is described in detail with reference to Figure 3.

[0108] The system generates a score for each candidate batch of model inputs (204). The scores for the candidate batches of model inputs characterize (i) the uncertainty of the machine learning model in generating predictive labels for the model inputs within the candidate batch of model inputs, and (ii) the diversity of the model inputs within the candidate batch of model inputs. An exemplary process for generating scores that characterize the predictive uncertainty and diversity of the candidate batches of model inputs is described in detail with reference to Figures 4A and 4B.

[0109] The system selects the current batch of model inputs to train the machine learning model in the current training iteration based on the scores of candidate batches of model inputs (206). For example, the system may select a candidate batch of model inputs associated with the highest score from a set of candidate batches of model inputs. Optionally, as part of selecting the current batch of model inputs, the system may select one or more candidate batches of model inputs (e.g., associated with the highest score), and then optimize the batches element by element, making several passes until each batch reaches equilibrium, for example, by modifying the first model input in the batch to optimize the score associated with the batch, then modifying the second model input in the batch to optimize the score associated with the batch, and so on. The system may then select the batch of model inputs associated with the highest score as the current batch of model inputs to train the machine learning model in the current training iteration.

[0110] The system obtains a target label for each model input in the current batch of model inputs (208). The target label for a model input defines the model output that should be produced by the machine learning model by processing the model input. The target label for a model input can be generated, for example, by physically synthesizing one or more instances of the entity (e.g., a molecule) corresponding to the model input, determining one or more properties of the physically synthesized instances of the entity, and determining the target label for the model input based on the properties. As another example, the system can determine the target label for a model input by performing one or more numerical simulations (as described above with reference to Figure 1).

[0111] The system trains a machine learning model on at least the current batch of model inputs using target labels for the current batch of model inputs (210). Optionally, the system may train a machine learning model on (i) the current batch of model inputs and (ii) a batch of model inputs selected in either a preceding training iteration.

[0112] The system determines whether the termination criteria for ending training of the machine learning model have been met (212). The system may determine that the termination criteria have been met, for example, if a predefined number of training iterations have been performed, or if the performance of the machine learning model (e.g., prediction accuracy) when evaluated on a set of validation data exceeds a threshold.

[0113] In response to determining that the termination criteria have been met, the system outputs a trained machine learning model (214).

[0114] In response to determining that the termination criteria have not been met, the system returns to step (202) and proceeds to the next training iteration.

[0115] Figure 3 is a flowchart of an exemplary process 300 for generating a set of candidate batches of model inputs. For convenience, process 300 is described as being performed by a system of one or more computers located in one or more locations. For example, a training system appropriately programmed according to this specification, e.g., training system 100 in Figure 1, can perform process 300.

[0116] The system obtains a pool of model inputs (302). In some cases, the system obtains a predetermined pool of model inputs in the form of an existing database, such as molecules, amino acid sequences, or lipid nanoparticles. In other cases, the system generates a pool of model inputs using a generative model, such as a machine learning model that can be queried to generate a sample from a spatial distribution of possible model inputs. The generative model may be, for example, a diffusion-based neural network model, a generative adversarial neural network, or a flow-based model.

[0117] The system determines an uncertainty score for each model input in the pool of model inputs (304). The uncertainty score for a model input characterizes the uncertainty of the machine learning model in generating the predictive labels for the model input. An exemplary process for generating uncertainty scores for model inputs is described in more detail below with reference to Figures 4A and 4B.

[0118] The system uses uncertainty scores for model inputs to determine a probability distribution across a pool of model inputs (306). To generate the probability distribution, the system can generate a quantile distribution across the pool of inputs, assigning each quantile value that defines the quantile of the uncertainty score for the model inputs to each model input. The system can then process the quantile distribution, for example, with a softmax function, to generate a probability distribution across the set of model inputs.

[0119] The system generates a set of candidate batches of model inputs using a probability distribution across a pool of model inputs (308). For example, for each candidate batch of model inputs, the system can sample each model input included in the candidate batch of model inputs according to the probability distribution across the pool of model inputs.

[0120] Figure 4A is a flowchart of an exemplary process 400 for generating scores for batches of model inputs based on a covariance matrix, which characterizes (i) the uncertainty of the machine learning model in generating predictive labels for model inputs in a candidate batch of model inputs, and (ii) the diversity of model inputs in a candidate batch of model inputs. For convenience, process 400 is described as being performed by a system of one or more computers located in one or more locations. For example, a training system appropriately programmed according to this specification, e.g., training system 100 in Figure 1, can perform process 400.

[0121] The system determines, for each pair of model inputs in a batch of model inputs, the respective covariances 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 (402). In particular, the predicted labels of model inputs are associated with a distribution across the space of possible values ​​of the predicted labels, for example, as a result of uncertainty in the parameter values ​​of a machine learning model. (Uncertainty in the parameter values ​​of a machine learning model may arise, for example, because the current parameter values ​​of the machine learning model define uncertain estimates of the “target” parameter values ​​of the machine learning model that globally optimize the objective function). Thus, the predicted labels of model inputs define a random variable across the space of possible values ​​of the predicted labels. Therefore, the “covariance” between the predicted labels of a pair of model inputs refers to the covariance between the pair of random variables corresponding to the pair of model inputs. The covariance of a pair of model inputs in a batch can be represented as a covariance matrix, for example, entry (i,j) of the covariance matrix defines the covariance of model input i and model input j in the candidate batch of model inputs.

[0122] The covariance matrix characterizes both the predictive uncertainty and diversity of model inputs within a batch of model inputs. In particular, the covariance between the predicted labels of identical pairs of model inputs defines the variance of the predicted labels of the model inputs. The variance of the predicted labels of the model inputs characterizes the spread or variance of the distribution of the predicted label values ​​of the model inputs, and therefore defines the uncertainty of the machine learning model in generating the predicted labels of the model inputs (e.g., the uncertainty score). The covariance between the predicted labels of different pairs of model inputs measures the amount of correlation between the predicted labels of the pairs of model inputs, and therefore the set of covariances between different pairs of model inputs collectively characterizes the diversity of model inputs within a batch.

[0123] The system can generate a covariance matrix in one of several possible ways. An exemplary process for generating a covariance matrix using an ensemble of machine learning models is described in detail with reference to Figure 5. An exemplary process for generating a covariance matrix based on the covariances between pairs of model parameters of machine learning models is described in detail with reference to Figure 6. The specific choice of process used to generate the covariance matrix may depend on the machine learning task under consideration and may be driven, for example, on empirical comparisons of performance, available computing power, and memory resources.

[0124] Optionally, for each pair of model inputs in a batch, the system may modulate (modify) the covariance of the pair of model inputs based on (i) a quality measure of the first model input in the pair, and (ii) a quality measure of the second model input in the pair (404). The “quality measure” of a model input can characterize the value of the model input’s predicted label relative to the predicted label values ​​of other model inputs in the batch. For example, the quality measure of a model input may be based on the quantiles of the value of the model input’s predicted label (i.e., within a set of values ​​containing the predicted label values ​​of each model input in the batch). In some implementations, the system modulates the covariance for each pair of model inputs by multiplying the covariance for the pair of model inputs by (i) a quality measure of the first model input in the pair, and (ii) a quality measure of the second model input in the pair.

[0125] Intuitively, modulating covariance based on a quality measure of model inputs facilitates the selection of batches with higher-performing model inputs, e.g., batches with higher-value predicted labels (where higher is understood as better in this context). If lower-performing model inputs are associated with high predictive uncertainty, batches with lower-performing model inputs, e.g., batches with lower-value predicted labels, are more likely to be selected. Model inputs associated with high predictive uncertainty may be high-performing model inputs even if the machine learning model currently estimates the model inputs to be low-performing. Figure 10, described in more detail below, provides a diagram illustrating the effect of modulating the covariance of pairs of model inputs using a quality measure.

[0126] The system determines the score of a batch of model inputs based on the determinant of the covariance matrix (406). For example, the system can determine the score of a batch of model inputs as the logarithm of the determinant of the covariance matrix. The determinant of the covariance matrix summarizes the covariance matrix and, in particular, defines a single numerical value that characterizes the predictive uncertainty and diversity of the model inputs within a batch of model inputs.

[0127] Figure 4B is a flowchart of an exemplary process 408 for generating scores for batches of model inputs based on an approximation of entropy (information) within a batch, which characterizes (i) the uncertainty of the machine learning model in generating predictive labels for model inputs within a candidate batch of model inputs, and (ii) the diversity of model inputs within a candidate batch of model inputs. For convenience, process 408 is described as being performed by a system of one or more computers located in one or more locations. For example, a training system appropriately programmed according to this specification, e.g., training system 100 in Figure 1, can perform process 408.

[0128] The ensemble of machine learning models referenced in the description of Figure 4B can include any appropriate number of machine learning models, for example, five machine learning models, or ten machine learning models, or one hundred machine learning models. Each machine learning model in the ensemble will differ from each other in the ensemble, for example, having different parameter values, or different architectures, or both. Several exemplary techniques for generating an ensemble of machine learning models are described below.

[0129] In some implementations, in each training iteration, the system trains an ensemble of multiple machine learning models, rather than just a single machine learning model. Each machine learning model in the ensemble can be trained on a different subset of the training data, or it can have parameter values ​​initialized differently from each other machine learning model in the ensemble, or both.

[0130] In some implementations, machine learning models include neural networks, and each machine learning model in the ensemble is determined by dropping a set of parameters from the neural network. “Dropping” parameters from the neural network can mean setting the parameter values ​​to default values, e.g., zero, or random values, e.g., values ​​sampled from a Gaussian distribution. The system can randomly sample the set of parameters to be dropped 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 drop a parameter from the machine learning model based on sampling from a probability distribution, e.g., a Bernoulli distribution.

[0131] In the explanation of Figure 4B, 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 (according to the values ​​of the set of machine learning model parameters of the machine learning model) and generate a classification of the model input. The classification of the model input assigns the model input to each class from a set of possible classes, and the set of possible classes includes a finite number of classes, e.g., two classes, five classes, or ten classes. An example of a classification task is described in more detail above with reference to Figure 1.

[0132] The system obtains a set of classifications for each model input in a batch of model inputs (410). Each classification of a model input is generated by each machine learning model in the ensemble of machine learning models, for example, by processing the model input according to the values ​​of a set of model parameters of the machine learning model to generate the classification. Thus, each model input in a batch of model inputs may be associated with a number of classifications equal to the number of machine learning models in the ensemble of machine learning models.

[0133] For at least some (and potentially all) of the model inputs, the set of classifications for the model inputs includes multiple distinct classes from the set of possible classes. That is, for at least some of the model inputs, the set of classifications for the model inputs includes classifications that assign the model inputs to classes different from the set of possible classes, rather than all assigning the model inputs to the same class. Variation in the classification of model inputs can result from, for example, the underlying uncertainty of the classification itself (e.g., if the task of classifying the model inputs has some inherent ambiguity), or from the uncertainty of the model parameters of the machine learning models in an ensemble of machine learning models, or both.

[0134] The system can represent, for example, a set of classifications of model inputs within a batch of model inputs as an N×M classification matrix denoted as E, where N is the number of model inputs in the batch and M is the number of machine learning models in the ensemble of machine learning models.

number

[0135] The system processes a classification matrix to obtain a probability distribution (412) over the space of simultaneous classification of the n tuples of model inputs in the n tuples, for each n tuple of model inputs from a batch of model inputs (where n ∈ {2, ..., N}, and N is the number of model inputs in the batch of model inputs). Simultaneous classification of the n tuples of model inputs assigns each class from the set of possible classes to each model input in the n tuples of model inputs. Thus, the space of simultaneous classification can be the n-fold Cartesian product of the sets of possible classes.

[0136] For a given n-tuple model input, the spatial probability distribution of concurrent classifications of the model input in the n-tuple model input assigns a probability to each possible concurrent classification of the model input in the n-tuple model input. The system can, for example, determine the probability of a particular concurrent classification of a model input in the n-tuple model input as follows: (i) the number of machine learning models in an ensemble of machine learning models classifies each model input in the n-tuple model input as belonging to the respective class to which it was assigned by concurrent classification; and (ii) the ratio of the number of machine learning models in an ensemble of machine learning models.

[0137] For example, for each 2-tuple (i,j) in the model input, the system has a probability distribution P over the possible simultaneous classification of the 2-tuples in the model input. i,j It can be generated as follows:

number

number

number

[0138] For each n tuple of model inputs, the system determines the joint entropy of each model input contained in the n tuple of model inputs based on the spatial probability distribution of the simultaneous classification of the model inputs within the n tuple of model inputs (414). For example, for each 2 tuple of model input (i,j), the system determines the joint entropy H of model inputs i and j. i,j It can be generated as follows:

number

[0139] The system generates a score for a batch of model inputs that defines an approximation of the batch's entropy by combining the combined entropies of the n tuples of model inputs within the batch of model inputs (416). For example, the system can determine the score for a batch of model inputs by summing (and optionally scaling) the combined entropies of the n tuples of model inputs within the batch of model inputs, for example, the system can determine the score a(B) for batch B as follows:

number

[0140] By approximating the entropy of a batch of model inputs and generating a score for that batch, the score can characterize both the predictive uncertainty and diversity of the model inputs within the batch. In particular, increasing the predictive uncertainty for model inputs within a batch can increase the batch entropy, and increasing the diversity of model inputs within a batch (e.g., by reducing the correlation between the predicted classifications of model inputs within a batch) can also increase the batch entropy. Therefore, the batch entropy can collectively encode and characterize both the predictive uncertainty and diversity of 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 machine learning models in classifying the model input).

[0141] In implementations where the system generates a probability distribution across all possible simultaneous classifications of all model inputs in a batch of model inputs, the system can determine the combined entropy between all model inputs in the batch, and this combined entropy can directly define the batch's score. That is, in these implementations, there is only a single combined entropy, so the system can omit the step of aggregating the combined entropies, as described above in step 416.

[0142] In some cases, the system can generate a more accurate approximation of the batch's entropy by referring to n tuples of model inputs and determining the probability distribution and joint entropy, where n is a small number, e.g., n = 2, n = 3, or n = 4. If the choice of n is large (especially if n is chosen to be equal to the total number of model inputs in the batch), it becomes increasingly likely that each possible simultaneous classification of an n tuple of model inputs will occur once or zero times in the classification matrix E, which can result in an inaccurate estimate of the batch's entropy.

[0143] Figure 5 is a flowchart of an exemplary process 500 for determining the covariance between predicted labels of a pair of model inputs using an ensemble of machine learning models. For convenience, process 500 is described as being performed by one or more computer systems located in one or more locations. For example, a training system appropriately programmed according to this specification, e.g., training system 100 in Figure 1, can perform process 500.

[0144] The ensemble of machine learning models referenced in the description of Figure 5 can include any appropriate number of machine learning models, for example, five, ten, or one hundred. Each machine learning model in the ensemble will differ from each other in the ensemble, for example, having different parameter values, a different architecture, or both. Several exemplary techniques for generating an ensemble of machine learning models are described below.

[0145] In some implementations, in each training iteration, the system trains an ensemble of multiple machine learning models, rather than just a single machine learning model. Each machine learning model in the ensemble can be trained on a different subset of the training data, or it can have parameter values ​​initialized differently from each other machine learning model in the ensemble, or both.

[0146] In some implementations, machine learning models include neural networks, and each machine learning model in the ensemble is determined by dropping a set of parameters from the neural network. “Dropping” parameters from the neural network can mean setting the parameter values ​​to default values, e.g., zero, or random values, e.g., values ​​sampled from a Gaussian distribution. The system can randomly sample the set of parameters to be dropped 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 drop a parameter from the machine learning model based on sampling from a probability distribution, e.g., a Bernoulli distribution.

[0147] Given an ensemble of machine learning models, the system uses each machine learning model in the ensemble to generate corresponding predicted labels for a first model input (502).

[0148] The system uses each machine learning model in the ensemble to generate the respective predicted labels for the second model input (504).

[0149] The system generates the covariance of a pair of model inputs based on (i) a set of predicted labels for a first model input and (ii) a set of predicted labels for a second model input (506). For example, the system can calculate the covariance of a pair of model inputs as follows:

number

[0150] Figure 6 is a flowchart of an exemplary process 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, the process 600 is described as being performed by one or more computer systems located in one or more locations. For example, a training system appropriately programmed according to this specification, e.g., training system 100 in Figure 1, can perform the process 600.

[0151] The system determines, for each of several pairs of model parameters from the set of model parameters of a machine learning model, the respective covariances between (i) the first model parameter of the pair of model parameters and (ii) the second model parameter of the pair of model parameters (602). In particular, each model parameter of a machine learning model is associated with a distribution over the space of possible values ​​of the model parameter, for example, as a result of uncertainty in the values ​​of the model parameter. (Uncertainty in the values ​​of model parameters of a machine learning model may arise, for example, because the current value of the model parameter defines an uncertain estimate of the “target” value of the model parameter that globally optimizes the objective function). Thus, each model parameter defines a random variable over the space of possible values ​​of the model parameter. Therefore, the “covariance” between pairs of model parameters refers to the covariance between the pair of random variables corresponding to the pair of model parameters. The covariance of pairs of model parameters of a machine learning model can be represented as a covariance matrix, for example, entry (i,j) of the covariance matrix defines the covariance between model parameter i and model parameter j.

[0152] The system can determine the covariance between pairs of model parameters of a machine learning model in any of various possible ways. For example, for each of a plurality of pairs of model parameters from a set of model parameters of a machine learning model, the system can determine the second derivative of each objective function with respect to the pair of model parameters. (The objective function can be the same objective function as that used during training of the machine learning model, as described above with reference to FIG. 2). The second derivative of the objective function with respect to a pair of model parameters of a machine learning model can be represented as a Hessian matrix. For example, the entry (i,j) of the Hessian matrix defines the second derivative of the objective function with respect to model parameter i and model parameter j. Next, the system can determine a covariance matrix Σ of the covariance between pairs of model parameters based on the Hessian matrix, for example, according to the following equation. [Number] Here [Number] <{ denotes the Hessian matrix, and (·) -1 denotes the inverse matrix operation.

[0153] In a particular example, the machine learning model can be implemented as a neural network including (i) an embedding subnetwork configured to process a model input and generate an embedding of the model input, and (ii) an output layer configured to process the embedding of the model input and generate a predicted label for the model input. In this example, the system can generate a Hessian matrix of the second derivative of the objective function with respect to pairs of model parameters of the output layer of the neural network using, for example, second-order backpropagation. Next, the system can process the Hessian matrix to generate a covariance matrix of the covariance between pairs of model parameters of the output layer of the neural network, for example, according to Equation (2).

[0154] The system uses a machine learning model to generate an embedding of the first model input (604). For example, in the case of a machine learning model implemented as a neural network (as described above), the system can use an embedding subnetwork of the neural network to process the first model input and generate an embedding of the first model input.

[0155] The system uses a machine learning model to generate an embedding of the second model input (606). For example, in the case of a machine learning model implemented as a neural network (as described above), the system can use an embedding subnetwork of the neural network to process the second model input and generate an embedding of the second model input.

[0156] The system generates the covariance of the predicted labels for a pair of model inputs using (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 the pairs of model parameters of the machine learning model (608). For example, the system can generate the covariance C of the predicted labels for a pair of model inputs according to the following equation:

number

[0157] Figure 7 shows an example of an active learning loop implemented by the training system described herein. During each iteration of the active learning loop, the training system selects a batch of model inputs from an unlabeled pool of model inputs (for example, where the target label may be unknown), obtains the target label for the selected batch, and trains a machine learning model using at least the selected batch of model inputs and the associated target label.

[0158] Figure 8 shows examples of ligands and proteins. The training systems described herein can train machine learning models to perform machine learning such as processing model inputs that characterize ligands and proteins to generate predictive labels that define the predicted binding affinity of ligands to proteins.

[0159] Figure 9 shows a table comparing the performance of various implementations of the training system described herein with alternative training systems. “COVDROP” refers to an implementation of the training system in which the covariance matrix characterizing the covariance between predicted labels of pairs of model inputs is determined using the process described with reference to Figure 5. “COVLAP” refers to an implementation of the training system in which the covariance matrix characterizing the covariance between predicted labels of pairs of model inputs is determined using the process described with reference to Figure 6. Alternative systems are represented 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 for model inputs from the corresponding dataset. The “% gain” column defines the performance improvement of “COVDROP” (implemented by the training system described herein) compared to “random” (random batch selection policy).

[0160] Figure 10 shows an example of selecting a batch of model inputs ("selected sequences") for training a machine learning model from a pool of candidate model inputs ("candidate sequences"). The training system described herein can select a batch of model inputs for training a machine learning model based on both (i) the uncertainty of the machine learning model in generating predictive labels for the model inputs in the batch of model inputs, and (ii) the diversity of the model inputs in the candidate batch of model inputs. The system can implement a batch selection policy that further facilitates the selection of batches of model inputs that are predicted to have higher performance, e.g., batches of predictive labels with higher values, as illustrated with reference to Figures 4A-4B. The scatter plot in Figure 10 shows "predicted performance" (e.g., predictive labels) on the vertical axis and "model uncertainty" (e.g., measured as the variance of the distribution of predictive labels) on the horizontal axis. In this example, it will be understood that the training system tends to select model inputs associated with both high model uncertainty and high predictive performance to include in a batch of model inputs for training a machine learning model.

[0161] This specification uses the term “configured” in relation to systems and computer program components. One or more computer systems being configured to perform a particular operation or action means that the system has installed software, firmware, hardware, or a combination thereof that causes the system to perform the operation or action while in operation. One or more computer programs being configured to perform a particular operation or action means that one or more programs contain instructions that cause a data processing device to perform the operation or action when executed by that device.

[0162] The subject matter and functional operating embodiments described herein can be implemented in digital electronic circuits, tangibly embodied computer software or firmware, computer hardware including the structures disclosed herein and their structural equivalents, or one or more combinations thereof. Embodiments of the subject matter described herein can be implemented as one or more modules of computer programs, i.e., computer program instructions encoded on a tangible non-transient storage medium for execution by or control of the operation of a data processing device. The computer storage medium may be a machine-readable storage device, a machine-readable memory board, a random or serial access memory device, or one or more combinations thereof. Alternatively, or in addition, the program instructions may be encoded on artificially generated propagating signals, such as machine-generated electrical, optical, or electromagnetic signals, which are generated to encode information for transmission to a receiver device suitable for execution by a data processing device.

[0163] The term "data processing device" refers to data processing hardware and encompasses all types of devices, machines, and equipment for processing data, including, for example, programmable processors, computers, or multiple processors or computers. A device may also be, or further include, dedicated logic circuits, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits). In addition to hardware, a device may optionally include code that creates an execution environment for computer programs, such as processor firmware, protocol stacks, database management systems, operating systems, or code that constitutes one or more of these.

[0164] Computer programs may be called, or written as, programs, software, software applications, apps, modules, software modules, scripts, or code, and can be written in any form of programming language, including compiled languages, interpreted languages, declarative languages, or procedural languages, and can be deployed in any form, such as as standalone programs or as modules, components, subroutines, or other units suitable for use in a computing environment. A program may, but is not required, correspond to a file in a file system. A program may be stored in a single file dedicated to the program in question, or in multiple collaborative files, such as files storing one or more modules, subprograms, or parts of code, along with other programs or data, for example, in a file holding one or more scripts stored in a markup language document. A computer program may be deployed to run on one computer, or located in one site, or distributed across multiple sites and interconnected by a data communication network.

[0165] 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. Generally, an engine is implemented as one or more software modules or components installed on one or more computers in one or more locations. In some cases, one or more computers are dedicated to a particular engine, while in other cases, multiple engines can be installed and run on the same one or more computers.

[0166] The processes and logic flows described herein may be executed by one or more programmable computers running one or more computer programs to perform functions by acting on input data and producing outputs. The processes and logic flows may also be executed by dedicated logic circuits, such as FPGAs or ASICs, or by a combination of dedicated logic circuits and one or more programmed computers.

[0167] A computer suitable for running computer programs may be based on a general-purpose or dedicated microprocessor, or both, or any other type of central processing unit. Generally, the central processing unit receives instructions and data from read-only memory or random-access memory, or both. Essential elements of a computer are a central processing unit for executing or running instructions and one or more memory devices for storing instructions and data. The central processing unit and memory may be complemented by or integrated into dedicated logic circuits. Generally, a computer also includes one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks, or is operablely coupled to them to receive data from them, transfer data to them, or both. However, a computer is not required to have such devices. Furthermore, a computer may be integrated into another device, for example, a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device, such as a Universal Serial Bus (USB) flash drive, to name just a few.

[0168] Computer-readable media suitable for storing computer program instructions and data include, as an example, all forms of non-volatile memory, media, and memory devices, including 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.

[0169] To enable interaction with the user, embodiments of the subject matter described herein may be implemented on a computer having a display device for displaying information to the user, such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, and a keyboard and pointing device, such as a mouse or trackball, on which the user can provide input to the computer. Other types of devices may also be used to provide interaction with the user, for example, the feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback, and input from the user may be received in any form, including acoustic, verbal, or tactile input. Furthermore, the computer may interact with the user by sending documents to and receiving documents from a device used by the user, for example, by sending a web page to a web browser on the user's device in response to a request received from a web browser. The computer may also interact with the user by sending text messages or other forms of messages to a personal device, such as a smartphone running a messaging application, and receiving a response message from the user in return.

[0170] Data processing devices for implementing machine learning models may also include, for example, dedicated hardware accelerator units for processing the common computationally intensive parts of machine learning training or production, i.e., inference, workloads.

[0171] Machine learning models can be implemented and deployed using machine learning frameworks, such as the TensorFlow framework or the Jax framework.

[0172] Embodiments of the subject matter described herein can be implemented, for example, in a computing system including a backend component as a data server, or a middleware component, such as an application server, or a frontend component, such as a graphical user interface, a web browser, or an application on which a user can interact with an implementation of the subject matter described herein, or in a computing system including one or more such backend, middleware, or frontend components. The components of the system can be interconnected by any form or medium of digital data communication, such as a communication network. Examples of communication networks include local area networks (LANs) and wide area networks (WANs), such as the Internet.

[0173] A computing system can include clients and servers. Clients and servers are generally geographically separated and typically interact via a communication network. The client-server relationship arises from computer programs running on each computer that have a client-server relationship with each other. In some embodiments, the server sends data, such as an HTML page, to a user device to display data to a user interacting with a device acting as a client and to receive user input from that user. Data generated on the user device, such as the results of user interaction, may be received from the device by the server.

[0174] This specification includes details of many specific implementations, but these should not be interpreted as limitations on the scope of any invention or claim, but rather as descriptions of features that may be specific to a particular embodiment of a particular invention. Certain features described herein in the context of a separate embodiment may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented separately in multiple embodiments or in any suitable subcombination. Furthermore, features are described above as acting in a particular combination, and may even be initially claimed as such, but one or more features from a claimed combination may, in some cases, be removed from that combination, and the claimed combination may be a partial combination or a variation of a partial combination.

[0175] Similarly, while the operations are shown in the drawings and described in the claims in a specific order, this should not be understood as requiring that such operations be performed in a specific order or sequence shown, or that all shown operations be performed, in order to achieve the desired result. In certain situations, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system modules and components in the embodiments described above should not be understood 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 in multiple software products.

[0176] Specific embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. For example, the actions described in the claims may be performed in a different order and still achieve the desired results. As an example, the process shown in the accompanying drawings does not necessarily require the specific order or sequence shown to achieve the desired results. In some cases, multitasking and parallel processing may be advantageous.

Claims

1. A method performed by one or more computers, wherein the method is Training a machine learning model over a sequence of training iterations, wherein in each of the multiple training iterations in the sequence of training iterations, In the training iteration, selecting the current batch of model inputs for training the machine learning model, wherein the current batch of model inputs includes multiple model inputs, and selecting the current batch of model inputs is: To generate a set of candidate batches for the model input, For each candidate batch in the model input, (i) the uncertainty of the machine learning model when generating predictive labels for the model inputs in the candidate batch of model inputs, (ii) The diversity of the model inputs within the candidate batch of model inputs, and generating a score for each of the candidate batches of model inputs that characterizes the model inputs, The selection process includes selecting the current batch of model inputs from the set of candidate batches of model inputs based on the score, Obtaining a target label for each model input in the current batch of model inputs, wherein the target label for a model input defines the model output that should be generated by the machine learning model by processing the model inputs. Training includes training the machine learning model with respect to at least the current batch of model inputs using the target labels for the current batch of model inputs, A method comprising outputting the aforementioned trained machine learning model.

2. For each candidate batch of model input, generating the score for the candidate batch of model input is: For each pair of model inputs in the candidate batch of model inputs, (i) determine the covariance between the predicted label of the first model input in the pair of model inputs and (ii) determine the covariance between the predicted label of the second model input in the pair of model inputs. The method according to claim 1, comprising generating the score for the candidate batch of model inputs based on the respective covariances for each pair of model inputs in the candidate batch of model inputs.

3. To generate the score for the candidate batch of model inputs based on the respective covariances for each pair of model inputs within the candidate batch of model inputs is to To generate the determinant of the covariance matrix containing the respective covariances for each pair of model inputs in the candidate batch of model inputs, The method according to claim 2, comprising determining the score of the candidate batch of model inputs based on the determinant of the covariance matrix.

4. The method according to claim 3, wherein determining the score of the candidate batch of model inputs based on the determinant of the covariance matrix comprises applying a logarithm to the determinant of the covariance matrix.

5. Determining the covariance of each pair of model inputs within the candidate batch of model inputs is: Using an ensemble of machine learning models, generate multiple predictive labels for the first model input in the pair of model inputs, Using the ensemble of machine learning models, generate multiple predictive labels for the second model input in the pair of model inputs, The method according to any one of claims 2 to 4, comprising determining the covariance of the pair of model inputs based on (i) the plurality of predictive labels for the first model input and (ii) the plurality of predictive labels for the second model input.

6. The machine learning model is a neural network, and the ensemble of the machine learning models includes a plurality of modified neural networks. The method according to claim 5, wherein each modified neural network in the ensemble of machine learning models is a modified version of the neural network.

7. The method according to claim 6, wherein each modified neural network in the ensemble of machine learning models is determined by dropping each set of parameters from the neural network.

8. To generate the respective covariances for each pair of model inputs in the candidate batch of model inputs is to For each of the multiple pairs of model parameters of the machine learning model, (i) determine the covariance between the first model parameter of the pair of model parameters and (ii) determine the covariance between the second model parameter of the pair of model parameters. The method according to any one of claims 2 to 4, comprising generating the covariance for a pair of model inputs based on the covariance for a pair of model parameters of the machine learning model.

9. The method according to claim 8, wherein the machine learning model is a neural network comprising (i) an embedding subnetwork configured to process a model input and generate an embedding of the model input, and (ii) an output layer configured to process the embedding of the model input and generate a predicted label of the model input.

10. Generating the covariance for a pair of model inputs based on the covariance for a pair of model parameters of the machine learning model means, for each pair of model inputs including the first model input and the second model input, Using the aforementioned embedded subnetwork, the embedding of the first model input is generated, Using the aforementioned embedded subnetwork, the embedding of the second model input is generated, The method according to claim 9, comprising generating the covariance for a pair of model inputs based on the embedding for the first model input, the embedding for the second model input, and the covariance for a pair of model parameters included in the output layer of the machine learning model.

11. 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 is: The method according to claim 10, comprising (i) the embedding of the first model input, (ii) a covariance matrix including the covariance of pairs of model parameters included in the output layer of the machine learning model, and (iii) calculating the matrix product of the embedding of the second model input.

12. For each of the plurality of pairs of model parameters of the machine learning model, (i) determining the covariance between the first model parameter of the pair of model parameters and (ii) the second model parameter of the pair of model parameters is: The process involves determining the second derivative of the objective function with respect to each of the plurality of pairs of model parameters of the machine learning model, wherein the machine learning model is trained to optimize the objective function. The method according to any one of claims 8 to 11, comprising processing the second derivative of the objective function with respect to the pair of model parameters to generate the covariance of the pair of model parameters.

13. Determining the covariance of each pair of model inputs within the candidate batch of model inputs is: The quality measure of the first model input in the pair of model inputs is determined based on the value of the predicted label of the first model input relative to the value of the predicted label of each other model input in the candidate batch of model inputs, The quality measure of the second model input in the pair of model inputs is determined based on the value of the predicted label of the second model input relative to the value of the predicted label of each other model input in the candidate batch of model inputs, The method according to any one of claims 2 to 12, comprising modifying the covariance of the pair of model inputs based on (i) the quality measure of the first model input and (ii) the quality measure of the second model input.

14. The method according to claim 13, wherein the quality measure of the first model input is based on the quantile of the value of the predicted label of the first model input within a set of values ​​that includes the respective values ​​of the predicted labels of each model input in a candidate batch of the model inputs.

15. The method according to claim 13 or 14, wherein the quality measure of the second model input is based on the quantile of the value of the predicted label of the second model input within a set of values ​​that includes the respective values ​​of the predicted labels of each model input in a candidate batch of the model inputs.

16. The method according to any one of claims 13 to 15, wherein correcting the covariance for the pair of model inputs includes scaling the covariance for the pair of model inputs by the quality measure of the first model input and the quality measure of the second model input.

17. For each candidate batch of the model input, generating a score for the candidate batch of the model input is: For each model input in the candidate batch of model inputs, obtain a set of classifications for the model input, including the respective classifications generated for the model input by each machine learning model in the ensemble of machine learning models. The method according to claim 1, comprising processing a set of classifications of the model input within the candidate batch of the model input to generate the score of the candidate batch of the model input as an approximation of the entropy of the candidate batch of the model input.

18. Processing the set of classifications of the model input within the candidate batch of model input in order to generate the score of the candidate batch of model input as an approximation of the entropy of the candidate batch of model input, For each n tuple of model inputs from the candidate batch of model inputs, the process of the set of classifications of the model inputs in the candidate batch of model inputs is performed in order to generate a probability distribution for each of the possible simultaneous classifications of the model inputs in the n tuple of model inputs. The method according to claim 17, comprising processing the probability distribution of the n tuples of the model inputs in the candidate batch of model inputs in order to generate the score for the candidate batch of model inputs.

19. The method according to claim 18, wherein each n-tuple of model inputs is a two-tuple of model inputs, each of which includes a first model input and a second model input from the candidate batch of model inputs.

20. To generate the scores of the candidate batch of model inputs, processing the probability distribution of the n tuples of model inputs within the candidate batch of model inputs is: For each n tuple of model inputs from the candidate batch of model inputs, the combined entropy of each of the n tuples of model inputs is generated based on the probability distribution across the space of simultaneous classification of the model inputs within the n tuple of model inputs. The method according to claim 18 or 19, comprising generating the score of the candidate batch of model inputs by combining the combined entropies of the model inputs in the n-tuple of model inputs from the candidate batch of model inputs.

21. To generate the score of the candidate batch of model inputs by combining the combined entropies of the model inputs in the n-tuple of model inputs from the candidate batch of model inputs, The method according to claim 20, comprising summing the combined entropy of the model inputs in the n-tuple model inputs from a candidate batch of model inputs.

22. In each of the multiple training iterations within the sequence of training iterations, The method according to any one of claims 1 to 21, further comprising training the machine learning model on the current batch of model inputs, and then providing the machine learning model for further training in the next training iteration in the sequence of training iterations.

23. The method according to any one of claims 1 to 22, wherein the machine learning model is a neural network.

24. The method according to claim 23, wherein the neural network includes one or more message-passing neural network layers.

25. In each of the plurality of training iterations, training the machine learning model for at least the current batch of model inputs using the target label for the current batch of model inputs means, for each model input in the current batch of model inputs, The method according to any one of claims 1 to 24, comprising processing the model input and training the machine learning model to generate a predictive label that matches the target label of the model input.

26. Processing the model input and training the machine learning model to generate predictive labels that match the target labels for the model input is: The method of claim 25, comprising (i) training the machine learning model to optimize an objective function that measures the error between the predicted label generated by the machine learning model for the model input and (ii) the target label for the model input.

27. Generating a set of candidate batches for model input is This involves generating a pool of model inputs, Determining the uncertainty score for each model input in the pool of model inputs, wherein the uncertainty score of the model inputs characterizes and determines the uncertainty of the machine learning model in generating the predictive labels for the model inputs. Using the uncertainty score for the model input, determine the probability distribution across the pool of model inputs. The method according to any one of claims 1 to 26, comprising generating a set of candidate batches of the model inputs using the probability distribution over the pool of model inputs.

28. Using the probability distribution across the pool of model inputs to generate the set of candidate batches of model inputs means that for each candidate batch of model inputs, The method according to claim 27, comprising sampling each model input included in a candidate batch of model inputs from the pool of model inputs according to the probability distribution over the pool of model inputs.

29. Generating the pool of model inputs is The method according to claim 27 or 28, comprising using a generative machine learning model to generate each model input in the model input pool.

30. Outputting the aforementioned trained machine learning model is The method according to any one of claims 1 to 29, comprising storing the trained machine learning model in memory.

31. Outputting the aforementioned trained machine learning model is Generating multiple model inputs, The method according to any one of claims 1 to 30, comprising processing each of the plurality of model inputs using the trained machine learning model to generate a predicted label for the model input.

32. In each of the multiple training iterations, each model input in the current batch of model inputs corresponds to its respective physical entity, and the target label for each model input is, Physically generating one or more instances of the physical entity corresponding to the model input, Determining one or more characteristics of the instance of the physical entity, The method according to any one of claims 1 to 31, generated by an operation including determining the target label of the model input based on the properties of the instance of the physical entity.

33. The method according to any one of claims 1 to 32, wherein the machine learning model is configured to process model inputs and generate predicted labels for the model inputs.

34. The method according to claim 33, wherein the predicted label of the model input includes a numerical value.

35. The method according to claim 33 or claim 34, wherein the model input corresponds to a molecule, and the predicted label of the model input defines the predicted characteristics of the molecule.

36. The method according to claim 35, wherein the model input includes data defining a graph representing the three-dimensional geometric structure of the molecule.

37. The method according to claim 35 or claim 36, wherein the predicted characteristics of the molecule characterize the absorption of the molecule, or the distribution of the molecule, or the metabolism of the molecule, or the excretion of the molecule, or the toxicity of the molecule.

38. Outputting the aforementioned trained machine learning model is Selecting one or more molecules using the aforementioned machine learning model, The method according to any one of claims 35 to 37, comprising physically synthesizing one or more of the aforementioned molecules.

39. The method according to claim 33 or claim 34, wherein the model input corresponds to a sequence of messenger ribonucleic acid (mRNA) nucleotides, and the predicted label for the model input characterizes the protein produced from the sequence of mRNA nucleotides.

40. The method according to claim 39, wherein the predicted label for the model input characterizes the stability of the protein generated from the mRNA nucleotide sequence.

41. The method according to claim 39 or 40, wherein the predicted label for the model input characterizes the efficiency of translation of the sequence of mRNA nucleotides for generating the protein.

42. Outputting the aforementioned trained machine learning model is Using the aforementioned machine learning model, select one or more mRNA nucleotide sequences, The method according to any one of claims 39 to 41, comprising physically synthesizing one or more sequences of the mRNA nucleotides.

43. The method according to claim 33 or claim 34, wherein the model input corresponds to lipid nanoparticles, and the predicted label of the model input characterizes the performance of the lipid nanoparticles in drug delivery to a target.

44. Outputting the aforementioned trained machine learning model is Selecting one or more lipid nanoparticles using the aforementioned machine learning model, The method according to claim 43, comprising physically synthesizing one or more lipid nanoparticles.

45. The method according to claim 33 or 34, wherein the model input corresponds to the amino acid sequence of a monomer of a capsid protein, and the predicted label for the model input characterizes the predictive quality of the capsid protein.

46. The method according to claim 45, wherein the predicted quality of the capsid protein is characterized by the manufacturability of the capsid protein, or its ability to evade neutralization of viruses containing the capsid protein, or the immunoreactivity of the capsid protein, or its ability to penetrate target tissues of viruses containing the capsid protein, or its ability to fill, or its ability to be incorporated into the host genome.

47. Outputting the aforementioned trained machine learning model is Selecting one or more amino acid sequences of a capsid protein monomer, The method according to claim 45 or claim 46, comprising physically synthesizing the one or more amino acid sequences of a capsid protein monomer.

48. It is a system, One or more computers, A system comprising one or more storage devices communicably coupled to one or more computers, wherein the one or more storage devices, when executed by the one or more computers, store instructions causing the one or more computers to perform the operation of each of the methods described in any one of claims 1 to 46.

49. One or more non-temporary computer storage media, which, when executed by one or more computers, store instructions causing one or more computers to perform the operation of each of the methods described in any one of claims 1 to 46.