Bidirektionaler Assoziativspeicher


Bidirektionaler Assoziativspeicher, englisch bidirectional associative memory (kurz: BAM), ist eine Klasse künstlicher neuronaler Netze und kann als verallgemeinertes Hopfield-Netz betrachtet werden. BAM gehört zu der Gruppe der rückgekoppelten neuronalen Netze.

Struktur

Ein BAM-Netz besteht aus einer Eingabeschicht $ I $ von n und einer Ausgabeschicht $ O $ von m künstlichen Neuronen, beide Schichten sind in beide Richtungen miteinander verbunden, wobei die Gewichte symmetrisch sind. Das führt zu einer m x n Matrix $ W $ für die Gewichte, die von $ I $ nach $ O $ gerichtet sind. Die Gewichte von $ O $ nach $ I $ entsprechen der transponierten Matrix $ W^{T} $.

Trainingsphase

In der Trainingsphase lernt das Netz einen n-dimensionalen Vektor x mit einem m-dimensionalen Vektor y zu verknüpfen. Dazu werden beide Vektoren an der Eingabeschicht $ I $ und Ausgabeschicht $ O $ angelegt und die Gewichtsmatrix kann in einem Lernschritt berechnet werden. Dazu gilt:

$ W_{k}=xy^{T} $ k={1,...,l} für l Vektorpaare

Zum Schluss werden alle Gewichtsmatrizen zur resultierenden Gewichtsmatrix $ W $ addiert.

Muster Wiederherstellen

Bei einem Recall wird ein verrauschter Eingangsvektor an $ I $ angelegt und man lässt das Netz einfach rechnen, d.h. Neuronen der Ausgangsschicht berechnen ihren neuen Zustand über $ net_{i} $ und geben diesen über $ o_{j} $ wieder an $ I $ weiter. Dann beginnt der Prozess von vorn, solange bis die stetig sinkende Energie des Netzes ein lokales Minimum erreicht hat. Nun kann der assoziierte Ausgabevektor entnommen werden.

$ net_{i}=\sum _{j=1}^{n}w_{ij}o_{i} $
und
$ o_{i}(t+1)={\begin{cases}1,&{wenn\sum _{i=1}^{n}w_{ij}o_{j}(t)>0}\\0,&{wenn\sum _{i=1}^{n}w_{ij}o_{j}(t)<0}\\o_{i}(t),&{wenn\sum _{i=1}^{n}w_{ij}o_{j}(t)=0}\end{cases}} $

Literatur

  • Gerhard Schöneburg, Nikolaus Hansen, Andreas Gawelczyk, Neuronale Netze, Markt&Technik Verlag Haar(1990), ISBN 3-89090-329-0.
  • Andreas Zell, Simulation neuronaler Netze, R. Oldenbourg Verlag München(1997), ISBN 3-486-24350-0.