1. In a computational environment, a method for learning a program that is characterized by a number of parameters, the computing environment allowing the program to receive an input vector, an expected output vector and values of the parameters, the method comprising of: choosing an input distortion percentage and a parameter distortion percentage each having a value between zero and a respective predetermined maximum and; blanking out or randomizing the input distortion percentage of values in the input vector; blanking out or randomizing the parameter distortion percentage of the values of the parameters of the program; and applying a learning technique to the program, using the expected output vector, the distorted input vector and distorted parameters.