Associative Memories
Description
An associative
memory is a content-addressable structure that maps a set of input
patterns to a set of output patterns. There are two types of associative memory:
autoassociative and heteroassociative.
An autoassociative memory retrieves a previously stored pattern that most closely
resembles the current pattern. In a heteroassociative memory, the retrieved
pattern is, in general, different from the input pattern not only in content but
possibly also in type and format.
Linear
Associator
The linear
associator is one of the simplest and among the first studied associative
memory models. It is a feedforward type of network where the output is produced
in a single feedforward computation. It can be used as an autoassociator
as well as a heteroassociator. However, it possesses a very low memory capacity.
Hopfield
Model
The Hopfield
model is an autoassociative memory. Proposed by John Hopfield in 1982,
it is an ensemble of simple processing units that have a fairly complex collective
computational abilities and behavior. The Hopfield model is different from
the linear associator model in that it computes its output recursively in time
until the system becomes stable. Hopfield networks were originally designed using
bipolar units with no learning procedure to incrementally arrive at stable values
for the connection weights. Later versions of the model allowed for continuous-valued
units. Furthermore, a learning procedure was devised.
Bi-directional
Associative Memory
In 1988, Kosko extended
the Hopfield model by incorporating an additional layer to perform recurrent autoassociations
as well as heteroassociations on the stored memories. The network structure
of the bi-directional
associative memory (BAM) model is similar to that of the linear associator
but the connections are bi-directional, i.e. BAM allows forward and backward flow
of information between the layers. The BAM model can perform both autoassociative
and heteroassociative recall of stored information.