professional bio |
I am a practitioner of artificial intelligence as originally conceived: a sister discipline of cognitive science, concerned with the mechanization of human thought. My approach is integrative and based on the construction and combination of methods and inductive biases that exploit progressively more and more of the patterned structure of reality. Eventually, this will exceed the limited amount of structure that humans currently exploit.
How to guide the construction of these methods? Where do good inductive biases come from? I claim that the best approach, at present, is to draw inspiration from human cognition, at the level of Marr's computational theory (description of the problems the system attempts to solve). This contrasts with approaches to AI that ignore cognitive science, as well as those that attempt to copy the algorithms and representations of human cognition (which are not yet very well understood - as Marvin Minsky recently put it, "neuroscience has no theory for the middle level"), or its implementation (neurons).
In studying cognition on the computational level, one comes up with some fundamental constraints on the representations and algorithms required for a human-like thinking machine. One of these is that purely local methods (Hebbian or reinforcement learning) must be augmented by a more global learning method that explores large search spaces by recombining existing solutions and knowledge, exhibiting evolutionary dynamics. Given the kinds of problems that humans and animals must solve on a moment-to-moment basis, the evolution of programs is called for; nested, sequenced structures for tasks such as navigating and socializing (and many more).
Hence, an analysis of the challenges and requirements for competent program evolution formed the basis for my doctoral dissertation. The major contribution of this work was the identification and implementation of two key mechanisms: (1) exploiting semantics (what programs actually mean) to restrict and direct search; and (2) limiting the recombination of programs to occur within bounded subspaces (constructed on the basis of program semantics). This leads to superior scalability in comparison to current purely syntactic techniques (local search, genetic programming, etc.), and better performance on real-world supervised classification problems. Furthermore, the evolved programs do not suffer from any kind of "bloating", and are generally quite comprehensible. This is of particular interest for application areas such as computational biology, where it is important to know not only that a method achieves good performance, but to understand how.
Currently I am extending my doctoral work to cover a broader range of programmatic constructs with greater expressiveness (list manipulation and lambdas, iteration, and advanced agent control). Concurrently, I am working towards a system that will be persistent and embodied; it will absorb and integrate knowledge from a variety of sources, and improve with experience.