Neural Networks 20 (2007) 48–61 www.elsevier.com/locate/neunet

Towards cortex sized artificial neural systemsI Christopher Johansson ∗ , Anders Lansner Department of Numerical Analysis and Computer Science, Royal Institute of Technology, Stockholm, Sweden Received 14 September 2005; accepted 8 May 2006

Abstract We propose, implement, and discuss an abstract model of the mammalian neocortex. This model is instantiated with a sparse recurrently connected neural network that has spiking leaky integrator units and continuous Hebbian learning. First we study the structure, modularization, and size of neocortex, and then we describe a generic computational model of the cortical circuitry. A characterizing feature of the model is that it is based on the modularization of neocortex into hypercolumns and minicolumns. Both a floating- and fixed-point arithmetic implementation of the model are presented along with simulation results. We conclude that an implementation on a cluster computer is not communication but computation bounded. A mouse and rat cortex sized version of our model executes in 44% and 23% of real-time respectively. Further, an instance of the model with 1.6 × 106 units and 2 × 1011 connections performed noise reduction and pattern completion. These implementations represent the current frontier of large-scale abstract neural network simulations in terms of network size and running speed. c 2006 Elsevier Ltd. All rights reserved.

Keywords: Cerebral cortex; Neocortex; Attractor neural networks; Cortical model; Large scale implementation; Cluster computers; Hypercolumns; Fixed-point arithmetic

1. Introduction Our vision is that one day we will be able to emulate an artificial nervous system with a size and complexity comparable to that of the human brain. The na¨ıve approach to this grand task is to build a biophysically detailed model of every neuron in the human brain. But doing this is not feasible within the foreseeable future even in a very long-term perspective. We will assume here that the functional principles of the brain, and in particular the neocortex, reside on a higher level of abstraction than that of the single neuron i.e. closer to that of artificial neural networks (NNs) and connectionist models (Feldman & Ballard, 1982). There are several good reasons for trying to model the brain. On a general level, it is the best route to an understanding of how it processes information and what parts and functions are essential for this processing. Succeeding to create an abstract I This work was supported by Vetenskapsr˚adet Grant No. 612-2003-6256. ∗ Corresponding address: Department of Numerical Analysis and Computer Science, Royal Institute of Technology, Lindstedtsv¨agen 3, 100 44 Stockholm, Sweden. Tel.: +46 8 7906909; fax: +46 8 7900930. E-mail address: [email protected] (C. Johansson).

c 2006 Elsevier Ltd. All rights reserved. 0893-6080/$ - see front matter doi:10.1016/j.neunet.2006.05.029

model that mimics the information processing characteristics of the brain will result in a platform to which new knowledge could successively be added. This model could also serve as a proving ground for new hypotheses on brain function and assist in the work of trying to characterize its processing at the cellular level. With knowledge about the brain and how it functions it is possible to develop and improve clinical treatments of many brain related diseases (Pel´aez, 2000; Ruppin & Reggia, 1995). A model of the brain is also desirable from a robotics, machine learning, and artificial intelligence perspective since it mimics a system proved to work and readily perform the tasks studied in these fields of engineering. In this paper we focus the study on the neocortex which is the largest part of the mammalian brain. The neocortex is involved in information processing of a wide range of different types of sensory information coming from different modalities. This data is processed, relevant aspects of the data are extracted, and then fused together to form a holistic and coherent view of the current state of the surrounding world. Lesion studies of cortex have shown that the computational hardware that implements this processing is redundant and capable of reorganization (Drubach, Makley, & Dodd, 2004). If one part of cortex is injured other nearby cortical regions

C. Johansson, A. Lansner / Neural Networks 20 (2007) 48–61

Nomenclature H U N Z F τP τm G S P W β w s m o M K Xh n

Number of hypercolumns in a network/group Number of units in a hypercolumn Number of units in a network/group Number of connections onto a unit The iteration frequency needed for real-time operation The plasticity parameter controlling the learning rate The time constant of the unit’s synaptic integration The gain parameter in the softmax function controlling the unit’s activity The input activity The estimates of units’ activation and coactivation The estimates of units’ activation and coactivation in the logarithmic domain The bias input to a unit The synaptic weight of a connection The momentary sum of synaptic input to a unit The exponential running average of the synaptic input The unit’s activity The largest value of the discrete variables used in the fixed-point arithmetic The largest value of the discrete random numbers A set containing all indexes of units that belong to hypercolumn h Number of nodes in a cluster computer

49

The route to the construction of a full-scale model of the brain goes via the creation of a framework to which separate non-linear modules can be incrementally added. Each module is specially designed to solve a particular task or do a certain type of processing. The final model is then built by adding several modules together and in order for this integration to work properly and efficiently the modules must be implemented with a common generic algorithmic framework. We consider the generic model proposed in this paper as a first very rudimentary version of such a framework. The target computational hardware in our vision is not a supercomputer that fills an entire room but a compact and low-power device no larger than the human brain. Having such an artificial brain as the core of an artificial nervous system would take us closer to the goal of building autonomous and learning control systems for robots and electronic agents. Though we foresee a steady progress towards this goal, given the complexity of the human brain we expect its materialization to lie at least a couple of decades ahead. This paper is organized as follows; first we review the size and modularization of the neocortex. We do not consider, for instance, the internal representation or how the data is processed (feature extraction, temporal aspects etc). We are primarily interested in the complexity in terms of memory, computations, and communication required to emulate such a system. An abstract computational model of cortex is then proposed and both a floating- and fixed-point arithmetic implementation of the model is suggested. We present estimates of the computational demands together with results from running this model on a large cluster computer. Finally we discuss future improvements of the model and what type of systems we will be able to run in the near future. 1.1. Related approaches

can to some degree take over the functionality of the injured area. This uniform nature of cortex is also structurally reflected in a highly homogeneous layout of its neurons and circuitry (Kozloski, Hamzei-Sichani, & Yuste, 2001; Rockel, Hiorns, & Powell, 1980; Silberberg, Gupta, & Markram, 2002). These circumstances motivate the investigation of a possibly generic computational model of the cortex. The cortex appears to be a highly non-linear system. One implication of this is that the functionality we look for will not be present in a small-scale linear approximation of the system. From the study of non-linear systems it is known that linear approximations are usually very poor at providing information about the global behavior of non-linear systems. Therefore we see it as an important and essential capability to be able to implement a full-scale model preferably running in realtime when studying the cortex. This motivates the use of a top-down approach when constructing the model in order to achieve the goals set up for size and execution times. This model can then later, when more computing power is available, be paired with intermediate level models (C¨ur¨ukl¨u & Lansner, 2002; Frans´en & Lansner, 1998) before it finally is connected to biophysically detailed bottom-up models (De Schutter, 1999) and experimental data.

The design of modern parallel computers has moved in the direction of massively parallel clusters with hundreds or more standard processors. This type of computers typically have a MIMD (multiple instructions, multiple data) architecture, where each processor operates on its own and communicates with the others in the cluster by message passing. This class of computers is well suited to run NNs, given that the communication is implemented efficiently. In the following we describe briefly a number of recent projects aimed at running large NNs. At the university of Nevada, USA, there is a project aimed at building a framework for large-scale simulations of spiking units that are organized in a columnar structure. In reports (Harris et al., 2002) from this project it has been calculated that it would be possible to run networks with up to 4 × 108 connections on a 128 processors cluster. The company Artificial Development has announced an architecture called CCortex that is aimed at simulating the entire brain on a cluster built of regular desktop computers. Artificial Development made a press release (CCortex, 2003) stating that they had run a NN with 2 × 109 connections on 103 processors. The connections are represented with 8 bits and implement Hebbian learning.

50

C. Johansson, A. Lansner / Neural Networks 20 (2007) 48–61

SpikeNET (Delorme & Thorpe, 2003) is another framework for simulating large-scale spiking NNs. SpikeNET can simulate millions of units and this is achieved by weight sharing, which means that the number of unique connections in the system is small. These connections are generally implemented without the ability to learn, i.e. adjust their synaptic strength. SP2 INN (Mehrtash et al., 2003) is a project aimed at building a dedicated neural processor in hardware that can run a large number of spiking, integrate and fire type of units and connections (on the order of 106 ). The connections are plastic with a Hebbian learning-rule and the updates are event driven. Currently only a single chip implementation is discussed. At the Oregon Health and Science University, USA, Dan Hammerstrom is investigating how multiple specialized NNs can be integrated into a larger modular, brain inspired, system. His group is studying both hardware and cluster computer implementations of NNs. In particular they focus on Willshaw–Palm networks with binary connection weights and they have run networks with up to 106 units (Zhu & Hammerstrom, 2002). In many of the projects aimed at simulating large-scale NNs, spiking communication between the units is used to reduce the bandwidth requirements. It is also a common feature that the computations are event driven. A recent review of massively parallel computer hardware for running large NNs is provided by Seiffert (2004). 2. A top-down view of the neocortex The neocortex is a structure composed of a huge number of repeated units, neurons and synapses, with largely similar functional properties though with several sub types, differences between brain areas, individuals, and species with regard to e.g. their anatomical and functional arrangement as well as connectivity and neurochemistry. A long-standing hypothesis is that the computations in cortex are performed based on associations between concepts, i.e. cortex implements some form of associative memory (Palm, 1982; Rolls & Treves, 1998). This function is supported by local and long-range connectivity displaying different forms of synaptic plasticity and learning-rules. A substantial part of the cortical connectivity is recurrent, within areas as well as between them and locally as well as over long distances. It is reasonable to assume that this network is symmetrically connected, at least in some average functional sense (Lansner, Frans´en, & Sandberg, 2003), which makes it plausible to assume that the cortex to a first approximation operates as a fixpoint attractor memory (Frans´en & Lansner, 1998; Palm, 1982; Rolls & Treves, 1998). Additional support for the relevance of attractor states has recently been obtained from experiments on cortical slices (Cossart, Aronov, & Yuste, 2003; Shu, Hasenstaub, & Mccormick, 2003). This idea was already captured in the early work of Donald Hebb and Fridrich von Hayek (see e.g. Fuster (1995), for a review). A prototypical attractor memory like the recurrent Hopfield network can be seen as a mathematical instantiation of Hebb’s conceptual theory of cell assemblies. In a general

