Yet introspection has a number of disadvantages including considerable resource overhead, and with regard to human learning, a severe lack of reliability. So my research does not pretend to claim that introspection is a computational panacea. Rather, I have investigated the role of introspection in learning and the conditions under which it is either a gain or a loss. Adding introspection to a machine, however, does allow it to have an idea of what it is doing and why. Moreover, in some cases (for example when errors are due to forgetting) it is necessary for the agent to consider that reasoning failures may originate with the reasoner's own cognitive abilities, and not simply with the world about it. In such cases introspection is a necessary precondition to learning. Furthermore, to justify the importance of introspection in multistrategy learning systems, I have advanced the following argument: To choose a learning strategy, a system needs to know what is supposed to be learned (that is, it must have a learning goal); to decide what needs to be learned, it must know the cause of failure; to determine the cause of the failure, it must perform blame assignment; and to perform complete blame assignment in many situations, it must reflect upon its own reasoning.
Given such a model, though, a number of questions arise: What exactly
can go wrong when reasoning? That is, what are the sources of failure or
what kinds of failures should a system consider? Then, given a failure
taxonomy, how can a system declaratively represent these failures and how
can it make use of such knowledge representation? That is, what constitutes
a sufficient formal language for expressing instances of failure and how
can the system perform blame assignment upon them? How do these structures
then help in generating the goals or help it decide what to learn? What
are the types of such learning goals? In what way can a system use self-knowledge
to analyze its problem-solving performance? Finally, how can a system choose
an algorithm or strategy, given a learning goal, and what are the possible
learning-algorithm interactions not found in single-strategy systems?
To answer the first of these questions requires only a few assumptions. Given that reasoning is the goal-directed processing of a given input using the reasoner's knowledge, then only a limited number of classes of faults can be responsible for a given failure: the reasoning failure can originate in either the reasoner's goals, its processing strategies, the input, or the domain knowledge. Given an additional assumption that knowledge is memory-based and subject to retrieval and organizational problems, then the organization of suspended goals (indexes), processing strategy associations (heuristics), or the organization (indexes) of the domain knowledge may also be to blame. In my taxonomy of reasoning failures, if one of these categories is responsible for an error, the item corresponding to the category is either absent or incorrect. If an item is correct, then that category contributes nothing to the failure. The taxonomy is comprehensive and goes beyond systems that limit the cause of error by assuming, for instance, noise-free input or other simplifications.
Blame assignment
To reason about these types of failures I have extended Schank and Ram's notion of an explanation pattern (XP). A meta-explanation pattern (Meta-XP) is an explanation of how and why an explanation goes awry in a reasoning system. I have developed two classes of Meta-XPs that facilitate a system's ability to reason about itself and to assist in selecting a learning algorithm or strategy. A Trace Meta-XP (TMXP) explains how a system generates an explanation about the world or itself, and an Introspective Meta-XP (IMXP) explains why the reasoning captured in a TMXP fails. The TMXP records the structure of reasoning tasks and the reasons for decisions taken in processing in a chain or series of decide-compute nodes. The IMXP is a general causal structure composed of primitive, network structures that represent various failure types identified in the failure taxonomy above. They are retrieved and applied to instance of reasoning captured in TMXPs, and assist in forming the learning goals of the systems after failure occurs.
Deciding what to learn
Once a system has identified the causes of a given reasoning failure, it must decide what it needs to learn. To represent these desires explicitly, it posts a series of learning goals that, if achieved, will reduce the likelihood of repeating the failure. Some learning goals seek to add, delete, generalize or specialize some concept or procedure. Others deal with the ontology of the knowledge, that is, with the kinds of categories that constitute particular concepts. Many learning goals are unary in that they take a single target as argument. For example, a knowledge acquisition goal seeks to determine a single piece of missing knowledge, such as the answer to a particular question. A knowledge refinement goal seeks a more specialized interpretation for a given concept in memory, whereas a knowledge expansion goal seeks a broader interpretation that explores connections with related concepts. Other learning goals are binary in nature since they take two arguments. A knowledge differentiation goal is a goal to determine a change in a body of knowledge such that two items are separated conceptually. In contrast, a knowledge reconciliation goal is one that seeks to merge two items that were mistakenly considered separate entities. Both expansion goals and reconciliation goals may include/spawn a knowledge organization goal that seeks to reorganize the existing knowledge so that it is made available to the reasoner at the appropriate time, as well as modify the structure or content of a concept itself. Such reorganization of knowledge affects the conditions under which a particular piece of knowledge is retrieved or the kinds of indexes associated with an item in memory.
Strategy selction
Given a learning goal, then, a system must also decide which learning
strategy is most appropriate to achieving it. The approach I take is to
treat the learning task like a traditional planning problem, creating a
learning plan that is composed of a series of executions of learning algorithms
that will achieve its learning goals. However, unlike learning algorithms
executed by single-strategy systems, the learner must dynamically consider
possible interactions that may occur between the learning strategies. It
is therefore important to recognize that when multiple items are learned
from a single episode, the changes resulting from one learning algorithm
may affect the knowledge structures used by another algorithm. Such dependencies
destroy any implicit assumption of independence built into a particular
learning algorithm used in isolation. For instance, if one algorithm modifies
a conceptual definition, thus introducing or altering constraints on an
attribute of the concept, any re-indexing based on this attribute must
occur after the modification rather than before it, in order for the indexing
to be effective. A non-linear planner is thus used to resolve these types
of dependencies and goal interactions.
The program has been evaluated in a number of contexts. In machine-learning
environments, my emphasis has been on the problem of choosing computational
learning algorithms, given some learning task. In cognitive science evaluation,
the emphasis has been on modeling how human learners choose particular
approaches or metacognitive strategies given some problem-solving task.
Most of my results have been published in machine learning and other artificial
intelligence forums, including an invited chapter in the latest volume
of Michalski and Tecuci's Machine Learning: A Multistrategy Approach (Ram
& Cox, 1994). I am also working on the relationship between learning
goals and the notion of bias in learning systems. In my theory, learning
goals further extend the analysis of bias by providing a system with tendencies
to select particular changes to its background knowledge and selective
filtering of learning examples. The theory has also been applied to human
data in real-world problem-solving tasks. In collaboration with colleagues
from the Industrial and Systems Engineering Department of the College of
Engineering at Georgia Tech, we have successfully used this approach in
the domain of diagnostic repair of circuit boards, modeling the behavior
of expert troubleshooters at NCR's electronics assembly plant in Atlanta.
This research has been accepted for publication in the journal Cognitive
Science (Ram, Narayanan, & Cox, in press).
Cox, M. T., & Ram, A. (in press). Learning-goal interactions: Treating learning as a planning task. In M. Keane & J.-P. Haton (Eds.), Topics in case-based reasoning (Lecture notes in artificial intelligence). Berlin: Springer-Verlag. Ghosh, S., Hendler, J., Kambhampati, S., and Kettler, B. (1992). UM Nonlin [a Common Lisp implementation of A. Tate's Nonlin planner]. Maintained at the Dept. of Computer Science, University of Maryland, College Park, MD. Available by anonymous ftp from cs.umd.edu in directory /pub/nonlin. Meehan, J. (1981) Talespin. In R. C. Schank & C. Riesbeck (Eds.), Inside computer understanding: Five programs plus miniatures. Hillsdale, NJ: Lawrence Erlbaum Associates. Ram, A. (1991). A Theory of Questions and Question Asking. The Journal of the Learning Sciences, 1(3&4):273-318. Ram, A. (1993). Indexing, Elaboration and Refinement: Incremental Learning of Explanatory Cases. Machine Learning. 10:201-248. Ram, A., & Cox, M. T. (1994). Introspective reasoning using meta-explanations for multistrategy learning. In R. S. Michalski & G. Tecuci (Eds.), Machine learning: A multistrategy approach IV (pp. 349-377). San Francisco: Morgan Kaufmann. Ram, A., Narayanan, S., & Cox, M. T. (in press). Learning to trouble-shoot: Multistrategy learning of diagnostic knowledge for a real-world problem solving task. Cognitive Science. Tate, A. (1976). Project planning using a hierarchic non-linear planner (Tech. Rep. No. 25). Edinburgh, UK: University of Edinburgh, Department of Artificial Intelligence.