Summary: The project will formally define useful kinds of computational
reflection (using a model of a program within the program itself) by analyzing
the capabilities of existing systems and comparing them with properties
of reflective formal systems, given by classical
recursion theorems
and later generalizations. Effects of introducing reflection into systems for
machine learning will be analyzed and an optimal kind of reflection will
be experimentally built into a chosen system for machine learning, developed
within the research unit.
The basic goal of this reserch project is to determine the range and effectiveness of ways of using reflection in systems for machine learning. The initial and basic theoretical part will attempt to use known results about reflective formal systems such as the recursion theorems, and use any results obtained within the current project Formal self-reference in artificial intelligence. The central theme of this project, formalizing reflective progressions of reflective theories, can be partly described in terms of learning as a very abstract, idealized situation of a difficult type of learning (cf. [Lathrop]), namely inducing finite descriptions of infinite sets of axioms, generated by a certain transfinite iteration.
Assuming that the effort to formally define reflective learning indicates sufficently important advances beyond current systems of machine learning, the next goal will be to implement such advances in some local system for machine learning, developed within the research unit.
2000
2001
- determining efficient kinds of reflection, depending on the type
of machine learning;
- designing a reflective improvement of a chosen local system for machine
learning,
- estimating the cost of introducing reflection (execution speed, possible
reprogramming).
- implementing a reflexive extension for the chosen system and evaluating
the result;
- possible review of previous phase(s), depending on the result.
P r o j e c t t e a m
Members of the Department
of Intelligent Systems, Jozef Stefan Institute, Ljubljana:
Current uses of reflection in machine learning i.e. the programs for machine learning which are called reflective by their authors, actually tend to instantiate a fairly simple meta-level architecture. Such an architecture has a clear hierarchical structure, without any real reflective loops [Steyaert] i.e. reflective [Steyaert] or introspective [Smith] overlap. If a system contains its own representation, the content of this representation has to be compatible with its inclusion in the system; that is, the representation must not »reflect« facts about the system which are invalidated by its very presence in it [Smith]. A simple example of such overlap, without its possible conflicts but, on the contrary, a harmonius one, building the foundation for a formal structure, is the double use of diagonalization in building the self-reference of Gödel's sentence: the representation of diagonalization involves formulas which »already« contain that representation [Bojadziev].
Reflection as self-application is a classical theoretical concept in computer science, present from the very beginning in Turing's reflective machines [Webb], but it has recently also established itself as a practical technique in the main programnming paradigms (logic, functional and object programming). Standard examples are:
In Slovenia, the first research project concerned with computational reflection, Formal self-reference in artificial intelligence, currently runs in the Department for intelligent systems at the Jozef Stefan institute, Ljubljana [Gams et al]. There is some similarity between this research and the one described here, but there are significant differences in most respects, mainly in scope (the research described here is much more specific), application area (here, it is machine learning only) and target formalism (here, it is programming-oriented). An early forerunner of the present research is the work done in the Department on meta-level architectures of expert systems [Lavrac & Vassilev 89].
The problem, targeted by the this research, is the basic problem of the way and usefulness of using reflection in a system for machine learning, beyond the current, mainly meta-level structures. Solving this problem would open the way for introducing some appropriate form of reflection into existing Departmental systems for machine learning, such as LINUS, which learns non-recursive definitions of relations [Lavrac, Dzeroski & Grobelnik]. Since introducing reflection into existing systems brings with it a certain processing cost (run-time, memory, possible reprogramming), this reflection overhead will have to be justified by a cost/benefit analysis or experimental estimate.
The novelty of the present research consists in its orientation beyond the common meta-level solutions, which tend to reduce to simple command procedures or, at the opposite end, shift the problem to the meta-level (learning how to learn [Schmidhuber]).
An interesting phenomenon of human learning and cognition in general, which would appear to be at least partially connected with the capacity for reflection, is the experience of sudden insight, click of comprehension (Brown), the A h a-Erlebniss, in which we realize what the solution to a problem is, or understand what we have been trying to learn. There are as yet no computational treatments of this aspect of learning, and this research will not explicitly target it, but it may provide at least some partial insight into sudden insight.
Current theoretical knowledge about reflective machine learning is also rather limited, much more than the knowledge about reflective computational systems in general. There are efforts to establish a unified formal framework for reflection, usually within a system of logic, but there are far less formal results/theorems within such a system, or at least attempts to apply classical formal results about reflection to a theory of reflective machine learning, eg. Kleene's recursion theorems [Case]. Interestingly enough, there are already results about the hardest learning problem, namely learning what cannot be learned, since it does not exist (the decision function) [Lathrop].
In the complementary area of computational teaching, there are some initial proposals of reflective systems which would take into account the human reflection of the learner, by building and using a (reflective) model of her [Morales]. In general, there are more analyses of the role of reflection in learning and of ways to use and encourage it in the humanistic literature [Flake].
Bojadziev, D., Reconstructing diagonalization(s), Yearbook of the Kurt Gödel Society 1989, pp.74-77, Wien 1990
Case, J., Infinitary Self Reference in Learning Theory, Journal of Experimental and Theoretical Artificial Intelligence, 6 (1994), 3-16.
Flake, J., Reflections on Reflective Learning in a Computer Environment, Dept. of Educational Theory and Practice report, Florida State University
Friedman, D.et al, Dynamically Extensible Computational Reflection, DARPA/NCF research project
Gams, M. (principal researcher), Bojadziev, D, et al, Formal self-reference in artificial intelligence, basic research project, Ministry of Science and Technology, J2-7643, 1996-98, approved extension to 1999-2001
Gams, M. et al, EMA - An Intelligent Employment Agent, Proc. 4. Th World Congress on Expert Systems, Mexico, pp. 57-64, 1998.
Hölzle, U., Ungar, D., A Third-Generation Self Implementation, Proc. ACM OOPSLA `94 Conference, Portland, Oregon, 1994
Kiczales, G. et al, The Art of the Metaobject Protocol, MIT Press, 1991
Lathrop, R., On the learnability of the uncomputable, in Saitta, L. (ed.), Proc. 13.th International Conference on Machine Learning, pp. 302-309, Bari 1996, Italy, Morgan Kaufman, San Francisco
Lavrac, N., Vassilev, H., Meta-level architecture of a 2.nd generation knowledge acquisition system, 4.th European Working Session on Learning EWSL 89, Montpellier 1989; London: Pitman, pp. 99-109.
Lavrac, N., Dzeroski, S., Grobelnik, M., Learning nonrecursive definitions of relations with LINUS., Proc. Fifth European Working Session on Learning, 265-281. Springer, Berlin, 1991.
Lunau, C.P., Papers on Reflection in Object-Oriented Languages
Maes, P., Nardi, D. (ed..), Meta-Level Architectures and Reflection., North Holland 1988
Malenfant, J., Demers, F., Tutorial on Behavioral Reflection and its Implementation, Proc. Reflection '96
Mitchell, T.M.et al, Theo: A framework for self-improving systems, in K. VanLehn (ed.), Architectures for Intelligence, pp. 325-355, Lawrence-Erlbaum Associates, Hillsdale, N.J., 1991.
Morales, R., Modelling user reflection, PhD proposal, Dept. of AI, Univ. of Edinburgh
Proceedings of OOPSLA'93 Workshop on Object-Oriented Reflection and Metalevel Architectures, Washington, D.C., September 1993
Rivard, F., Smalltalk: a Reflective Language, Proc. Reflection '96
Sanchis, L., Reflexive structures, Springer 1988, and Recursive functionals, Springer 1992
Schmidhuber, J., On learning how to learn learning strategies, Technical report FKI-198-94, 1995 [ps]
Smith, B. Varieties of Self-reference, in J. Halpern (ed.), Theoretical Aspects of Reasoning about Knowledge, Proc. of 1986 Conference, Morgan Kaufmann Publishers, 1986
Sobel, J.M., Friedman, D.P., An Introduction to Reflection-Oriented Programming, Computer Science Department, Indiana University
Steyaert, P., Computational Reflection and Open Systems, in: Open Design of Object-Oriented Languages, A Foundation for Specialisable Reflective Language Frameworks, PhD Thesis, Vrije Universiteit Brussel, 1994
Stroulia, E., Goel, A., A Model-Based Approach to Reflective Learning. , Proc. 1994 European Conference on Machine Learning, Catania, Italy, April 1994, pp. 287-306..
Webb, J., Mechanism, Mentalism and Metamathematics - An Essay on Finitism, D. Reidel Publ. Co. 1980
Yonezawa, A., Smith, B. (ed)., Reflection and Meta-level Architectures, Proc. Int. Worskhop on New Models for Software Architecture, Tokyo 1992