sense, in the following we thus regard the cortex to a first approximation as a huge, extensively connected, multi-network biological attractor memory system (Treves, 2005). This topdown view has abundant support in experimental observations and helps to define the problem of modeling and implementing a system of such a high dimensionality and complexity as the mammalian neocortex. In this paper we do not consider transmission delays but rely on the knowledge that the shortest inter-hemispheric transmission times are roughly constant in different sized brains (Sch¨uz & Preibl, 1996). 2.1. Size and modularization of the neocortex The neocortex is generally quite homogeneous (Rockel et al., 1980) and has seen a great increase in size during evolution. Pyramidal neurons with far stretching axons and locally highly connected interneurons constitute its two major cell types. Approximately 75%–80% of the neurons are of the pyramidal type and the remaining 20%–25% are mainly inhibitory interneurons (Braitenberg & Sch¨uz, 1998). In humans the cortex is about 3 mm thick (Hofman, 1985) and in mice about 0.8 mm (Braitenberg & Sch¨uz, 1998). An interesting property that applies to all mammals is a constant neuron area density of about 105 mm−2 (Braitenberg & Sch¨uz, 1998; Rockel et al., 1980) except for V1 in primates (Beaulieu, Kisvarday, Somogyi, Cynader, & Cowey, 1992; Rockel et al., 1980). The proportions between different types of neurons are fairly constant between different areas (Rockel et al., 1980) and mammalian species (Beaulieu et al., 1992). The average number of synapses per neuron found in different areas and in different species varies about an order of magnitude, i.e. between 2 × 103 and 2 × 104 (Braitenberg & Sch¨uz, 1998). Although there exists large variations in the number of synapses per neuron the average number is fairly constant, i.e. in mouse (Braitenberg & Sch¨uz, 1998), cat (Beaulieu & Colonnier, 1989), and man (Pakkenberg et al., 2003) about 8 × 103 . In Table 1 the number of neurons and synapses in cortex are listed for five different mammals. The neuron volume density is lower in humans than in mice (constant area density and an increased cortical thickness). This means that there is more space in human cortex to accommodate longer and thicker axons and dendrites. Cortex of all mammals is organized in layers. There are six layers in neocortex, where layer I is the most superficial one. Layer I is very sparsely populated by neurons and it mainly contains dendritic arborization of neurons in the layers below and incoming afferent fibers. The distribution of neurons in the different layers is on average (Dombrowski, Hilgetag, & Barbas, 2001): 35% in layer II/III; 20% in layer IV; 40% in layer V/VI. Input to cortex, mainly from the thalamic region, enters in layer IV, which is considered to be the input gate to cortex. But even in this layer less than 10% of the afferent connections come from the thalamic region, the rest being corticocortical afferents (Martin, 2002). These corticocortical connections are of two types; intercortical via the white matter and lateral intracortical in the gray matter (Salin & Bullier, 1995). Further, a few characteristic patterns of corticocortical

51

C. Johansson, A. Lansner / Neural Networks 20 (2007) 48–61 Table 1 Number of neurons and synapses in cortex Neurons Human Macaque Cat Rat Mouse

2 × 1010 (Pakkenberg & Gundersen, 1997) 2 × 109a (Dombrowski et al., 2001; Haug, 1987; Hofman, 1985; Hofman, 1988) 6 × 108a (Haug, 1987; Hofman, 1985; Nieuwenhuys et al., 1997; Peters & Yilmaz, 1993) 5 × 107a (Haug, 1987; Hofman, 1985; Korbo et al., 1990; Miki et al., 1997; Nieuwenhuys et al., 1997) 1.6 × 107 (Braitenberg & Sch¨uz, 1998) Synapses

Human Macaque Cat Rat Mouse

1.5 × 1014 (Pakkenberg et al., 2003) 2.2 × 1013a (Beaulieu et al., 1992; Bourgeois & Rakic, 1993; Hofman, 1985; Hofman, 1988) 4.5 × 1012a (Beaulieu & Colonnier, 1989; Hofman, 1988) 4 × 1011a (Beaulieu, 1993; Beaulieu et al., 1992; Hofman, 1985; Miki et al., 1997) 1.6 × 1011 (Braitenberg & Sch¨uz, 1998)

All types of neurons are included in the counts. a Computed from data in the references.

connectivity are seen in the mammalian cortex (Salin & Bullier, 1995; Thomson & Bannister, 2003). Neurons in layer II/III and V/VI connect forward and backward to other cortical areas as well as laterally within a cortical area. The forward connections go in the direction from primary sensory to higher cortical areas. These connections originate primarily in layer II/III but also in layer V/VI and target neurons in layer IV. The backward connections also originate from layer II/III and V/VI, and target neurons in all layers but layer IV. The lateral connections are made between neurons primarily in layer II/III but also in layer V/VI. Output from cortex is provided by fibers originating mainly from layer V and VI. A minicolumn is a vertical volume of cortex with some 100 neurons (Buxhoeveden & Casanova, 2002; Mountcastle, 1997) that stretches through all layers of the cortex. The minicolumn is often considered to be both a functional and anatomical unit (Buxhoeveden & Casanova, 2002; Peters & Yilmaz, 1993). In each minicolumn there are excitatory pyramidal neurons and inhibitory interneurons via which the minicolumn has afferent input, efferent output, and intracortical interactions. The horizontal diameter of a minicolumn varies slightly between different cortical areas and mammalian species. It typically has a diameter of about 50 µm and an inner core with a diameter of approximately 30 µm where the neuron density is high (Buxhoeveden, Switala, Roy, & Casanova, 2000). Although there exists some differences between minicolumns located in different parts of the cortex (such as exact size, structure, and active neurotransmitters) and different species, it seems as though the minicolumn represents a general building block of the neocortex. The pyramidal neurons, within a minicolumn, in layer II/III and V/VI are reciprocally connected (Thomson & Bannister, 2003), which enables the minicolumn to act as an atomic unit of cortical activity. Further, the neurons in layer IV provide excitatory input to neurons in layer II/III that drives the activity in the minicolumn. Another modular structure seen in the cortex of mammals is the hypercolumn. A hypercolumn contains a number of minicolumns and its diameter ranges between 200 and 800 µm

Table 2 Number of minicolumns and hypercolumns in cortex

Human Macaque Cat Rat Mouse

Minicolumns

Hypercolumns

2 × 108 2 × 107 6 × 106 5 × 105 1.6 × 105

2 × 106 2 × 105 6 × 104 5 × 103 1.6 × 103

The figures are computed from the data in Table 1.

(Buxhoeveden & Casanova, 2002; Hubel & Wiesel, 1977; Leise, 1990; Mountcastle, 1957). Mountcastle (1957) together with Hubel and Wiesel (1977) pioneered the study of these large columnar structures in the cortex of cat and macaque monkey, and they were named hypercolumns by Hubel and Wiesel but they are sometimes referred to as macrocolumns, segregates, or barrels when found in the somatosensory cortex. Hubel and Wiesel showed by electrophysiological experiments in the visual cortex of primates that the hypercolumn can function as a competitive, winner-take-all (WTA) circuitry for line orientations (Hubel & Wiesel, 1977). A possible source of the normative inhibitory input is shunting inhibition provided by large basket neurons that are present primarily in layer III and IV. These neurons have axons that can extend up to 1.5 mm laterally and provide inhibitory input to neurons in all layers (Kisvarday, Toth, Rausch, & Eysel, 1997; Salin & Bullier, 1995). If we assume that the average minicolumn is composed of 100 neurons and as we know the total number of neurons (Table 1), we can calculate the number of minicolumns in the cortex of the five studied mammal species (Table 2). The area density of neurons is roughly constant, 105 mm−2 , and therefore the average minicolumn diameter should amount to about 36 µm. This diameter fits the figures found in literature. Based on the literature we also assume that the hypercolumn typically is a structure with a diameter of about 400 µm. In this

52

C. Johansson, A. Lansner / Neural Networks 20 (2007) 48–61

