Sunday, December 16, 2007

Adaptive Control of Thought--Rational

ACT-R (pronounced act-ARE: Adaptive Control of Thought--Rational) is a cognitive architecture mainly developed by John Robert Anderson at Carnegie Mellon University. Other cognitive architectures include CHREST, CLARION, ICARUS, DUAL, and Psi.
Like any cognitive architecture, ACT-R aims to define the basic and irreducible cognitive and perceptual operations that enable the human mind. In theory, each task that humans can perform should consist of a series of these discrete operations.
Most of the ACT-R basic assumptions are also inspired by the progresses of cognitive neuroscience, and, in fact, ACT-R can be seen and described as a way of specifying how the brain itself is organized in a way that enables individual processing modules to produce cognition.
Like other influential cognitive architectures (including Soar, CLARION, and EPIC), the ACT-R theory has a computational implementation as an interpreter of a special coding language. The interpreter itself is written in Lisp, and might be loaded into any of the most common distributions of the Lisp language.
This means that any researcher might download the ACT-R code from the ACT-R website, load it into a Lisp interpreter, and gain full access to the theory in the form of the ACT-R interpreter.
Also, this enables researchers to specify models of human cognition in the form of a script in the ACT-R language. The language primitives and data-types are designed to reflect the theoretical assumptions about human cognition. These assumptions are based on numerous facts derived from experiments in cognitive psychology and brain imaging.
Like a programming language, ACT-R is a framework: for different tasks (e.g., Tower of Hanoi, memory for text or for list of words, language comprehension, communication, aircraft controlling), researchers create "models" (i.e., programs) in ACT-R. These models reflect the modelers' assumptions about the task within the ACT-R view of cognition. The model might then be run.
Running a model automatically produces a step-by-step simulation of human behavior which specifies each individual cognitive operation (i.e., memory encoding and retrieval, visual and auditory encoding, motor programming and execution, mental imagery manipulation). Each step is associated with quantitative predictions of latencies and accuracies. The model can be tested by comparing its results with the data collected in behavioral experiments.
In recent years, ACT-R has also been extended to make quantitative predictions of patterns of activation in the brain, as detected in experiments with fMRI. In particular, ACT-R has been augmented to predict the exact shape and time-course of the BOLD response of several brain areas, including the hand and mouth areas in the motor cortex, the left prefrontal cortex, the anterior cingulate cortex, and the basal ganglia.
Brief outline
ACT-R's most important assumption is that human knowledge can be divided into two irreducible kinds of representations: declarative and procedural.
Within the ACT-R code, declarative knowledge is represented in form of chunks, i.e. vector representations of individual properties, each of them accessible from a labelled slot.
Chunks are held and made accessible through buffers, which are the front-end of what are modules, i.e. specialized and largely independent brain structures.
There are two types of modules:
* Perceptual-motor modules, which take care of the interface with the real world (i.e., with a simulation of the real world). The most well-developed perceptual-motor modules in ACT-R are the visual and the manual modules.
* Memory modules. There are two kinds of memory modules in ACT-R:
o Declarative memory, consisting of facts such as Washington, D.C. is the capital of United States, France is a country in Europe, or 2+3=5
o Procedural memory, made of productions. Productions represent knowledge about how we do things: for instance, knowledge about how to type the letter "Q" on a keyboard, about how to drive, or about how to perform addition.
All the modules can only be accessed through their buffers. The contents of the buffers at a given moment in time represents the state of ACT-R at that moment. The only exception to this rule is the procedural module, which stores and applies procedural knowledge. It does not have an accessible buffer and is actually used to access other module's contents.
Procedural knowledge is represented in form of productions. The term "production" reflects the actual implementation of ACT-R as a production system, but, in fact, a production is mainly a formal notation to specify the information flow from cortical areas (i.e. the buffers) to the basal ganglia, and back to the cortex.
At each moment, an internal pattern matcher searches for a production that matches the current state of the buffers. Only one such production can be executed at a given moment. That production, when executed, can modify the buffers and thus change the state of the system. Thus, in ACT-R, cognition unfolds as a succession of production firings.
Birth of ACT-R: 1990-1998
In the late eighties, Anderson devoted himself to exploring and outlining a mathematical approach to cognition that he named Rational Analysis. The basic assumption of Rational Analysis is that cognition is optimally adaptive, and precise estimates of cognitive functions mirror statistical properties of the environment. In his work with Lael Schooler, he successfully demonstrated that many features of memory, including retention functions and contextual effects, may be reproduced by applying Bayesian estimates to environmental statistics.
This work culminated in the publication of his research monograph "The Adaptive Character of Thought" (1990).
Later on, he came back to the development of the ACT theory, using the Rational Analysis as a unifying framework for the underlying calculations. To highlight the importance of the new approach in the shaping of the architecture, its name was modified to ACT-R, with the "R" standing for "Rational".
In 1993, Anderson met with Christian Lebiere, a researcher in connectionist models mostly famous for developing with Scott Fahlman the Cascade Correlation learning algorithm. Together, they wrote a neural network implementation of his theory, defending its biological plausibility.
They also developed successive version of the architecture, eventually culminating in the release of ACT-R 4.0, presented in the 1998 jointly edited book "The Atomic Components of Thought".
Thanks to Mike Byrne at the Rice University, version 4.0 also included optional perceptual and motor capabilities, mostly inspired from the EPIC architecture, which greatly expanded the possible applications of the theory.

