1. An inference engine comprising: a computation logic arranged to carry out a plurality of ordered process steps; at least one uncertainty aware predictor having been trained to learn associations between inputs to one of the process steps and an output of the process step; the computation logic arranged to, receive a plurality of inputs to one of the process steps, and obtain a predicted output and uncertainty of the prediction using the predictor; the computation logic arranged to select either the predicted output or a known output on the basis of the uncertainty, and, if the known output is selected, compute the known output and use the known output and the plurality of inputs of the step to train the predictor using online training.