area it is possible to fit about 100 minicolumns with a diameter of 36 µm. Intracortical connections that travel horizontally within the cortical neuropil is a general design principle (Alonso, 2002; Thomson & Bannister, 2003) and they have been found in many cortical areas (Goldman & Nauta, 1977). A common property of these lateral connections is that they terminate in clusters with a size comparable to that of a hypercolumn (Bosking, Zhang, Schofield, & Fitzpatrick, 1997; DeFelipe, Conley, & Jones, 1986; Gilbert & Wiesel, 1989; Goldman & Nauta, 1977; Gonz´alez-Burgos, Barrionuevo, & Lewis, 2000; Kisvarday et al., 1997; Malach, Amir, Harel, & Grinvald, 1993; Yousef et al., 1999). Electrophysiological data shows that connectivity between two closely located (less than 25–50 µm apart) pyramidal neurons is high and that it drops sharply with the distance (Holmgren, Harkany, Svennenfors, & Zilberter, 2003). Furthermore, it is concluded that approximately 75% of the connections onto a layer II/III pyramidal neuron comes from another pyramidal neuron located more than 200 µm away. In the following we will calculate the connectivity between minicolumns mediated by pyramidal neurons in layer II/III based on the maximum number of possible connections given the length of the intracortical axons and the number of synapses per neuron. These calculations show that the probability of a connection between two distant layer II/III pyramidal neurons is about 1%, much less than what can be measured, with some degree of certainty, by electrophysiological methods. Given that the intracortical horizontal projections in layer II/III stretch up to 3.5 mm (DeFelipe et al., 1986; Gilbert & Wiesel, 1989; Kenan-Vaknin, Ouaknine, Razon, & Malach, 1992; Kisvarday et al., 1997; Malach et al., 1993; Telfeian & Connors, 2003; Yousef et al., 1999), the neurons in layer II/III of one minicolumn potentially can receive input from about 4 × 104 other nearby minicolumns. We now assume that a minicolumn receives input from all these minicolumns. The area density of neurons in cortex is 105 mm−2 , and these neurons have on an average 8000 synapses of which 75% receives intracortical afferents. As 35% of these neurons are located in layer II/III we can compute that approximately 2 × 105 synapses, located on neurons in layer II/III, are used for receiving the horizontal afferents that come from other minicolumns within the 3.5 mm radius. Thus on average five synapses support a unidirectional connection between two minicolumns, based on that we know the number of minicolumns contacted by a single minicolumn. These five synapses can be formed between a few different neurons in the postsynaptic and presynaptic minicolumn. Similar, if we assume that 75% of the synapses of the neurons in the other layers are devoted to receiving intercortical afferents, then each minicolumn has an additional number of 4 × 105 synapses for long-range, intercortical, communication. In summary we have estimated that one third of all corticocortical connections are intracortical and spread through the gray matter and the remaining two thirds are intercortical connections via the white matter. Together these connections are implemented with 6 × 105 synapses in each minicolumn and given that five synapses are used to establish a connection

Table 3 Number of connections and connectivity in cortex

Human Macaque Cat Rat Mouse

Corticocortical connections

Connectivity

2.4 × 1013

6 × 10−4 4 × 10−3 2 × 10−2 0.24 0.94

3.6 × 1012 7.2 × 1011 6.0 × 1010 2.4 × 1010

The connections are between minicolumns and the level of connectivity is computed as the fraction of full connectivity between the minicolumns. The majority of all synapses in a minicolumn are devoted to corticocortical connections, and each connection is on average supported by five synapses.

between two minicolumns, each minicolumn gets input from 1.2 × 105 other minicolumns. The estimated total number of corticocortical minicolumn connections for the five different mammals together with the average connectivity between minicolumns are listed in Table 3. The number of connections scales linearly with the number of minicolumns. 2.2. An abstract model with hypercolumns and minicolumns Here we present an abstract model of how the minicolumns and hypercolumns are organized in cortex. Similar models have been presented by L¨ucke and Malsburg (2004), Sandberg, Lansner, Petersson, and Ekeberg (2000) and C¨ur¨ukl¨u and Lansner (2002). In this model the minicolumns are the functional units. The state of a minicolumn is described by its current activity and a memory trace of previous activations. In Fig. 1 we show schematically how the minicolumns are grouped into hypercolumns. The minicolumns are submerged in a pool of inhibitory basket neurons that provide inhibition for all types of neurons in the hypercolumn (C¨ur¨ukl¨u & Lansner, 2002). The pyramidal neurons in a minicolumn have excitatory connections to the basket neurons and they receive inhibitory input from these. The reciprocal connection between all minicolumns and the basket neurons provides a normalizing soft WTA circuitry within the hypercolumn (C¨ur¨ukl¨u & Lansner, 2002). Inside each minicolumn there is another pool of small dendritic targeting inhibitory interneurons, presumably of the double bouquet and bipolar types. These have a highly localized axonal arborization and provide inhibitory input to the local pyramidal neurons within one minicolumn. Corticocortical connections exist between minicolumns in different hypercolumns and if an incoming axon terminates on pyramidal neurons in the targeted minicolumn, the connection is excitatory, whereas if it terminates on inhibitory interneurons the connection is inhibitory. In the latter case the inhibitory neurons will be excited and in turn inhibit the activity of the pyramidal neurons in the minicolumn. By adopting the minicolumn as the functional unit in our abstract model we get a network with both positive and negative couplings that still complies with Dale’s law which states that a neuron can only provide either excitatory or inhibitory synapses, not both. Furthermore, in a network of minicolumns the connectivity is much higher than in a network of single neurons. This comes

C. Johansson, A. Lansner / Neural Networks 20 (2007) 48–61

53

Fig. 1. Schematic figure of two hypercolumns and their internal structure.

at the price of a smaller network, but on the other hand a very sparsely connected network may be totally useless and thus not meaningful (O’Kane & Treves, 1992; Treves, 2005). A last argument for networks of minicolumns is redundancy; if a cell in the minicolumn unit dies the unit as such still remains functional in the network. The average activity of neurons in this model is 1%, since one minicolumn out of hundred is active in each hypercolumn at any one moment. This figure agrees with the mean activity of cortical neurons calculated for humans based on metabolic constraints (Lennie, 2003). 2.3. Hierarchical organization of hypercolumns and areas

Fig. 2. A hierarchical organization of hypercolumns and areas.

an all-or-none process (Silver, L¨ubke, Sakmann, & Feldmeyer, 2003). This release does not always occur following an action potential and given that it occurs with a probability, this release probability can be interpreted as a value of the synaptic strength. Considering the noise in the biochemical processes that govern synaptic release it is very likely that the resolution of the release probability is low, e.g. 1–3 bits. Given that a connection between two minicolumns is supported by five synapses, using 8 bits to represent such a connection seems justified.

In this section we describe a structure of hierarchically organized hypercolumns and areas (Fig. 2). The building block of this hierarchical structure is an area of interconnected hypercolumns corresponding to a cortical area. These areas of hypercolumns are connected by convergent forward projections and divergent backward projections. The forward projections originate on the presynaptic side from a local group of hypercolumns and converge to target a single or a few selected hypercolumns on the postsynaptic side. These projections are received in layer IV on the postsynaptic side where competitive learning occurs (Grossberg, 1987). The competitive learning is assumed to extract features in the activity of the presynaptic units located in layer II/III and V/VI. The backward projections, originating from layer II/III and V/VI, diverge and target neurons over a wide area in layer II/III and V/VI of the receiving cortical area. As opposed to the forward projections, these backward projections target a large number of hypercolumns on the postsynaptic side. The connection strengths in these projections are governed by a Hebbian learning-rule. Within and also between areas there are recurrent projections by which auto-associative memory is implemented. The strength of these connections are also determined by a Hebbian learning-rule. A system that is similar to a two layer version of this hierarchical structure has been used by Bartlett and Sejnowski for invariant face recognition (Bartlett & Sejnowski, 1998).

Experiments performed on monkeys indicate that the temporal precision of neural activity, in response to a visual stimulus, is on the average 10 ms and sometimes as high as 2 ms (Bair & Koch, 1996). This means that cortical neurons are able to reliably follow events in the external world with a resolution of approximately 2–10 ms (Koch, 1999). In the visual cortex many of the neural processes, e.g. orientation tuning, occurs on time scales between 30 and 80 ms (Ringach, Hawken, & Shapley, 1997). It has been suggested that about 10 ms is an appropriate timescale when one simulates NN models of abstract neuronal networks (Rolls & Treves, 1998). The probable timescale for attractor dynamics, i.e. convergence to a fix-point, ranges from 30 to 200 ms (Frans´en & Lansner, 1998; Rolls & Treves, 1998). In this paper we will refer to real-time operation as an update time of 10 ms, i.e. an update frequency F of 100 Hz.

2.4. Synaptic resolution

3. The computational cortex model

The resolution of synaptic strength can be assessed by studying the process of quantal neurotransmitter release in the synapse. Recent findings suggest that the release of quanta is

Here we describe a possible implementation of the abstract cortical model based on a Hopfield type of NN. The performance of this implementation was evaluated on a cluster

2.5. Time scales of cortical operation

54

C. Johansson, A. Lansner / Neural Networks 20 (2007) 48–61

