NeuroSynthetica Sentience Engine™


The NeuroSynthetica Sentience Engine™ is a high-performance, real-time, headless neural network simulator with scalable capacity and temporal resolution. Ideal for research as well as deployment of sentience in embedded designs, internet appliances, and IoT, the Sentience Engine is a game-changing platform that is fueling the next generation of AI.

Workflow Context

Simulations are created using NeuroSynthetica Workbench interactive graphical development environment, which is used to manage Server Sets, Models, and Deployment. The synthetic brain designer starts by creating a model using the NeuroSynthetica's SOMA™ modeling language, then directs the Workbench to compile and generate the compiled model on all the servers in the model's server set. With the simulation deployed to the servers, a NeuroSynthetica Workbench user may direct the servers in the server set to load, pause, restart, or checkpoint the simulation for restart at a later time. The servers in the server set may be configured to run a specified simulation immediately upon startup, supporting embedded sentient applications. Servers can host any number of checkpointed simulations, but may only run one simulation at a time.

Simulation Model

Neurons are represented as Nodes, and each node in a simulation occupies a unique coordinate (x,y,z) in the 3D model space. Nodes have a base class, which is used to prescribe their behavior in a running simulation, including their dynamic simulation parameters, (i.e., PSP threshold, AP amplitude, and PSP pump rate).

Nodes may have links to other (efferent) nodes. Each link is characterized by a signal class specifying the signal to be transmitted to the link's efferent node, and a link strength, specifying the link's attenuation or amplification of the afferent node's action potential before reaching the efferent's receptors.

Node classes may specify any number of defined receptor classes as inputs, so that when a signal is transmitted to the node, it is processed by the node's receptors. Those receptors responsive to the signal are activated, and their dynamic simulation parameters determine how the node is affected.

Receptor classes specify which signals can activate the receptor, an action to be performed when the receptor is signaled, a Signal Conditioning Function (SCF) which processes the incoming signal, and how the receptor is triggered by the signal.

Up to 254 unique signals may be defined in the model to represent neurotransmitters. One predefined signal is driven by the Stimulator, a Homeostatic Regulation mechanism that stochastically selects nodes to be stimulated.

All servers in the simulation's server set operate using the same Epoch timebase, so that the simulation adapts to the environment with a stable simulation speed. Within each epoch, activated nodes are processed and their activated efferent nodes scheduled for delivery of action potentials on the following epoch. The epoch timebase is configurable down to 1ms, allowing it to operate at the same timing scale as biological brains. The epoch timebase may be increased to longer time intervals, up to 1000ms (one second), allowing the simulation to engage environments that do not operate at the speed of natural brain biology. For example, a simulation might be run at 10ms, increasing capacity at some cost in temporal fidelity. At 100ms or even 1000ms, a model might engage a virtual world, such as the Internet's webscape, seismic, weather or financial market data.

Plasticity Mechanisms

The server implements configurable Plasticity algorithms, configurable on a node class basis. Industry-standard Spike Timing Dependent Plasticity (STDP) and Synaptic Scaling are supported.

STDP automatically adjust link strengths based on spiking patterns between afferent and efferent nodes, and its frequency of operation is a configurable simulation parameter.

Synaptic Scaling levels all of a node's efferent links closer to a common baseline, so that STDP does not drive link strengths to maximum values. Its effect strength and frequency of operation are both configurable simulation parameters.

Homeostatic Regulation Mechanisms

The server implements configurable Homeostatic Regulation algorithms, with some configurable appropriately on a node class basis.

The Stimulator up-regulates the overall volume of excited nodes per epoch by stochastically selecting candidate nodes for unplanned stimulation, sending them a predefined signal that may be included in receptor class definitions so that nodes employing those receptors are stimulated by the Stimulator. The strength and frequency of stochastic node stimulation are configurable simulation parameters.

Pump Inhibition up-regulates the overall volume of excited nodes per epoch by inhibiting the PSP pump, which drains the PSP of all nodes over time. This effect causes the PSP to drain more slowly, which allows nodes have a PSP closer to their PSP Activation Threshold, and more likely to generate an Action Potential. The strength and frequency of pump inhibition are configurable simulation parameters.

IPSP Attenuation up-regulates the overall volume of excited nodes per epoch by stochastically attenuating the magnitude of signals which cause a receptor to produce an IPSP (Inhibitory PSP) action at the efferent node. The strength and frequency of IPSP attenuation are configurable simulation parameters.

The AP Stochastic Gate down-regulates the overall volume of excited nodes per epoch by stochastically denying the processing of an efferent node selected by the server to schedule an action potential. The strength and frequency of the AP stochastic gate are configurable simulation parameters.

The Energy Reservoir down-regulates the overall volume of excited nodes per epoch by keeping an accounting of overall energy used to perform action potentials on the server, with a cost of each action potential reducing the running simulation's overall energy reservoir level, and the passage of epochs (time) increasing the overall energey reservoir level. The strength and frequency of the energy reservoir mechanism are configurable simulation parameters.

Environmental Input/Output

As a part of its generated simulation, a server may make available Input Channels accessible to robot clients through network protocol. Input channels are mapped to nodes in the model space, and may be scalar, one-dimensional (linear), two-dimensional (surfaces), or three-dimensional (volumes). Robots enumerate a simulation's input channels and after going through an authentication process, connect with the input channels they serve, allowing them to send sensory data captured from the environment to the running simulation, causing the correct nodes to be stimulated. A scalar channel might be used to sense ambient light or indicate a battery-low condition. A channel mapped to a linear array might represent spectral audio from a DFT run on microphone data. A channel mapped to a two-dimensional surface might represent a moving image from a camera. A channel mapped to a three-dimensional image might represent tactile sensory data within the physical body of the robot.

Servers make Output Channels accessible to robot clients as well. Outputs are mapped to nodes in the model space, and may also be scalar, one-, two-, or three-dimensional. Robots enumerate a simulations's output channels and after going through their authentication process, can connect with the output channels they serve, allowing them to receive notifications from the server when the output channels they are monitoring are stimulated. A scalar channel might be used to move an actuator or flex an appendage. Three scalar channels might be used to form a vocal tract with volume, fundamental pitch, and mouth resonance levels defined by each channel.

Server Installation

Sentience Engine software is easily installed on any Linux distribution running on an x64-based PC host. The software, packaged as a single executable image, can be run as a user application either from the bash command line, or automatically on system boot as a Linux service for headless embedded operation. A quick installation step involves running the "server --INSTALL" command once, to set up the default path to its database of supported simulations and user authorization database. The server's use of system resources, such as RAM and CPUs, as well as default operation such as the epoch timebase, is configurable with command line switches at the time the server is run.

All clients, including users accessing the server via NeuroSynthetica Workbench, as well as robots accessing the server through environmental I/O channels, must authenticate with the server using usernames and passwords, which are sent as SHA3-256 digests for protection. The authorized users and passwords are established with the NeuroSynthetica UADMIN administration tool, which is executed from the Linux command line in user mode, via SSH on headless servers.



Architectural Model Limits[1]

Simulator Requirements[1]

Simulator Configuration and Execution

Sources and Notes:

Copyright (C) 2021 NeuroSynthetica, LLC. All rights reserved. NeuroSynthetica™, the NeuroSynthetica logo, SOMA™ and Sentience Engine™ are trademarks or registered trademarks of NeuroSynthetica, LLC.