New problems often are more easily solved by reusing or adapting solutions to previous problems. That's why we often train machine learning systems on sequences of harder and harder tasks.
Sometimes we are interested in strategies for solving all problems
in a given problem sequence. For example, we
might want to teach our learner a program that computes FAC
for any given positive integer
. Naturally,
the
-th task in our ordered sequence of training problems
will be to find a program that computes
FAC
for
But ordered problem sequences may also arise naturally without teachers.
In particular, new tasks may depend on solutions for earlier tasks.
For example, given a hard optimization problem, the
-th task
may be to find an approximation to the unknown optimal solution such
that the new approximation is at least 1 % better (according to some
measurable performance criterion) than the best found so far.
In general we would like our learner to continually profit from useful information conveyed by solutions to earlier tasks. To do this in an optimal fashion, the learner may also have to improve the algorithm used to exploit earlier solutions. In other words, it may have to learn a better problem class-specific learning algorithm, that is, to metalearn. Is there a general yet time-optimal way of achieving such a feat?