![]() |
Alan Jennings
PhD Candidate at University of Dayton, Graduating 2012
Research Assistant at the Air Force Institute of Technology |
Traditionally, if you wanted to learn a skill, you trained under a master. By learning the patterns and laws, then you could hope to mimic similar results independently. By this concept, biomimetics also seeks to replicate an expert. Traditional artificial intelligence (both logic based or expert systems) has had limited performance with this method. By contrast, developmental learning doesn't see the training as learning to mimic, but that the experience is required to shape a general purpose learner into something useful.
Inspiration comes from the human and animal developmental period. Highly directed systems gain efficiency at a loss of generalization. Highly instinctive animals are able to be quickly independent but cannot adapt well and fail higher intelligence tasks such as self recognition. Classification algorithms can learn rapidly, but then fail to adapt to changes or more classes. Humans have amazing potential all unrealized as an infant. The progressive mechanical development naturally stages learning.
Each stage provides a foundation to higher stages,
and also co-develops with the higher stage.
Proficiency is primarily limited by experience.
For developmental learning to be effective for robotic applications:
None of these are simple problems to solve individually, much less as a whole.
1. Foundational skills allow for programming or learning to be done in higher spaces.
Interesting research has been done on the areas of gaze learning, motion
coordination and face tracking,
from a developmental perspective where the system learn primarily by experience rather then hard programming.
However, foundational skills alone will never solve real problems since they are directed and cannot be general purpose.
2. A key limiting factor is how the knowledge is represented.
The representation choice often determine concepts of 'similarity' and may have a
significant impact on the difficulty of the problem.
Discretizations are necessary to describe a continuous world to a digital system,
but if the resolution is fixed there will always be a compromise of initial learning speed and final performance.
Representations should facilitate increasing resolution.
Skills should be mutually supportive so that areas of strengths are exploited and desired skills are pursued.
The robot should not be a passive learner, but should direct its training.
3. Learning by a trainer is the fastest way to guide learning.
The trainers experience, and the interpretation thereof, can be used to show the neighborhood of the solution.
Also important is learning by other's failures.
Intelligent robots must be able to learn in a social context in order to grow as a community and interact with humans.
Autonomous learning is also important since it must be used to create new understanding and focused research.
Introspective learning is essential to a knowledge the knowledge of self needed for individualized learning and motivation.
An fundamental challenge is trust and interpretation of the data.
How are the experiences of others related to personal experiences?
Should a stronger weight be placed on personal experiences or newer experiences?
Many personality traits, such as stubbornness, faith, competitiveness,
forgetfulness or whimsicalness
naturally address these in a broader sense.
4. Transfer of skills is necessary to achieve the practical learning rates observed in humans.
However, transfer of general skills appears to be an ill-defined problem and
contrary to optimizing individual skills.
Given that biological systems limit complexity with an underdeveloped system and learning is often initiated on a reduced order system; the same idea is applied to learning motions. A trajectory is a set of functions for each joint telling them the value as time changes (or the signal to the actuator). The number of degrees of freedom for a trajectory is the number of parameters that can be varied to shape the functions. Cubic spline interpolation is a good choice since it is smooth and resolution can easily be increased. By adding nodes without moving existing nodes, all data can be transferred to the higher dimension exactly. Standard learning techniques can then be applied. I am currently using locally-weighted-regression since it allows for adding data, gives gradients and can handle noisy data.
Much of what we do everyday are environmentally guided reactions, opposed to forward planned motions.
To this end, I am researching methods of creating optimal inverse functions.
The inverse functions would accept the stimulus, set-point or desired outcome and produce a given set of parameters.
Complex functions can easily be multi-modal resulting in sets of locally optimal inverse functions.
Inverse functions can easily be compared by cost versus set-point.
Since the functions are continuous, the parameters can be varied continuously as the set point is adjusted.
The optimality search is conducted in the input space, which may be large,
so a population method is used.
As population members converge, they are thinned to prevent
repetitive calculations.
Currently, I have only worked with scalar set-points since they provide for obvious sorting.
For higher dimension set-points, the range would need also need a complex representation.