Introduction

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?

Back to OOPS main page