# Patent

## Title
Method and device for realizing an associative memory based on inhibitory neural networks

## Abstract

A method for forming an associative computer memory comprises the step of forming an inhibitory memory matrix A′=−(Ap−A). According to the Wilshaw model constructed from a given set of address patterns and content patterns' and random matrix structure.

## Background
The present invention relates to a method and a device for realizing an associative memory using inhibitory neural networks.
TECHNICAL BACKGROUND AND PRIOR ART
It has long been pointed out that neural networks can compute mappings of the kind ƒ:uv, where u and v are usually interpreted as activity pattern vectors of the presynaptic and postsynaptic neuron populations, respectively. Actually, it has been proven that multilayer neural networks can approximate arbitrary functions ƒ with arbitrary precision (although this may require a very large neuron number in the hidden layers). Neural associative memory networks are a special case where the mapping is between discrete sets of address patterns uμ and content patterns vμ, μ=1, . . . , M. Given a noisy address pattern ũ, the usual memory task is then to find the most similar uμ minimizing ∥ũ−uμ∥, and returning the corresponding content vμ. This task is essentially the best match or nearest-neighbor problem and can be extended to implement again continuous mappings ƒ by interpolating between several sample points. Efficient solutions to the best match problem have widespread applications such as object recognition, clustering or information retrieval in large databases.
STORING AND RETRIEVING PATTERNS IN THE WILLSHAW MODEL An attractive model of neural associative memory both for biological modeling and applications is the so-called Willshaw or Steinbuch model with binary neurons and synapses, illustrated in FIG. 1. Each address pattern uμ is a binary vector of length m that, on average, contains k one-entries and m−k zero-entries. Similarly, each target pattern vμ is a binary vector of length n that contains l one-entries and n−l zero-entries. Typically, the patterns are sparse, i.e., k<<m and l<<n.
FIG. 1 shows the working principle of the binary Willshaw model (for hetero-association). On the left hand side, during the learning phase, M associations between address patterns uμ and content patterns vμ are stored in the binary memory matrix A representing binary synaptic weights of the connection from address population u to content population v. Initially all synapses are inactive. During learning of pattern associations, the synapses are activated according to Hebbian coincidence learning (eq. 1). On the right hand side, for retrieval, an address pattern ũ is propagated through the network. Vector-matrix-multiplication yields the membrane potentials x=ũA. To obtain the retrieval result {circumflex over (v)} (here equal to v1) a threshold Θ is applied. For pattern part retrieval, ũ⊂uμ one may simply choose the Willshaw threshold Θ=|ũ| yielding a superset {circumflex over (v)}⊃vμ of the original pattern (i.e., no missing one-entries).
The M pattern pairs are stored hetero-associatively in a binary memory matrix Aaε{0, 1}m×n, where




  
    
      
        
          A
          
            a
            ,
            ij
          
        
        =
        
          
            min
            ⁡
            
              (
              
                1
                ,
                
                  
                    ∑
                    
                      μ
                      =
                      1
                    
                    M
                  
                  ⁢
                  
                    
                      u
                      i
                      μ
                    
                    ·
                    
                      v
                      j
                      μ
                    
                  
                
              
              )
            
          
          ∈
          
            
              {
              
                0
                ,
                1
              
              }
            
            .
          
        
      
    
    
      
        (
        1
        )
      
    
  




The model may slightly be extended by allowing noisy one-entries and zero-entries in the matrix. Let Ã1 and Ã0 be two binary random m×n matrices, where each matrix entry is one independently with probability {tilde over (p)}1 and {tilde over (p)}0, respectively. Interpreting Ã1 as the set of noisy one-synapses, and Ã0 as the set of noisy zero-synapses, the resulting synaptic matrix is

A=(AaA1)Ã0ε{0,1}.  (2)

