Neural Engineering Object

From Wikipedia, the free encyclopedia

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

History[edit]

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]

Nengo uses a custom license which allows free personal and research use, but a paid license is 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]

Applications[edit]

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, a network of 6.6 million[13] 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.[14]

References[edit]

  1. ^ Bekolay T, Bergstra J, Hunsberger E, Dewolf T, Stewart TC, Rasmussen D, Choo X, Voelker AR, Eliasmith C (2014). "Nengo: a Python tool for building large-scale functional brain models". Front Neuroinform. 7: 48. doi:10.3389/fninf.2013.00048. PMC 3880998. PMID 24431999.
  2. ^ Friedl, K. E.; Voelker, A. R.; Peer, A.; Eliasmith, C. (1 January 2016). "Human-Inspired Neurorobotic System for Classifying Surface Textures by Touch" (PDF). IEEE Robotics and Automation Letters. 1 (1): 516–523. doi:10.1109/LRA.2016.2517213. ISSN 2377-3766. S2CID 6401430.
  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. MIT Press. ISBN 9780262550604.
  7. ^ Eliasmith 2013
  8. ^ Stewart, Terrence C. (2012). A technical overview of the neural engineering framework (PDF) (Technical report). Vol. 110. Centre for Theoretical Neuroscience, University of Waterloo.
  9. ^ Nengo FAQ; retrieved 2016-10-28.
  10. ^ Kajić, Ivana; Gosmann, Jan; Stewart, Terrence C.; Wennekers, Thomas; Eliasmith, Chris (2016). "Towards a cognitively realistic representation of word associations" (PDF). Proceedings of the 38th Annual Conference of the Cognitive Science Society. Cognitive Science Society. pp. 2183–8. ISBN 978-0-9911967-3-9.
  11. ^ Blouw, Peter; Eliasmith, Chris; Tripp, Brian (2016). "A scaleable spiking neural model of action planning". Proceedings of the 38th Annual Conference of the Cognitive Science Society. Cognitive Science Society. pp. 1583–8. ISBN 978-0-9911967-3-9.
  12. ^ "Publications — Nengo 2017-11-23 documentation". Archived from the original on 2018-02-03. Retrieved 2018-02-02.
  13. ^ Xuan Choo (2018). Spaun 2.0: Extending the World's Largest Functional Brain Model (PhD thesis). University of Waterloo. hdl:10012/13308.
  14. ^ 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. 338 (6111): 1202–5. Bibcode:2012Sci...338.1202E. doi:10.1126/science.1225266. PMID 23197532. S2CID 1673514.

Further reading[edit]

  • Eliasmith, Chris (2013). How To Build A Brain. Oxford University Press. ISBN 978-0199794546.