User:Johnanstett/sandbox

=Semantic Pointer Architecture Unified Network (Spaun)=

The Semantic Pointer Architecture Unified Network (Spaun) is a 2.5-million-neuron model of the brain created by professor Chris Eliasmith and colleagues from the University of Waterloo. Unlike prior artificial brain models, Spaun attempts to replicate both neurophysiological and neuroanatomical constraints of the human brain while producing behavioural responses to a variety of cognitive tasks. Spaun combines research in the fields of cognitive science and computational neuroscience in an attempt to model the adaptive and fluid nature of the human brain. The research team created Spaun by first devising a mathematical model referred to as the Neural Engineering Framework (NEF) that produces spiking neural networks out of non linear dynamic systems. The team then created a set of functions and an architectural organization to model many areas of cognition, which is referred to as Semantic Pointer Architecture (SPA). Inputs to Spaun are in the form of 28 by 28 visual images of handwritten or typed characters, while the outputs are movements of a physically modeled mechanical arm. Spaun is capable of performing 8 different tasks including copy drawing, image recognition, and serial working memory. Spaun's main strengths are that it is the first artificial brain simulation to carry out a sequence of tasks and behaviours, despite larger brain simulations with more artificial neurons being in existence. Spaun is also designed to make human flaws, including hesitating before answering questions and showing difficulty remembering large lists. Spaun is limited in the sense that it requires heavy computing power (2 hours of processing time for each second of Spaun's operation), it can only carry out 8 tasks, and it can't learn any new tasks or material.

=History=

Computational neuroscience is interested in studying the information processing systems of nervous system structures, and recent technological advancements over the past 50 years have allowed researchers to create several large scale neural network artificial brain simulations. These projects have attempted to reverse-engineer the human brain in order to learn more about it's function and architecture.

The Blue Brain Project was founded in 2005 by the Brain & Mind Institute of the École Polytechnique Fédérale de Lausanne (Switzerland) in order to study the brain and attempt to learn more about human consciousness. The project is headed by Henry Markham and runs using the Blue Gene supercomputer that was used in the famous Deep Blue versus Garry Kasparov matches in 1997. The Blue Brain Project has simulated around 1 million neurons "in cortical columns and includes considerable biological detail, accurately reflecting spatial structure, connectivity statistics, and other neural properties". Although The Blue Brain Project served as a starting point for the development of future artificial brain and neural network models, it was unable to produce specific behaviours and performed at a slow rate.

More recently, the Cognitive Computation Project has simulated approximately 1 billion neurons under supervision of Dharmendra Modha of the IBM Almaden Research Center. The simulation is known as the Systems of Neuromorphic Adaptive Plastic Scalable Electronics (SyNAPSE) and combines the fields of neuroscience, supercomputing, and nanotechnology in an attempt to emulate the brain's efficiency. The Cognitive Computation Project has made improvements over the Blue Brain Project in that it simulates more neurons (1 billion) and runs at faster speeds than The Blue Brain Project. Despite these improvements, the Cognitive Computation Project still lacked the ability to produce specific behaviours and while it had speed improvements, it still ran at 1/400th of real time.

These models have been successful at demonstrating some forms of artificial synaptic scaling where artificial action potentials, also known as "spikes", have influenced other nodes in the neural network. Despite the occurrence of synaptic "spikes", past artificial brain models have been unable to produce behavioural output and are quite slow. These challenges were the motivation behind the creation of Spaun, with the primary goal being to construct an artificial brain model that could produce behaviours while still remaining realistic to the human brain.

=Architecture=

Anatomical Architecture
Spaun's anatomical structure was modeled after empirical research and contains approximately 21 specific anatomical regions found in the human brain. For example, Spaun contains a primary visual cortex (V1), a secondary visual cortex (V2), an extrastriate visual cortex (V4), and and inferior temporal cortex (IT) to process visual input. Spaun's architecture allows these various anatomical regions to communicate together in order to produce behavioural outputs, and is the first artificial brain model to showcase this ability. Neural and synaptic responses were modeled from research in electrophysiology, and applied to the specific anatomical areas created for Spaun. The anatomical properties were modeled to be as specific as possible in order to attempt to replicate the real workings of the human brain. For example, Spaun's basal ganglia has many artificial GABAergic neurons to mimic the basal ganglia in the human brain. Similarly, learning in Spaun is modulated by dopamine in the striatum similar to the human brain. Even Spaun's cortex "has largely N-methyl-D-aspartate and AMPA synaptic connections", which highlights the level of specificity of Spaun's anatomical architecture.