computer. Both a floating-point and a fixed-point arithmetic implementation are described and the latter is a good starting point for a hardware implementation. We argue that the cortical minicolumn is the appropriate structure to map onto the unit of a NN. Here we implement the generic model of cortex with a Bayesian Confidence Propagation Neural Network (BCPNN). The BCPNN is an algorithm derived from the na¨ıve Bayesian classifier flavored with ideas from Bayesian statistics (Lansner & Ekeberg, 1989; Lansner & Holst, 1996; Sandberg, Lansner, Petersson, & Ekeberg, 2002). One characteristic feature of this algorithm is that units representing a certain aspect of the data are grouped together and their activity is normalized. This gives rise to a structure identical to that of hypercolumns in the abstract cortical model. When considering a model of cortex it is important that it scales well in terms of computation and communication. Many of the models, used by e.g. cognitive psychologists, are based on NNs trained with non-local error gradient descent algorithms, e.g. error back-propagation. Such models scale poorly and the cortex obviously does not employ this type of non-local algorithms. A model of the cortex should be able to harness the power of its parallel computational structure. This means that the algorithm must be local in space and probably also local in time. Most NNs that are trained with a Hebbian type of learning-rule, as the BCPNN, meet these requirements. The BCPNN we describe in the following section implements an attractor memory. Other similar algorithms are the Hopfield (Hopfield, 1982), Willshaw–Palm (Palm, 1980; Willshaw, Buneman, & Longuet-Higgins, 1969) and Potts (Kanter, 1988) models. The BCPNN is a more capable algorithm than these three (Johansson, Sandberg, & Lansner, 2002); it implements a palimpsest memory (Sandberg et al., 2000), the learning rate can be regulated to create either shortor long-term memory, stored memories can be instantaneously clustered, and synaptic depression driven switching between attractors can be performed (Sandberg, Tegn´er, & Lansner, 2003). A useful feature of the BCPNN is that the connection variables have a statistical interpretation and that the mutual information between units can be easily computed. 3.1. The Bayesian Confidence Propagation Neural Network (BCPNN) In this section we only briefly present the equations of the BCPNN. The input, S, to a BCPNN unit is real valued and in the range (0, 1). In the application of an attractor memory the input to the BCPNN is S ∈ {0, 1}. The variables Pi and Pi j are interpreted as probability estimates, Pi is a measure of how likely a unit is to be active, and Pi j measures the probability of two units being active simultaneously. Here, we initialize these variables as Pi = 1/U and Pi j = 1/U 2 . These probability estimates are obtained from first order ODEs that can be interpreted as leaky integrators (LIs). In (2) the activity of a presynaptic unit, i, is correlated with that of a postsynaptic unit, j. The sums in (1) and (2) are used to calculate the bias

(3) and weights (4). τ P controls the plasticity of the memory. The quotient in (4) can be written as a sum of logarithms and the logarithms of the P-variables are denoted by W ; wi j = log(Pi j ) − log(Pi ) − log(P j ) = Wi j − Wi − W j . dPi (t) = Si (t) − Pi (t) dt dPi j (t) τP = Si (t)S j (t) − Pi j (t) dt βi = log (Pi )   Pi j wi j = log . Pi P j τP

(1) (2) (3) (4)

The support values, s j , are calculated from (5) and a unit’s potential, m j , is calculated by (6). s j (t) = β j (t) +

N X

wi j (t)oi (t)

(5)

i

τm

dm j (t) = s j (t) − m j (t). dt

(6)

The units of the BCPNN are grouped into H hypercolumns indexed by h. The set X h ⊆ {1, . . . , N } contains all indexes of all units i that belong to hypercolumn h. The new activity is computed based on the probabilities of activation calculated in (7), where the active unit in each hypercolumn is selected from this probability distribution by a stochastic WTA process. The randomness of this process is controlled by the gain parameter, G, and if G is very large we get a deterministic WTA. Because of this WTA threshold, the activity is restricted to a unary coding in each hypercolumn, i.e. oi is zero for all units except one in each hypercolumn (spiking activity). e Gm j Pr(o j = 1) = P Gm e k

for each h = {1, . . . , H }.

(7)

k∈X h

3.2. Leaky integrators computed in the logarithmic domain In the case of a floating-point arithmetic implementation it is straightforward to implement (1) and (2) with Euler’s method and the dynamical range of 32-bits floating-point variables is high enough to avoid serious round-off errors. But in the case of a fixed-point arithmetic implementation it is important that the dynamical range of the variables is used efficiently in order to minimize the required precision (number of bits). The weights of the BCPNN are computed based on the P-variables that often have values close to zero. Therefore it is important to have a high precision for small values and this can be achieved by computing with logarithmic values of the P-variables, i.e. the W -variables. Another reason for computing in the logarithmic domain is that the average number of operations per connection update is reduced when unary coded activity is used, from which the floating-point implementation also benefits. As explained below, the number of operations needed to decay a connection are very few and if there is 1% activity, most of the connections are decayed (99.99%) and only

55

C. Johansson, A. Lansner / Neural Networks 20 (2007) 48–61

0.01% of the connections are incremented (a computationally more expensive operation) in each iteration. Further, by computing in the logarithmic domain it is possible to use a delayed updating of the connections being decayed. Instead of first calculating the P-variables and then taking the logarithm of these values one can compute the LI directly with the W -variables. We call this a logarithmic leaky integrator (LLI) and it is constructed by transforming (1):   dP(t) P = aW τP = S(t) − P(t) ⇒ dP = dW a W log a dt ⇒ τP

1 dW (t) = (S(t)a −W (t) − 1). dt log a

(8)

Eq. (8) cannot be effectively solved numerically with Euler’s method because it is stiff. One solution is to use a more sophisticated numerical method but this means a large amount of complicated computations. Instead we analytically solve the DE in (8), which gives us the difference equation in (9). Here we have set the time-step to 1.   (9) W (t + 1) = loga S(t) − e−1/τ P (S(t) − a W (t) ) . Eq. (9) is valid when S ∈ (0, 1) and W ∈ [−∞, 0). But we intend to work with discrete variables that have the range (0, M) and therefore we rewrite (9) as (10) where S ∈ (0, M), W ∈ (0, M). It is straightforward to implement (10) with an integer valued look-up table.   W (t + 1) = M log M S(t) − e−1/τ P (S(t) − M W (t)/M ) . (10) An interesting property of (10) is that if S = 0 the equation is reduced to (11). This means that W is subject to a linear decay when the input is zero, which essentially requires only a single addition to implement. Further, this linear decay allows for efficient use of delayed updating when the input equals zero over a number of consecutive time-steps. W (t + 1) = W (t) + M log M e−1/τ P .

(11)

If needed, the W -variables can be converted back into thePvariables of the linear domain by (12), but here we use the W variables directly in the computations. P(t) = M

W (t) M −1

.

(12)

3.3. Implementation In the previous section we concluded that the computation of wi j and βi are best performed in the logarithmic domain. The potential, m j , is not biased towards small or large values and therefore (6) is best implemented with Euler’s method. In both cases probabilistic fractional bits (PFB) (Hoehfeld & Fahlman, 1992; Melton, Phan, Reeves, & Van den Bout, 1992) can be used to improve the average accuracy in an implementation with limited precision variables. PBF means that repeated

round-off errors in the computations are cancelled out by the use of probabilistic calculations. One iteration of the BCPNN is composed of two phases, a learning and a retrieval phase. In the learning phase all connections are affected by the training, which is necessary for implementing the palimpsest property. The connections between active units are directly updated, i.e. event driven updating (Delorme & Thorpe, 2003; Mehrtash et al., 2003), while the other connections have their update delayed until they are used in either the learning or retrieval phase. During the retrieval phase new activities are computed for all units. The sparse connection matrix uses an adjacency list representation where each unit keeps a record of its postsynaptic targets. Both the updating of the weights and the computation of new activities scales as O(HZF) where Z is the number of connections per unit. This means that the computational requirement of the proposed cortical model is to a large extent dependent upon the total number of connections. The memory requirement scales as O(NZ) i.e. with the total number of connections. In each iteration of the BCPNN, only one unit in each hypercolumn (the one that won the competition for activation) transmits its state to the rest of the network. Truncating the activity in this way is referred to as AER (Address Event Representation) (Bailey & Hammerstrom, 1988; Deiss, Douglas, & Whatley, 1999; Mattia & Giudice, 2000; Mortara & Vittoz, 1994) and it allows for a scalable implementation that requires a very small bandwidth for the inter-unit communication. A floating-point arithmetic implementation using (1)–(4) or (9) together with (5) and (6) is straightforward. A connection is represented with 10 bytes. The organization of the sparse connection matrix is given by a 4-byte integer index of the postsynaptic unit. The connection weight is stored with a 4-byte floating-point variable and the event driven updating requires a 2-byte integer time-stamp. Next we consider the fixed-point arithmetic implementation. The scaling of the memory is the same but with a smaller factor. Here the connection is implemented with 7 bytes. First, 8 bits are used for storing the Wi j -variable, 32 bits (21 bits is sufficient to give all units in a BCPNN with a size equivalent to the human cortex a unique index, but there is a large overhead using custom sized integers on a general purpose processor) for the index of the postsynaptic unit, and 2 bytes for the integer time-stamp. In the following we will assume that a discrete implementation is made with variables that have a precision of log2 (M + 1) bits; S ∈ N(0, M), W ∈ N(0, M). Random numbers are generated with a precision of log2 (K + 1) bits. The value of the plasticity parameter, τ P , is fixed but it is easy to extend the design with multiple values of τ P , which of course increases the size of the look-up tables. To implement (10) we use six look-up tables, three for the integer values; T1 [x] = floor(M x/M ) T2 [x] = floor(xe

−1/τ P

0≤x ≤M )

(13)

0≤x ≤M

T3 [0] = 0, T3 [x] = floor(M log M x)

1≤x ≤M

56

C. Johansson, A. Lansner / Neural Networks 20 (2007) 48–61

and three for the fractional bits;   T f 1 [x] = floor (K + 1)(M x/M − T1 [x]) 0≤x ≤M   T f 2 [x] = floor (K + 1)(xe−1/τ P − T2 [x])

(14)

0≤x ≤M T f 3 [0] = 0,

T f 3 [x] = floor((K + 1)

× (M log M x − T3 [x]))

1 ≤ x ≤ M.

