A method, computer readable medium, and system are disclosed for implementing a temporal ensembling model for training a deep neural network. The method for training the deep neural network includes the steps of receiving a set of training data for a deep neural network and training the deep neural network utilizing the set of training data by: analyzing the plurality of input vectors by the deep neural network to generate a plurality of prediction vectors, and, for each prediction vector in the plurality of prediction vectors corresponding to the particular input vector, computing a loss term associated with the particular input vector by combining a supervised component and an unsupervised component according to a weighting function and updating the target prediction vector associated with the particular input vector.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method, comprising: receiving a set of training data for a deep neural network, wherein the set of training data includes a plurality of input vectors and a plurality of label vectors, each label vector in the plurality of label vectors corresponding to a particular input vector in the plurality of input vectors; and training the deep neural network utilizing the set of training data by: analyzing the plurality of input vectors by the deep neural network to generate a plurality of prediction vectors, each prediction vector in the plurality of prediction vectors corresponding to a particular input vector in the plurality of input vectors, and for each prediction vector in the plurality of prediction vectors corresponding to the particular input vector: computing a loss term associated with the particular input vector by combining a supervised component and an unsupervised component according to a weighting function, wherein the unsupervised component is calculated by comparing the prediction vector with a target prediction vector associated with the particular input vector, and updating the target prediction vector associated with the particular input vector. 2. The method of claim 1, wherein the plurality of input vectors are analyzed by the deep neural network over a number of training epochs, and wherein the target prediction vector associated with the particular input vector updated during a current training epoch is utilized during computation of the unsupervised component of the loss term for the particular input vector during a subsequent training epoch. 3. The method of claim 1, wherein training the deep neural network utilizing the set of training data further includes stochastic augmentation of the plurality of input vectors prior to analysis by the deep neural network. 4. The method of claim 1, wherein the supervised component is calculated by comparing the prediction vector with a label vector associated with the particular input vector. 5. The method of claim 1, wherein the supervised component and the unsupervised component are combined based on a weighting function. 6. The method of claim 1, wherein the deep neural network is a convolution neural network, and wherein each input vector in the plurality of input vectors is an image comprising a two-dimensional array of pixel values. 7. The method of claim 1, wherein updating the target prediction vector associated with the particular input vector comprises normalizing the target prediction vector according to a correction factor. 8. The method of claim 1, wherein the target prediction vector associated with the particular input vector is initialized to a zero vector prior to a first training epoch. 9. The method of claim 1, wherein the deep neural network is implemented on a parallel processing unit. 10. The method of claim 9, wherein each neuron in the deep neural network is implemented as a thread executed by the parallel processing unit. 11. A system, comprising: a memory storing a set of training data for a deep neural network, wherein the set of training data includes a plurality of input vectors and a plurality of label vectors, each label vector in the plurality of label vectors corresponding to a particular input vector in the plurality of input vectors; and a processor configured to train the deep neural network utilizing the set of training data by: analyzing the plurality of input vectors by the deep neural network to generate a plurality of prediction vectors, each prediction vector in the plurality of prediction vectors corresponding to a particular input vector in the plurality of input vectors, and for each prediction vector in the plurality of prediction vectors corresponding to the particular input vector: computing a loss term associated with the particular input vector by combining a supervised component and an unsupervised component according to a weighting function, wherein the unsupervised component is calculated by comparing the prediction vector with a target prediction vector associated with the particular input vector, and updating the target prediction vector associated with the particular input vector. 12. The system of claim 11, wherein the plurality of input vectors are analyzed by the deep neural network over a number of training epochs, and wherein the target prediction vector associated with the particular input vector updated during a current training epoch is utilized during computation of the unsupervised component of the loss term for the particular input vector during a subsequent training epoch. 13. The system of claim 11, wherein training the deep neural network utilizing the set of training data further includes stochastic augmentation of the plurality of input vectors prior to analysis by the deep neural network. 14. The system of claim 11, wherein the supervised component is calculated by comparing the prediction vector with a label vector associated with the particular input vector. 15. The system of claim 11, wherein the supervised component and the unsupervised component are combined based on a weighting function. 16. The system of claim 11, wherein the deep neural network is a convolution neural network, and wherein each input vector in the plurality of input vectors is an image comprising a two-dimensional array of pixel values. 17. The system of claim 11, wherein updating the target prediction vector associated with the particular input vector comprises normalizing the target prediction vector according to a correction factor. 18. The system of claim 11, wherein the target prediction vector associated with the particular input vector is initialized to a zero vector prior to a first training epoch. 19. The system of claim 11, wherein the processor comprises a parallel processing unit, and wherein each neuron in the deep neural network is implemented as a thread executed by the parallel processing unit. 20. A non-transitory, computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform steps comprising: receiving a set of training data for a deep neural network, wherein the set of training data includes a plurality of input vectors and a plurality of label vectors, each label vector in the plurality of label vectors corresponding to a particular input vector in the plurality of input vectors; and training the deep neural network utilizing the set of training data by: analyzing the plurality of input vectors by the deep neural network to generate a plurality of prediction vectors, each prediction vector in the plurality of prediction vectors corresponding to a particular input vector in the plurality of input vectors, and for each prediction vector in the plurality of prediction vectors corresponding to the particular input vector: computing a loss term associated with the particular input vector by combining a supervised component and an unsupervised component according to a weighting function, wherein the unsupervised component is calculated by comparing the prediction vector with a target prediction vector associated with the particular input vector, and updating the target prediction vector associated with the particular input vector.