Functional Architecture
Spaun's functional architecture consists of three compression hierarchies, an action-selection mechanism, and five subsystems.

Compression Hierarchies
Spaun has various components similar to the human brain that must communicate with one another in order to execute behaviours. Different components of Spaun communicate via "spiking neurons" which attempt to mimic synaptic potentials seen in the human brain. The neural representations that carry out the spiking are referred to as "semantic pointers". Semantic pointers are "neurally realized representations of a vector space generated through a compression method", and are responsible for communication between Spaun's different components.

Compression is a concept in neural processing that refers to information being compressed as it moves from "higher dimensional areas to lower dimensional areas in the brain" and has been an area of intense research over the past 15 years. In Spaun, learned compression is utilized by the visual hierarchy, and defined compression is utilized by the working memory and motor hierarchies. Compression allows Spaun to mimic human neural processing and produce more accurate behaviours. Spaun's motor hierarchy integrates Eliasmith and colleagues' neural optimal control hierarchy (NOCH) which helps the anatomical elements of Spaun produce motor behaviour. Spaun contains 3 main compression hierarchies which are summarized in the table below.

Action-Selection Mechanism
Spaun's action selection mechanism is modeled off of a basal ganglia representation created by Chris Eliasmith and colleagues that was developed in 2012. Spaun's basal ganglia is able to switch between different neural states to accommodate the task at hand, which means that the functional states are not hardwired directly into Spaun. This fluidity allows Spaun to also change the flow of information between the different subsystems and contributed to Spaun's ability to mimic the human brain more accurately.

Subsystems
There are 5 subsystems in Spaun's functional architecture that allow it to carry out behaviours. These subsystems are not task specific which allows them to be used in many different combinations and may even be used towards other tasks in future developments of Spaun. Spaun's subsystems are summarized in the table below.

Neural weighting for these subsystems are set using various optimization methods determined by Spaun's research team.

=Tasks=

Spaun is capable of computing 8 specific tasks. While some tasks have an extensive base of modeling such as image recognition and serial memory, others tackle areas that haven't been examined in neural network models such as counting and question answering. The 8 tasks are labelled A0 through A7 respectively, and are briefly summarized below.

Spaun is also able to detect invalid input and can perform tasks in any desired sequence without modeller intervention.

=Functionality=

Spaun's functionality is best illustrated by examining the way it handles specific tasks since some processes (e.g. storage and recall states) are generalizable across multiple tasks. The serial working memory task is one example that illustrates how Spaun processes input and generates behaviour.

Serial Working Memory Task
The serial working memory task can be broken down into 2 main states: the storage state and the recall state.

Storage State

 * 1) Upon first seeing the task identifying element, Spaun switches into the storage state which causes the incoming image to be compressed into a visual based firing pattern.
 * 2) The visual based firing pattern from Spaun's storage state is then mapped onto another pattern that represents the concept related to the figure or image that was initially presented.
 * 3) The concept pattern is then compressed into a third pattern that is stored in Spaun's working memory. Specifically, the concept pattern is bound to a position representation which adds the result of the task to the working memory.
 * 4) This process is then repeated for each figure in the task until the list is completed.

Recall State

 * 1) The recall state is controlled by the basal ganglia which causes Spaun to recall the input pattern from the dorsolateral prefrontal cortex area.
 * 2) The recalled input pattern is then compressed from storage.
 * 3) From storage, the pattern is then decompressed to the appropriate motor command.
 * 4) The decompressed motor command is then mapped to the specific joint necessary to move the mechanical arm which produced the behavioural response.
 * 5) This process is then repeated for each figure in the task that is recalled by Spaun.