The PFB computation is implemented by the function in (15), which is called as Pfb(x, index of table). The function R() in (15) returns a random integer in the range (0, K − 1). The constant decay (11) is implemented by calling the function in (15) with P f b(0, 4), where T4 = floor(−M log M e−1/τ p ) is the constant decrement and T f 4 = floor((K + 1)(−M log M e−1/τ p − T4 )) is the probabilistic fraction. The computation of the W -variables is implemented by the look-up tables as in (16).  Ty [x] + 1   if R() < T f y [x] ∧ Ty [x] < M (15) P f b(x, y) ←  Ty [x] otherwise   X ≡ S(t) − P f b(W (t), 1) W (t + 1) = Y ≡ P f b(0, 4)  W (t) − Y if S(t) = 0 ∧ W (t) ≥ Y (16) = P f b (S(t) + P f b (−X, 2) , 3) else if X < 0  P f b (S(t) − P f b (X, 2) , 3) otherwise. The weights are computed in (17) and (18) where  is the right-bit-shift operator.  0 if Wi = 0 βi = (17) (M + Wi )  1 otherwise   M  1 if Wi = 0 ∨ W j = 0 wi j = 0 else if Wi j = 0 (18)  (2M + Wi j − Wi − W j )  1 otherwise. All wi j and Wi j have log2 (M + 1) bits precision. The potential is computed as:     s j (t)− m j (t + 1) = m j (t) + T5 − m j (t) τm maxk∈X h (sk (t)) for each h = {1, 2, . . . , H }.

(19)

The support, s j , is a sum of at most H weights and have the precision log2 ((M + 1)H ) bits. The support value is then truncated before it is used in the computation of the potential, m j , which have log2 (M + 1) bits. The look-up table for the exponential are computed as T5 [x] = floor(Me(x−M)G/M ) : 1 ≤ x ≤ M, T f 5 [x] = floor((K + 1)(Me(x−M)G/M − T5 [x])) : 1 ≤ x ≤ M, and T5 [0] = 0, T f 5 [0] = 0. 3.4. The hypercolumn module Two levels of organization are recognized in the BCPNN; hypercolumns and units. A third level is also conceivable, as

discussed in Section 2.3, and that is areas of hypercolumns, corresponding to cortical areas. This means that there is computational parallelism on many different levels. In the following we will discuss parallelism over hypercolumns, because the computational requirements of these are roughly invariant with respect to the size of the overall system (given constant Z ) and they represent a suitable computational grain size for implementations on cluster computers. A hypercolumn module includes U = 100 units and Z = 1.2 × 105 connections per unit and their respective variables. Each hypercolumn also has a local set of variables Wi that is used to compute the bias activity of the presynaptic units. The number of connections a hypercolumn stores in memory is ZU = 1.2 × 105 × 100 = 1.2 × 107 . In the case of the floatingpoint arithmetic implementation each connection is stored with 10 bytes and 114 MB of memory is needed but in the case of the fixed-point arithmetic implementation where each connection is stored with 7 bytes only 80 MB of memory is required. For real-time operation the average number of connections that has to be processed per second is Z F = 1.2 × 107 . This requires a memory bandwidth to the processing unit capable of 115 MB/s and based on actual experiments the computing power needed has been estimated to a processor with a peak performance of 1.5 GFLOP. 4. Results Parallel implementation and scaling experiments were done on a Dell Xeon cluster computer named Lenngren at the Center for Parallel Computers, Royal Institute of Technology, Stockholm, Sweden. Lenngren has 442 nodes, each equipped with two Xeon processors running at 3.4 GHz and sharing 8 GB of memory. Each node has a peak performance of 13.6 GFLOP and a peak memory bandwidth of 6.4 GB/s. The nodes are connected with an Infiniband network and MPI is implemented with Scali MPI Connect (ScaMPI). In the following we refer to a mouse-sized instance of the cortical model as an M-sized network, a rat-sized instance as Rsized, a cat-sized instance as C-sized, a macaque-sized instance as Ma-sized, and a human-sized instance as an H-sized network. We also discuss an I-sized network with a size between that of an R- and C-sized network. 4.1. Computational requirements In Table 4 running times on 256 nodes and 512 processors on Lenngren for M-, R-, and I-sized networks are presented. The largest NN we ran was the I-sized network and it had 16 384 hypercolumns, 1.6 × 106 units, and 2.0 × 1011 connections. The floating-point arithmetic version of this network allocated 7.2 GB of memory on each node and a total of 1844 GB memory. The M-, R-, and I-sized networks implemented with floating-point arithmetic run in 44%, 23%, and 9% of real-time respectively. The scaling of both the learning and retrieval phases are linear with respect to H , but with slightly different factors. As H increases, more time is spent in the training phase, but it never becomes the dominating factor.

57

C. Johansson, A. Lansner / Neural Networks 20 (2007) 48–61 Table 4 Memory usage and running times for three differently sized implementations

Units Connections Bytes per connection Total memory (GB) Memory per node (GB) Updating weights (ms) Updating activities (ms)

M-sized FA

M-sized IA

R-sized FA

R-sized IA

I-sized FA

I-sized IA

1.5 × 105

1.5 × 105

5.1 × 105

5.1 × 105

1.6 × 106

2.4 × 1010

2.4 × 1010

6.1 × 1010

6.1 × 1010

2.0 × 1011

10 221 0.9 9 14

7 155 0.6 9 12

10 576 2.3 19 25

7 405 1.6 16 21

10 1844 7.2 51 61

1.6 × 106 2.0 × 1011 7 1295 5.1 47 59

FA — Floating-point arithmetic. IA — Fixed-point arithmetic.

I-sized network. Lenngren actually used more power to run this network than it used when running the benchmark programs for the TOP-500 supercomputers list. The power usage peaked at around 120 kW, which meant that the average connection drew 6 × 10−7 W. Translated into the biological equivalent, this is roughly 10−8 W per synapse. The corresponding figure for the human brain is 3 × 10−14 W per synapse given that the human body consumes energy at a rate of 150 W (Henry, 2005) and that 20% of this energy is used by the 1011 neurons and 1015 synapses of the brain (Kandel, Schwartz, & Jessell, 2000). 4.2. Communication requirements

Fig. 3. The peak performance of Lenngren and Blue Gene/L related to the requirements for real-time operation of a floating-point implementation of six differently sized instances of the cortical model.

The fixed-point arithmetic version of the algorithm used 30% less memory than the floating-point arithmetic implementation. Further, the former implementation was slightly faster than the latter one, even though the former required random numbers to be generated. Probably this slight performance advantage of the fixed-point arithmetic version comes from the reduction in memory that in turn reduced the bandwidth needed for the memory access. In Fig. 3 the computational requirements, in terms of memory usage and processor peak performance, for realtime operation of M-, R-, I-, C-, Ma-, and H-sized systems are estimated. These estimates are based on the time spent on computations and do not include the time required for communication which is discussed in the following section. Also shown in Fig. 3 is the performance currently available on the full Lenngren cluster (Dell, 2004) and IBM’s new Blue Gene/L machine when it has been scaled up to its maximum size (Gara et al., 2005). This plot shows that an Ma-sized network almost fits in the memory of Blue Gene/L and the computer’s computational performance is sufficient to run the network in real-time. It also suggests that the M-sized network could run in real-time on the full Lengrenn cluster. A testimony of the code’s efficiency comes from setting the unofficial record in power use on Lenngren when running the

The algorithm was implemented in C and used global communication in MPI. For all network sizes the broadcast communication in the learning phase generally took around 0.5 ms and only longer than 1 ms for the largest instance of the network. The all-to-all communication in the retrieval phase took on average 2 ms and never longer than 2.2 ms. In the case of retrieval and floating-point arithmetic, the time spent on communication for the M-, R-, and I-sized networks were 9%, 5%, and 4% respectively. From this we conclude that the algorithm is bounded by computations and not communication. The computations in our cortical model are based on a global exchange of activity between units. It is not feasible to build a system with hardwired connectivity and therefore the activity has to be exchanged by multiplexed communication channels (Bailey & Hammerstrom, 1988). This applies both to implementations on general-purpose processors and on dedicated hardware. In the model that we propose, 1/3 of the incoming connections to a minicolumn/hypercolumn are local and 2/3 are global. An incoming global connection comes from a hypercolumn anywhere in the network. This results in a connectivity that is to a large extent unstructured which prohibits optimized local communication solutions. We previously concluded that the inter-hypercolumn communication could be multiplexed by AER and that the required bandwidth was relatively low (Johansson & Lansner, 2004), which suggests that using allto-all communication in large clusters should be possible. All-to-all communication with small amounts of data is highly dependent on the latency involved in each transfer (Kumar & Kal, 2004) and therefore it is important to minimize the number of transfers. On a multiport network that supports simultaneous transfers, an all-to-all communication of small

58

C. Johansson, A. Lansner / Neural Networks 20 (2007) 48–61

Fig. 5. The successive retrieval of image number 9 in the COIL-100 database. The retrieval cues are shown in the left-most column and the completely retrieved images in the right-most column. The upper row (A) shows noise reduction from a retrieval cue with 70% noise. The lower row (B) visualizes pattern completion from a 30% partial view of the stored image.

Fig. 4. The communication time needed for one update plotted as a function of H . The experimental data was obtained on Lenngren running on up to 256 nodes. This data was then used to extrapolate the communication times on a larger, hypothetical, cluster with 64K nodes.

