2008 Special IssueThe Emergent neural modeling system☆,☆☆
Introduction
Emergent (http://grey.colorado.edu/emergent) is a powerful tool for the simulation of biologically plausible, complex neural systems that was released in August 2007. The immediate predecessor to Emergent is PDP++ v3.2, a tool used by a variety of researchers for neural modeling and teaching. PDP++ was itself an extension of the PDP software released by McClelland and Rumelhart in 1986 with their groundbreaking book, Parallel Distributed Processing (McClelland & Rumelhart, 1986). Emergent represents a near complete rewrite of PDP++, replacing an aging and largely unsupported graphical user interface (GUI) framework called Interviews with a well supported, more modern one called Qt (http://trolltech.com/products/qt). A major benefit of Qt is its seamless integration into all major platforms, allowing Emergent to not only be easily installed on them, but also to adopt their native look and feel. With this in mind, we completely redesigned the user interface, employing a now-familiar tree-based browser approach (with tabbed edit/view panels) for project exploration and interaction (Fig. 1). We also radically redesigned or even replaced several core constructs from the previous product, such as Environments and Processes, replacing them with the more general-purpose DataTable and Program constructs that will be discussed later.
More important than technical or interface changes, we also extended the intended scope of the tool. Whereas the previous versions were primarily intended for relatively small research and teaching models, typically aimed at demonstrating some isolated or delimited piece of functionality, the new version is intended to support very large-scale simulations of entire integrated brain-like systems. And whereas the previous versions were primarily designed for closed simulations using simple fixed data patterns as input and output, Emergent has been designed to accommodate external “closed-loop” sensory and motor connections both by plugins and with a built-in simulation environment that includes a rigid-body physics simulation for creating virtual robot-like agents.
This article will give a general overview of Emergent’s features and capabilities, ending with a comparison with other neural network simulators and a discussion of the features we plan to implement in the near future.
Section snippets
Supported algorithms
Out of the box, Emergent supports classic back-propagation (BP) (Rumelhart, Hinton, & Williams, 1986), and recurrent back-propagation in several variants (Almeida, 1987, Pineda, 1987, Williams and Zipser, 1989); Constraint-satisfaction (CS) including the Boltzmann Machine (Ackley et al., 1985), Interactive Activation and Competition, and other related algorithms; Self-organized learning (SO) including Hebbian Competitive learning and variants (Rumelhart & Zipser, 1986) and Kohonen’s
Comparison with other simulators
Emergent is in the company of hundreds of available neural simulators, each filling a certain niche. In order to help users choose a simulator that best suits their needs, we have compiled a detailed comparison (http://grey.colorado.edu/emergent/index.php/Comparison_of_Neural_Network_Simulators) over 25 features of the 15 simulators that we identified as having been the most widely used and developed. This table is available on the Emergent wiki, is community-editable and features
Future work
Emergent is under constant development and a number of improvements are on the horizon. We plan to implement an undo operation to complement copy and paste, an autosave feature and better support for keyboard shortcuts. The build system will be ported from GNU Autoconf to the more modern CMake, and the Windows development environment will be upgraded to Visual Studio 2008. 64-bit support has already been implemented for Linux—we soon plan to support it on OSX and Windows as well. We will
Conclusion
Emergent’s 4.0 series of releases is a turning point in the history of its development. With a renewed focus on usability, extensibility, cross-platform support and visualization, Emergent is now accessible to a far wider audience than was PDP++. Using this new workspace, the process of creating models has become efficient, making modelers more productive and allowing them to create more complicated, yet more understandable, cognitive models than previously possible. Those who invest time in
References (18)
- et al.
Modeling cortical maps with Topograhica
Neurocomputing
(2004) - et al.
A learning algorithm for Boltzmann machines
Cognitive Science
(1985) - Almeida, B. (1987). A learning rule for asynchronous perceptrons with feedback in a combinatorial environment. In M....
- et al.
The GENESIS 3.0 Project: A universal graphical user interface and database for research, collaboration, and education in computational neuroscience
BioMed Central Neuroscience
(2007) - et al.
Simulation of networks of spiking neurons: A review of tools and strategies
Journal of Computational Neuroscience
(2007) Self-organization and associative memory
(1984)- et al.
Long short term memory
Neural Computation
(1997) - et al.
Parallel distributed processing
(1986) - et al.
Parallel network simulations with NEURON
Journal of Computational Neuroscience
(2006)
Cited by (0)
- ☆
Supported by grants: NIH R01 MH069597, ONR N00014-07-1-0651, DARPA/ONR N00014-05-1-0880, ONR N00014-03-1-0428 (O’Reilly); NIH IBSC 1 P50 MH 64445 (McClelland).
- ☆☆
Thanks go to Dave Jilk for being the intrepid early adopter; Jay McClelland of Carnegie Melon University and Jonathan Cohen of Princeton University for their financial assistance during Emergent’s development; and all members of the CCN Lab at CU Boulder for their valuable input and patient testing of the software.