A neural network that learns to approximate a complex function while also estimating its own prediction uncertainty, which varies with input.