After learning, the stored information can be retrieved applying an address pattern ũ. Vector-matrix-multiplication yields the neural potentials x=ũA of the target population, and imposing a threshold Θ gives the (one-step) retrieval result {circumflex over (v)},




  
    
      
        
          
            v
            ^
          
          j
        
        =
        
          {
          
            
              
                
                  
                    1
                    ,
                  
                
                
                  
                    
                      x
                      j
                    
                    =
                    
                      
                        (
                        
                          
                            ∑
                            
                              i
                              =
                              1
                            
                            m
                          
                          ⁢
                          
                            
                              
                                u
                                ~
                              
                              i
                            
                            ⁢
                            
                              A
                              ij
                            
                          
                        
                        )
                      
                      ≥
                      Θ
                    
                  
                
              
              
                
                  
                    0
                    ,
                  
                
                
                  otherwise
                
              
            
            .
          
        
      
    
    
      
        (
        3
        )
      
    
  




A critical prerequisite for high retrieval quality is the right choice of the threshold value Θ: Too low values will lead to high rates of false one-entries (add-errors) whereas too high values will result in high rates of false zero-entries (miss-errors). This threshold choice can be simple or rather difficult, depending on the types of errors present in the address. In the following c and ƒ denote the number of correct and false one-entries in the address, respectively.

For {tilde over (p)}0=0 and error-free addresses (c=k and ƒ=0) or pattern part retrieval, that is, when the address contains miss errors only (c=λk and ƒ=0 with 0<λ<1) the optimal threshold value is a simple function of the address pattern Θ=|ũ|. This threshold value was used in the original Willshaw model and therefore it will be referred to as the Willshaw threshold. A detailed description of the Willshaw model may be found in the original article by D. J. Willshaw et al. (“Non-holographic associative memory”, Nature, 222:960-962, 1969).
MEMORY LOAD First the memory load p1 is determined, that is, the fraction of one-entries in the memory matrix. The probability that a synapse gets activated during learning of M pattern pairs is




  
    
      
        
          
            p
            
              1
              ⁢
              a
            
          
          =
          
            
              1
              -
              
                
                  (
                  
                    1
                    -
                    
                      kl
                      mn
                    
                  
                  )
                
                M
              
            
            ≈
            
              1
              -
              
                e
                
                  
                    -
                    Mkl
                  
                  /
                  mn
                
              
            
          
        
        ,
      
    
    
      
        (
        4
        )
      
    
  




and therefore, considering the noisy synapses, the probability that a synapse is active is





  
    
      
        
          p
          1
        
        =
        
          
            
              1
              -
              
                
                  p
                  ~
                
                0
              
              -
              
                
                  (
                  
                    1
                    -
                    
                      
                        p
                        ~
                      
                      0
                    
                  
                  )
                
                ⁢
                
                  (
                  
                    1
                    -
                    
                      
                        p
                        ~
                      
                      1
                    
                  
                  )
                
                ⁢
                
                  (
                  
                    1
                    -
                    
                      p
                      
                        1
                        ⁢
                        a
                      
                    
                  
                  )
                
              
            
            ⁢
            
              

            
            ⁢
            
              
            
            ≥
            
              p
              
                1
                ,
                min
              
            
          
          :=
          
            1
            -
            
              
                p
                ~
              
              0
            
            -
            
              
                (
                
                  1
                  -
                  
                    
                      p
                      ~
                    
                    0
                  
                
                )
              
              ⁢
              
                (
                
                  1
                  -
                  
                    p
                    1
                  
                
                )
              
            
          
        
      
    
    
      
        (
        5
        )
      
    
  
  
    
      
        
          p
          
            1
            ⁢
            a
          
        
        =
        
          1
          -
          
            
              1
              -
              
                
                  p
                  ~
                
                0
              
              -
              
                p
                1
              
            
            
              
                (
                
                  1
                  -
                  
                    
                      p
                      ~
                    
                    0
                  
                
                )
              
              ⁢
              
                (
                
                  1
                  -
                  
                    
                      p
                      ~
                    
                    1
                  
                
                )
              
            
          
        
      
    
    
      
        (
        6
        )
      
    
  
  
    
      
        M
        =
        
          
            
              ln
              ⁢
              
                
                  1
                  -
                  
                    
                      p
                      ~
                    
                    0
                  
                  -
                  
                    p
                    1
                  
                
                
                  
                    (
                    
                      1
                      -
                      
                        
                          p
                          ~
                        
                        0
                      
                    
                    )
                  
                  ⁢
                  
                    (
                    
                      1
                      -
                      
                        
                          p
                          ~
                        
                        1
                      
                    
                    )
                  
                
              
            
            
              ln
              ⁡
              
                (
                
                  1
                  -
                  
                    kl
                    /
                    mn
                  
                
                )
              
            
          
          ≈
          
            
              -
              
                mn
                kl
              
            
            ⁢
            ln
            ⁢
            
              
                
                  1
                  -
                  
                    
                      p
                      ~
                    
                    0
                  
                  -
                  
                    p
                    1
                  
                
                
                  
                    (
                    
                      1
                      -
                      
                        
                          p
                          ~
                        
                        0
                      
                    
                    )
                  
                  ⁢
                  
                    (
                    
                      1
                      -
                      
                        
                          p
                          ~
                        
                        1
                      
                    
                    )
                  
                
              
              .
            
          
        
      
    
    
      
        (
        7
        )
      
    
  




RETRIEVAL ERRORS AND HIGH FIDELITY Let the noisy address pattern ũ contain c correct one-entries of uμ and an additional noise with ƒ false one-entries. Then for a given threshold Θ the probability p01 of an add-error and the probability p10 of a miss-error are




  
    
      
        
          
            
              
                
                  p
                  01
                
                ⁡
                
                  (
                  Θ
                  )
                
              
              =
              
                p
                ⁡
                
                  (
                  
                    
                      
                        v
                        ^
                      
                      i
                    
                    =
                    
                      
                        1
                        ❘
                        
                          v
                          i
                          μ
                        
                      
                      =
                      0
                    
                  
                  )
                
              
            
          
        
        
          
            
              =
              
                
                  ∑
                  
                    x
                    =
                    Θ
                  
                  
                    c
                    +
                    f
                  
                
                ⁢
                
                  
                    p
                    
                      WP
                      ,
                      lo
                    
                  
                  ⁡
                  
                    (
                    
                      
                        x
                        ;
                        k
                      
                      ,
                      l
                      ,
                      m
                      ,
                      n
                      ,
                      
                        M
                        -
                        1
                      
                      ,
                      
                        
                          p
                          ~
                        
                        1
                      
                      ,
                      
                        
                          p
                          ~
                        
                        0
                      
                      ,
                      c
                      ,
                      f
                    
                    )
                  
                
              
            
          
        
      
    
    
      
        (
        8
        )
      
    
  
  
    
      
        
          
            
              
                
                  p
                  10
                
                ⁡
                
                  (
                  Θ
                  )
                
              
              =
              
                p
                ⁡
                
                  (
                  
                    
                      
                        v
                        ^
                      
                      i
                    
                    =
                    
                      
                        0
                        ❘
                        
                          v
                          i
                          μ
                        
                      
                      =
                      1
                    
                  
                  )
                
              
            
          
        
        
          
            
              =
              
                
                  ∑
                  
                    x
                    =
                    0
                  
                  
                    Θ
                    -
                    1
                  
                
                ⁢
                
                  
                    p
                    
                      WP
                      ,
                      hi
                    
                  
                  ⁡
                  
                    (
                    
                      
                        x
                        ;
                        k
                      
                      ,
                      l
                      ,
                      m
                      ,
                      n
                      ,
                      
                        M
                        -
                        1
                      
                      ,
                      
                        
                          p
                          ~
                        
                        1
                      
                      ,
                      
                        
                          p
                          ~
                        
                        0
                      
                      ,
                      c
                      ,
                      f
                    
                    )
                  
                
              
            
          
        
      
    
    
      
        (
        9
        )
      
    
  




where pWP,lo, is the potential distribution of the “low” units (corresponding to the zero-entries of vμ) and pWP,hi is the potential distribution of the “high” units (corresponding to the one-entries of vμ).

The retrieval or output noise ε may be defined according to the expected Hamming distance dH between {circumflex over (v)} and vμ. Normalizing to the pattern activity l, one obtains




  
    
      
        
          ε
          ⁡
          
            (
            Θ
            )
          
        
        :=
        
          
            
              
                Ed
                H
              
              ⁡
              
                (
                
                  
                    v
                    ^
                  
                  ,
                  
                    v
                    μ
                  
                
                )
              
            
            l
          
          =
          
            
              
                
                  n
                  -
                  l
                
                l
              
              ⁢
              
                
                  p
                  01
                
                ⁡
                
                  (
                  Θ
                  )
                
              
            
            +
            
              
                p
                10
              
              ⁡
              
                (
                Θ
                )
              
            
          
        
      
    
    
      
        (
        10
        )
      
    
  




An alternative definition based on the information I and transinformation (or mutual information) T of a binary channel is





  
    
      
        
          
            ε
            T
          
          ⁡
          
            (
            Θ
            )
          
        
        :=
        
          1
          -
          
            
              
                T
                ⁡
                
                  (
                  
                    
                      l
                      /
                      n
                    
                    ,
                    
                      p
                      01
                    
                    ,
                    
                      p
                      10
                    
                  
                  )
                
              
              
                I
                ⁡
                
                  (
                  
                    l
                    /
                    n
                  
                  )
                
              
            
            .
          
        
      
    
    
      
        (
        11
        )
      
    
  




The latter definition is particularly useful when analyzing low quality retrieval for sparse patterns with l<<n. The former definition is useful because it allows an elegant analysis for pattern capacity and storage capacity. Now the optimal threshold Θoptε{0, 1, . . . , c+ƒ} can be defined by minimizing ε (or εT). For ε<<l, “high-fidelity” retrieval is obtained.

STORAGE CAPACITY Now, the maximal number of patterns Mε may be computed such that the retrieval noise is at most ε. Since the minimal Hamming distance (optimizing Θ) is obviously increasing with M, the pattern capacity Mε (on quality level ε) may be defined as

Mε:=max{M:(n−l)p01+lp10≦εl}.  (12)

Considering the Shannon information of individual content patterns, one obtains the normalized network storage capacity in bits per synapses,





  
    
      
        
          C
          ε
        
        :=
        
          
            
              stored
              ⁢
              
                
              
              ⁢
              information
            
            
              #
              ⁢
              
                
              
              ⁢
              synapses
            
          
          =
          
            
              
                
                  M
                  ε
                
                ⁢
                
                  T
                  ⁡
                  
                    (
                    
                      
                        v
                        μ
                      
                      ;
                      
                        
                          v
                          ^
                        
                        μ
                      
                    
                    )
                  
                
              
              mn
            
            ≈
            
              
                
                  M
                  ε
                
                ⁢
                
                  T
                  ⁡
                  
                    (
                    
                      
                        l
                        /
                        n
                      
                      ,
                      
                        p
                        01
                      
                      ,
                      
                        p
                        10
                      
                    
                    )
                  
                
              
              m
            
          
        
      
    
    
      
        (
        13
        )
      
    
  




where T(vμ; {circumflex over (v)}μ) is the transinformation (or mutual information) between learned and retrieved content pattern. From the network capacity, further performance measures may be derived such as synaptic capacity CS and information capacity CI making use of the compressibility of the memory matrix for a memory load p1≠0.5,





  
    
      
        
          
            C
            ε
            S
          
          :=
          
            
              
                stored
                ⁢
                
                  
                
                ⁢
                information
              
              
                #
                ⁢
                
                  
                
                ⁢
                non
                ⁢
                
                  -
                
                ⁢
                silent
                ⁢
                
                  
                
                ⁢
                synapses
              
            
            =
            
              
                C
                ε
              
              
                min
                ⁡
                
                  (
                  
                    
                      p
                      
                        1
                        ⁢
                        ε
                      
                    
                    ,
                    
                      1
                      =
                      
                        p
                        
                          1
                          ⁢
                          ε
                        
                      
                    
                  
                  )
                
              
            
          
        
        ,
      
    
    
      
        (
        14
        )
      
    
  
  
    
      
        
          
            C
            ε
            I
          
          :=
          
            
              
                stored
                ⁢
                
                  
                
                ⁢
                information
              
              
                #
                ⁢
                
                  
                
                ⁢
                bits
                ⁢
                
                  
                
                ⁢
                of
                ⁢
                
                  
                
                ⁢
                required
                ⁢
                
                  
                
                ⁢
                physical
                ⁢
                
                  
                
                ⁢
                memory
              
            
            =
            
              
                C
                ε
              
              
                I
                ⁡
                
                  (
                  
                    p
                    
                      1
                      ⁢
                      ε
                    
                  
                  )
                
              
            
          
        
        ,
      
    
    
      
        (
        15
        )
      
    
  




where p1ε is the memory matrix load after storing M pattern pairs, and I(p1ε):=−p1εldp1ε−(1−p1ε)ld(1−p1ε) is the Shannon information of a memory matrix component. Essentially, CS normalizes the stored information to the number of non-silent synapses (instead of all synapses). The variable CS is relevant for VLSI implementations of the Willshaw model where each synapse, similar to biology, must be realized in hardware. Similarly, CI normalizes the stored information to the amount of physical memory that is actually required to represent the memory matrix. This is relevant mainly for technical applications where the Willshaw matrix must be maintained in the memory of digital computers.

APPROXIMATIVE ANALYSIS OF RETRIEVAL WITH THE WILLSHAW THRESHOLD For retrieval with maximal “Willshaw” threshold Θ=|ũ| there is an elegant analysis based on a binomial approximation of the error probabilities. Unfortunately this is useful only for {tilde over (p)}0=0, i.e., no noisy zero-entries in the memory matrix, and ƒ=0, i.e., no false one-entries in the address pattern ũ (pattern part retrieval). In that case when c=|ũ|=λk and |=0 the probability of miss noise is p10=0 and the probability of add-noise can be approximated

p01≈p1λk  (16)

assuming independently generated one-entries in the memory matrix and λ:=c/k. This assumption becomes correct in the limit of large networks for many cases. Requiring high fidelity level ε one obtains the bound p01≦εl/(n−l). Resolving for p1 the high fidelity memory load p1ε is obtained, and from this the high fidelity capacities,





  
    
      
        
          
            
              p
              
                1
                ⁢
                ε
              
            
            ≈
            
              
                (
                
                  
                    ε
                    ⁢
                    
                      
                    
                    ⁢
                    l
                  
                  
                    n
                    -
                    l
                  
                
                )
              
              
                1
                
                  λ
                  ·
                  k
                
              
            
            ⁢
            
              ≥
              
                (
                !
                )
              
            
            ⁢
            
              p
              
                1
                ,
                min
              
            
          
          ⇔
          
            k
            ≈
            
              
                ld
                ⁢
                
                  
                    ε
                    ⁢
                    
                      
                    
                    ⁢
                    l
                  
                  
                    n
                    -
                    l
                  
                
              
              
                λ
                ⁢
                
                  
                
                ⁢
                
                  ldp
                  
                    1
                    ⁢
                    ε
                  
                
              
            
            ⁢
            
              ≥
              
                (
                !
                )
              
            
            ⁢
            
              k
              min
            
          
        
        :=
        
          
            ld
            ⁢
            
              
                ε
                ⁢
                
                  
                
                ⁢
                l
              
              
                n
                -
                l
              
            
          
          
            λ
            ⁢
            
              
            
            ⁢
            
              ldp
              
                1
                ,
                min
              
            
          
        
      
    
    
      
        (
        17
        )
      
    
  
  
    
      
        
          M
          ε
        
        ≈
        
          
            
              λ
              2
            
            ·
            
              
                (
                
                  ldp
                  
                    1
                    ⁢
                    ε
                  
                
                )
              
              2
            
            ·
            1
          
          ⁢
          n
          ⁢
          
            
              
                1
                -
                
                  p
                  
                    1
                    ⁢
                    ε
                  
                
              
              
                1
                -
                
                  
                    p
                    ~
                  
                  1
                
              
            
            ·
            
              k
              l
            
            ·
            
              mn
              
                
                  (
                  
                    1
                    ⁢
                    d
                    ⁢
                    
                      
                        n
                        -
                        l
                      
                      
                        ε
                        ·
                        l
                      
                    
                  
                  )
                
                2
              
            
          
          ⁢
          
            
          
          ⁢
          for
          ⁢
          
            
          
          ⁢
          
            p
            
              1
              ⁢
              ε
            
          
        
        ≥
        
          p
          
            1
            ,
            min
          
        
      
    
    
      
        (
        18
        )
      
    
  
  
    
      
        
          C
          ε
        
        ≈
        
          
            λ
            ·
            
              ldp
              
                1
                ⁢
                ε
              
            
            ·
            ln
          
          ⁢
          
            
              
                1
                -
                
                  p
                  
                    1
                    ⁢
                    ε
                  
                
              
              
                (
                
                  1
                  -
                  
                    
                      p
                      ~
                    
                    1
                  
                
                )
              
            
            ·
            η
          
          ⁢
          
            
          
          ⁢
          for
          ⁢
          
            
          
          ⁢
          
            p
            
              1
              ⁢
              ε
            
          
        
        ≥
        
          p
          
            1
            ,
            min
          
        
      
    
    
      
        (
        19
        )
      
    
  




where η is usually near 1,





  
    
      
        η
        :=
        
          
            
              T
              ⁡
              
                (
                
                  
                    l
                    n
                  
                  ,
                  
                    
                      ε
                      ⁢
                      
                        
                      
                      ⁢
                      l
                    
                    
                      n
                      -
                      l
                    
                  
                  ,
                  0
                
                )
              
            
            
              
                -
                
                  l
                  n
                
              
              ⁢
              ld
              ⁢
              
                
                  ε
                  ⁢
                  
                    
                  
                  ⁢
                  l
                
                
                  n
                  -
                  l
                
              
            
          
          ≈
          
            
              1
              
                1
                +
                
                  
                    ln
                    ⁢
                    
                      
                    
                    ⁢
                    ε
                  
                  
                    ln
                    ⁡
                    
                      (
                      
                        l
                        /
                        n
                      
                      )
                    
                  
                
              
            
            .
          
        
      
    
    
      
        (
        20
        )
      
    
  




Note that equation 17 implies a minimal assembly size kmin for the address population. For smaller assemblies it is impossible to achieve high-fidelity ε, even when storing only a single association.
SPARSE AND DENSE POTENTIATION The main conclusions from the binomial approximative analysis are that a very high storage capacity of almost 0.7 bits per synapse can be achieved for sparse patterns with k ̃log n and memory load p1=0.5. Then, one may store on the order of M ̃mn/(log n)2 pattern associations with high retrieval quality. From equations 17 and 19 it is easy to see that asymptotically

C>0k ̃log n0<p1ε<1.  (21)

Thus, the analysis suggests that neural associative memory is efficient (C>0) only for logarithmically sparse patterns. For sub-logarithmic sparse patterns with k/log n→0 one has p1→0 and for super-logarithmic sparse patterns with k/log n→∞ one has p1→1, both cases implying vanishing network storage capacity Cε→0.

In the following, the three cases p1→0/c/1 will be referred to as sparse, balanced, and dense synaptic potentiation.
It should be noted that this conclusion may be biased by the definition of network storage capacity, and alternative definitions of storage capacity considering the compressibility of the network lead to different conclusions. For example, in technical implementations of the Willshaw model the memory matrix can be compressed for p1→0/1 and the (information) storage capacity improves by factor I(p1):=−p1ldp1−(1−p1)ld(1−p1). This leads to the definition of “compression” capacities CI:=C/I(p1) and CS:=C/min(p1, 1−p1) (see eqs. 14,15,19).
Interestingly, and in contrast to network capacity C, optimizing CI and CS reveals highest capacities for p1→0 and p1→1. By this the regimes with ultrasparse and moderately sparse patterns (or cell assemblies) have gained increased attention.
However, the convergence of the binomial approximations towards the exact values may be questionable. In particular, for dense potentiation with p0ε=1−p1ε→0, supra-logarithmic sparseness, k/log n→∞, and




  
    
      
        
          
            p
            
              1
              ⁢
              ε
            
          
          =
          
            
              
                (
                
                  
                    ε
                    ⁢
                    
                      
                    
                    ⁢
                    l
                  
                  
                    n
                    -
                    l
                  
                
                )
              
              
                
                  1
                  /
                  λ
                
                ⁢
                
                  
                
                ⁢
                k
              
            
            =
            
              
                e
                
                  
                    ln
                    ⁡
                    
                      (
                      
                        ε
                        ⁢
                        
                          
                        
                        ⁢
                        
                          l
                          /
                          
                            (
                            
                              n
                              -
                              l
                            
                            )
                          
                        
                      
                      )
                    
                  
                  
                    λ
                    ⁢
                    
                      
                    
                    ⁢
                    k
                  
                
              
              ≈
              
                1
                -
                
                  
                    ln
                    ⁢
                    
                      
                        n
                        -
                        l
                      
                      
                        ε
                        ⁢
                        
                          
                        
                        ⁢
                        l
                      
                    
                  
                  
                    λ
                    ⁢
                    
                      
                    
                    ⁢
                    k
                  
                
              
            
          
        
        ,
      
    
    
      
        (
        22
        )
      
    
  
  
    
      
        
          
            M
            ε
          
          =
          
            
              
                ln
                ⁡
                
                  (
                  
                    1
                    -
                    
                      p
                      
                        1
                        ⁢
                        ε
                      
                    
                  
                  )
                
              
              
                ln
                ⁡
                
                  (
                  
                    1
                    -
                    
                      
                        k
                        ⁢
                        
                          
                        
                        ⁢
                        l
                      
                      
                        m
                        ⁢
                        
                          
                        
                        ⁢
                        n
                      
                    
                  
                  )
                
              
            
            ≈
            
              
                -
                
                  
                    m
                    ⁢
                    
                      
                    
                    ⁢
                    n
                  
                  
                    k
                    ⁢
                    
                      
                    
                    ⁢
                    l
                  
                
              
              ⁢
              
                (
                
                  
                    ln
                    ⁡
                    
                      (
                      
                        λ
                        ⁢
                        
                          
                        
                        ⁢
                        k
                      
                      )
                    
                  
                  -
                  
                    ln
                    ⁢
                    
                      
                    
                    ⁢
                    ln
                    ⁢
                    
                      
                        n
                        -
                        l
                      
                      
                        ε
                        ⁢
                        
                          
                        
                        ⁢
                        l
                      
                    
                  
                
                )
              
            
            ≈
            
              
                m
                ⁢
                
                  
                
                ⁢
                n
                ⁢
                
                  
                
                ⁢
                ln
                ⁢
                
                  
                
                ⁢
                k
              
              
                k
                ⁢
                
                  
                
                ⁢
                l
              
            
          
        
        ,
      
    
    
      
        (
        23
        )
      
    
  




numerical simulations of small networks reveal that the capacities can be massively overestimated by the binomial approximative analysis. Nevertheless, the inventor has shown in an asymptotic analysis for large networks, that the binomial approximative analysis from above becomes exact at least for k=O(n/log2 n). That means, the regime of dense potentiation leads actually to high performance networks for a very broad range of pattern activities.

THE (EXCITATORY) DILUTED WILLSHAW MODEL In the following, it will be assumed that, on average, only a fraction p of the mn synapses are actually realized in the network. More precisely, it is assumed that a potential synapse is realized with probability p independently of other synapses. In other words, it is assumed that the network is incompletely connected.
Obviously, this case is already included in the theoretical framework presented above by using {tilde over (p)}0=1−p. For the sake of brevity, the matrix of realized synapses will be denoted as

Ap:=1−Ã0  (24)

Unfortunately, as already mentioned, for p<1 there is no obvious optimal threshold anymore. Instead, the threshold needs to be adjusted “by hand”. For example, if the statistics of the address pattern (c and ƒ) are known, one can optimize the threshold in order to minimize the expected Hamming distance (eq. 10,11). However, numerical evaluations indicate that the performance of this naive implementation of the excitatory Willshaw model becomes quite bad for p<1. In particular, the synaptic storage capacity vanishes, C→0, for p→0.

Previous works have focused on finding optimal threshold strategies for diluted networks. It has been suggested to choose thresholds Θj individually for each content neuron j as a function of the so-called input activity




  
    
      
        
          
            θ
            j
          
          :=
          
            
              ∑
              
                i
                =
                1
              
              m
            
            ⁢
            
              
                
                  u
                  ~
                
                i
              
              ⁢
              
                A
                
                  p
                  ,
                  
                    i
                    ⁢
                    
                      
                    
                    ⁢
                    j
                  
                
              
            
          
        
        ,
      
    
    
      
        (
        25
        )
      
    
  




defined as the number of active address neurons connected to neuron j (see FIG. 2, left panel). Simply using Θj=θj corresponds to the previous Willshaw threshold and again implies p10=0, i.e., no miss-noise in the retrieval result. For pattern part retrieval with ƒ=0 (no add-noise in the address pattern), this threshold strategy is optimal if, besides input activity, no further information is used. However, for an excitatory interpretation this strategy has a severe disadvantage: for technical applications, the matrix Ap of realized synapses must be represented explicitly, which inevitably decreases storage capacity. This becomes particularly severe for p1→0 or p1→1 when A can be compressed. Then memory requirements are dominated by Ap and therefore storage capacity vanishes.

In the following, the two model variants with the naive threshold control (described at the beginning of this section) and the optimal threshold control (eq. 25) will be referred to as the naive and optimal excitatory diluted Willshaw model, respectively.
In the light of these analyses, it is an object of the present invention to provide an improved method and device for realizing an associative memory on the basis of a neural network.
This object is achieved according to the invention by a method and a device for forming an associative memory according to the independent claims. Advantageous embodiments are defined in the dependent claims.
The associative memory is a digital computer memory that may be formed or realized by building up a corresponding matrix or structure in the digital memory of a general-purpose digital computer or physically implemented on a parallel (VLSI, FPGA) hardware architecture.
The method and device according to the invention have the following advantages:

    
    
        The threshold strategy becomes very simple, even when using the input activity in diluted networks: For example, assume that the optimal threshold of the excitatory model is Θj=θj+c for an offset c. Then the optimal threshold for the inhibitory model is simply c, i.e., again independent of the individual input activities.
        Consequently, it is not necessary to explicitely represent Ap which can dramatically increase the storage capacity if A can be compressed.
    
    





Further aspects and advantages of the present invention will become more apparent to the person skilled in the art when considering the following detailed description, in connection with the annexed drawing in which
FIG. 1 shows the working principle of the binary Willshaw model (for hetero-association);
FIG. 2 shows learning and retrieval in incompletely connected excitatory and inhibitory Willshaw networks;
FIG. 3 compares the retrieval quality of a model according to the invention to the naive excitatory model for a network of a given size;
FIG. 4 shows asymptotic network capacity, synaptic capacity and information capacity as functions of memory load for an optimal excitatory model and the inhibitory model according to the invention;
FIG. 5 compares the structures of a two-layer Willshaw model and a three-layer extension;
FIG. 6 shows a four-layer system for information retrieval according to one embodiment of the invention; and
FIG. 7 shows the improvement regarding storage capacity and retrieval quality in a system shown in FIG. 6.
FIG. 8 shows a block diagram of a system for visual object recognition using an associative memory according to one embodiment of the invention.



DETAILED DESCRIPTION OF THE INVENTION
A method for forming an associative computer memory according to the invention uses an inhibitory interpretation of the Willshaw model.
THE INHIBITORY WILLSHAW MODEL The excitatory Willshaw model has an equivalent inhibitory interpretation corresponding to Anti-Hebbian learning that avoids the problems of the excitatory model described in the previous section. Consider retrieval in the common excitatory interpretation with memory matrix A (eq. 2), address pattern ũ, and (possibly individual) thresholds Θ (see eqs. 3,25). Further, let θ=ũAp be the vector of input activities (eq. 25). Then the corresponding inhibitory model is defined by the inhibitory memory matrix AI and retrieval threshold ΘI with

AI=−(Ap−A)aijIε{0,−1}  (26)

ΘI=Θ−θ  (27)

The excitatory and inhibitory models are actually equivalent. I.e., the retrieval results for the excitatory and inhibitory models are identical (see FIG. 2, right panel) because

ũ(Ap−Ap+A)≧Θθ−ũ(Ap−A)≧ΘũAI≧ΘI.  (28)

These arguments are illustrated in FIG. 2 showing learning and retrieval in incompletely connected Willshaw networks (p=0.8) of the excitatory and inhibitory type.
The left hand part (2a) of FIG. 2 shows pattern retrieval in a diluted excitatory network according to the state of the art. The natural generalization of the one-step algorithm for pattern part retrieval (with ƒ=0 add-noise) has to apply a threshold Θj equal to the input activity θ3 for each target neuron j (see eq. 25).
The right hand part (2b) of FIG. 2 shows pattern retrieval in a diluted inhibitory network according to a first embodiment of the invention. In the inhibitory Willshaw model 0-synapses of the excitatory model become −1-synapses, and 1-synapses become 0-synapses. The inhibitory and excitatory models are functionally equivalent, but optimal threshold control in the inhibitory model is much simpler: here each neuron has the same threshold ΘI=0.
Also the analysis of diluted inhibitory networks becomes very simple. A missing synapse may be replaced by a 0-synapse (see FIG. 2). In the equivalent excitatory model, this becomes a noisy 1-synapse. Thus, the inhibitory model with connectivity p and synaptic noise {tilde over (p)}0,{tilde over (p)}1 is equivalent to the fully connected excitatory model with synaptic noise

{tilde over (p)}0={tilde over (p)}1I  (29)

{tilde over (p)}1=1−p(1−{tilde over (p)}0I  (30)

Thus, for {tilde over (p)}I=0 the inhibitory diluted model can be analyzed as described above, leading to interesting asymptotic results (eqs. 17-23).

Retrieval Quality
FIG. 3 shows retrieval quality of the inhibitory model (‘r’ for red) as compared to the naive excitatory model (‘g’ for green) for a network with m=n=1000, k=l=100 and connectivity p=0.5 when addressing with c=50 correct and no false units (ƒ=0).
The plot on the left hand side shows the distribution of the dendritic potentials for the low units (thin) and high units (thick) when M=100 pattern associations are stored corresponding to a memory load p1=0.817 (or p1a=0.634; see eq. 4). The x-axis for the dendritic potentials is shifted such that 0 corresponds to the optimal threshold in each case. The inhibitory model achieves optimal retrieval quality for Θ=0 resulting in error probabilities p01=0.000944, p10=0 and output noise ε=0.00850 (see eq. 10). The excitatory model is optimal for Θ=25 resulting in p01=0.0208, p10=0.444, and thus a much higher output noise ε=0.631.
The plot on the right hand side shows minimal output noise ε (see eq. 10) as a function of the number M of stored associations.
As illustrated by FIG. 3, for diluted networks with p<1 the retrieval quality of the inhibitory model is generally much better than for the naive excitatory model. The plots indicate that, for the same number M of stored pattern associations, the output noise ε (see eq. 10) is much worse for the excitatory model. Correspondingly, if a fixed retrieval quality ε must be maintained, the inhibitory model can store a much larger number of patterns, i.e., it has a much larger storage capacity.
Storage Capacity
The analysis of maximal memory load p1ε and pattern capacity Mε for both the inhibitory diluted Willshaw model and the excitatory model with optimal threshold control is essentially the same as the analysis of the fully connected excitatory model described before (see eqs. 29,30). For example, if connectivity p is assumed, but no synaptic noise, then, for pattern part retrieval without add-noise in the address pattern, (ε=0) one may just use eqs. 17,18 with {tilde over (p)}0=0 and {tilde over (p)}1=1−p. Since now the network has only pmn synapses the storage capacity Cε of eq. 19 improves by factor 1/p,




  
    
      
        
          
            C
            ε
          
          :=
          
            
              T
              
                p
                ⁢
                
                  
                
                ⁢
                m
                ⁢
                
                  
                
                ⁢
                n
              
            
            ≈
            
              
                λ
                ·
                
                  
                    ld
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        p
                        
                          1
                          ⁢
                          ε
                        
                      
                      ·
                      ln
                    
                    ⁢
                    
                      
                        1
                        -
                        
                          p
                          
                            1
                            ⁢
                            ε
                          
                        
                      
                      p
                    
                  
                  p
                
                ·
                η
              
              ⁢
              
                
              
              ⁢
              for
            
          
        
        ⁢
        
          
        
        ⁢
        
          
            
              p
              
                1
                ⁢
                ε
              
            
            ≥
            
              p
              
                1
                ,
                min
              
            
          
          :=
          
            1
            -
            p
          
        
      
    
    
      
        (
        31
        )
      
    
  




where T was used for the stored (trans-) information which is proportional to Mε.

Similarly, the “compression capacities” CS and CI may be computed (see eqs. 14,15). The different capacities for the different model variants are summarized in the table shown below. For the synaptic capacity CS performance may be improved by eliminating all silent synapses. Thus CS improves by a factor 1/p1ε′ for the naive excitatory model, and by a factor 1/(1−p1ε) for the inhibitory model. Note that the optimal excitatory model has only factor 1/p, the same as in eq. 31, because here one cannot eliminate the 0-synapses since they are required to compute the input activity eq. 25. For the information capacity CI it was assumed that the memory matrix, interpreted as a bit stream, can be compressed by a Huffman or Golomb code. Thus, the improvement for the naive excitatory and the inhibitory model is factor 1/I(p1ε′) and 1/I(p1ε), respectively, but only factor 1/I(1−p, 1−p1ε) for the optimal excitatory model: here a fraction 1−p of the potential synapses is missing, another fraction 1−p1ε are zero, and the remaining synapses are 1.
The following table shows storage capacity C, synaptic capacity CS, and information capacity CI (see eqs. 13-15) for the different implementations of the Willshaw model (naive excitatory model, optimal excitatory model, and inhibitory model). mn is network size, p<1 is connectivity, p1ε is memory load, and Tε denotes the maximal storable information under a given quality constraint ε. The asymptotical approximations follow from eq. 31. For the naive excitatory model, the storable information Tε′ and the corresponding memory load p1ε′ are usually smaller than for the optimal model variants. I(p) and I(p, q) are the information of a binary and ternary random variable, respectively. The formulae are correct also for full connectivity (p=1) except for the synaptic capacity CεS of the optimal excitatory model: here p should be replaced by p1ε in the denominator.














naive exc.
opt. exc.
inhibitory







Cε




  
    T
    ε
    ′
  
  pmn








  
    
      T
      ε
    
    pmn
  
  ≈
  
    
      
        ldp
        
          1
          ⁢
          ε
        
      
      ⁢
      ln
      ⁢
      
        
          1
          -
          
            p
            
              1
              ⁢
              ε
            
          
        
        p
      
    
    p
  








  
    
      T
      ε
    
    pmn
  
  ≈
  
    
      
        ldp
        
          1
          ⁢
          ε
        
      
      ⁢
      ln
      ⁢
      
        
          1
          -
          
            p
            
              1
              ⁢
              ε
            
          
        
        p
      
    
    p
  






 


CεS




  
    T
    ε
    ′
  
  
    
      
        p
        ′
      
      
        1
        ⁢
        ε
      
    
    ⁢
    mn
  








  
    
      T
      ε
    
    pmn
  
  ≈
  
    
      
        ldp
        
          1
          ⁢
          ε
        
      
      ⁢
      ln
      ⁢
      
        
          1
          -
          
            p
            
              1
              ⁢
              ε
            
          
        
        p
      
    
    p
  








  
    
      T
      ε
    
    
      
        (
        
          1
          -
          
            p
            
              1
              ⁢
              ε
            
          
        
        )
      
      ⁢
      mn
    
  
  ≈
  
    
      
        ldp
        
          1
          ⁢
          ε
        
      
      ⁢
      ln
      ⁢
      
        
          1
          -
          
            p
            
              1
              ⁢
              ε
            
          
        
        p
      
    
    
      1
      -
      
        p
        
          1
          ⁢
          ε
        
      
    
  






 


CεI




  
    T
    ε
    ′
  
  
    1
    ⁢
    
      (
      
        
          p
          ′
        
        
          1
          ⁢
          ε
        
      
      )
    
    ⁢
    mn
  








  
    
      T
      ε
    
    
      
        I
        ⁡
        
          (
          
            
              1
              -
              p
            
            ,
            
              1
              -
              
                p
                
                  1
                  ⁢
                  ε
                
              
            
          
          )
        
      
      ⁢
      mn
    
  
  ≈
  
    
      
        ldp
        
          1
          ⁢
          ε
        
      
      ⁢
      ln
      ⁢
      
        
          1
          -
          
            p
            
              1
              ⁢
              ε
            
          
        
        p
      
    
    
      I
      ⁡
      
        (
        
          
            1
            -
            p
          
          ,
          
            1
            -
            
              p
              
                1
                ⁢
                ε
              
            
          
        
        )
      
    
  








  
    
      T
      ε
    
    
      
        I
        ⁡
        
          (
          
            p
            
              1
              ⁢
              ε
            
          
          )
        
      
      ⁢
      mn
    
  
  ≈
  
    
      
        ldp
        
          1
          ⁢
          ε
        
      
      ⁢
      ln
      ⁢
      
        
          1
          -
          
            p
            
              1
              ⁢
              ε
            
          
        
        p
      
    
    
      I
      ⁡
      
        (
        
          p
          
            1
            ⁢
            ε
          
        
        )
      
    
  













Although there is no (elegant) theory for the naive excitatory model, numerical evaluations indicate that it always performs bad. The hope that the naive excitatory model performs well for sparse potentiation with p1ε→0 and sub-logarithmic sparse patterns is true only for p=1.
FIG. 4 shows asymptotic network capacity C, synaptic capacity CS, and information capacity CI as functions of the memory load p1ε (see the above table) for different network connectivities p. The curves show the capacities CSe (=Ce for p<1), CIe for the optimal excitatory model and the corresponding capacities Ci (=Ce), CSi, CIi for the inhibitory model. For p=1 (upper left panel) the dashed line shows Ce (=Ci) which differs here from CSe. For p<1 only the inhibitory model can achieve large capacities ≧1 bps.
Based on these results the following points can be made:

    
    
        The network capacity C (no compression) of the inhibitory model is identical to the excitatory model and yields moderately high capacities for balanced potentiation.
        In the regime of sparse potentiation with p1ε→0 high compression capacities CS, CI can only be achieved in the fully connected network. Here the excitatory model is superior over the inhibitory model with CS→∞ and CI→1.
        However, for diluted networks sparse potentiation with p1ε→0 is not viable for two reasons: First, compressibility of the memory matrix is limited by Ap. Second, hifi-retrievals on level ε are not possible for p1ε0 because this would imply k/log n→0 (section), while in fact k must grow at least with log n (see eq. 17 for p1,min=1−p).
        In the regime of dense potentiation with p1ε→1 high capacities CS, CI are achieved only by the inhibitory model. Here CSi→∞ and 0.85≦lim CI≦1 even for the diluted networks with p→0. In contrast, the capacities of the excitatory models are low.
    
    


In summary, for full network connectivity (p=1) both the excitatory and the inhibitory model can achieve high capacities. The excitatory model performs particularly good for sparse potentiation with memory load p1ε→0 and very sparse patterns k/log n→0, while the inhibitory model achieves highest capacities for dense potentiation with p1ε→1 and moderate sparseness k/log n→∞. However, for diluted networks with p<1 only the inhibitory model achieves high capacities CS and CI.
Computational Complexity
The time complexity of the Willshaw model is essentially the number of synaptic operations necessary to perform a retrieval. Obviously, this is an important performance measure for technical implementations on sequential digital computers.
The time complexity for learning is the same for all model variants, i.e., learning the pattern associations requires time




  
    
      
        
          t
          lrn
        
        =
        
          Mkl
          ≈
          
            
              -
              m
            
            ⁢
            
              
            
            ⁢
            n
            ⁢
            
              
            
            ⁢
            ln
            ⁢
            
              
                1
                -
                
                  p
                  1
                
              
              p
            
          
        
      
    
    
      
        (
        32
        )
      
    
  




Also a naive retrieval (with uncompressed memory matrix) for an address pattern with z:=|ũ| active units requires the same time for all three model variants,

tretnv=zn  (33)

Similarly as for storage capacity, performance can be improved if the silent synapses are skipped. Thus, the retrieval times tretne, trete, treti for the naive excitatory, the optimal excitatory, and the inhibitory model variants are

tretnve=znp1  (34)

trete=znp  (35)

treti=zn(1−p1)  (36)

assuming that only the functionally relevant synapses are explicitely represented, for example in target lists.

The following conclusions can be made:

    
    
        The excitatory models are advantageous for sparse potentiation with p1ε→0, but the optimal excitatory model has only minor advantages for fixed p<1.
        In contrast, the inhibitory model is always advantageous for dense potentiation with p1ε→1 and any connectivity p.
        Thus, the inhibitory model can be adapted to the number of patterns to be stored: If, for given m, n, k, and l, the actual number M of patterns to be stored is smaller than Mε, then one may decrease the network connectivity from full connectivity to an appropriate value p<1 such that M=Mε(p). This will decrease retrieval time while maintaining a desired retrieval quality and high storage capacity.
    
    


Comparison to Compressed Look-Up Tables
A common way to implement associative memory is simply by a look-up table where each pattern association uμ→vμ is explicitely stored in one of the table's rows. While the Willshaw model is a two-layer neural network, look-up-tables have an interpretation as three-layer neural networks (see FIG. 5) with an additional hidden “grandmother cell” layer w. Here each address pattern uμ is stored in a separate row of the M×m synaptic matrix U describing the connection from u to w. Similarly, each content pattern vμ is stored in a row of the M×n synaptic matrix V describing the connection from w to v.
Retrieval is straight forward: An address pattern ũ is multiplied with the first synaptic matrix U giving the potentials of layer-w neurons. Then, the winner neuron with the largest potential is selected and the corresponding content pattern is returned as retrieval result.
Previous work has pointed out that the Willshaw network can implement retrieval of sparse patterns much more efficiently than naive implementations of look-up-tables. However, look-up-tables can become very efficient if adequately compressed (e.g., by Huffman or Golomb coding). Here it is essential to compress the columns (and not the rows) of the first synaptic matrix U. Then a compressed look-up-table (cLUT) has an information capacity CI→1 and a retrieval requires only

tseqcLUT=z·M·k/m  (37)

steps. Comparing with the fully connected compressed Willshaw model (see eqs. 34,36) storing the same pattern number M (eq. 7 with {tilde over (p)}0={tilde over (p)}1=0) this yields





  
    
      
        v
        :=
        
          
            
              t
              seq
              cLUT
            
            
              t
              seq
              cW
            
          
          ≈
          
            
              -
              
                ln
                ⁡
                
                  (
                  
                    1
                    -
                    
                      p
                      1
                    
                  
                  )
                
              
            
            
              l
              ·
              
                min
                ⁡
                
                  (
                  
                    
                      p
                      1
                    
                    ,
                    
                      1
                      -
                      
                        p
                        1
                      
                    
                  
                  )
                
              
            
          
          ≤
          
            
              -
              
                ln
                ⁡
                
                  (
                  
                    1
                    -
                    
                      p
                      
                        1
                        ⁢
                        ε
                      
                    
                  
                  )
                
              
            
            
              l
              ·
              
                min
                ⁡
                
                  (
                  
                    
                      p
                      
                        1
                        ⁢
                        ε
                      
                    
                    ,
                    
                      1
                      -
                      
                        p
                        
                          1
                          ⁢
                          ε
                        
                      
                    
                  
                  )
                
              
            
          
        
      
    
    
      
        (
        38
        )
      
    
  
  
    
      
        →
        
          {
          
            
              
                
                  
                    1
                    /
                    l
                  
                  ,
                
              
              
                
                  
                    p
                    
                      1
                      ⁢
                      ε
                    
                  
                  →
                  0
                
              
            
            
              
                
                  
                    λ
                    ·
                    
                      k
                      l
                    
                    ·
                    
                      
                        
                          ln
                          ⁡
                          
                            (
                            
                              λ
                              ⁢
                              
                                
                              
                              ⁢
                              k
                            
                            )
                          
                        
                        -
                        
                          ln
                          ⁢
                          
                            
                          
                          ⁢
                          ln
                          ⁢
                          
                            n
                            
                              ε
                              ⁢
                              
                                
                              
                              ⁢
                              l
                            
                          
                        
                      
                      
                        ln
                        ⁢
                        
                          n
                          
                            ε
                            ⁢
                            
                              
                            
                            ⁢
                            l
                          
                        
                      
                    
                  
                  ,
                
              
              
                
                  
                    
                      p
                      
                        1
                        ⁢
                        ε
                      
                    
                    →
                    1
                  
                  ,
                
              
            
          
        
      
    
    
      
        (
        39
        )
      
    
  




where used 1−p1ε≈ ln p1ε was used for p1ε1 (see eq. 22). Remember that the memory matrix is sparse (p1ε→0), balanced (0<δ<p1ε<1−δ), or dense (p1ε→1) for sub-logarithmic, logarithmic, or supra-logarithmic k(n) (see eq. 21).

Thus the Willshaw model outperforms the cLUT only for dense potentiation (p1ε→1) if implemented with inhibitory neurons (eq. 36). The advantage of the inhibitory Willshaw model is most significant for asymmetric networks with large k and small l. If it is required that m=n and k=l (e.g., for auto-association) the Willshaw model is superior with ν→λd/(1−d) only for almost linear k=nd with 1/(1+λ)<d<1.
The model proposed in the next section makes use of the inhibitory Willshaw model operating in the most efficient regime of dense potentiation (p1ε→1) and asymmetric pattern activities (l<<k).
A Four Layer System for Information Retrieval
FIG. 6 shows four layer system for information retrieval according to an embodiment of the invention. The first projection from address population u to the first intermediary population w1 is the inhibitory Willshaw associative memory (IAM). The second and third projection from w1 to another intermediary population w2 and the content population v is a compressed look-up table (cLUT) as described in the previous section. If the address patterns uμ are not extremely sparse (as is usually the case in applications), then retrieval in this four layer model is much faster than in a compressed look-up table.
The motivation for this model comes from the following observations:

    
    
        The address patterns uμ are typically not as sparse as required for an efficient implementation of a compressed look-up table (or the inferior excitatory Willshaw model). For example, it might typically be assumed that k=md with d typically around 0.5.
        Here the inhibitory model has major advantages over the compressed look-up-table, in particular if the activity l of the content patterns vμ would be extremely low.
        However, l grows typically on the same order as k, for example k=l for auto-association. By introducing an intermediary layer w1 with random patterns w1μ, this layer may be chosen as sparse as desired. Let n1 be the size and l1 the pattern activity of layer w1. Then, one may choose, for example, l1=2 and
    
    






  
    
      
        
          n
          1
        
        ≈
        
          
            M
            ⁢
            
              
            
            ⁢
            k
            ⁢
            
              
            
            ⁢
            
              l
              1
            
          
          
            m
            ⁢
            
              
            
            ⁢
            ln
            ⁢
            
              
            
            ⁢
            k
          
        
      
    
    
      
        (
        40
        )
      
    
  




    
    
        Here, n1 was chosen by resolving eq. 23 for n. That means the intermediary layer w1 is designed as small as possible to guarantee high fidelity. If M and thus n1 grow not too fast, i.e.,
    
    






  
    
      
        
          k
          
            log
            ⁢
            
              
            
            ⁢
            
              n
              1
            
          
        
        →
        ∞
        ⇔
        
          
            
              log
              ⁢
              
                
              
              ⁢
              M
            
            k
          
          →
          0
        
      
    
    
      
        (
        41
        )
      
    
  




    
    
        then one actually obtains dense potentiation (eq. 17). The retrieval time for this first projection is then (see eqs. 36,22)
    
    






  
    
      
        
          t
          ret
          
            w
            ⁢
            
              
            
            ⁢
            1
          
        
        ≈
        
          z
          ⁢
          
            
          
          ⁢
          
            n
            1
          
          ⁢
          
            
              ln
              ⁢
              
                
                  n
                  1
                
                
                  ε
                  ⁢
                  
                    
                  
                  ⁢
                  
                    l
                    1
                  
                
              
            
            
              λ
              ⁢
              
                
              
              ⁢
              k
            
          
        
        ≈
        
          
            n
            1
          
          ⁢
          ln
          ⁢
          
            
          
          ⁢
          
            n
            1
          
        
        ≈
        
          
            M
            ⁢
            
              
            
            ⁢
            k
            ⁢
            
              
            
            ⁢
            
              l
              1
            
            ⁢
            ln
            ⁢
            
              
            
            ⁢
            M
          
          
            m
            ⁢
            
              
            
            ⁢
            ln
            ⁢
            
              
            
            ⁢
            k
          
        
      
    
    
      
        (
        42
        )
      
    
  




    
    
        What remains is a projection from the very sparse w1 population to the content population v. This can most efficiently be implemented by a compressed look-up table via a second intermediary grandmother cell population w2 with one cell for each of the M associations. Note that this second projection can correct possible errors induced by the first projection. The additional retrieval time is
    
    






  
    
      
        
          t
          ret
          
            w
            ⁢
            
              
            
            ⁢
            2
          
        
        ≈
        
          
            
              l
              1
              2
            
            ⁢
            M
          
          
            n
            1
          
        
        ≈
        
          
            
              l
              1
            
            ⁢
            m
            ⁢
            
              
            
            ⁢
            ln
            ⁢
            
              
            
            ⁢
            k
          
          k
        
      
    
    
      
        (
        43
        )
      
    
  




    
    
        Thus the total retrieval time tretw1+tretw2 is dominated by the first part tretw1 if
    
    






  
    
      
        M
        ⪢
        
          
            
              (
              
                
                  m
                  ⁢
                  
                    
                  
                  ⁢
                  ln
                  ⁢
                  
                    
                  
                  ⁢
                  k
                
                k
              
              )
            
            2
          
          
            ln
            ⁢
            
              
            
            ⁢
            M
          
        
      
    
    
      
        (
        44
        )
      
    
  




    
    
        or, for typically k=md, for M>>m2-2d ln m.
        Thus, for sufficiently large M the relative efficiency of this four layer model compared to a compressed look-up table is typically
    
    






  
    
      
        
          
            t
            ret
            
              w
              ⁢
              
                
              
              ⁢
              1
            
          
          
            t
            seq
            cLUT
          
        
        ≈
        
          
            
              M
              ⁢
              
                
              
              ⁢
              k
              ⁢
              
                
              
              ⁢
              
                l
                1
              
              ⁢
              ln
              ⁢
              
                
              
              ⁢
              M
            
            
              m
              ⁢
              
                
              
              ⁢
              ln
              ⁢
              
                
              
              ⁢
              k
            
          
          
            
              λ
              ⁢
              
                
              
              ⁢
              M
              ⁢
              
                
              
              ⁢
              
                k
                2
              
            
            m
          
        
        ∼
        
          
            ln
            ⁢
            
              
            
            ⁢
            M
          
          
            k
            ⁢
            
              
            
            ⁢
            ln
            ⁢
            
              
            
            ⁢
            k
          
        
        ∼
        
          1
          k
        
      
    
    
      
        (
        45
        )
      
    
  




    
    
        This shows that the four layer system requires typically only a fraction m−d of the look-up table's retrieval time.
        Similarly, the relative efficiency of this four layer model compared to the two-layer inhibitory Willshaw model is (see eqs. 42,36,22)
    
    






  
    
      
        
          
            t
            ret
            
              w
              ⁢
              
                
              
              ⁢
              1
            
          
          
            t
            ret
            i
          
        
        ≈
        
          
            
              n
              1
            
            ⁢
            ln
            ⁢
            
              
                n
                1
              
              
                ε
                ⁢
                
                  
                
                ⁢
                
                  l
                  1
                
              
            
          
          
            n
            ⁢
            
              
            
            ⁢
            ln
            ⁢
            
              n
              
                ε
                ⁢
                
                  
                
                ⁢
                l
              
            
          
        
        ≈
        
          
            
              n
              1
            
            ⁢
            ln
            ⁢
            
              
            
            ⁢
            
              n
              1
            
          
          
            n
            ⁢
            
              
            
            ⁢
            
              ln
              ⁡
              
                (
                
                  n
                  /
                  l
                
                )
              
            
          
        
      
    
    
      
        (
        46
        )
      
    
  




    
    
        which assumes that M corresponds to the maximal pattern capacity Mε of the two-layer model (for example by adapting the connectivity p). Thus, the four layer model is faster than the two-layer inhibitory Willshaw model at least for n1<n. Moreover, a big advantage of the four layer model is that the number M of storable patterns does not depend on the content pattern statistics, l and n. In particular, in the four layer model, an arbitrary number of patterns can be stored (by increasing the size n1 of the intermediary layer w1), while the pattern capacity of the inhibitory Willshaw model is limited by equation 18.
        This massive improvement of retrieval time comes at the price of storing the M random patterns of the w1 population two times: First, (implicitly) in the inhibitory Willshaw matrix A. Second, in the matrix W1 of the look-up table. Since the information capacity of the inhibitory Willshaw model will be near 1 the required memory is approximately
    
    






  
    
      
        T
        =
        
          2
          ⁢
          M
          ⁢
          
            
          
          ⁢
          
            n
            1
          
          ⁢
          
            I
            ⁡
            
              (
              
                
                  l
                  1
                
                /
                
                  n
                  1
                
              
              )
            
          
        
      
    
    
      
        (
        47
        )
      
    
  
  
    
      
        ≈
        
          2
          ⁢
          M
          ⁢
          
            
          
          ⁢
          
            l
            1
          
          ⁢
          ld
          ⁢
          
            
          
          ⁢
          
            n
            1
          
        
      
    
    
      
        (
        48
        )
      
    
  
  
    
      
        ≈
        
          2
          ⁢
          
            l
            1
          
          ⁢
          M
          ⁢
          
            
          
          ⁢
          log
          ⁢
          
            
          
          ⁢
          M
        
      
    
    
      
        (
        49
        )
      
    
  




    
    
        which is typically negligible in comparison to the memory necessary for representing the original address patterns, Mk log m, because k>>l1 and typically log M ̃log m (if M does not grow faster than polynomial in m).
        Note that in the four layer system there is actually no need to explicitely storing the address patterns uμ. Thus, for a hetero-associative scenario one would even save memory compared to the three-layer look-up-table.
    
    


Model Variants and Optimizations
Using Compressed Diluted Look-Up-Tables
The four-layer architecture introduced above makes use of an inhibitory associative network as the first processing stage. It may be shown that the inhibitory network is more efficient than a compressed look-up table for many parameters, in particular for those required in the four-layer system (i.e., extremely sparse population w1). However, depending on the address pattern statistics and the number of pattern associations it may be sometimes better to use a diluted look-up table instead of the inhibitory network. Both model variants have in common that they speed-up retrieval by introducing an intermediary cell layer with very specific and sparse (i.e., grandmother-cell-like) response properties.
Optimizing the Intermediary Representations: UUU and USU Networks
The analysis of the inhibitory Willshaw network relies on a binomial approximation of the retrieval error probability. This approximation can lead to a significant overestimation of the performance of the Willshaw network's performance, in particular for small finite networks or if the address patterns are not sufficiently sparse.
However, for the four-layer system, the intermediary pattern representations of layer w1 (see FIG. 6) may be optimized in order to minimize error probabilities. In the standard model the patterns w1μ are generated at random with size n1 and activity l1 (see eq. 40). Thus the so-called unit usage of a w1 neuron is approximately binomially distributed with parameters M and l1/n (the unit usage of a neuron is defined as the number of patterns a neuron belongs to).
In the four-layer-system one may choose the intermediary w1 patterns arbitrarily, for example, in such a way that the unit usages are approximately equal for all w1 neurons. In other words, the matrix W1 may be optimized such that the unit usage is approximately uniform in the sense that the variance E((uu[j]−Ml1/ni)2) is minimized, wherein E is the expectation over j and Ml1/n1 is the mean unit usage. This can be realized, for example, by the following greedy-algorithm:













1.
ALGORITHM UUU: Given M, n1, l1 create M binary patterns w1μ of



size n1 and activity l1 with uniform unit usage, i.e., uu[j] := Σμ=1M



w1μ[j] is (approximately) identical for all j = 1,...,n1.


2.
for j := 1 to n1 do uu[j] = 0 endfor


3.
for μ := 1 to M do








4.
j1,...,jl1 := the l1 neurons with the lowest unit usages uu


5.
w1μ := {j1,...,jl1}


6.
for i := 1 to l1 do uu[ji] := uu[ji] + 1 endfor








7.
endfor









Explorative numerical simulations show that this choice of w1 patterns can significantly decrease the true error probability p01.

In a further embodiment of the invention, there is a second possible approach that may decrease the error probability p01 even below the binomial approximation p01: Instead of creating a pattern set with uniform unit usage, one could also create a pattern set with what may be called (approximately) uniform synapse usage. Here the synapse usage of content neuron j is defined as the number of active (1-)synapses on the dendrite of neuron j (assuming full connectivity with p=1),




  
    
      
        
          su
          ⁡
          
            [
            j
            ]
          
        
        :=
        
          
            
              ∑
              
                i
                =
                1
              
              m
            
            ⁢
            
              A
              
                i
                ⁢
                
                  
                
                ⁢
                j
              
            
          
          =
          
            m
            -
            
              
                ∑
                
                  i
                  =
                  1
                
                m
              
              ⁢
              
                A
                
                  i
                  ⁢
                  
                    
                  
                  ⁢
                  j
                
                I
              
            
          
        
      
    
    
      
        (
        50
        )
      
    
  




where A and AI are the memory matrices (eq. 2 and eq. 26) of the excitatory and inhibitory interpretations of the Willshaw model, respectively.

Again, approximating identical synapse usages means minimizing the variance E((su[j]−E(su[j]))2) of the synapse usages, wherein E is again the mean value over j.
One possible greedy algorithm for creating a pattern set with approximately uniform synapse usage is the following:













 1.
ALGORITHM USU: Given M, n1, l1 and M binary pattern vectors



uμ. Then create M binary patterns w1μ of size n1 and activity l1



with uniform synapse usage, i.e., su[j] is (approximately) identical for



all j = 1,...,n1 (see eq. 50).


 2.
A := 0


 3.
for j := 1 to n1 do su[j] := 0 endfor


 4.
for μ := 1 to M do








 5.
j1,...,jl1 := the l1 neurons with the lowest synapse usages su


 6.
w1μ := {j1,...,jl1}


 7.
for i ε uμ do for j ε w1μ do








 8.
if(Aij == 0)








 9.
Aij := 1


10.
su[j] := su[j] + 1;








11.
endif








12.
endfor endfor








13.
endfor









Note that in lines 6,7, the binary pattern vectors uμ and w1μ are identified with the sets of their active (1-)components. Also note that this algorithm is obviously not able to create a pattern set with really uniform synapse usage. Nevertheless the greedy algorithm is fast (for small l1) and will create a pattern set such that the variance of synapse usage is smaller than for pure random patterns. This property is one reason why the resulting error probability p01 is actually smaller than the binomial estimate eq. 16.

In a variant of the USU algorithm (“USU2”) the minimization in line 5 may be performed on the synapse usages su′[j]:=su[j]+Σi=0m(1−Aij)uiμ, anticipating the storage of pattern uμ. This algorithms leads indeed to very good performance with error probabilities well below the binomial approximation eq. 16. However, this variant has the disadvantage of creating a much higher number of “collisions” in layer w1 (i.e., where two n-patterns are mapped to the same w1 pattern). This would cause retrieval of superpositions in the out output layer v.
Therefore, in yet another variant of the USU algorithm (“USU3”), the minimization process of line 5 actively avoids units that may lead to collisions. More particularly, each of the stimulus patterns uμ may be mapped to a corresponding random pattern w1μ1 in layer w1. The natural meaning of collision is that two different stimulus patterns are mapped to the same random pattern, very similar to the meaning of a collision in hash algorithms. More precisely, two random patterns w1μ1 and w1μ2 may be said to collide if they are equal.
In general, the performance of the four-layer system becomes better if w1μ1 and w1μ2 have minimal overlap. The USU3 algorithm computes a set of random patterns w1μ(p=1, . . . , M) such that both synapse usage and overlaps (and thus number of collisions) between random patterns are minimal. This way, USU3 leads to lowest output noise level in the inventive four layer system (see FIG. 7):













 1.
for i = 1 to m do for j = 1 to n1 do Aij := 0;


 2.
for μ := 1 to M do








 3.
for j := 1 to n1 do patW1[j] := 0; endfor;


 4.
for j := 1 to n1 do su′[j] := Σi=1...m (Aij + (1 − Aij) * uiμ) endfor;


 5.
for μ1 := 1 to μ − 1 do fullOvlp[?1] := 1; endfor;


 6.
for b := 1 to l1 do








 7.
if (b = 0) then








 8.
for j := 1 to n1 do frb[j] := 0;








 9.
else








10.
for j := 1 to n1 do frb[j] := Vμ1=1...μ−1(fullOvlp[μ1]  



w1jμ1);








11.
endif;


12.
minsu := min{su′[j] : j = 1...n1;patW1[j] = 0; frb[j] = 0}


13.
minsulist := list of indices j with patW1[j]=0, frb[j]=0,



su′[j]=minsu;


14.
if (minsulist is empty) then








15.
minsulist := list of indices j with patW1[j] = 0 and



su′[j] = minsu;








16.
endif


17.
if (minsulist is empty) then








18.
minsulist := list of indices j with patW1[j] = 0;








19.
endif


20.
j1 := random element in minsulist;


21.
patW1[j1] := 1;


22.
for μ1 := 1 to μ − 1 do








23.
if (overlap(patW1, w1μ1) < b) then fullOvlp[μ1] := 0;



endif;








24.
endfor;


25.
for i := 1 to m do if (uiμ > 0) then








26.
Aij1 := 1;








27.
endif; endfor;








28.
endfor


29.
w1μ := patW1;








30.
endfor;









Line (1) initializes the memory matrix A. The main loop of lines (2)-(30) computes the random patterns, i.e., the μ-th loop run computes pattern w1μ. Line (3) initializes the array patW1 corresponding to 4. Line (4) computes the “anticipated” synapse usage su′. I.e., su′[j] is the synapse usage of neuron j after storing the μ-th pattern uμ assuming neuron j is active in pattern w1μ.
Line (5) initializes the binary array fullOvlp. The case fullOvlp[μ1]=0 indicates that previously generated pattern w1μ1 does not collide with the current pattern patW1, i.e., the two patterns do not have full overlap. In each run b of the loop defined by lines (6)-(28) one active component of patW1 is computed. Lines (7)-(11) compute a binary array frb where frb[j]=1 indicates that it is “forbidden” to activate neuron j in patW1. Forbidden neurons are essentially those that are already active in patW1 or have full overlap with one of the previous patterns.
Line (12) computes the minimal (anticipated) synapse usage. Line (13) computes a list minsulist of neurons that are not already active in patW1, are not forbidden, and have minimal synapse usage. In case the resulting list is empty, lines (14)-(16) re-compute the list without excluding forbidden neurons. In case the resulting list is still empty, lines (17)-(19) re-compute the list considering any neurons that is still inactive in patW1. Line (20) chooses one element j1 at random from the resulting list. Line (21) activates patW1[j1]; Lines (22)-(24) update fullOvlp. Lines (25)-(27) updates the memory matrix A. Line (29) sets w1μ equal to the currently computed pattern patW1.
This variant performs almost as well as the previous variant but produces no more collisions than choosing the w1-patterns at random.
FIG. 7 shows improving storage capacity and retrieval quality of the four-layer system (Fig.) by using UUU/USU networks. The first layer u stores patterns with m=1000 and k=300. The intermediary layer w1 stores patterns with The plot shows output noise ε over number of stored patterns M for an address layer u with k/m=300/1000, an intermediary layer w1 with l1/n1=2/500 when addressing with half address patterns (i.e., c=150, ƒ=0). The different curves correspond to different methods to construct the patterns in layer w1: RND: Standard model with random patterns. Solid line corresponds to the exact theory, crosses (x) to simulations. Dashed line corresponds to output noise as predicted by the binomial approximation eq. 16. UUU: Patterns are constructed using the uniform-unit-usage algorithm UUU (star). USU: Patterns are constructed using the uniform-synapse-usage algorithm USU (plus). USU2/3: Patterns are constructed using two optimized versions of the USU algorithm (triangle, diamond). Note that for these algorithms output noise is much less than predicted by the binomial approximation.
FIG. 7 summarizes data from numerical simulations showing that UUU and USU networks generally perform much better than the standard Willshaw network. For the same number M of stored patterns the probability of an retrieval error can be reduced by several orders of magnitude. Correspondingly, for given error level ε the pattern capacity Mε increases significantly. For example, for an error level of ε=10−2 the UUU/USU algorithms increase pattern capacity by more than factor two, and USU2/3 even more than factor three. Most interestingly, USU2/3 lead to significantly better results than predicted by the binomial approximation eq. 16: The error probability can be decreased by more than factor 10, and, correspondingly, also the pattern capacity Mε is significantly increased, in particular for relatively low-fidelity (e.g., by almost 30 percent for ε=1). This means that the performance of the four-layer system should be seen rather as a lower bound.
The present invention proposes a neural network architecture for solving the following best match problem: Given a database {(uμvμ): μ=1, . . . , M} of M associations from address patterns uμ to content patterns vμ, and a usually noisy address pattern ũ the memory task is to find the index μ (and the corresponding content vμ) such that the distance d(ũ, uμ) is minimal.
The best match problem is also known as nearest-neighbor-search and efficient solutions have widespread applications. More particularly, the described “four-layer system for information retrieval” described in relation to FIG. 6 has beneficial applications in object recognition systems that rely on large databases of sparse prototype patterns. In particular, the system according to the invention can decrease both retrieval time and memory requirements by several orders of magnitude.
More particularly, similar to the brain, state-of-the-art visual object recognition systems transform sensory inputs to a very high-dimensional but sparse feature vector representation, i.e., where most of the vector components are zero or near zero.
Online-learning of new objects or object views often works in such a way that appropriate snapshots are stored as high-dimensional feature vectors in a large database together with the corresponding object label. Object recognition can then be accomplished by comparing new sensory input to the information stored in the database. That means, the classification system must find the database feature vector most similar to the feature vector from the sensory input.
If a large number of object or object views has been learned in the database, the nearest-neighbor-search can become a bottleneck. Here efficient solutions to the best match problem as proposed here can contribute to build efficient object recognition systems.
FIG. 8 shows a block diagram of a system for visual object recognition, having the same hierarchical structure and function as the visual object recognition system described by Wersing and colleagues (cf. H. Wersing, E. Koerner. Learning optimized features for hierarchical models of invariant object recognition. Neural Computation, 15:1559-1588, 2003; S. Kirstein, H. Wersing, E. Koerner: A biologically motivated visual memory architecture for online learning of objects. Neural Networks, 21(465-77, 2008).
The hierarchical object recognition system consists of several neural layers extracting features of increasing complexity. On each hierarchical stage, the neurons learn an optimal feature set according to the sparse coding paradigm (cf. B. A. Olshausen, D. J. Field: Sparse coding with an overcomplete basis set: A strategy employed by V1? Vision Research, 37:3311-3325, 1997) to represent inputs from the previous stage. After completing feature learning, the system can be used for object learning and classification. The basic role of the system is to transform each input image I (usually containing an object to be classified) in the lowest input layer to a sparse (but still gradual) activation vector u* in the highest layer.
During learning a set of M input images Iμ with associated object labels vμ is presented to the network resulting in a set of activation vectors u*μ at the highest layer (μ=1, . . . , M). Now the data set (u*μ, vμ) can be used to train a standard classifier on top of the hierarchy, employing, for example, perceptrons or prototype-based methods such as LVQ.
According to the invention, this standard classifier on top of the hierarchy may be replaced or complemented by the inventive four-layer system. In particular, simple threshold elements may be used to transform the gradual patterns u*μ (or the prototypes extracted by LVQ) into binary patterns uμ.
In one embodiment of the invention, a single threshold may be chosen for all neurons such that the mean activity of a pattern vector was k, where k was chosen small compared to the vector size m to get sparse binary pattern vectors. Alternatively, thresholds may also be chosen individually for each neuron such that each neuron becomes activated M/k times. Or the k most excited neurons may be activated in each pattern. In any case, the resulting set of binary address patterns uμ may then be associated with the object labels vμ employing the inventive four-layer-system as described above.
During retrieval, a given input image Ĩ may be classified using the above hierarchy and the most similar training example (or prototype) may be returned. For that, Ĩ may be transformed to a binary pattern ũ, in the same way as during learning, by propagating Ĩ through the feature hierarchy and then through the threshold elements. Finally, ũ may be used for best match retrieval in the inventive four layer system as described above, and the best matching μ and vμ may be returned.
OTHER POTENTIAL APPLICATIONS include the following ones:

    
    
        These arguments can be applied not only for visual object recognition, but of course also for any other recognition task that is based on a database of sparse high-dimensional feature vectors (e.g., auditory speech recognition, etc.).
        Potential applications include efficient implementations of LVQ (Learning Vector Quantification) if the pattern vectors are high-dimensional and sparse and if a very large number of pattern vectors must be stored.
        Similarly, potential applications include efficient implementations of clustering algorithms or self-organizing maps if the number of cluster prototypes is large and the prototype vectors are high-dimensional and sparse.
        Another potential application is document retrieval: Here the database may consists of a large set of text documents, for example taken from the internet. Each text document consists of (possibly many) words and can be indexed by selecting a relatively small set of key words. The result is a sparse binary feature vector for each text document. Given a query consisting of a set of key words the task is to find the most relevant documents. This retrieval can be accelerated by the methods proposed here.
        A complementary idea is to represent the words in a text document by applying an N-gram code. For example the 1-grams (or monograms) of the word “memory” are simply the letters “m”, “e”, “m”, “o”, “r”, “y”. Similarly, the 2-grams (or digrams) are “me”, “em”, “mo”, “or”, “ry”, and the 3-grams are “mem”, “emo”, “mor”, “ory”. By that one obtains very naturally a sparse and fault tolerant code alrady at the word level. For example, for an alphabet of 26 letters, the 2-gram code represents the word “memory” by a binary vector of dimension 262=676 where only 5 components are active. This method can be used, for example, to implement a fault-tolerant code for the keywords described in the previous item. Additionally, the N-gram method can be used to code keyword order and key word sequences in a manner suitable for the associative memory models discussed in this application.
        The inhibitory neural networks and algorithms proposed in this application would be particularly efficient if implemented on a parallel (VLSI) hardware architecture. Since current parallel hardware is not very flexible with respect to online-learning, it may still be useful to create parallel hardware implementations for special applications. For example, to implement the best-match-search of a readily learned object recognition system in hardware (VLSI, FPGA, etc.).
        In summary, the inhibitory neural networks and algorithms proposed in this application can be used for any application involving the best match or nearest-neighbor problem if the underlying pattern vectors are high-dimensional and sparse.

## Claims

1. A computer implemented method for storing and recognizing patterns using an associative memory, the method comprising the steps of:
a) accepting an input address pattern ũ;
b) computing an associative memory by computing an inhibitory memory matrix (AI) by coding synaptic weights 0 and −1 according to the following equation:


AI=−(AP−A),


wherein A is a memory matrix according to a Willshaw associative memory format constructed from a set of address pattern vector (uμ) of length m and content pattern vector (vμ) of length n, the set having M number of pattern pairs and AP being a random matrix of size, m×n;
c) compressing the matrix AI or pruning synapses with weight 0;
d) computing a vector of retrieval results ũ*AI;
e) applying a threshold calculated as follows:


