Implementation of the Semantic Pointer Architecture for Nengo
The Semantic Pointer Architecture provides an approach to building cognitive models implemented with large-scale spiking neural networks.
- Write arbitrarily complex expressions with type checking involving neurally
represented and static Semantic Pointers like
dot((role * filler + BiasVector) * tag, cmp) >> target. NengoSPA will take care of implementing the required neural networks.
- Quickly implement action selection systems based on a biological plausible model of the basal ganglia and thalamus.
- Neural representations are optimized for representing Semantic Pointers.
- Support for using different binding methods with algebras. NengoSPA ships with implementations of circular convolution (default) and vector-derived transformation binding (VTB), which is particularly suitable for deep structures. Different binding operations/algebras can be mixed in a single model.
- Seamless integration with non-SPA Nengo models.
- All of the core functionality is implemented and the API is stable.
- While basic integration with the NengoGUI works, it should be improved in the future. However, this will not be pursued until major improvements to NengoGUI are released.
NengoSPA depends on Nengo 2.7+, and we recommend that you install Nengo before installing NengoSPA.
To install NengoSPA:
pip install nengo-spa
NengoSPA is tested to work on Python 3.6+.
If you need support for Python 2.7 or 3.4, NengoSPA 0.6.2 is the last version with support for these earlier Python versions.
The documentation can be found here.
Questions relating to Nengo and NengoSPA, whether it's use or it's development, should be asked on the Nengo forum at https://forum.nengo.ai.