Current developments 1998-2006
After the publication of "The Atomic Components of Thought", Anderson become more and more interested in the underlying neural plausibility of his life-time theory, and began to use brain imaging techniques pursuing his own goal of understanding the computational underpinnings of human mind.
The necessity of accounting for brain localization pushed for a major revision of the theory. ACT-R 5.0, presented in 2002, introduced the concept of modules, specialized sets of procedural and declarative representations that could be mapped to known brain systems. In addition, the interaction between procedural and declarative knowledge was mediated by newly introduced buffers, specialized structures for holding temporarily active information (see the section above). Buffers were thought to reflect cortical activity, and a subsequent series of studies later confirmed that activations in cortical regions could be successfully related to computational operations over buffers. The theory was first described in the 2004 paper "An Integrated Theory of Mind".
No major changes have occurred since then in the theory, but a new version of the code, completely rewritten, was presented in 2005 as ACT-R 6.0. It also included significant improvements in the ACT-R coding language. ACT-R has also been implemented as PythonACT-R [1] at Carleton University by Terry Stewart. PythonACT-R is arguably a lower threshold modeling language than Lisp and opens up model development to a wider range of students.

Theory vs. implementation, and Vanilla ACT-R
The importance of distinguishing between the theory itself and its implementation is usually highlighted by ACT-R developers.
In fact, much of the implementation does not reflect the theory. For instance, the actual implementation makes use of additional 'modules' that exist only for purely computational reasons, and are not supposed to reflect anything in the brain (e.g., one computational module contains the pseudo-random number generator used to produce noisy parameters, while another holds naming routines for generating data structures accessible through variable names).
Also, the actual implementation is designed to enable researchers to modify the theory, e.g. by altering the standard parameters, or creating new modules, or partially modifying the behavior of the existing ones.
Finally, while Anderson's laboratory at CMU maintains and releases the official ACT-R code, other alternative implementations of the theory have been made available. These alternative implementations include jACT-R (written in Java by Anthony M. Harrison at the University of Pittsburgh) http://jactr.org/
and Python ACT-R (written in Python by Terrence C. Stewart and Robert L. West at Carleton University, Canada).
Similarly, ACT-RN (now discontinued) was a full-fledged neural implementation of the 1993 version of the theory. All of these versions were fully functional, and models have been written and run with all of them.
Because of these implementational degrees of freedom, the ACT-R community usually refers to the "official", lisp-based, version of the theory, when adopted in its original form and left unmodified, as "Vanilla ACT-R".

1 comment:

Noemie said...

Is this the paper you summited for General Psychology? Good Job! it is an interesting combination between Computer Science and Psychology. Although I am familiar with both subject I still little intimidated by it since it sounds very sophisticated and smart. Since it is rather long and involved, it will be nice to have a short summary of what it is all about, in the beginning of the page (using simple words). I read is briefly and I am planning to print it out and read it thoroughly.