ΘI=Θ−0,


where Θ is a set of thresholds for the underlying Willshaw associative memory (A), and θ is a vector of input activities, and the random matrix AP describes a diluted neural network structure in which only a fraction of synapses is realized between neurons of the neural network structure;
f) computing a set of sparse random patterns (wμ), the random patterns having size nI and having II active components, wherein the size nI is calculated according to the following formula:





  
    
      n
      1
    
    ≈
    
      
        M
        ⁢
        
          
        
        ⁢
        k
        ⁢
        
          
        
        ⁢
        
          l
          1
        
      
      
        m
        ⁢
        
          
        
        ⁢
        ln
        ⁢
        
          
        
        ⁢
        k
      
    
  
  ,



where k is the average of the sum of 1's in an input address vector (uμ) over a given set of input address vectors (uμ);
g) computing a sparse random matrix (WI) using the M pairs of sparse random patterns (wμ);
h) computing a compressed lookup-table (cLUT) using the sparse random matrix (WI);
i) selecting a retrieval result from the vector of retrieval results for output; and
j) outputing the retrieval result.

2. The method according to claim 1, wherein step b) comprises the steps of:
forming an inhibitory memory matrix (AI) from the address pattern vector (uμ) of length m and the content pattern vector (wμ) of length n; and
forming a content pattern matrix (V) using the content pattern vector (vμ),
wherein the set has M number of sparse random pattern pairs.

3. The method according to claim 2, wherein for computing the compressed lookup-table (cLUT) the sparse random matrix and the content pattern matrix (W1, V) are used.

4. The method according to claim 1, wherein, in each random pattern (w1μ) of the sparse random matrix (W1), only two components are active (1i=2) allowing a minimal size n1.

5. The method according to claim 1, further comprising the steps:
applying the threshold as defined in claim 1 in order to obtain a first intermediate retrieval result {tilde over (W)}1; and
forming a vector of second intermediate retrieval results {tilde over (W)}2:=W1{tilde over (W)}1,
wherein the μ-th line of the content pattern matrix (V) is selected as the final output result and wherein μ is the maximal component of {tilde over (W)}2.

6. The method according to claim 1, wherein the retrieval result is output and used for automatic visual object recognition or automatic auditory speech recognition.

7. The method according to claim 1, wherein the retrieval result is output and used for document retrieval.

8. The method according to claim 7, wherein the words in the document are represented by applying an N-gram code.

9. The method according to claim 1, wherein the computer used for implementing the method is adapted for parallel processing.