Performance

 * In rapid serial recall tasks, Spaun has been shown to match closely to human data "with 17 of 22 human mean values within the 95% confidence interval of 40 instances of the model".
 * Spaun is able to produce and mimic both the recency effect and the primacy effect in recall tasks, showing memory preference for items appearing at the beginning and ending of lists, while showing the greatest difficulty recalling items in the middle of lists.
 * Spaun is also able to handle invalid or unusual inputs during the serial working memory task by not responding and moving on to the next task.

Fluid Reasoning Task
In the fluid reasoning task (also known as the raven's progressive matrices task) Spaun is challenged to learn the relations between two groups, with three items in each group. Spaun is then able to predict the relations among a third group based on the patterns of the first 2 groups. Spaun accomplishes this task by comparing patterns in it's 2 dorsolateral prefrontal cortex regions (DLPFC1 & DLPFC2), and is able to generate the correct answer 88% of the time. On this task, Spaun matches human control participants very closely who score the correct answer 89% of the time.

Other Tasks

 * Spaun achieves a 94% accuracy rating on the visual imagery task, compared to a human accuracy rate of 98%.
 * Spaun has been shown to demonstrate comparable reaction times to human control participants on the question answering task.
 * Spaun has demonstrated some minimal learning capabilities on the reinforcement learning task.

=Contributions=

Spaun was the first model capable of performing behaviours in addition to artificially modelling neurons and brain structures. Spaun has also proposed a new hypothesis for ways to solve specific tasks. For example, Spaun's methods of handling the rapid variable creation task and the serial working memory task are unique to Spaun and highlight the flexibility of the system's functional architecture. Spaun is unique in the sense that many subsystems are able to communicate together in order to produce the desired behaviour. For example, while Spaun is able to demonstrate learning on the variable creation, fluid processing, and reinforcement learning tasks, only the connection weights are changed in the reinforcement learning task. This demonstrates Spaun's ability to be cognitively flexible when handling tasks. It's important to note that while Spaun can demonstrate some cognitive flexibility on the learning task, the changes in connection weights do not affect the performance of other tasks, and thus Spaun is only able to minimally demonstrate flexibility. Nevertheless, Spaun is able to test a learning algorithm in an artificial cognitive environment and provides the opportunity for future neural models to be tested within Spaun's framework to make advancements in the field of computational neuroscience.

=Limitations and Future Research=

While Spaun has shown the ability to produce behaviours from a neural network simulation model, it does have several limitations that should be considered and improved upon in future research. While Spaun was developed to model a human brain, it is certainly not as adaptive as the human brain. This is shown by the fact that Spaun cannot learn any new tasks other than the 8 noted above. A second limitation is that the input mechanisms of Spaun, specifically the eye position and attention, are fixed in place. This means Spaun is unable to control it's own input, which is unlike the human brain. Spaun is only able to process visual images, and the digit range is restricted primarily to those ranging from 0-9.

In terms of structure and architecture, while Spaun was designed to mimic the anatomy of a human brain, it is missing many areas. Furthermore, those areas that are included lack neurons and are unable to match all of the functions that the same area in the human brain are capable of performing. Similarly, the synaptic firing or spiking of the artificial neurons are not as variable as those observed in the human brain. It is clear that while Spaun is a step in the right direction, more research is needed to build an artificial brain model with more neural pathways and greater synaptic firing between components. One major area of interest for Spaun's research team is to move away from having behaviours pre-programmed and instead push for more adaptive plasticity similar to human brains.

Many of the limitations described above are due to the lack of computation power and technology that is currently available. Moving forward technology is expected to increase in power, and this should allow researchers to expand upon computational neuroscience models such as Spaun in order to improve upon the limitations. Recently, the Human Brain Project has received a billion dollar grant over the next 10 years to create an entire brain artificially. While it's intention is not to simulate behaviour like Spaun, many neuroscientists and researchers will be collaborating in order to enhance computational neuroscience modeling and gain a better understanding of artificial neural networks. These findings, if discovered, could be integrated into future versions of Spaun to overcome the limitations of limited brain regions and neuron quantity. Future research is also needed in applying computational neuroscience models to create behaviours since Spaun is currently the only model available that has output behaviours.

=References=