# Attractor network

An attractor network is a type of recurrent dynamical network, that evolves toward a stable pattern over time. Nodes in the attractor network converge toward a pattern that may either be fixed-point (a single state), cyclic (with regularly recurring states), chaotic (locally but not globally unstable) or random (stochastic). Attractor networks have largely been used in computational neuroscience to model neuronal processes such as associative memory and motor behavior, as well as in biologically inspired methods of machine learning.
An attractor network contains a set of n nodes, which can be represented as vectors in a d-dimensional space where n>d. Over time, the network state tends toward one of a set of predefined states on a d-manifold; these are the attractors.

## Overview

In attractor networks, an attractor (or attracting set) is a closed subset of states A toward which the system of nodes evolves. A stationary attractor is a state or sets of states where the global dynamics of the network stabilize. Cyclic attractors evolve the network toward a set of states in a limit cycle, which is repeatedly traversed. Chaotic attractors are non-repeating bounded attractors that are continuously traversed.
The network state space is the set of all possible node states. The attractor space is the set of nodes on the attractor. Attractor networks are initialized based on the input pattern. The dimensionality of the input pattern may differ from the dimensionality of the network nodes. The trajectory of the network consists of the set of states along the evolution path as the network converges toward the attractor state. The basin of attraction is the set of states that results in movement towards a certain attractor.

## Types

Various types of attractors may be used to model different types of network dynamics. While fixed-point attractor networks are the most common (originating from Hopfield networks), other types of networks are also examined.

### Fixed point attractors

The fixed point attractor naturally follows from the Hopfield network. Conventionally, fixed points in this model represent encoded memories. These models have been used to explain associative memory, classification, and pattern completion. Hopfield nets contain an underlying energy function that allow the network to asymptotically approach a stationary state. One class of point attractor network is initialized with an input, after which the input is removed and the network moves toward a stable state. Another class of attractor network features predefined weights that are probed by different types of input. If this stable state is different during and after the input, it serves as a model of associative memory. However, if the states during and after input do not differ, the network can be used for pattern completion.

### Other stationary attractors

Line attractors and plane attractors are used in the study of oculomotor control. These line attractors, or neural integrators, describe eye position in response to stimuli. Ring attractors have been used to model rodent head direction.

### Cyclic attractors

Cyclic attractors are instrumental in modelling central pattern generators, neurons that govern oscillatory activity in animals such as chewing, walking, and breathing.

### Chaotic attractors

Chaotic attractors (also called strange attractors) have been hypothesized to reflect patterns in odor recognition. While chaotic attractors have the benefit of more quickly converging upon limit cycles, there is yet no experimental evidence to support this theory.

### Continuous attractors

Neighboring stable states (fix points) of continuous attractors (also called continuous attractor neural networks) code for neighboring values of a continuous variable such as head direction or actual position in space.

### Ring attractors

A subtype of continuous attractors with a particular topology of the neurons (ring for 1-dimensional and torus or twisted torus for 2-dimensional networks). The observed activity of grid cells is successfully explained by assuming the presence of ring attractors in the medial entorhinal cortex. Recently, it has been proposed that similar ring attractors are present in the lateral portion of the entorhinal cortex and their role extends to registering new episodic memories.

## Implementations

Attractor networks have mainly been implemented as memory models using fixed-point attractors. However, they have been largely impractical for computational purposes because of difficulties in designing the attractor landscape and network wiring, resulting in spurious attractors and poorly conditioned basins of attraction. Furthermore, training on attractor networks is generally computationally expensive, compared to other methods such as k-nearest neighbor classifiers. However, their role in general understanding of different biological functions, such as, locomotor function, memory, decision-making, to name a few, makes them more attractive as biologically realistic models.

### Hopfield networks

Hopfield attractor networks are an early implementation of attractor networks with associative memory. These recurrent networks are initialized by the input, and tend toward a fixed-point attractor. The update function in discrete time is $x(t+1)=f(Wx(t))$, where $x$ is a vector of nodes in the network and $W$ is a symmetric matrix describing their connectivity. The continuous time update is ${\frac {dx}{dt}}=-\lambda x+f(Wx)$.
Bidirectional networks are similar to Hopfield networks, with the special case that the matrix $W$ is a block matrix.

### Localist attractor networks

Zemel and Mozer (2001) proposed a method to reduce the number of spurious attractors that arise from the encoding of multiple attractors by each connection in the network. Localist attractor networks encode knowledge locally by implementing an expectation–maximization algorithm on a mixture-of-gaussians representing the attractors, to minimize the free energy in the network and converge only the most relevant attractor. This results in the following update equations:
* Determine the activity of attractors: $q_{i}(t)={\frac {\pi _{i}g(y(t),w_{i},\sigma (t))}{\sum _{j}\pi _{j}g(y(t),w_{j},\sigma (t))}}$
* Determine the next state of the network: $y(t+1)=\alpha (t)\xi +(1-\alpha (t))\sum _{i}q_{i}(t)w_{i}\,\!$
* Determine the attractor width through network: $\sigma _{y}^{2}(t)={\frac {1}{n}}\sum _{i}q_{i}(t)|y(t)-w_{i}|^{2}$
($\pi _{i}$ denotes basin strength, $w_{i}$ denotes the center of the basin. $\xi$ denotes input to the net, $g$ is a un-normalized gaussian distribution centered in $y$ and of standard deviation equals to $\sigma$.)
The network is then re-observed, and the above steps repeat until convergence. The model also reflects two biologically relevant concepts. The change in $\alpha$ models stimulus priming by allowing quicker convergence toward a recently visited attractor. Furthermore, the summed activity of attractors allows a gang effect that causes two nearby attractors to mutually reinforce the other's basin.

### Reconsolidation attractor networks

Siegelmann (2008) generalized the localist attractor network model to include the tuning of attractors themselves. This algorithm uses the EM method above, with the following modifications: (1) early termination of the algorithm when the attractor's activity is most distributed, or when high entropy suggests a need for additional memories, and (2) the ability to update the attractors themselves: $w_{i}(t+1)=vq_{i}(t)\cdot y(t)+[1-vq_{i}(t)]\cdot w_{i}(t)\,\!$, where $v$ is the step size parameter of the change of $w_{i}$. This model reflects memory reconsolidation in animals, and shows some of the same dynamics as those found in memory experiments.
Further developments in attractor networks, such as kernel-based attractor networks, have improved the computational feasibility of attractor networks as a learning algorithm, while maintaining the high-level flexibility to perform pattern completion on complex compositional structures.