amounts of data is best implemented in a hierarchical fashion (Kumar & Kal, 2004), given that repacking the data at each node does not introduce lengthy delays. When the communication is arranged as a binary tree the number of sequential transfers is proportional to log2 n where n is the number of nodes in the cluster. On Lenngren the all-to-all communication scaled as log2 n for the Ma- and H-sized networks. But for the smaller sized networks it scaled as n, probably because repacking data multiple times came out as a slower communication solution. In Fig. 4 we present experimental data on the communication time for a single activity update when running on 256 nodes on Lenngren. For all but the H-sized system the communication network is capable of real-time performance with 256 nodes. By extrapolating the experimental data we found that an Masized network could be run in real-time on a hypothetical cluster with 64K nodes. The extrapolation was done by fitting communication time data from experiments on 4–256 nodes on the model a+b log2 n. The results obtained by the extrapolation are valid given that the network is constructed with a high enough bisection bandwidth (a global measure of the network’s communication performance). IBM’s Blue Gene/L has two different types of networks that can be used for all-to-all communication, a tree network and a 3-dimensional torus (32 × 32 × 64) (Gara et al., 2005). Given that a broadcast in the tree network has a latency of 5 µs and the time to transmit the data in each broadcast is at most (H-sized BCPNN) 300 ns, a complete all-to-all communication, using the tree network, takes on the order of 0.2–0.3 s. Then we have not considered the possibility of using a parallel hierarchical transfer scheme that would reduce the time considerably since the latencies are the bottleneck. For an n × n × n torus network the time required for an optimal all-to-all communication can be computed as ts + n 3 tc /6 (Yang & Wang, 2002), where ts is the time needed to prepare the message and tc is the time needed to transfer a message between

two nodes. On Blue Gene/L the links of the torus network has a bandwidth of 1.4 Gb/s and each node has a hardware latency of 70 ns (Gara et al., 2005). If an H-sized BCPNN is run on 64K nodes, 31 hypercolumns are allocated onto each. Sending the activity on one node with 31 hypercolumns to another takes ∼0.7 µs and adding the hardware latency we have that tc = 0.8 µs. If we assume that ts = 50 µs, the total time for the all-to-all communication on 32K nodes would be 5 ms and doing it for all 64K nodes would not take much longer. This suggests that the all-to-all communication between the nodes on Blue Gene/L, for all sizes of the cortical model, could be done faster than the real-time constraint. 4.3. Experiments on image data A two-layer instance of the hierarchical system outlined in Section 2.3 was implemented and used with image data. The images were taken from the COIL-100 database (Nene, Nayar, & Murase, 1996), which contains color pictures of hundred different objects at a resolution of 128 × 128 pixels. The first layer, the input layer, consisted of 128 × 128 × 3 hypercolumns (one hypercolumn for each pixel and RGBvalue) with 256 units each. This layer neither had recurrent or back projections from the second layer, only the forward projection to the second layer was implemented. Weight sharing was used in the forward projection, thus the same partitioning of the RGB-space was used by all hypercolumns in the second layer. The second layer, the hidden layer, had 128 × 128 = 16 384 hypercolumns with 100 units in each and a sparse recurrent connectivity. Each hypercolumn in this layer coded the color of a single pixel. Because weight sharing was used no more than hundred different colors were represented, but in the full-scale version with unique forward projections to each hypercolumn in the hidden layer more than a million different colors could be encoded. Here, the primary purpose of the input layer is to recode the image data so that it can be stored effectively in the autoassociative memory implemented in the hidden layer. Fig. 5 shows noise reduction and pattern completion of pattern 9 after all hundred images had been encoded into the network. The parameters of the units in the second layer were set as; τ P = 200, τm = 10, and G = 5.

C. Johansson, A. Lansner / Neural Networks 20 (2007) 48–61

5. Discussion Our goal in this work has been to design and implement an abstract and scalable neural network model of the mammalian neocortex and investigate its computational, memory, and communication requirements when run on a large parallel computer. By means of a detailed review of cortical functional architecture and modularization we could establish a quantitative relation between real cortex and our model. Most importantly, a unit in the model is mapped to a cortical minicolumn of some hundred neurons and about a hundred such minicolumns are bundled into a hypercolumn, which constitutes a normalization module in the abstract model. We found that the computational and memory requirements for running the model are proportional to the number of connections, which is in turn proportional to the number of units, a scaling law which holds for cortex as well. We implemented both a mouse and rat cortex sized version of this model that run in incremental learning mode at a speed of 44% and 23% of real-time respectively, assuming that one update cycle of the model corresponds to 10 ms real time. Further, a network with a size between that of the rat and cat sized systems with 1.6×106 units and 2.0×1011 connections was run. This is the largest published NN simulation of its kind ever performed. Though a particular attractor network model (BCPNN) was used in this work, the results are likely to generalize to other types of recurrent attractor network models with sparse activity, spiking output leaky integrator units, and continuous learning based on some form of correlation based learning-rule. We found that the execution time of the model is not bounded by communication but by computation on a standard type of cluster. The latencies of network transfers have a large impact on the communication time needed for updating the activity but implementing a parallel hierarchical communication would remove the slight communication bottleneck imposed by the latencies. Our estimates indicate that for a large cluster like IBM’s Blue Gene/L the communication performance is sufficient for running a network model with a size corresponding to that of human cortex in almost real-time. A network with further structure corresponding to cortical areas and brain lobes will be even better suited for hierarchical and asynchronous communication. Still the computational power available in today’s coarsegrained parallel cluster computers with some hundreds of standard processors is severely limiting for execution speed in this application. Nevertheless, the computational capacity needed to run macaque cortex sized systems in real-time will be available in a full-scale Blue Gene/L computer with 64K nodes. With the super-Moore scaling of computational performance expected in the next few years for cluster computers it will not be long before we can run human cortex sized and maybe even larger artificial nervous systems in real-time. These estimates are somewhat dependent on our assumptions of the timescale of real-time operation. Here we assumed that an update time of 10 ms would be sufficient for real-time operation of the model, but this figure might need to be a factor of 2–5 shorter. Already today the computational performance needed to run a human

59

cortex sized system should be available in a dedicated VLSI hardware implementation. Of course, reaching the design goals of small volume and low power dissipation implementations of these cortex sized systems will still be quite some time into the future. When the model was implemented with low precision fixpoint computations we used probabilistic fractional bits, PFB. This implementation required random numbers to be generated each time a connection was updated. If generating random numbers is very expensive it is a good idea to let several connections share a single random number. The feasibility of this may depend on the application. Given that we now have the computational capacity required to simulate the cortex of a small mammal, we now need to develop algorithms that approximate a larger part of the spectrum of cortical functionality, in the long run that of the entire brain. We envision that the next step is to continue refining the hierarchical system outlined in Section 2.3 and implement it with full functionality. As opposed to the limited 2-layered version used for image processing in this paper the system should be implemented with both plastic forward and backward projections. The formation of the receptive fields in which competitive learning is performed must be investigated in more detail. Further, several parallel projections of synaptic connections between the same pair of populations of units may be required in order to add capabilities of, for instance, temporal association. We need to be able to set up a multi-network structure that combines such components to get a system with sufficient functionality and information processing capabilities. We expect each module to perform highly non-linear processing and the operation of a system composed of several such modules is most likely impossible to investigate using a reductionistic approach. Thus, largescale implementations will be required for characterizing and improving the performance of our brain-like computational algorithms, structures and devices. Further, dedicated hardware based on this knowledge will enable effective integration of several such modules for use e.g. as an embedded controller in an autonomous learning system like a future advanced autonomous robot for rescue or deep-space missions. References Alonso, J. -M. (2002). Neural connections and receptive field properties in the primary visual cortex. The Neuroscientist, 8(5), 443–456. Bailey, J., & Hammerstrom, D. (1988). Why VLSI Implementations of Associative VLCNs Require Connection Multiplexing. In Paper presented at the international conference on neural networks. Bair, W., & Koch, C. (1996). Temporal precision of spike trains in extrastriate cortex of the behaving macaque monkey. Neural Computation, 8, 1185–1202. Bartlett, M. S., & Sejnowski, T. J. (1998). Learning viewpoint-invariant face representations from visual experience in an attractor network. Network: Computation in Neural Systems, 9(3), 399–417. Beaulieu, C. (1993). Numerical data on neocortical neurons in adult rat, with special reference to the GABA population. Brain Research, 609, 284–292. Beaulieu, C., & Colonnier, M. (1989). Number and size of neurons and synapses in the motor cortex of cats raised in different environmental complexities. The Journal of Comparative Neurology, 289, 178–187.

60

C. Johansson, A. Lansner / Neural Networks 20 (2007) 48–61

