Cognitive Neuromorphic Engineering Workshop

User Tools

Site Tools



This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
cc18:relational-networks-for-goal-directed-sensory-motor-task:overview [2018/03/28 13:43] created
cc18:relational-networks-for-goal-directed-sensory-motor-task:overview [2020/01/09 20:31] (current)
Line 1: Line 1:
 +====== Abstract ======
 +Recent advances in conventional machine learning approaches to construct autonomous
 +intelligent systems still lag behind biological computing architectures in terms of power consumption
 +and computational versatility. Major differences between networks trained using
 +standard machine learning techniques compared to their biological counterparts are the degree
 +of recurrence and general objective to approximate a given input-output function rather
 +than generic relations between quantities.
 +This motivates us to explore and build biologically inspired computing architectures,​ which
 +focus on relation, rather than function approximation,​ by exploiting temporal properties of
 +spiking neurons. This spiking network architecture can be implemented on dedicated "​neuromorphic"​
 +hardware which optimally exploits the computational properties of spiking neurons.
 +We will build a (relatively) simple spiking neuronal network implementing a goal-directed
 +state-to-action mapping (SAG) unit. As a core architecture,​ we will use a three-way relation
 +network proposed by [1]. However, we would like to translate the rate-coding scheme into
 +spike time coding scheme to exploit the spatio-temporal sparsity of the network.
 +The aim of this workshop is to implement and test a "​hard-wired"​ version of this relational
 +network on a neuromorphic processor (e.g. the DYNAP-SE chip), encoding behavior (i.e.
 +mapping the Stimulus position to the Pointer position) of an "​agent"​ for various goals: (a)
 +following the stimulus, (b) avoiding the stimulus, (c) keeping a fixed distance to the stimulus.
 +====== Workshop description ======
 +**1. Motivation**
 +Despite recent advances in machine learning approaches to build intelligent systems, biological
 +neural structures still outperform any artificial systems in terms of computational versatility and
 +power consumption. This motivates us to explore and build biologically inspired adaptive computing
 +architectures,​ exploiting properties of spiking neurons, including dedicated "​neuromorphic"​ [2]
 +hardware. In particular, we aim to explore the functional property of biological structures of representing
 +the relations between its bidirectionally coupled units rather than learning (feedforward)
 +**2. Proposed solution**
 +We will build a (relatively) simple spiking neuronal network implementing a goal-directed state-to-action
 +mapping (SAG) unit. As a core architecture,​ we will use a three-way relation network
 +proposed by Peter Diehl [1] (see Fig 1 on the left). This unit consists of four recurrently connected
 +populations of neurons (nodes), three of which represent one-dimensional variables and the fourth
 +one encodes a relation between them (e.g. A + B - C = 0). A crucial step in translating the
 +proposed architecture in [1] to our specified task (see below) is to change the input from a rate encoded
 +Poisson spike train representing a certain value, to a spatially arranged winner-takes-all
 +(WTA) population where the position of an active neuron represents its value independent of the
 +rate of activity.
 +To achieve the aforementioned mapping and regarding the goal-driven motor control task we are
 +trying to solve in this workgroup, node S would represent sensory input, node A would represent
 +action and node G would represent the goal, currently selected as "​relevant"​. Unlike S and A, G
 +would only have discrete values (G1, G2, etc.), determining a concrete relation between S and A for any given G. This totally agrees with examples of relations in Diehl’s work, except that instead
 +of a plane in a 3D {S, A, G} space we will see A(S) lines in discrete G-planes (see Fig 1 on the
 +The aim of this workshop is to implement and test a "​hard-wired"​ version of this relational network
 +on the DYNAP-SE [3] chip, encoding behavior (i.e. mapping the stimulus position to the pointer
 +position) of an "​agent"​ for various goals: (a) following the stimulus, (b) avoiding the stimulus, (c)
 +keeping a fixed distance to the stimulus.
 +As a result, we will get a working building block for a scalable hierarchical network of cooperative
 +controllers [4], simultaneously operating on various levels of abstraction of states, actions, and goals.
 +**3. Anticipated challenges**
 +Since in the original model all weights were converging to the desired state by STDP learning, here
 +we will have to clarify the exact wiring between nodes to introduce the relations by hand. The
 +trickiest part would be to understand what happens in the hidden population H, which actually
 +encodes our three-way relation.
 +Another significant constraint is caused by the DYNAP-SE chip limitations,​ which, due to its
 +architecture restricts the number of incoming synapses per neuron to 64 in total and possible
 +weight values to four.
 +Finally, tuning the populations’ excitation versus inhibition parameters to achieve stable and
 +robust Winner-take-all behavior will also be a challenge.
 +**4. Expected working steps**
 +1. Using Brian2 simulator (and, possibly, ncs_brian library [5]), flash out the connectivity of a
 +network of AdExp-Leaky-Integrate-and-Fire neurons, having 256 neurons in populations S,
 +A and H each, and 30 neurons in population G. Each population should consist of sparsely
 +connected 80% of excitatory and 20% inhibitory neurons. Input and output should be coded
 +as localized Gaussian peaks of population activity, which allows us to detach the encoded
 +value from the population firing rate. In case it will not be possible to derive the connectivity
 +analytically,​ the network should be trained with samples of the A(S,G) relation shown on
 +Figure 1.
 +2. Once the connectivity is established,​ it should be mapped onto the DYNAP-SE chip. Given
 +the provided input for S and G populations,​ A population should exhibit an adequate response
 +regardless of possible noise and single faulty neurons or synapses.
 {{ :​cc18:​relational-networks-for-goal-directed-sensory-motor-task:​sag_unit.png?​nolink&​600 |}} {{ :​cc18:​relational-networks-for-goal-directed-sensory-motor-task:​sag_unit.png?​nolink&​600 |}}
 +Figure 1: LEFT PANEL: Adapted figure from [1] showing a scheme of a three-way relational
 +network. Yellow circles represent populations of LIF-neurons,​ blue circles represent inputs (given
 +two input the network infers the remaining one). Blue arrows depict the direction of connections,​
 +emphasizing recurrent connectivity. For convenience of the "​hard-wired"​ hardware implementation,​
 +the size of the S, A and H populations will be reduced to 256 neurons. The size of the G population
 +will be reduced to 30 neurons. RIGHT PANEL: An example of state-to-action mapping for three
 +various goals: (i) following the stimulus (G1), (ii) avoiding the stimulus (ii), (c) keeping a fixed
 +distance from the stimulus (G3)
 +[1] P. U. Diehl and M. Cook, “Learning and inferring relations in cortical networks,​” arXiv preprint
 +arXiv:​1608.08267,​ 2016.
 +[2] E. Chicca, F. Stefanini, C. Bartolozzi, and G. Indiveri, “Neuromorphic electronic circuits for
 +building autonomous cognitive systems,” Proceedings of the IEEE, vol. 102, no. 9, pp. 1367–
 +1388, 2014.
 +[3] S. Moradi, N. Qiao, F. Stefanini, and G. Indiveri, “A scalable multicore architecture with heterogeneous
 +memory structures for dynamic neuromorphic asynchronous processors (dynaps),​”
 +IEEE Transactions on Biomedical Circuits and Systems, 2017.
 +[4] J. J. Buhmann, Networks of Cooperative Controllers for Distributed and Hierarchical Decision
 +Making. PhD thesis, ETH Zurich, 2017.
 +[5] NCS_brian library is available at https://​​ncs/​libs/​ncs_brian
cc18/relational-networks-for-goal-directed-sensory-motor-task/overview.1522244602.txt.gz · Last modified: 2020/01/09 20:31 (external edit)