Computational Cognitive Neuroscience Software

Some of the system development to be completed during this year's Neuromorphic Cognition Engineering Workshop will involve extending and modifying computational cognitive neuroscience models constructed using the Leabra modeling framework. Workshop participants who wish to get a head start on these activities by familiarizing themselves with this framework may do so using the resources described below.

The Leabra framework is an integrated collection of mathematical and computational tools for formally describing the information processing properties of neural circuits in the human brain. Thus, Leabra is not a specific model of one or more brain circuits. Neither is it a hardware component or a software package. It is a set of formal tools with which abstract models of brain function can be constructed.

An excellent introduction to the Leabra framework is provided in the book Computational Explorations in Cognitive Neuroscience: Understanding the Mind by Simulating the Brain by Randall C. O'Reilly and Yuko Munakata. This book is briefly described at:

 http://grey.colorado.edu/CompCogNeuro/index.php/CECN

This book was published by MIT Press, and is available from them:

 http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=3345

It is also availabe from a broad range of online bookstores. An electronic copy of the book is available free of charge to subscribers of the MIT Press CogNet service:

 http://cognet.mit.edu/

Importantly, the libraries at many universities have purchased subscriptions to this service, providing the constituents of those libraries free access to CogNet services. If your local university library provides you with access to CogNet, you may find an electronic copy of the O'Reilly and Munakata book here:

 http://cognet.mit.edu/library/books/view?isbn=0262650541

(You may, however, need to access CogNet through your library's web site.)

The Leabra framework was originally implemented in a computer program called PDP++, but this program is no longer supported. The current leading implementation of this framework resides in a software package called Emergent. Emergent provides software tools for building computational cognitive neuroscience models using the Leabra framework, along with tools for running simulations of those models and performing analyses of model performance. Information about the Emergent software may be found at:

 http://grey.colorado.edu/emergent/

From the Emergent web site, you can download the Emergent software free of charge. This software runs under Windows, Mac OS X, and Ubuntu Linux. The Emergent web site provides instructions for downloading both the most recent official release version of this package (Version 5.1.0) and more recent experimental versions. While workshop projects might involve more recent innovations to this software, you are advised to start your explorations with the more stable 5.1.0 release, if possible. There is an Emergent users mailing list, to which questions concerning installation and other issues can be addressed:

 http://grey.colorado.edu/cgi-bin/mailman/listinfo/emergent-users

The Emergent web site provides some general documentation, though it is somewhat sparse:

 http://grey.colorado.edu/emergent/index.php/Using_emergent

A good place to begin your explorations of this software is the "Getting Started" page from this set of online documentation. There is also a page of "Tutorials", of which the following are useful to those just starting to use Emergent:

  • How to build your own network
  • Visualization features
  • Advanced: AX_Tutorial

Before delving too deeply into these tutorials, it is best to examine some Leabra models that are associated with the O'Reilly and Munakata text. Walking through these models carefully is probably the best way to learn about Leabra and Emergent on your own. These models are available at:

 http://grey.colorado.edu/CompCogNeuro/index.php/CECN1_Projects

Each of these models is stored in an Emergent "project file". These project files are marked with a ".proj" extension to their filenames. For example, the "units" model is stored in a file called "units.proj". In order to examine a model, download the corresponding project file from the web site, and then open the project file from within the Emergent software (using the "Open Project" button in the upper tool bar of the Emergent root window).

Each of these projects contains its own documentation, providing a narrative description of the model and tutorial instructions for manipulating it. Once a project is loaded, look for the "ProjectDocs" tab in the central pane of the Emergent project window (typically labeled something like "LeabraProject_0"). Selecting the "ProjectDocs" tab will bring forward tutorial text, guiding you through your investigation into the given neural model.

There are several ways to shut Emergent down when you are done. One reliable way is to type the "exit" command into the Emergent console window.

These textbook project files start with models of individual neurons and work up through neural circuits for perception, attention, memory, and cognitive control. The early projects, involving individual neurons and small networks (Chapters 2-6), also provide tutorial information about the Leabra framework and about using Emergent, so it is probably best to visit these early projects first.

While these textbook projects are the best way to learn Emergent, and the Leabra framework, they have only recently been upgraded to the latest version of Emergent. Thus, there are still some unresolved bugs in the latest versions of these projects. This is particularly true for the Windows version of Emergent, where graphical interface issues are not uncommon. Thus, while most aspects of Emergent should be fine under Windows, using Mac OS X or Linux will provide a more stable platform.

There is currently an ongoing effort to produce an electronic second edition of the Computational Explorations in Cognitive Neuroscience: Understanding the Mind by Simulating the Brain textbook. While this online book is far from complete, interested participants can see some early prose at:

 http://grey.colorado.edu/CompCogNeuro/index.php/CCNBook/Main

Workshop participants who are interested in having Emergent interact with other software systems are advised to first learn a bit about Leabra and Emergent and then consult this online document about interprocess communication in Emergent:

 http://grey.colorado.edu/emergent/index.php/Server_Protocol

Generic questions concerning the Emergent software can be directed to the Emergent users mailing list. Conceptual questions concerning modeling in the Leabra framework will be addressed during the workshop, though pressing questions of this kind may be directed to 'David Noelle'.