Beaulieu, C., Kisvarday, Z., Somogyi, P., Cynader, M., & Cowey, A. (1992). Quantitative distribution of GABA-immunopositive and -immunonegative neurons and synapses in the monkey striate cortex (Area 17). Cerebral Cortex, 2(4), 295–309. Bosking, W. H., Zhang, Y., Schofield, B., & Fitzpatrick, D. (1997). Orientation selectivity and the arrangement of horizontal connections in tree shrew striate cortex. The Journal of Neuroscience, 17(6), 2112–2127. Bourgeois, J. P., & Rakic, P. (1993). Changes of synaptic density in the primary visual cortex of the macaque monkey from fetal to adult stage. The Journal of Neuroscience, 13(7), 2801–2820. Braitenberg, V., & Sch¨uz, A. (1998). Cortex: Statistics and geometry of neuronal connectivity. New York: Springer Verlag. Buxhoeveden, D. P., & Casanova, M. F. (2002). The minicolumn hypothesis in neuroscience. Brain, 125(5), 935–951. Buxhoeveden, D. P., Switala, A. E., Roy, E., & Casanova, M. F. (2000). Quantitative analysis of cell columns in the cerebral cortex. Journal of Neuroscience Methods, 97, 7–17. CCortex, (2003). Press Release: Artificial Development to build world’s biggest spiking neural network. Cossart, R., Aronov, D., & Yuste, R. (2003). Attractor dynamics of network UP states in the neocortex. Nature, 423(6937), 283–288. C¨ur¨ukl¨u, B., & Lansner, A. (2002). An abstract model of a cortical hypercolumn, In Proceedings of the 9th international conference on neural information processing, vol. 1 (pp. 80–85). De Schutter, E. (1999). Using realistic models to study synaptic integration in cerebellar Purkinje cells. Reviews in the Neurosciences, 10(3–4), 233–245. DeFelipe, J., Conley, M., & Jones, E. G. (1986). Long-range focal collateralization of axons arising from corticocortical cells in monkey sensory-motor cortex. The Journal of Neuroscience, 6(12), 3749–3766. Deiss, S. R., Douglas, R. J., & Whatley, A. M. (1999). A pulse-coded communication infrastructure for neuromorphic systems. In W. Maass, & C. M. Bishop (Eds.), Pulsed neural networks (pp. 157–178). MIT Press. Dell (2004). Press release: Leading Swedish university boosts research productivity with high-performance computing cluster from DELL, INTEL Corporation, Scali and Mellanox. Delorme, A., & Thorpe, S. (2003). SpikeNet: An event-driven simulation package for modelling large networks of spiking neurons. Network: Computation in Neural Systems, 14, 613–627. Dombrowski, S., Hilgetag, C., & Barbas, H. (2001). Quantitative architecture distinguishes prefrontal cortical systems in the rhesus monkey. Cerebral Cortex, 11(10), 975–988. Drubach, D. A., Makley, M., & Dodd, M. L. (2004). Manipulation of central nervous system plasticity: A new dimension in the care of neurologically impaired patients. Mayo Clinic Proceedings, 79(6), 796–800. Feldman, J. A., & Ballard, D. H. (1982). Connectionist models and their properties. Cognitive Science, 6(3), 205–254. Frans´en, E., & Lansner, A. (1998). A model of cortical associative memory based on a horizontal network of connected columns. Network: Computation in Neural Systems, 9(2), 235–264. Fuster, J. M. (1995). Memory in the cerebral cortex. London: MIT Press. Gara, A., Blumrich, M. A., Chen, D., Chiu, G. L. -T., Coteus, P., Giampapa, M. E., et al. (2005). Overview of the Blue Gene/L system architecture. IBM Journal of Research and Development, 49(2–3), 195–212. Gilbert, C. D., & Wiesel, T. N. (1989). Columnar specificity of intrinsic horizontal and corticocortical connections in cat visual cortex. The Journal of Neuroscience, 9(7), 2432–2442. Goldman, P. S., & Nauta, W. J. H. (1977). Columnar distribution of corticocortical fibers in the frontal association, limbic, and motor cortex of the developing rhesus monkey. Brain Research, 122(3), 393–413. Gonz´alez-Burgos, G., Barrionuevo, G., & Lewis, D. A. (2000). Horizontal synaptic connections in monkey prefrontal cortex: An in vitro electrophysiological study. Cerebral Cortex, 10(1), 82–92. Grossberg, S. (1987). Competitive learning: From interactive activation to adaptive resonance. Cognitive Science, 11, 23–63. Harris, F. C., Baurick, J., Frye, J., King, J. G., Ballew, M. C., & Goodman, P. H. et al. (2002). A novel parallel hardware and software solution for a large-scale biologically realistic cortical simulation. Goodman Brain Computation Lab, University of Nevada.

Henry, C. (2005). Basal metabolic rate studies in humans: measurement and development of new equations [Special issue]. Public Health Nutrition, 8(1), 1133–1152. Hoehfeld, M., & Fahlman, S. E. (1992). Learning with limited numerical precision using the cascade-correlation algorithm. IEEE Transactions on Neural Networks, 3(4), 602–611. Hofman, M. A. (1985). Size and shape of the cerebral cortex in mammals: I. The cortical surface. Brain, Behavior and Evolution, 27, 28–40. Hofman, M. A. (1988). Size and shape of the cerebral cortex in mammals: II. The cortical volume. Brain, Behavior and Evolution, 32, 17–26. Holmgren, C., Harkany, T., Svennenfors, B., & Zilberter, Y. (2003). Pyramidal cell communication within local networks in layer 2/3 of rat neocortex. Journal of Physiology, 551(1), 139–153. Hopfield, J. J. (1982). Neural networks and physical systems with emergent collective computational abilities. Proceedings of the National Academy of Sciences of the United States of America, 79, 2554–2558. Hubel, D. H., & Wiesel, T. N. (1977). Functional architecture of macaque monkey visual cortex. Proceedings of the Royal Society of London B, 198, 1–59. Haug, H. (1987). Brain sizes, surfaces, and neuronal sizes of the cortex cerebri: A stereological investigation of man and his variability and a comparision with some mammals (primates, whales, marsupials, insectivores, and one elephant). American Journal of Anatomy, 180, 126–142. Johansson, C., & Lansner, A. (2004). Towards cortex sized artificial nervous systems. In LNAI: Vol. 3213. Proceedings of the international conference on knowledge-based intelligent information and engineering systems (pp. 959–966). Johansson, C., Sandberg, A., & Lansner, A. (2002). A neural network with hypercolumns. In LNCS: Vol. 2415. Proceedings of the international conference on artificial neural networks (pp. 192–197). Kandel, E. R., Schwartz, J. H., & Jessell, T. M. (2000). Principles of neural science (4th ed.). New York: McGraw-Hill. Kanter, I. (1988). Potts-glass models of neural networks. Physical Review A, 37(7), 2739–2742. Kenan-Vaknin, G., Ouaknine, G. E., Razon, N., & Malach, R. (1992). Organization of layers II–III connections in human visual cortex revealed by in vitro injections of biocytin. Brain Research, 594(2), 339–342. Kisvarday, Z., Toth, E., Rausch, M., & Eysel, U. (1997). Orientationspecific relationship between populations of excitatory and inhibitory lateral connections in the visual cortex of the cat. Cerebral Cortex, 7(7), 605–618. Koch, C. (1999). Biophysics of computation: Information processing in single neurons. New York: Oxford University Press. Korbo, L., Pakkenberg, B., Ladefoged, O., Gundersen, H. J. G., Arlien-Søborg, P., & Pakkenberg, H. (1990). An efficient method for estimating the total number of neurons in rat brain cortex. Journal of Neuroscience Methods, 31(2), 93–100. Kozloski, J., Hamzei-Sichani, F., & Yuste, R. (2001). Stereotyped position of local synaptic targets in neocortex. Science, 293(5531), 868–872. Kumar, S., & Kal, L. V. (2004). Scaling all-to-all multicast on fat-tree networks. In Paper presented at the 10th international conference on parallel and distributed systems. ¨ (1989). A one-layer feedback artificial neural Lansner, A., & Ekeberg, O. network with a Bayesian learning rule. International Journal of Neural Systems, 1(1), 77–87. Lansner, A., Frans´en, E., & Sandberg, A. (2003). Cell assembly dynamics in detailed and abstract attractor models of cortical associative memory. Theory in Biosciences, 122, 19–36. Lansner, A., & Holst, A. (1996). A higher order Bayesian neural network with spiking units. International Journal of Neural Systems, 7(2), 115–128. Leise, E. M. (1990). Modular construction of nervous systems: A basic principle of design for invertebrates and vertebrates. Brain Research Review, 15, 1–23. Lennie, P. (2003). The cost of cortical computation. Current Biology, 13, 493–497. L¨ucke, J., & Malsburg, C. v. d. (2004). Rapid processing and unsupervised learning in a model of the cortical macrocolumn. Neural Computation, 16(3), 501–533.

