A method for training a machine learning model, the method comprising: obtaining, at data processing hardware, a set of labeled training samples, each labeled training sample associated with a given label; and during each of a plurality of training iterations: for each labeled training sample in the set of labeled training samples: generating, by the data processing hardware, a pseudo label for the labeled training sample, by: generating a plurality of augmented training samples based on the labeled training sample; for each augmented training sample, generating, using the machine learning model, a predicted label; and averaging each predicted label generated for each augmented training sample of the plurality of augmented training samples to generate the pseudo label for the corresponding labeled training sample; estimating, by the data processing hardware, a weight of the labeled training sample indicative of an accuracy of the given label; determining, by the data processing hardware, whether the weight of the labeled training sample satisfies a weight threshold; when the weight of the labeled training sample satisfies the weight threshold, adding, by the data processing hardware, the labeled training sample to a set of cleanly labeled training samples; and when the weight of the labeled training sample fails to satisfy the weight threshold, adding, by the data processing hardware, the labeled training sample to a set of mislabeled training samples; and training, by the data processing hardware, the machine learning model with the set of cleanly labeled training samples using corresponding given labels and the set of mislabeled training samples using corresponding pseudo labels. obtaining, at data processing hardware, a set of labeled training samples, each labeled training sample associated with a given label; and during each of a plurality of training iterations: for each labeled training sample in the set of labeled training samples: generating, by the data processing hardware, a pseudo label for the labeled training sample, by: generating a plurality of augmented training samples based on the labeled training sample; for each augmented training sample, generating, using the machine learning model, a predicted label; and averaging each predicted label generated for each augmented training sample of the plurality of augmented training samples to generate the pseudo label for the corresponding labeled training sample; estimating, by the data processing hardware, a weight of the labeled training sample indicative of an accuracy of the given label; determining, by the data processing hardware, whether the weight of the labeled training sample satisfies a weight threshold; when the weight of the labeled training sample satisfies the weight threshold, adding, by the data processing hardware, the labeled training sample to a set of cleanly labeled training samples; and when the weight of the labeled training sample fails to satisfy the weight threshold, adding, by the data processing hardware, the labeled training sample to a set of mislabeled training samples; and training, by the data processing hardware, the machine learning model with the set of cleanly labeled training samples using corresponding given labels and the set of mislabeled training samples using corresponding pseudo labels. generating, by the data processing hardware, a pseudo label for the labeled training sample, by: generating a plurality of augmented training samples based on the labeled training sample; for each augmented training sample, generating, using the machine learning model, a predicted label; and averaging each predicted label generated for each augmented training sample of the plurality of augmented training samples to generate the pseudo label for the corresponding labeled training sample; generating a plurality of augmented training samples based on the labeled training sample; for each augmented training sample, generating, using the machine learning model, a predicted label; and averaging each predicted label generated for each augmented training sample of the plurality of augmented training samples to generate the pseudo label for the corresponding labeled training sample; estimating, by the data processing hardware, a weight of the labeled training sample indicative of an accuracy of the given label; determining, by the data processing hardware, whether the weight of the labeled training sample satisfies a weight threshold; when the weight of the labeled training sample satisfies the weight threshold, adding, by the data processing hardware, the labeled training sample to a set of cleanly labeled training samples; and when the weight of the labeled training sample fails to satisfy the weight threshold, adding, by the data processing hardware, the labeled training sample to a set of mislabeled training samples; and training, by the data processing hardware, the machine learning model with the set of cleanly labeled training samples using corresponding given labels and the set of mislabeled training samples using corresponding pseudo labels.