Neural Engineering Object

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Neural Engineering Object (Nengo) is a graphical and scripting software for simulating large-scale neural systems.[1] As Neural network software Nengo is a tool for modelling neural networks with applications in cognitive science, psychology, Artificial Intelligence and neuroscience.


Some form of Nengo has existed since 2003. Originally developed as a Matlab script under the name NESim (Neural Engineering Simulator), it was later moved to a Java implementation under the name NEO, and then eventually Nengo. The first three generations of Nengo developed with a focus on developing a powerful modelling tool with a simple interface, and scripting system. As the tool became increasingly useful the limitations of the system in terms of speed led to development of a back-end agnostic API. This most recent iteration of Nengo defines a specific Python-based scripting API with back-ends targeting Numpy, OpenCL and Neuromorphic hardware such as Spinnaker.[2][3] This newest iteration also comes with an interactive GUI to help with the quick prototyping of neural models.[4]

As open source software Nengo uses a custom license which allows for free personal and research use, but licensing required for commercial purposes.[5]

Theoretical Background[edit]

Nengo is built upon two theoretic underpinnings, the Neural Engineering Framework (NEF)[6] and the Semantic Pointer Architecture (SPA).[7]

Neural Engineering Framework[edit]

Nengo differs primarily from other modelling software in the way it models connections between neurons and their strengths. Using the NEF,[8] Nengo allows defining connection weights between populations of spiking neurons by specifying the function to be computed, instead of forcing the weights to be set manually, or use a learning rule to configure them from a random start.[9] That being said, these aforementioned traditional modelling methods are still available in Nengo.

Semantic Pointer Architecture[edit]

To represent symbols in Nengo, SPA is used. Many aspects of human cognition are easier to model using symbols. In Nengo, these are presented as vectors with a set of operations associated to them. These vectors and their operations are called SPA. SPA has been used to model human linguistic search[10] and task planning.[11]


Notable developments accomplished using the Nengo software have occurred in many fields, and Nengo has been used and cited in over 100 publications.[12] An important development to note is Spaun. Spaun is a network of 2,500,000 artificial spiking neurons (a small number compared to the number in the human brain), which uses groups of these neurons to complete cognitive tasks via flexible coordination. Spaun is the world's largest functional brain model, and can be used to test hypotheses in neuroscience.[13]


  1. ^ Bekolay, Trevor et al. "Nengo: a Python tool for building large-scale functional brain models" Frontiers in Neuroinformatics. 2013; 3: 7: 48; retrieved 2016-10-28.
  2. ^ Friedl, K. E.; Voelker, A. R.; Peer, A.; Eliasmith, C. (1 January 2016). "Human-Inspired Neurorobotic System for Classifying Surface Textures by Touch". IEEE Robotics and Automation Letters. 1 (1): 516–523. doi:10.1109/LRA.2016.2517213. ISSN 2377-3766.
  3. ^ Nengo History; retrieved 2016-10-28.
  4. ^ Nengo GUI source code; retrieved 2016-10-28.
  5. ^ Nengo License; retrieved 2016-10-28.
  6. ^ Eliasmith, Chris; Anderson, Charles H. (2003). Neural engineering : computation, representation, and dynamics in neurobiological systems (First MIT Press paperback ed.). Cambridge, Mass. [u.a.]: MIT Press. ISBN 9780262550604.
  7. ^ Chris Eliasmith (2013). How To Build A Brain. New York: Oxford University Press. ISBN 978-0199794546.
  8. ^ Terrence C. Stewart. A technical overview of the neural engineering framework. Technical Report, Centre for Theoretical Neuroscience, 2012.
  9. ^ Nengo FAQ; retrieved 2016-10-28.
  10. ^ Ivana Kajić, Jan Gosmann, Terrence C. Stewart, Thomas Wennekers, and Chris Eliasmith. Towards a cognitively realistic representation of word associations. In 38th Annual Meeting of the Cognitive Science Society, 2183–2188. Austin, TX, 2016. Cognitive Science Society.
  11. ^ Peter Blouw, Chris Eliasmith, and Brian Tripp. A scaleable spiking neural model of action planning. In Anna Papafragou Dan Grodner, Dan Mirman and John Trueswell, editors, Proceedings of the 38th Annual Conference of the Cognitive Science Society, 1583–1588. Philadelphia, Pennsylvania, 2016. Cognitive Science Society. URL:
  12. ^
  13. ^ Eliasmith, C., Stewart T. C., Choo X., Bekolay T., DeWolf T., Tang Y., Rasmussen, D. (2012). A large-scale model of the functioning brain. Science. Vol. 338 no. 6111 pp. 1202-1205. DOI: 10.1126/science.1225266.

Further reading[edit]