C. Johansson, A. Lansner / Neural Networks 20 (2007) 48–61 Malach, R., Amir, Y., Harel, M., & Grinvald, A. (1993). Relationship between intrinsic connections and functional architecture revealed by optical imaging and in vivo targeted biocytin injections in primate striate cortex. Proceedings of the National Academy of Sciences of the United States of America, 90(22), 10469–10473. Martin, K. A. C. (2002). Microcircuits in visual cortex. Current Opinion in Neurobiology, 12(4), 418–425. Mattia, M., & Giudice, P. D. (2000). Efficient event-driven simulation of large networks of spiking neurons and dynamical synapses. Neural Computation, 12, 2305–2329. Mehrtash, N., Jung, D., Hellmich, H. H., Schoenauer, T., Lu, V. T., & Klar, H. (2003). Synaptic plasticity in spiking neural networks (SP2INN): A system approach. IEEE Transactions on Neural Networks, 14(5), 980–992. Melton, M., Phan, T., Reeves, D. S., & Van den Bout, D. E. (1992). The TInMANN VLSI chip. IEEE Transactions on Neural Networks, 3(3), 375–384. Miki, T., Fukui, Y., Itho, M., Hisano, S., Xie, Q., & Takeuchi, Y. (1997). Estimation of the numerical densities of neurons and synapses in cerebral cortex. Brain Research Protocols, 2, 9–16. Mortara, A., & Vittoz, E. A. (1994). A communication architecture tailored for analog VLSI artificial neural networks: Intrinsic performance and limitations. IEEE Transactions on Neural Networks, 5(3), 459–466. Mountcastle, V. B. (1957). Modality and topographic properties of single neurons of cat’s somatic sensory cortex. Journal of Neurophysiology, 20, 408–434. Mountcastle, V. B. (1997). The columnar organization of the neocortex. Brain, 120, 701–722. Nene, S. A., Nayar, S. K., & Murase, H. (1996). Columbia Object Image Library (COIL-100) (No. CUCS-006-96): Columbia Automated Vision Environment. Nieuwenhuys, R., Donkelaar, H. J. t., & Nicholson, C. (1997). Section 22.11.6.6; Neocortex: Quantitative Aspects and Folding. In The Central Nervous System of Vertebrates (Vol. 3, 2008-2013). Heidelberg: SpringerVerlag. O’Kane, D., & Treves, A. (1992). Why the simplest notion of neocortex as an autoassociative memory would not work. Network: Computation in Neural Systems, 3(4), 379–384. Pakkenberg, B., & Gundersen, H. J. G. (1997). Neocortical Neuron Number in Humans: Effect of Sex and Age. The Journal of Comparative Neurology, 384, 312–320. Pakkenberg, B., Pelvig, D., Marner, L., Bundgaard, M. J., Gundersen, H. J., Nyengaard, J. R., et al. (2003). Aging and the human neocortex. Experimental Gerontology, 38, 95–99. Palm, G. (1980). On associative memory. Biological Cybernetics, 36(1), 19–31. Palm, G. (1982). Neural assemblies: An alternative approach to artificial intelligence: vol. 7. New York: Springer-Verlag. Pel´aez, J. R. (2000). Towards a neural network based therapy for hallucinatory disorders. Neural Networks, 13(8–9), 1047–1061. Peters, A., & Yilmaz, E. (1993). Neuronal organization in area 17 of cat visual cortex. Cerebral Cortex, 3(1), 49–68. Ringach, D. L., Hawken, M. J., & Shapley, R. (1997). Dynamics of orientation

61

tuning in macaque primary visual cortex. Nature, 387(6630), 281–284. Rockel, A. J., Hiorns, R. W., & Powell, T. P. S. (1980). The basic uniformity in structure of the neocortex. Brain, 103, 221–244. Rolls, E. T., & Treves, A. (1998). Neural networks and brain function. New York: Oxford University Press. Ruppin, E., & Reggia, J. A. (1995). Patterns of functional damage in neural network models of associative memory. Neural Computation, 7(5), 1105–1127. Salin, P. -A., & Bullier, J. (1995). Corticocortical connections in the visual system: Structure and function. Physiological Reviews, 75(1), 107–154. ¨ (2000). A Sandberg, A., Lansner, A., Petersson, K. -M., & Ekeberg, O. palimpsest memory based on an incremental Bayesian learning rule. Neurocomputing, 32–33, 987–994. ¨ (2002). Sandberg, A., Lansner, A., Petersson, K. -M., & Ekeberg, O. A Bayesian attractor network with incremental learning. Network: Computation in Neural Systems, 13(2), 179–194. Sandberg, A., Tegn´er, J., & Lansner, A. (2003). A working memory model based on fast learning. Network: Computation in Neural Systems, 14(4), 789–802. Sch¨uz, A., & Preibl, H. (1996). Basic connectivity of the cerebral cortex and some considerations on the corpus callosum. Neuroscience & Biobehavioral Reviews, 20(4), 567–570. Seiffert, U. (2004). Artificial neural networks on massively parallel computer hardware. Neurocomputing, 57, 135–150. Shu, Y., Hasenstaub, A., & Mccormick, D. A. (2003). Turning on and off recurrent balanced cortical activity. Nature, 423(6937), 288–293. Silberberg, G., Gupta, A., & Markram, H. (2002). Stereotypy in neocortical microcircuits. Trends in Neurosciences, 25(5), 227–230. Silver, R. A., L¨ubke, J., Sakmann, B., & Feldmeyer, D. (2003). Highprobability uniquantal transmission at excitatory synapses in barrel cortex. Science, 302(5652), 1981–1984. Telfeian, A. E., & Connors, B. W. (2003). Widely integrative properties of layer 5 pyramidal cells support a role for processing of extralaminar synaptic inputs in rat neocortex. Neuroscience Letters, 343(2), 121–124. Thomson, A. M., & Bannister, A. P. (2003). Interlaminar connections in the neocortex. Cerebral Cortex, 13(1), 5–14. Treves, A. (2005). Frontal latching networks: A possible neural basis for infinite recursion. Cognitive Neuropsychology, 22(3–4), 276–291. Willshaw, D. J., Buneman, O. P., & Longuet-Higgins, H. C. (1969). Nonholographic associative memory. Nature, 222, 960–962. Yang, Y., & Wang, J. (2002). Near-optimal all-to-all broadcast in multidimensional all-port meshes and tori. IEEE Transactions on Parallel and Distributed Systems, 13(2), 128–141. ´ & Kisv´arday, Yousef, T., Bonhoeffer, T., Kim, D. -S., Eysel, U. T., T´oth, E., Z. F. (1999). Orientation topography of layer 4 lateral networks revealed by optical imaging in cat visual cortex (area 18). European Journal of Neuroscience, 11(12), 4291–4308. Zhu, S., & Hammerstrom, D. (2002). Simulation of associative neural networks, In Proceedings of the 9th international conference on neural information processing, vol. 4 (pp. 1639–1643).

Towards cortex sized artificial neural systems

implementation on a cluster computer is not communication but computation bounded. ...... multiple times came out as a slower communication solution. In Fig.

988KB Sizes 0 Downloads 193 Views

Recommend Documents

Artificial neural networks for automotive air-conditioning systems (2 ...
Artificial neural networks for automotive air-conditioning systems (2).pdf. Artificial neural networks for automotive air-conditioning systems (2).pdf. Open. Extract.

Introduction to Artificial Neural Systems by Jacek M Zurada.pdf ...
Introduction to. Art if icial. Neural Sy s. JACEK M. ZURADA. Professor of Electrical Engineering and of. Computer Science and Engineering. WEST PUBLISHING ...

Introduction to Artificial Neural Systems by Jacek M Zurada.pdf ...
Professor of Electrical Engineering and of. Computer Science and Engineering. WEST PUBLISHING COMPANY. St. Paul New York Los Angeles San Francisco.

Towards a Verified Artificial Pancreas ... - Computer Science
robustness metric can be used as an objective function to guide the system towards property violations in a systematic manner by seeking trajectories of ever decreasing ro- bustness [49,1,3]. This is usually achieved inside a global optimization tech

Electromagnetic field identification using artificial neural ... - CiteSeerX
resistive load was used, as the IEC defines. This resistive load (Pellegrini target MD 101) was designed to measure discharge currents by ESD events on the ...

Neural Activity in the Primate Prefrontal Cortex during ...
percent correct performance (calculated using a moving window of versed. Note that ..... Deadwyler, S.A., Bunn, T., and Hampson, R.E. (1996). Hippocampal.

Artificial Cognition Systems | Google Sites
achieved and outlining the advantages and limitations of ER as a tool in cognitive ... robots bears more similarity to machines like cars or airplanes than to organisms. Thus, ... Experiments with virtual agents, which are embedded in simulated ...

Towards a Verified Artificial Pancreas - Arizona State University - ASU
4 Department of Computer Science, University of Colorado, Boulder. Abstract. ...... Theoretical Computer Science, 410:4262–4291, 2009. 28. Georgios Fainekos ...

Towards a Verified Artificial Pancreas: Challenges and ...
MHz 64 bit AMD Phenom(tm) II processor with 8 GB RAM running Linux. .... B. Buckingham, D.M. Wilson, T. Lecher, R. Hanas, K. Kaiserman, and F. Cameron.

Embedded-Systems-Real-Time-Operating-Systems-For-Arm-Cortex ...
Whoops! There was a problem loading this page. Retrying... Embedded-Systems-Real-Time-Operating-Systems-For-Arm-Cortex-M-Microcontrollers.pdf.

ARTIFICIAL NEURAL NETWORK MODELLING OF THE ...
induction furnace and the data on recovery of various alloying elements was obtained for charge ..... tensile tests of the lab melt ingot has been employed.

Artificial Neural Network for Mobile IDS Solution
We advocate the idea that mobile agents framework enhance the performance of IDS and even offer them new capabilities. Moreover agent systems are used in ...

Impact of Missing Data in Training Artificial Neural ...
by the area under the Receiver Operating .... Custom software in the C language was used to implement the BP-ANN. 4. ROC. Receiver Operating Characteristic.

Using artificial neural networks to map the spatial ...
and validation and ground control points (GCPs) to allow registration of the ..... also like to thank Dr Arthur Roberts and two anonymous reviewers for their.

Financial Time Series Forecasting Using Artificial Neural ... - CiteSeerX
Keywords: time series forecasting, prediction, technical analysis, neural ...... Journal of Theoretical and Applied Finance, Information Sciences, Advanced ... data of various financial time series: stock markets, companies stocks, bond ratings.

View-invariant action recognition based on Artificial Neural ...
View-invariant action recognition based on Artificial Neural Networks.pdf. View-invariant action recognition based on Artificial Neural Networks.pdf. Open.

Prediction of Software Defects Based on Artificial Neural ... - IJRIT
IJRIT International Journal of Research in Information Technology, Volume 2, Issue .... Software quality is the degree to which software possesses attributes like ...

Electromagnetic field identification using artificial neural ...
National Technical University of Athens, 9 Iroon Politechniou Str., 157 80 Athens. 4. National ..... Trigg, Clinical decision support systems for intensive care units: ...