  A complete and statistically consistent uncertainty quantification for deep
learning is provided, including the sources of uncertainty arising from (1) the
new input data, (2) the training and testing data (3) the weight vectors of the
neural network, and (4) the neural network because it is not a perfect
predictor. Using Bayes Theorem and conditional probability densities, we
demonstrate how each uncertainty source can be systematically quantified. We
also introduce a fast and practical way to incorporate and combine all sources
of errors for the first time. For illustration, the new method is applied to
quantify errors in cloud autoconversion rates, predicted from an artificial
neural network that was trained by aircraft cloud probe measurements in the
Azores and the stochastic collection equation formulated as a two-moment bin
model. For this specific example, the output uncertainty arising from
uncertainty in the training and testing data is dominant, followed by
uncertainty in the input data, in the trained neural network, and uncertainty
in the weights. We discuss the usefulness of the methodology for machine
learning practice, and how, through inclusion of uncertainty in the training
data, the new methodology is less sensitive to input data that falls outside of
the training data set.
