Diss. ETH No. 19456 Towards VLSI Spiking Neuron Assemblies as General-Purpose Processors A dissertation submitted to the ETH ZURICH for the degree of Doctor of Sciences presented by EMRE ÖZGÜR NEFTCI Ing. phys. dipl. EPFL born 8 July 1982 citizen of Geneva, Switzerland accepted on the recommendation of Prof. Dr. Rodney J. Douglas, examiner Dr. Giacomo Indiveri, co-examiner Prof. Dr. Stefano Fusi, co-examiner Dr. Elisabetta Chicca, co-examiner 2010 Abstract For the last two decades, the field of Neuromorphic Engineering has attempted to emulate the principles observed in neural systems in Very Large Scale Integration (VLSI) technology. One endeavor of Neuromorphic Engineering is to mimic biological neural information processing systems by implementing electronic analogs of spiking neurons as computational primitives. Neuromorphic Engineering plays an important role in testing and validating hypotheses from the neuroscience community while developing novel computational architectures for solving practical problems in real-time. Although Neuromorphic Engineering is clearly progressing from a technical point of view, practical applications are hindered by two unsolved problems: 1) the technical difficulty of configuring the parameters of the silicon neurons to match a given theoretical model and 2) the lack of general-purpose computational models that can be mapped onto spiking neural networks. This thesis provides solutions to these two problems using a special neural circuit inspired by the cortex: the Soft Winner–Take–All (sWTA). Similar to how transistors and logic gates have become the elementary computational units of general-purpose digital processors, neuromorphic spiking multi-neuron chips implementing sWTA have been proposed as the elementary units which could be composed into a general-purpose neuromorphic processor. The goal of this thesis is to define the first configuration language which can map a high-level computational model onto VLSI neuromorphic spiking neurons, starting from their low-level parameters, and thus raise the possibility of using multi-neuron neuromorphic chips as general-purpose processors. To achieve this goal, I first deal with the technical difficulty of configuring the parameters of the silicon neurons. In particular, I describe a model-based parameter translation technique for systematically mapping the parameters of theoretical models of spiking neurons onto the bias voltages and currents used to configure the multi-neuron chips. In addition, using Dynamic Parameter Estimation (DPE), a novel technique that utilizes synchronization as a tool for dynamically coupling experimentally measured data to its corresponding model, I can use transients in neural activity to efficiently estimate all the parameters of spiking neural networks. These two techniques allow me to systematically measure and set the key properties of a VLSI sWTA network. However, configuring the properties of the individual VLSI sWTA network in a multi-sWTA system is not sufficient to guarantee global stability. For determining boundary conditions for which large neural systems are guaranteed to remain stable, I combine the use of contraction theory with the Linear Threshold Unit (LTU) formalism for modeling spiking neurons. In contraction theory, these boundary conditions can be expressed solely in terms of the key properties v vi Abstract of the sWTA networks which compose the system and the relations between them. As an example, I use networks of sWTA to implement a factor graph-like model in which the recurrent interactions are reminiscent of belief propagation algorithms applied to graphs. Using simple relations between several sWTA networks, I developed a multi-chip system that computes basic linear and non-linear relations between the variables represented by sWTA networks. The crucial step towards the goal of this thesis is the ability to program the neuromorphic chip according to a known computational model. An interesting model is the state machine, because it can model behavior conditioned on previously observed cues, which is the hallmark of intelligent systems. Neuroscientists argue that the neural analog of state machines is supported by working memory. They have demonstrated that recurrently coupled neural networks can maintain persistent activity states and support the conditional state switchings characterizing the transitions in state machines. Using the parameter configuration technique, I devised a method which configures a multi-chip VLSI system composed of three sWTA networks to implement any Finite State Machine (FSM). I demonstrate a fully functional state machine and use these principles to process sensory data from a silicon retina. Résumé Depuis les deux dernières décénnies, le domaine de l’ingénieurie neuromorphique s’éfforce de simuler les principes des systèmes nerveux dans la technologie VLSI. Clairement, le domaine progresse du point de vue technique, toutefois, les applications pratiques continuent d’être empêchées par deux problèmes irrésolus: 1) la difficulté technique consistant à configurer les paramètres des neurones VLSI afin qu’ils correspondent à ceux du modèle théorique. 2) l’absence d’un modèle de calcul à usage général qui peut être transféré dans les réseaux de neurones. Cette thèse fournit les solutions à ces deux problèmes en utilisant un circuit neuronal VLSI inspiré du cortex: le “soft Winner-Take-All” (sWTA). De la même manière dont les transistors et les fonctions logiques sont devenus les unités de calcul élémentaires des processeurs d’aujourd’hui (tels que ceux dans nos ordinateurs), les puces neuromorphiques multi-neurones implémentant le sWTA sont proposées en tant qu’unités élémentaires pouvant composer un processeur neuromorphique à usage général. Le but de cette thèse est de définir une procédure de synthèse neuronale capable de systématiquement configurer les VLSI sWTAs, en commençant par les paramètres de bas-niveau des neurones VLSI qui le composent et en procédant vers le haut-niveau, de manière à fournir le calcul désiré. Pour atteindre ce but, je traite tout d’abord la difficulté technique consistant à configurer les paramètres des neurones VLSI. En particulier, je décris une technique de traduction de paramètres basée sur les modèles des neurones implementés dans le VLSI. Cette technique permet d’appliquer les voltages nécessaires pour configurer les paramètres des puces multi-neurones. De plus, en utilisant le “Dynamical Parameter Estimation” (estimation dynamique des paramètres) (DPE), une nouvelle technique qui exploite la synchronisation des systèmes dynamiques pour coupler les measures expérimentales à un modèle mathématique qui y correspond, je peux utiliser les états transitoires de l’activité neuronale pour estimer simultanément tous les paramètres du réseau de neurones. Ces deux techniques me permettent de systématiquement mesurer et de contrôler les paramètres clés du sWTA. Cependent, configurer les propriétés de chaque sWTA dans un système composé d’un grand nombre de sWTA n’est pas suffisant pour garantir une stabilité globale. Pour déterminer les conditions de bord garantissant la stabilité des grands systèmes, je combine la théorie de la contraction avec le formalisme des Linear Threshold Units qui approximent l’activité des spiking neurones. Dans la théorie de la contraction, ces conditions de bords peuvent êtres exprimées uniquement en termes des propriétés clés des sWTA qui composent le système et les relations entre eux. vii viii Résumé J’illustre cette théorie dans l’exemple d’un système implémentant un modèle semblable à un graphe factoriel, dans lequel les connections bidirectionnelles jouent le rôle des algorithmes de ”belief propagation” appliquées à de tels graphes. En utilisant des relations simples entre plusieurs sWTA, j’ai développé un système multi-puces qui calcule les relations linéaires et nonlinéaires entre les variables représentées par les sWTA. L’étape cruciale vers le but de cette thèse réside dans la capacité de programmer les circuits neuromorphiques pour qu’ils simulent un modèle de calcul. L’automate fini est un modèle intéressant parce qu’il peut simuler des comportements dépendents des signaux perçus antérieurement, ce qui est un trait caractéristique des systèmes intelligents. Les neuroscientifiques soutiennent que l’équivalent neuronal de l’automate fini est soutenu par une mémoire à court terme. Ils démontrent que des modèles de réseaux couplés de manière bidirectionnelle sont capables de maintenir les états persistants et supporter les transitions entre ces états. En utilisant la technique de la traduction des paramètres, j’ai concu une méthode pour automatiquement configurer trois sWTAs de manière à implémenter un automate fini désiré. Je démontre un automate fini entièrement fonctionnel que j’utilise pour traiter l’information fournie par une rétine électronique.