36
Für die nächste Untersuchung werden nicht nur Bits des Eingabemusters weg- gelassen, sondern auch noch zusätzliche Einsen erzeugt. Abbildung V.6 zeigt die dabei auftretende gesamte Fehleranzahl E(N A ) in Abhängigkeit von der Störung der Eingabe q für die Verbindungsgewichtsmatrix aus Abbildung V.2 (z = 35). Es werden jeweils q Bits des Eingabemusters zufällig gewählt und davon 50% auf Null und 50% auf Eins gesetzt. Die Ausgabemuster berechnen sich mit den Ausgabefunktion 81 und 83. Die gestrichelten Linien zeigen die Standardabweichung nach oben und unten für 100 Simulationslaufe. Erwartungs- gemäß nimmt die gesamte Fehleranzahl in Abhängigkeit von der Störung zu. E(N A ) Abbildung V.6: Gesamter Fehler E(NA) in Abhängigkeit von der Anzahl ge- störter Bits (5O% auf O, 5O% auf 1) des Eingabemusters. V.2 Simulation mit gestörten Verbindungselementen Die zweite zu untersuchende Gruppe bilden die Verbindungselemente selbst. Als erstes werden dazu ausfallende Verbindungselemente betrachtet. Von den m*n Verbindungselementen wird eine prozentualer Anteil £ zufällig zerstört, d.h Wjj(t) = 0, Vt € {O..oo}. Abbildung V.7 zeigt die durchschnittliche Anzahl von Bitfehlern E(N^) = (l / z) * ]£Nt in Abhängigkeit von der prozentualen Zerstörung j für die Verbindungsgewichtsmatrizen, die sich für die ersten 17 und 35 Muster ergeben. Wie zu erwarten war, ist die Fehlertoleranz für z = 35 Muster geringer als für z = 17 Muster. Die gestrichelten Linien in Abbildung V.7 stellen die Standardabweichung nach oben und nach unten dar. - 65 -

V.2 Simulation mit gestörten Verbindungselementen

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Für die nächste Untersuchung werden nicht nur Bits des Eingabemusters weg-gelassen, sondern auch noch zusätzliche Einsen erzeugt. Abbildung V.6 zeigtdie dabei auftretende gesamte Fehleranzahl E(NA) in Abhängigkeit von derStörung der Eingabe q für die Verbindungsgewichtsmatrix aus Abbildung V.2(z = 35). Es werden jeweils q Bits des Eingabemusters zufällig gewählt unddavon 50% auf Null und 50% auf Eins gesetzt. Die Ausgabemuster berechnensich mit den Ausgabefunktion 81 und 83. Die gestrichelten Linien zeigen dieStandardabweichung nach oben und unten für 100 Simulationslaufe. Erwartungs-gemäß nimmt die gesamte Fehleranzahl in Abhängigkeit von der Störung zu.

E(NA)

Abbildung V.6: Gesamter Fehler E(NA) in Abhängigkeit von der Anzahl ge-störter Bits (5O% auf O, 5O% auf 1) des Eingabemusters.

V.2 Simulation mit gestörten Verbindungselementen

Die zweite zu untersuchende Gruppe bilden die Verbindungselemente selbst.Als erstes werden dazu ausfallende Verbindungselemente betrachtet. Von denm*n Verbindungselementen wird eine prozentualer Anteil £ zufällig zerstört,d.h Wjj(t) = 0, Vt € {O..oo}. Abbildung V.7 zeigt die durchschnittliche Anzahlvon Bitfehlern E(N^) = (l / z) * ]£Nt in Abhängigkeit von der prozentualenZerstörung j für die Verbindungsgewichtsmatrizen, die sich für die ersten 17und 35 Muster ergeben. Wie zu erwarten war, ist die Fehlertoleranz für z = 35Muster geringer als für z = 17 Muster. Die gestrichelten Linien in AbbildungV.7 stellen die Standardabweichung nach oben und nach unten dar.

- 65 -

E(N t)

12

10

8

6

4

2

0

•/ *- ——"^——-^""^ -'S .-.-~"^——~^-.——" r

r^^H^^-- '̂'''' b)

12 15in %

Abbildung V.7: Durchschnittliche Bitfehleranzahl E(Nt) in Abhängigkeit vonder prozentualen Zerstörung der Verbindungen, a) z = 35, b)z = 17.

V3 Simulation der Parametervariation von Verbindungselementen

Als zweites wird die Parametervariation von Verbindungselementen betrachtet.Jedes Verbindungselement soll um maximal - U um den korrekten Wert normal-verteilt variieren. Die Ergebnisse der Simulationen sind für a) z = 17 und b)z = 35 Muster in Abbildung V.8 dargestellt. Die gestrichelten Linien stellendie Standardabweichung nach oben und nach unten dar. Auf der Vertikalen istdie durchschnittliche Anzahl von Bitfehlern E(N(-) aufgetragen. Auch hier zeigtsich wieder, daß für geringere Musteranzahlen der Assoziativspeicher fehler-toleranter ist. Für z = 17 Muster ergab sich bei einer maximalen VariationD = 15% nur vierzehnmal ein Bitfehler.

8

E(N t)

0

b)

a)l

0 12 15in %

Abbildung V.8: Durchschnittliche Bitfehleranzahl E(Nt> in Abhängigkeit vonder prozentualen Variation O der Verbindungsgewichte (a) z = 35,b) z = 17).

- 66 -

V.4 Registerbreite digitaler Verbindungselemente

Da sich eine analoge Realisierung der Verbindungsgewichte aufgrund desgroßen Wertebereichs und der daraus resultierenden Variation nicht anbietet,stellt sich die Frage, wieviel Bits für Verbindungsgewichtselemente investiertwerden müssen, wenn sie digital implementiert werden. Je weniger Bits dieElemente benötigen, desto kleiner wird die Chipfläche ( O(n*m) ) und um sogeringer ist die Leistungsaufnahme. Abbildung V.9 zeigt die durchschnittlicheFehleranzahl E(N^) in Abhängigkeit von der Anzahl z der gespeicherten Musterfür verschiedene Registergrößen. Die Kurve a) zeigt die Fehleranzahl für einedreiwertige Logik (-1, 0, 1). Dafür wurde ein Mittelwert über die positivenZahlen und ein Mittelwert über die negativen Zahlen gebildet. Die Werte umden negativen Mittelwert wurden auf -l, die um den positiven Mittelwert auf+1 und die um 0 auf 0 abgebildet. Wie in Kapitel IV lassen sich vier Musterfehlerfrei und zehn Muster mit weniger als zwei Bitfehlern speichern, d.h.eine dreiwertige Logik bringt noch keinen Vorteil gegenüber einer zweiwertigenLogik. Die Kurven b) und c) stehen für Registergrößen von drei (Wertigkeit2 = 8) und 4 (Wertigkeit 2^ = 16), wobei die Gewichte auf ganzahlige Werte({0..7} und {0..15}) abgebildet werden. Es zeigt sich, daß die durchschnittlicheBitfehleranzahl E(N^) mit der Registergröße sinkt.

E(N t)

12

10

8

6

4

2

00

a)

r\I g l l

. ̂ -~' M _ J ,14 21 28

c)

35

Abbildung V.9: Durchschnittliche Bitfehleranzahl E(Nt) in Abhängigkeit von derAnzahl z der gespeicherten Muster, a) 3-wertige, b) 8-wertigeund c) 16-wertige Logik.

Abbildung V.10 zeigt die maximale Anzahl von fehlerfrei speicherbaren Musternfür verschiedene Registergrößen. Für Register, die mehr als acht Bit breitsind, lassen sich alle 35 Muster fehlerfrei auslesen. Falls die Gewichtsmatrixdigital realisiert wird, entfällt auch die Parametervariation.

- 67 -

35

30

25

20

15

10

5

00 8« Bits

Abbildung V.1O: Anzahl der korrekt speicherbaren Muster z in Abhängigkeitvon der Anzahl der Bits bei digital realisierten Verbindungs-gewichten.

Ein anderes adaptives Verfahren zur Berechnung der Verbindungsgewichte istdie in Kapitel II eingeführte Delta - Regel. Die Änderung Aw;: = r\ * Ij * d-,,mit <5j = (Oj - Oj, d.h. die Abweichung vom Originalmuster zum berechnetenMuster, stellt sicher, daß die Ausgabemuster nach jedem Lernschritt besserapproximiert werden. Die Anzahl der durchzuführenden Lernschritte wird umso größer, je mehr Muster gespeichert werden. Die Abbildung V. 11 zeigt dieVerbindungsgewichte des Netzes, nachdem z = 5, 10, 15, 20, 25, 30, und 35ASCII-Muster mit Hilfe der Delta-Regel erlernt wurden. In Tabelle V.2 findensich die Anzahl der Lernschritte, die benötigt wurden, um alle Muster fehler-frei mit Hilfe der Ausgabefunktion §2 von Seite 60 auszulesen. Aus AbbildungV.11 erkennt man, daß der Wertebereich der Gewichtsmatrix größer wird, jemehr Muster gespeichert werden (Lernrate t\ = 0.01), allerdings wächst derWertebereich nicht so stark wie bei der Berechnung der Matrix W über diePseudoinverse. Auch wächst der Wertebereich nicht explosionsartig, falls mehrals z = 35 Muster (z > m = n) eingespeichert werden, und die Muster lassensich zwar nicht fehlerfrei, aber doch mit geringen Bitfehleranzahlen auslesen.

Musteranzahl5101520253035

Lernzyklen10101020354585

Tabelle V.2: Anzahl der Lernzyklen, um alle Muster fehlerfrei zu speichern.

- 68 -

o.aooE-oi

o. o

—O.BOOE—O1

1.0O

3S.O 35.0

Bauelexneni«er Delta —Regel 5 Muster 3 D-Plot

.- O,2OO

35.0 35.0

Bavielecment-eDelta —Regel 10 Muster 3 D-Plot

O.1BO

35.0 35.0

Delta-Regel 15 Muster 3 D-Plot

- 69 -

0,340

35.O 35.0

E**™" Delta —Regel 2O Muster 3 D-Plot

o.-teo

35.0 35.0

BauelementeDelta —Regel 25 Muster 3 D-Plot

O.440

35.0 35.0

Bauelemente

Bleie troteelxnlltDelta-Rege l 30 Muster 3 D-PlotJ

35.0 35.0

Delta —Regel 35 Muster 3 D-Plot

Abbildung V.11: Verbindungsge>vichtsmatrix bei verschiedenen Musteranzahlen.

VI. Pannetervariation eines neuronalen Zwei-Bit-Analog/Digital-Konverters

Bisher wurden ausschließlich Netzwerkstrukturen behandelt, die keine Rück-kopplungsschleifen enthielten. Im weiteren Verlauf wird ein Spezialfall einesHopfield-Netzes, ein neuronaler Zwei-Bit-Analog/Digital-Konverter, auf dieEmpfindlichkeit gegenüber Parametervariation untersucht.

VI.1 Definition des Hopfield-Netzes

Definition VI.lEin Hopfield-Netz ist ein assoziatives Netzwerk HN = (2?, &, ü, e, 4^ mitfolgenden Eigenschaften:

- SB = ( P j l PJ = (n, X, A, Y, W, «j, Sj, Xj, THj), j = l..m} mit

\ = Y = {-l, +1}; W = A = R;n

aj(_I(t), Wj) = JT(t)*Wj = Z Ii<t) *Wj j , wobei Ij e {-l, 1} und Wjj € IRi=0

1 +1, falls a(t) ^ THj und select = l,-l, falls a(t) < THj und select = l,Sj(a(t-D) sonst.

mit TH = 0, a(t) = a (JL/t), Wj) « A und einer diskreten Zufallsvariableselect € {0,1};

XjfJ.1, W, O*) = Wjj + 71 * O] * I f ; T] < [0,1] ist die Lernrate

f l, Vi , j « {l..m} mit i * j,- »(P}, Pi) = Pj, PS « 2?.

l 0, für i = j. J

- c (e j , Pj) = l, Vi « U. .n}, Vj * U. .m}, Pj € 35, ej

= l, V j * U..m},Pj t 2?.

Das Hopfield-Netz besteht aus m Prozessorelementen, die vollständig unter-einander verbunden sind. Für einen Assoziationsvorgang werden die Ausgängeder m Prozessorelemente mit einem Teilmuster eines gespeicherten Mustersbelegt. Die Rückkopplung wird während dieser Initialisierung aufgetrennt unddaraufhin zur Assoziation wieder geschlossen. Dies entspricht dem Anfangszu-stand des Systems. Aus diesem Anfangszustand relaxiert das System in einenstabilen Endzustand, wenn die Verbindungsmatrix symmetrisch ist und dieHauptdiagonale nur Nullelemente enthält, was durch die Funktion D gesichertwird. Der Updatemodus des Hopfield-Netzes ist seriell und nichtdeterministisch,d.h. es findet eine zufällige, aber 'faire' Auswahl eines Prozessorelementes

- 70 -

statt (select = 1), welches seinen neuen Aktivitätszustand berechnet. Eine faireAuswahl heißt, daß in einer Liste alle Elemente eingetragen werden. Aus derListe wird ein Element zufällig ausgewählt und herausgenommen. Durch dasVerfahren wird gewährleistet, daß jedes Element während eines Rlickkopplungs-zyklus seine Aktivität neu berechnet. Ist der stabile Zustand erreicht, so gebendie Prozessorelemente die Werte l oder -l aus, falls die gewichtete Summe derAktivierung größer oder gleich bzw. kleiner als der Schwellenwert ist. Gelerntwerden die Muster mit der Hebb'schen Lernregel, und zwar auto-assoziativ.

Ein Variante des Hopfield-Netzes erhält man für die Lernrate T) = l, d.h. dieGewichtsmatrix und der Aktivierungsvektor können nur ganzzahlige Werte an-nehmen (W = A = "L ), was einer digitalen Realisierung der Verbindungsge-wichte entgegenkommt. Entscheidend für die große Verbreitung von Hopfield-Netzen ist die Definition einer Energiefunktion E: IRn —> IR, die jedemAktivierungsvektor a. € IRn eine reelle Zahl zuordnet, wobei sich der Aktivierungs-vektor durch Zusammenfassen der Aktivierung eines jeden Prozessorelementesergibt. In der Literatur finden sich für die Energie auch die BezeichnungenHarmonie (Smolensky SMO84), Goodness (Feldmann, FEL81) oder Entropie(Kinzel KIN85)). Mit Hilfe der Energiefunktion lassen sich viele Eigenschaftendes Hopfield-Netzes nachweisen, z. B. die Konvergenz in einen stabilen Zustandbei seriellem Update. Die Aufgaben, die mit Hopfield-Netzen gut gelöst werdenkönnen, sind solche, die sich als Suche eines (lokalen) Extremwertes einerEnergiefunktion beschreiben lassen, z.B. Mustererkennung und Mustervervoll-ständigung (pattern recognition and pattern completion ), das Travelling-Salesman-Problem oder Produktionssysteme. Die Energiefunktion eignet sichebenfalls zur Beschreibung der Parametervariation.

VI.2 Der Zwei-Bit-Analog/Digital-Konverter

Im weiteren Verlauf wird beispielhaft für technische Realisierung einesHopfield-Netzes ein neuronaler Zwei-Bit-Analog/Digital-Konverter betrachtet.Die Entwurfsmethode des Netzes ist ausführlich bei B. Elbracht (ELB87) be-schrieben. Er entwickelt das Netz mit Hilfe der Energiefunktion:

n n n nE = - v 2 Z TIJ * vi * vi - Z Ji * v i + S ui * vi- <vi- l )z i=0 j=0 i=0 i=0

wobei TJJ die Verbindungsgewichte (Kopplungselemente), Ij die extern einge-speisten Eingangströme und V; die Ausgänge der Prozessorelemente bezeichnet.Für Prozessorelemente mit guten Übertragungseigenschaften läßt sich derletzte Term vernachlässigen und es gilt:

n n nE = - \ 1L 2 TÜ * vi * vj - 2 *i * vi-Z i=0 j=0 i=0

- 71 -

Für einen Analog/Digital-Koverter läßt sich der Zusammenhang zwischen derEingangsgröße X und den Ausgangsgrößen Vj festlegen durch:

nX ^ Y Vj * 21, mit Vj € [0,1], Vi, j « U..n>. (VI.3)

1=6womit sich durch einen Energieminimumansatz die Verbindungsgewichte unddie Eingangsströme berechnen durch:

-2 i+j, für i * j

0 , für i=jund Ij = -2,(2*1-1) . „i+ 21* X (VI.4)

Der analoge Eingang X und die über der Zeit konstanten Eingangsströme werdenüber eine externe Matrix, sowie einem konstanten Referenzpotential demSystem zugeführt. Dies ist die technische Realisierung der Tatsache, daß derAnfangszustand des theoretischen Modelies als Eingabe vorliegt. Für einen Zwei-Bit-Analog/Digital-Konverter berechnet sich aus Gleichung VI. 2 (Tgi = TJQ = -2,IQ = -0.5 + IX, Ij = -2 + 2X) und VI.4 die Energiegleichung:

E = -0.5 *[(-2)*V0*V1 + <-2)*V1*V0] - [V0*(X-0.5) + Vj*(2*X-2)]= 2*Vo*Vi + 0.5*Vo + 2 * V j -X* (Vo + 2* YI> (VI.5)= -0.5 V0Vi (a + b) -cV0 -eVj -X(dV0 + fVj ) . (VI.6)

mit a = TOI, t* = TIQ. IQ = c + dX und Ij = e + f X für a,b,c,d,e,f « [R. Die Ab-bildung VI. l zeigt ein Modell des neuronalen Zwei-Bit-Analog/Digital-Konverters.

V0

digital out

-V

XANALOG IN

V0

digital out

-V

XANALOG IN

Abbildung VI.1: Modell eines neuronalen Zwei-Bit-Analog/Digital-Konverters.

- 72 -

Die Gleichung VI.6 wird im folgenden für die Parametervariationsuntersuchungzu Grunde gelegt, wobei die Parameter a - f um die Werte in Gleichung VI.5variieren. Die Energie aus Gleichung VI.5 kann in Abhängigkeit von VQ und Vjals 3D-Energiegebirge dargestellt werden. Die Abbildung VI.2 zeigt im Photodas Energiegebirge für die analogen Eingangspannungen X = 0 (oben rechts),X = l (oben links), X = 2 (unten links) und X = 3 (unten rechts), bei denendie Parameter a - f nicht variieren. Die schwarzen Linien in den Gebirgenzeigen den Gradienten grad E = 0, d.h. die Stellen, an denen eine fiktive Kugelliegen bleiben würde, ohne in eine (lokales) Minimum zu laufen. Es zeigt sich,daß die analogen Eingangspannungen X = 0 und X = 3 unkritisch sind, denndas Energiegebirge gleicht jeweils einer aufrecht gestellten Ebene und diefiktive Kugel wird immer in das globale Minimum EQQ, bzw. E\\ laufen. TabelleVI.l zeigt die Energiegleichungen in den Eckpunkten mit den Parametern a - fund Tabelle VI.2 die Werte der Energie in den Eckpunkten, falls keiner derParameter variiert.

Abbildung VI.2: Energiegebirge eines Zwei-Bit-Analog/Digital-Konverters fürdie Eingangsgrößen X = O, l, 2 und 3 ohne Parametervariation.

EOO = o.EOI = -c -dX.E10 = -e -fX.EU = -0.5 (a + b) -c -e -X(d + f).

Tabelle VI.1: Energiegleichungen in den Eckpunkten (VQ, Vj « {O,l».

- 73 -

Erhöht man die analoge Eingangsgröße X von 0 auf l, so stellt sich auf derAusgangsseite der korrekte Wert 01 ein. Bei einer weitereren Erhöhung aufX = 2, kann das globale Minimum bei 10 nicht erreicht werden, da die fiktiveKugel nicht über das Energiegebirge laufen kann. Der analoge Fall tritt auf,wenn die Eingangsgröße von X = 3 Über X = 2 auf X = l erniedrigt wird. Derkritische Moment ist folglich das Energiegebirge, das sich am deutlichsten fürX = 1.5 in Form eines Sattels mit 2 globalen Minima zeigt. Elbracht (ELB87)schreibt richtig, daß durch Parameterstreuung für X = 1.5 bei der AssoziationFehler auftreten

X\E

0123

EOO

Omin0

°max

Omax

EOI

0.5-0.5m

-1.5-2.5

EIO

2

-4

EU

4.5rriax

l-^max, -1.5

-4.5rnin

Tabelle VI.2: Energiewerte in den Eckpunkten ohne Parametervariation. Mit'min' bzw. 'max' sind die minimalen bzw. maximalen Werte desEnergiegebirges bezeichnet.

können. Allerdings vermutet er falsch, daß dieser Fehler nur an der ohnehinuninteressanten Stelle X = 1.5 auftritt. Dies zeigen die nachfolgenden Aus-führungen zeigen. Als Prämisse ist festzuhalten, daß der Konverter alstechnisches System eine Vergangenheit hat, d.h. bei Ermittlung eines neuenZustandes müssen die Ausgänge auf VQ = Vj = 0.5 gesetzt werden, und zwarsolange, bis die Eingangsspannung korrekt anliegt. In diesem Fall liegt diefiktive Kugel immer auf der richtigen Seite des Energiegebirges (siehe Ab-bildung VI.2) auch bei X = l und X = 2. Also arbeitet der Zwei-Bit-Analog/Digital-Konverter korrekt.

VU Der Einfluß von Parametervariation.

Für die weitere Untersuchung der Parametervariation des Konverters wird derGradient der Energiefunktion betrachtet. Es ist:

grad E = EdVÖ d V j

(VI.7)

= - ~-*Vi *<a + b) - c - d *X + - - * V 0 * (a + b) + e + f * X. (VI.8)

- 74 -

Die Energiefunktion hat ein Maximum oder ein Minimum, wenn der Gradient = 0ist, d.h. wenn:

2 * [ X * (d - f) + c - elgrad E = 0 <=> Vj = V0 + ———————————————————— (VI.9)

(a + b)

für V0, YI € (0,1). Die Gleichung VI.9 ist in den Photos (Abbildung VI.1) alsschwarze Linie zu erkennen. Es stellt sich nun die Frage, für welche Wertevon a - f die Arbeitsweise des Konverters falsch wird. Betrachtet man dazuTabelle VI.l und nimmt an, daß die analoge Eingabegröße X = 2 anliegt, dannergibt sich ohne Parametervariation EQI = -c -dX = -1.5 und EJQ = ~e -fX = -2.Man erhält ein falsches globales Energieminimum bei EQI, falls EQI < EIQ wird,d.h. -c -dX < -e - fX. Setzt man -c - dX = -e -fX in die Gleichung (VI.9)ein, so gilt VQ = Vj, was bedeutet, daß die Geradengleichung für grad E = 0über der Diagonalen verläuft. Im schlimmsten Fall (worst-case) streuen dieformalen Parameter c und d nach oben und e und f nach unten. Die Parametera und b haben in diesem Fall nur einen skalierenden, aber keinen richtungs-weisen Einfluß. Man erhält dann:

(-e - vare*e) - X( f - varf*f) = (-c + varc*c) - X (d + vard*d), (VI.10)

wobei varx der Variationsparameter der jeweiligen Variablen x = c,d,e,f ist.Streuen alle Parameter um den gleichen Betrag, d.h. var = Ivarc l = Ivard l= Ivarel = Ivarf l , dann gilt mit c = -0.5, d = 1.0, e = -2.0, f = 2.0 und X = 2:

var = -y = 0.0588. (VI. 11)

Das bedeutet, wenn die vier Parameter um 5.9% in die richtige Pachtung variieren,daß dann nicht die korrekte Ausgabe 10, sondern 01 für die EingabegrößeX = 2 relaxiert wird, da es zu einer Verschiebung des globalen Minimumskommt. Es existieren natürlich noch unendlich viele Kombinationen, dieGleichung (VI.11) befriedigen, aber an diesem Beispiel zeigt sich schon, daß beirelativ geringer Parameterstreuung Fehler auftreten können. Der Konvertermuß in diesem Fall eine erneute Lernphase durchlaufen. Bei festprogrammiertenGewichten, z.B. durch Widerstände, muß der Konverter ausgewechselt werden.Tabelle IV.3 zeigt, um wieviel Prozent die Parameter in der richtigen Richtungvariieren müssen, damit sich ein neues (falsches) globales Minimum einstellt.Das Photo in Abbildung VI.3 zeigt für die analoge Eingangsgröße X = 2 dasEnergiegebirge, wobei die Parameter a - f um 0% (oben rechts), um 5% (obenlinks), um 10% (unten rechts) und um 15% (unten links) variieren. In den beidenoberen Bildern arbeitet der Zwei-Bit-Analog/Digital-Konverter korrekt und inden beiden unteren Bildern fehlerhaft.

- 75 -

Tabelle VI.3 zeigt für jede analoge Eingangsgröße X, welche und um wievielProzent die Parameter a - f variieren müssen, damit sich ein neues globalesEnergieminimum in der entsprechenden Ecke (00, 01, 10, 11) ausbildet. Dieoben dargestellte Variation der Parameter c, d, e, f für die analoge Ein-gangsgröße X = 2 bezeichnet den kritischen Fall, aber auch für X = l (01)kommt es bei relativ geringer Streuung (9,1%) zu einem Wechsel des Minimumsnach (10).

Abbildung VI.3: Energiegebirge eines Zwei-Bit-Analog/Digital-Konverters fUrdie Eingangsgröße X = 2 bei O%, 5%, 1O% und 15% Parameter-Variation.

x = o <E0o>

x = i <EOI)

X = 2 (E10)

x = 3 (EH>

EOO0%

33.3%c,d

33.3%e,f

33.3%a,b,c,d,e,f

EOI100%

c

0%

5.9%c,d,e,f

20%a,b,e,f

EIO100%

e

9.1%c,d,e,f

0%

9.1%a,b,c,d

EU100%

a,b,c,e

33.3%a,b,e,f

11.1%a,b,c,d

0%

Tabelle VI.3: Minimale Variation der Parameter a - f zur Ausbildung einesneuen globalen Energieminimus.

- 76 -

In diesem Kapitel wurde die Empfindlichkeit eines speziellen Hopfield-Netzes,eines Zwei-Bit-Analog/Digital-Konverters, gegenüber Parametervariation darge-stellt. Dabei konnte mit Hilfe der Energiefunktion nachgewiesen werden, daßschon bei kleinen Netzen und in der Technologie auftretendene Parameter-streuungen durch tlngenauigkeit im Herstellungsprozeß Fehler entstehen. Eineanaloge Realisierung der Verbindungsgewichte bietet sich damit nicht an. AuchNetze wie die Boltzmanmaschine, die unter der Vorraussetzung, daß sie richtig'ausgeglüht' werden (simulated annealing), immer das globale Energieminimumfinden (GOL85), würden damit nicht korrekt arbeiten.

- 77 -

VII. Simulationskonzept und Sprachbeschreibung

VII.l Einführung in das Simulationskonzept

Ein Aspekt dieser Arbeit war die Implementierung eines modellunabhängigenSimulators auf der Basis einer formalen Definitionsspräche, wie sie in KapitelII eingeführt wurde. Dieser formale Rahmen, speziell für neuronale Netzwerk-modelle, eignet sich für eine Umsetzung in eine spezielle VLSI-Architekturund bildet damit ein wichtiges Hilfsmittel für die oberste Ebene eines hierarch-ischen Entwurfssystems für hochintegrierte Systeme. A.B. Cremers und T.N.Hibbard (CRH83, CRH85) definieren eine formale Spezifikationssprache zurBeschreibung verteilter Systeme und bei G. Reichwein (REI86) findet sich einefunktionale Implementierung dieses Vorschlages. Der große Vorteil der Allge-meingültigkeit einer formalen Spezifikation bedeutet allerdings für Simulatoreneinen großen Nachteil, denn die spezifizierten Modelle sind bezüglich derSimulationszeiten und des Speicherplatzbedarfs recht umfangreich. Da zu-sätzlich die Struktur der neuronalen Netzwerkmodelle sehr heterogen ist, be-schränkt sich die im folgenden vorgestellte Sprache auf im Augenblickinteressante VLSI-Architekturen. Die Universität von Rochester löst dasKomplexitätsproblem, indem sie eine umfangreiche Programmbibliothek an-bietet, in der in C als Spezifikationssprache Simulatoren implementiert werdenkönnen. Weiterhin bietet ihre Programmbibliothek umfangreiche Graphik-prozeduren, so daß auf SUN-Workstations die Simulationsergebnisse gut dar-gestellt werden können. Diesen beiden Ansätzen folgend wurde im Rahmendieser Arbeit eine Programmbibliothek entwickelt, die neben den Modulen fürassoziative Netze auch ein umfangreiches Graphikmodul enthält. Dieses Modulerlaubt die menügesteuerte Selektion von Funktionen und die SD-Darstellungvon Verbindungsgewichten in mehreren Fenstern mit verschiedenen Ansichten.Es geht zurück auf die Entwicklung von graphischen Benutzeroberflächen undSD-Darstellungen bei der Firma Siemens (WER86). Über diese Programm-bibliothek wurde mit Hilfe von Programmgeneratoren (lex und yacc) die Spe-zifikationssprache auf einer Apollo WS 30 implementiert.

VII.2 Das Simulationssystem

Das Simulationsprogramm wurde in Anlehnung an die Structured Analysis(SA)-Methode entworfen. Die Abbildungen VII.l - VII.5 zeigen die oberstendrei Ebenen der Definitionsphase, wobei ein Kreis eine Transformation, einPfeil den Datenfluß, ein Rechteck eine DatenquelleX-senke und ein Unterstricheine Datei kennzeichnen. Abbildung VII.l zeigt die oberste Ebene des Simula-tionssystems. Es erhält die formale Beschreibung des zu simulierenden Netzesals Eingabe und kann zusätzlich interaktiv über Tastatur und Maus gesteuert

- 78 -

die Simulationen durchführen. Die Simulationsergebnisse und Menüs werdenauf einem Farbgraphikbildschirm (1024 x 800) dargestellt. Über Ausgabe-schnittstellen lassen sich die Simulationsergebnisse auch zur externen Weiter-verarbeitung nutzen.

Ebene 1: Simulationssystem für assoziative Netze

Menüs/Steuerung*- Gaphiken

Sinulationssysten

spezifiziertesNetzHcrk Eingabe-

sprache

DatenlexikonSteuerungsdatenEingabes pracheMenü-/Grafikdaten

Ausgabedaten

[Kommandos, Benutzereingaben ][Definition des zu simulierenden Netzes][Systemmeldungen, Dialogfragen,

graphische Darstellungen][Druckerausgaben, Daten zur externenVerarbeitung]

Abbildung VII.1: Aufbau des Simulationssystems fUr assoziative Netze Ebene 1.

Die zweite Ebene des Entwurfs entwickelt das Simulationssystem in einenSprachanalyse-, einen Simulationsausführungs- und einen Darstellungsteil. DerSprachanalyseteil erhält als Eingabe das spezifizierte Netz und konfiguriertdamit die Datenstrukturen, sofern die Spezifikation korrekt ist. Andernfallswird eine Fehlermeldung ausgegeben. Der Simulationsausführungsteil erhält diekonfigurierten Datenstrukturen und kann, falls der Benutzer über das Graphik-interface die Kommandos selektiert, die Simulationen durchführen. Für dieSimulation wichtige Daten (Gewichte und Muster) können in Dateien abgelegtund von dort wieder eingelesen werden. Mit Hilfe des Graphikinterface' werdendie Menüs und Simulationsergebnisse dargestellt. Weiterhin werden die vomBenutzer selektierten Menüfelder (Icons) ermittelt und in entsprechende Be-nutze rkommandos umgewandelt.

- 79 -

Ebene 2: Simulationssystem

Steuerungsdaten

Eingabe-sprache

Gewichte

konfiguriertesNetz :• Graphikdaten

Sinulationsausführung

1,2

Eingabe-sprache

DatenlexikonFehlermeldungkonfiguriertes Netz

Graphik-bildschirn

> Dusgabedaten

Muster

GewichteGrafikdaten =

Benutzerkommandos

[Syntaxfehler bei der Netzspezifikation][Datentyp der Prozessor- und Verbindungs-elemente, Anzahl der input, output und hiddenunits, input, output, learning, activation,Variation und destroy functions, initialisierteVerbindungselemente, Steuerungsparameterfür die graphische Darstellung, Steuerungs-parameter für Batch-Jobs]

[Eingabe- und korrespondierende Ausgabe-muster, Format: Anzahl, Assoziationsart,Kodierung, Musterbezeichner, Muster, Muster-bezeichner, ....]

[Format: Matrix als Textfile][Verbindungsgewichte, Muster, Simulations-ergebnisse]

[Parameter für die vom Benutzer selektiertenFunktionen]

Abbildung VII.2: Verfeinerung des Simulationssystems Ebene 2.

Die dritte Ebene in Abbildung VII.3 verfeinert die Sprachanalyse in eine lexi-kalischen und einen grammatikalischen Teil, deren Ergebnisse im Konfigura-tionsteil in den Datenstrukturen festgeschrieben werden. Die lexikalische Ana-lyse (Scanner) liest die Symbolfolgen der Eingabe und faßt diese zu Struktu-ren (Schlüsselwörter, Tokens) zusammen. Die Aufgabe wird durch einendeterministischen endlichen Automaten bewältigt. Generiert wird der Automat

- 80 -

durch das Programm lex (Unix-Bibliothek), das als Eingabe die Beschreibungder Tokens benötigt. Die Schlüsselwörter sind in Tabelle VII.l zusammengefaßt.

Reservierte WortenACTIVATION BINAER

DOERRORHEBELEARNOUTPUTPRINTGRAPHICREALSHOW

DESTROYENDDOGRAPHICINPUTNOPRINTREADDATEISA VETHRESHOLDFKTVARIATION

TYPESWEIGHTS

CYCLESDUMMYFKTFUNCTIONSHIDDENLEARNINGOUTPUTRANGEPROBABILITYFKTREFERENZSIMULATIONUNITSWITH

DELTAENDSIMULATIONGOSER-RUECKERTINITLINEAREFKTPATTERNRANDOMRESTORESUMMENFKTUNTILZERO

Reservierte Symbole:.r. .]- ... .; . .

Tabelle VII.1: Schlüsselwörter und SchlUsselsymbole der Eingabesprache.

Der grammatikalische Analyseteil der Eingabeprogrammiersprache wird eben-falls durch ein Programm (yacc) generiert. Als Eingabe erhält yacc die Be-schreibung der Programmiersprache als LR(2) - Grammatik. Die Grammatikbesteht aus endlich vielen Produktionen oder (Ersetzungs-)Regeln. Zur Dar-stellung der Regeln wird die Backus-Naur-Form (BNF-Notation) verwendet. Indieser Notation treten neben einigen Hilfssymbolen, die in spitzen Klammerngeschrieben Nichtterminalzeichen und die Terminalzeichen, wie 'SIMULATION'oder ';' auf.

Ebene 3 Sprachanalyse

TokenKonfigurations-

daten

>Fehler-neldung

lexikalischeAnalyse

Konfigurationssysten

grannatikalischeAnalyse

Zeichen-sequenz

Abbildung VII.3: Verfeinerung der Sprachanalyse Ebene 3.

- 81 -

konfiguriertesNetz

Als Einführung in die Sprache dienen hier zunächst zwei kleine Beispiel-programme, die einen Assoziativspeicher nach Palm mit 96 Eingabeelementen und35 Ausgabeelementen, sowie einen Assoziativspeicher, der mit Hilfe der Delta-Lernregel die Beziehung zwischen Eingabe- und Ausgabemuster lernt, definiert.

SIMULATION Beispiell;a Definition des Wertebereichs der Gewichtsmatrix W = {0,l}n x {0,l}n

a und der Ausgabemenge der Prozessorelemente I,O = {0,1}TYPES

WEIGHTS : binaer;LIMITS : binaer;

» Festlegung der Anzahl der ElementeUNITS

INPUT : 96;OUTPUT : 35;HIDDEN : [0, 0];

a Definition der Dynamikfunktion von assoziativen Netzena Die Eingabeaktivität wird von der Datei 'ascii.txt' gelesen.a f(aj) = l falls aj ^ Sj und 0 sonst.» netj = Z w^ * aja Lernen mit der Hebb-Regel, Lernrate T] = 1.0« keine Variation der ParameterFUNCTIONS

INPUT : readdatei ascii.txt;OUTPUT : thresholdfkt;ACTIVATION : summenfkt;LEARNING : hebb [1.0];VARIATION : dummyfkt;

a die Verbindungsgewichte wjj sollen mit Null initialisiert werden.a und es sein 2% der Verbindungen zerstört.INIT

WEIGHTS : zero;DESTROY : random [0.02];

a Festlegung der Ausgabea no : keine Ausgabe, print : Ausgabe als Text auf Bildschirm, graphic : graphischea Ausgabe, printgraphic : Text und GraphikSHOW

OUTPUTRANGE : [0, 96, 0, 35];INPUT : no;OUTPUT : print;WEIGHTS : graphic;ACTIVATION : no;

- 82 -

ERROR : print;

a evt., Batch definition z.B.« DO« learn 2 cycles with error Output;a ENDDO;

ENDSIMULATION .

SIMULATION Beispiel;a Definition des Wertebereichs der Gewichtsmatrix W = Rn x Rn

a und der Ausgabemenge der Prozessorelemente I,O = Rn

TYPESWEIGHTS : real;UNITS : real;

« Festlegung der Anzahl der ElementeUNITS

INPUT : 96;OUTPUT : 35;HIDDEN : [0, 01;

a Definition der Dynamikfunktion von assoziativen Netzena Die Eingabeaktivität wird von der Datei 'asciif.txt' gelesen.a f(netj) = ! / ( ! + exp (-netj/T). T bestimmt die Steilheit der Funktiona net: = ^ w^ * aja Lernen mit der Delta-Regel, Lernrate T] = 0.01a keine Variation der ParameterFUNCTIONS

INPUT : readdatei asciif.txt;OUTPUT : sigmoidfktCO.l];ACTIVATION : summenfkt;LEARNING : delta [0.01];VARIATION : dummyfkt;

a die Verbindungsgewichte w;: sollen im Intervalll [0,13 zufällig initialisiert werden.a und es seien 2% der Verbindungen zerstört.INIT

WEIGHTS : random;DESTROY : random [0.021;

a Festlegung der Ausgabea no : keine Ausgabe, print : Ausgabe als Text auf Bildschirm, graphic : graphischea Ausgabe, printgraphic : Text und GraphikSHOW

OUTPUTRANGE : [0, 96, 0, 35];INPUT : no;

- 83 -

OUTPUT : print;WEIGHTS : graphic;ACTIVATION : no;ERROR : print;

ENDSIMULATION .

Eingeleitet wird eine Beschreibung eines assoziativen Netzes durch das reservierteWort 'SIMULIATION1 und beendet durch das Wort 'ENDSIMULATION'. Innerhalbdes Programms erlaubt die Sprache die Definition von Eingabeprozessor—elementen, d.h. Prozessorelementen, die von externen Signalquellen eineEingabe empfangen. Weiterhin können Ausgabeprozessorelemente definiertwerden, d.h. Prozessorelemente, die eine Ausgabe an die Umwelt senden undschließlich von versteckten Prozessorelementen, die von den Eingabeelementeneine Eingabe erhalten und ihre Ausgabe an die Ausgabeelemente weiterleiten,ohne mit der Umwelt in Verbindung zu treten. Die Elemente können dabeivollständig miteinander verbunden sein, d.h. die Verbindungstopologie bestehtaus einer Verbindungsmatrix. Weitere Elemente der Sprache erlauben dieDefinition der Dynamikfunktionen des assoziativen Netzes. Die Funktionenaus Kapitel II werden dabei ergänzt durch Funktionen zur Beschreibung vonFehlern und Parametervariation. Für theoretische Ableitungen könnten dieseFunktionen auch der Aktivierungs- und Lernfunktion zugeordnet werden.Unabhängig von assoziativen Netzen bildet der zweite Teil der Spezifikations-sprache die Möglichkeit, verschiedene Darstellungsformen zu selektieren, umdie Analyse der Netze zu erleichtern. Es lassen sich nicht nur Aktivierungen,Ausgaben oder Fehler der Prozessorelemente, sondern auch verschiedeneVerbindungsgewichtsmatrizen graphisch darstellen. Die Eingabevektoren könnenauf ihren euklidischen Abstand oder den zwischen ihnen bestehenden Winkeluntersucht werden. Im letzten Teil der Spezifikationssprache hat der Benutzerdie Möglichkeit, Netzwerkmodelle im Batchbetrieb zu simulieren, um so auchgroße und rechenzeitintensive Modelle bearbeiten zu können.

Nach dieser informellen Beschreibung der Netzwerkprogrammiersprache nundie SpracbdeßzüUon in BNF-Form.<zahl> " = 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9<buchstabe> «= A l B l ... l Z l a l b l ... l z<vorzeichen> : : = - ! +<zeichen> -= <buchstabe> l <zahl> l _<name> ••= <buchstabe>Kzeichen»<zahlenfolge> «= <zahl>{<zahl»<integer> "= <zahlenfolge> l <vorzeichen> <zahlenfolge><exponent> ::= E <integer> l e <integer><real> -= <integer> . <zahl> «exponent»<wert> "= <integer> l <real><simulationsprogramm> — SIMULATION <name> ; <simbody> ENDSIMULATION .<simbody> ••••= TYPES <typedef>

- 84 -

<typedef>

UNITS <unitdef>FUNCTIONS <functiondef>INIT <initdef>SHOW <showdef><runpart>

WEIGHTS : <weighttyp> ; UNITS<weighttyp> -= BINAER l REFERENZ [ <wert>

<unittyp> ;<wert> ] l REAL

<unittyp><unitdef>

<inputfkt> -<outputfkt>

<learningfkt><activfkt><varfkt> -<initdef>

<initfkt> ::

BINAER l REALINPUT : <integer> ; OUTPUT : <integer> ;HIDDEN : [ <integer> , <integer> ] ;

<functiondef> «= INPUT : <inputfkt> ;OUTPUT : < outputfkt> ;ACTIVATION : <activfkt> ;LEARNING : <learningfkt> ;VARIATION : <varfkt> ;

READDATEI <name>:= THRESHOLDFKT l PROBABILITYFKT l LINEAREFKT l

SIGMOIDFKT <real>"= HEBE [ <real> ] l DELTA [ <real> ]

:= SUMMENFKTDUMMYFKT

:= WEIGHTS : <initfkt> ;

DESTROY : <destroyfkt> ;= ZERO l RANDOM

<destroyfkt> "= ZERO [ <real> ] l RANDOM [ <real> ]<showdef> - = OUTPUTRANGE : [ <integer> , <integer> , <integer> , <integer> ]

INPUT : <showstate> ;OUTPUT : <showstate> ;WEIGHTS : <showstate> ;ACTIVATION : <showstate> ;ERROR : <showstate> ;

<showstate> »= NO l PRINT l GRAPHIC l PRINTGRAPHIC<runpart> "= <empty> l DO <statements> ENDDO ;<emtpty> " =<statements> -= <statement> ; l <statements> <statement> ;<statement> "= <learning_st> l <weig_sav_st> l <weig_rec_st> l

<weig_zercx_st> l <simulate_st><learning_st> "= LEARN <integer> CYCLES <auswertung><auswertung> - = <empty> l WITH ERROR OUTPUT <error_auswer> l

<WITH PATTERN [ <integer> UNTIL <integer> ] <integer><error_auswer> -= <empty> l

DESTROY PATTERN [ <integer> UNTIL <integer> ]<weig_sav_st> «= SAVE WEIGHTS .<name><weig_rec^st> -= RESTORE WEIGHTS <name><simualte_st> -= PATTERN SIMULATION <integer> <integer> <integer>

<integer> <name> <integer>

- 85 -

Die während der grammatikalischen Analyse erhaltenen Netzwerkdaten werdennach jeder Reduktion einer Regel an das Konfigurationssystem übergeben undin einer Netzwerkdatenstruktur gespeichert. Ist das Netz nicht korrekt spezi-fiziert, so gibt das Konfigurationssystem Aufschluß über mögliche Fehler. DieNetzwerkdatenstruktur wird dem Simulationsausführungsteil übergeben. Ab-bildung VII.4 zeigt die Struktur dieses Simulationsausführungsteils.

Ebene 3 Simulationsaiisfuhrung

> flusgabedaten

t Graphikdaten

konfiguriertesNetz

erstorungvon

auelenente1,2,8

ParaneterVariation

t GeHichte

Lernregeln

Netz-aktivierung

1,2,4

Fehler-flnalyse

Netz-ausgaben

Benutzer- \ eingabenkonnandos

1) Verbindungsgewichte, Eingabemuster, Aktivierungsvektor2) Ausgabemuster, Fehler der Musters3) Verbindungsgewichte, Eingabemuster, Aktivierungsvektor4) Aktivierungsvektor, Ausgabevektor5) Eingabemuster6) Eingabemuster, Verbindungsgewichte, Aktivierungsvektor7) Verbindungsgewichte Eingabemuster

Abbildung VII.4: Verfeinerung des Simulationsausführungsteils, Ebene 3.

In der Abbildung erkennt man, daß die Struktur der Netzwerkspezifikation dieStruktur des Ausführungsteils impliziert. Das Verwaltungsystem, das durchBenutzerkommandos gesteuert wird, verwaltet die durch die anderen Teile be-reitgestellten Ressourcen. Diese Ressourcen sind verschiedene Eingabe-, Lern-,Aktivierungs-, Ausgabe-, Fehler-, Variations- und Zerstörungsfunktionen. Nebenden Graphikdaten, die im Graphikinterface weiterverarbeitet werden, realisiertdas Verwaltungssystem die externen Schnittstellen. Die Verbindungsgewichtekönnen in einer Datei in unterschiedlichen Formaten gespeichert und wiedergelesen werden.

- 86 -

Das Graphikinterface ist in Abbildung VII.5 verfeinert. Beim Aufruf des Pro-gramms von der Betriebssystemebene aus wird die Graphik initialisiert, wennin der Eingabesprache kein Batch-Job spezifiziert wurde. Die Graphik wirdbeim Verlassen des Programms wieder zurückgesetzt. Der Benutzer steuertdas Simulationssystem über die Graphikmenüs. Die von der Maus oder derTastatur erzeugten Steuerungsdaten werden im Menüteil in Benutzerkommandostransformiert. Entsprechend den selektierten Icons werden Menüs aufgebaut,gelöscht oder die Kommandos an das Verwaltungssystem übertragen. Auf derGraphikseite hat der Benutzer die Möglichkeit, Anzahl und Art der Fenster(viewports)' zu ändern, was durch den Viewportteil realisiert ist. Zusätzlichstehen ihm auch lokale Objektmanipulationsfunktionen zur Verfügung, wiedas Rotieren, Translieren und Scalieren der Objekte. Weiterhin werden zurDarstellung der Simulationsergebnisse verschiedene Darstellungsarten ange-boten. Alle Teile des Graphikinterface* senden ihre aufbereiteten Informationendirekt an den Bildschirm. Für eine Portierung auf andere Rechner müßtedieses Graphikinterface (Graphiktreiber) neu implementiert werden, womit dasSimulationssystem durch den modularen Aufbau auf verschiedenen Systemenlauffähig ist. Es empfiehlt sich, bei der Portierung des Graphikinterfaces aufvon der ISO standardsierte Graphikschnittstellen, wie PHIGS (programmershierarchical Interactive graphics Standard) oder GKS (Graphisches Kernsystem)aufzusetzen. Die Dokumentation des Simulators und das Benutzerhandbuchfinden sich in einem internen Bericht der Abteilung Elektrotechnik (SUR89).

Ebene 3 Graphikinterface

Steuerung*-,daten

Graphik-daten

Graphik-bildschirn

Graphik-bildschirn

lokaleGraphik-

funktionenGraphik-bildschirn

Graphik^initialisieren

bildschirn

Graphik-'bildschirn

Abbildung VII.5: Verfeinerung des Graphikinterface' Ebene 3.

- 87 -

Die sechs Photos auf den nächsten Seiten dokumentieren die graphischenMöglichkeiten des Simulationssystems.

Abbildung VII.6: Verbindungsgewichte eines einfachen Assoziativspeichers nach

Palm aus vier verschiedenen Perspektiven dreidimensional

dargestellt.

Abbildung VII.7: Verbindungsgewichte nach verschiedenen Lernphasen mit der

Delta-Regel. Von links unten nach rechts oben: l, 5, 1O, 2O

Lernzyklen.

- 88 -

Abbildung VII.8: Hammingabstand des Buchstaben N zu den anderen Buchstaben.

Abbildung VII.9: Aktivität und Fehler des Ausgabemusters K. An der dritten

Position tritt ein Bitfehler auf. Lernphase mit der Delta-Regel

2O Zyklen.

- 89 -

Abbildung VII.1O: Informationsspeicherkapazität und Bitfehlerwahrscheinlichkeit

eines Assoziativspeichers nach Palm (m = n = 1OOO, l = k = 1O).

Abbildung VII.11: Fehlerverlauf in Abhängigkeit vom Schwellenwert TH fUr die

Ziffer '8'. Minimale Aktivität -O.84O, maximale Aktivität

1.O4O nach SO Lernzyklen mit der Delta-Regel.

- 90 -

Literaturverzeichnis:

Bosch K, Wolff H.: "Leistungskurs Wahrscheinlichkeitsrechnung und Statistik",Georg Westermann Verlag, Braunschweig 1980. (BOW80)

Cremers A.B., Hibbard T.N.: "Applicative State Transition Systems in LISP -like Notation", Informatik Fachberichte, Vol 73, Springer-Verlag 1983. (CRH83)

Cremers A.B., Hibbard T.N.: "A Programming Notation for Locally SynchronizedAlgorithm", in Bertolazzui, P. Luccio, (ed.) VLSI - Algorithm and Architecture,S. 341 - 376 North Holland 1985. (CRH85)

Deixler A., Metschi E.C.: "Zuverlässigkeit von Bauelementen, Schaltungenund Systemen." In Taschenbuch der Informatik Bd. I, S. 136 - 159,Springer-Verlag Berlin Heidelberg, New York 1974. (DEM74)

Eckmiller R, von der Malsburg C. (eds.): "Neural Computers", Proc. NATOAdv. Res. Workshop on Neural Computers, Neuss 1987. (ECM87)

Elbracht B.: "Analyse, Simulation und Entwurf eines CMOS-VLSI-Speicherkon-zeptes basierend auf dem neuronalen Netzwerk nach J.J. Hopfield" , Diplomar-beit Universität Dortmund 1987. (ELB87)

Feldman J. A.: "A connectionist model of visual memory. In G. E. Hinton &J. A. Anderson (Eds.), Parallel models of associative memory (pp. 49-81). Hills-dale, NJ: Erlbaum 1981. (FED81)

Goddard N.H., Lynne K.J., and Mintz, T.: "Rochester Connectionist Simulator"Department of Computer Science, The University of Rochester, Rochester,NY 14627, TR 233 1987. (GLM87)

Görke W.: "Zuverlässigkeit von Schaltungen und Systemen." In Taschen-buch der Informatik Bd. I, S. 160 - 173, Springer-Verlag Berlin Heidelberg,New York 1974. (GÖR74)

Goles E., Fogelman F., Pellegrin D.: "Decreasing Energy Functions äs a Tollfor studying threshold Networks, Disc. Appl. Math., S. 261-277, 12/1985. (GOL85)

Goser K. Polster C., Rückert U.: "Intelligent Memories in VLSI", Infor-mation Science 34. 1984, S. 61-82. (GFK84)

Goser K.: "Integrierte Schaltungen". Skriptum WS 87/88. Universi tätDortmund. (GOS87)

Goser K.: "Großintegrationstechnik I". Fernuniversität - Gesamthoch-schule - in Hagen 1984. (GOS84)

Hebb D.O.: "The organization of behavior.", New York: Wiley 1949. (HEB49)

Härtung J., Elpelt B.: "Lehr- und Handbuch der angewandten Statistik",Oldenburg-Verlag 1984. (HAE84)

Hinton. G., Andersen J.: "Parallel Models of an Associative Memory", LawrenceErlbaum, Hillsdale, New Jersey 1981. (HIA81)

Hopfied J.J.: "Neural networks and physical Systems with emergent collectivecomputational abilities." Rroceddings of the National Academy of Sciences,USA, 81, 3088-3092 1982. (HOP82)

Lansner A., Ekeberg Ö.: "Reliability and Speed of Recall in an AssociativeNetwork", IEEE transactions on pattern analysis and machine intelligence,VOL. PAM1-7, NO.4 S.490-498, 7/1985. (LAE85)

Kemke C:" Netzwerke endlicher Automaten als Modelle neuronaler Verbände",Diplomarbeit Universität Dortmund 1984. (KEM84)

Kemke C.: "Der Neuere Konnektionismus", Informatik-Spektrum S. 143-162,1988. (KEM88)

Kinzel W.: "Lernen und Mustererkennen mit Modellen für ungeordnete ma-gnetische Materialien", Jahresbericht der Kernforschungsanlage Jülich, pp31 - 40, Jülich, BRD, 1985. (KIN85)

Kohonen T.: "Self-Organization and Associative Memory", 2nd ed., SpringerVerlag, Berlin, Heidelberg 1987. (KOH87)

Kohonen T.: "Correlation Matrix Memories", IEEE Transactions on Computers,VOL. C-21, NO.4, S. 353-359, April 1972. (KOH72)

McCulloch W.S., Pitts W.: "A Logical Calculus of the Ideas Immanent inNervous Activity", Bull. Math. Biophys. 5 pllS-133, 1943. (MCP43)

Metzen H.: "Simulation und Analyse von adaptiven assoziativen Speichermatrizenohne Rückkopplung", Diplomarbeit Universität Dortmund, 1988. (MET88)

Minsky M., Papert S.: "Perceptrons", Cambridge, MA: MIT, 1969. (MIP69)

Moore W. R.: "Conventional Fault-Tolerance and Neural Computers", in NeuralComputers, s. 29 - 38, Springer-Verlag Berlin Heidelberg New York LondonParis Tokyo 1988. (MOO88)

Negrini R., Sami M.G. , Scarabottolo N. and Stefanelli R.: "Fault-Tolerance in Imaging-Oriented Systolic Arrays.", in Neural ComputersS. 39 - 50, Springer-Verlag Berlin Heidelberg, New York London ParisTokyo 1988. (NSS88)

Palm G.: "On Associative Memory". Biological Cybernetics 36, S. 19-31, 1980.(PAL80)

Palm G.: "On the Storage Capacity of an Associative Memory with RandomlyDistributed Storage Elements", Biol. Cybern. 39, S. 125-127, 1981. (PAL81)

Palm G.: "Neural Assemblies", Springer-Verlag, Berlin, Heidelberg, 1982. (PAL82)

Palm G.: "Assoziatives Gedächtnis und Gehirntheorie", Spektrum der Wissen-schaft, S.54-64, 6/1988. (PAL88)

Reichwein G.: " Ein applikatives Subsystem für die Datenraummaschine mitpolymorphem Typkonzept", Kapitel 2, Diplomarbeit Universität Dortmund 1986.(REI86)

Rlickert U., Kreuzer L, Goser K.: "A VLSI Concept for an Adaptive Asso-ciative Matrix based on Neural Networks", COMPEURO, Hamburg, 11-15Mai 1987 S. 31-34. (RKG87)

RUckert U., Goser K.: "VLSI Design of Associative Networks", Int.Workshop on VLSI for Artificial Intelligence, Oxford, 20-22 Juli 1988,Proceedings S. Fl/1-10. (RÜG88)

Rumelhart D. E., McClelland J. L.: "Explorations in parallel distributedprocessing", Computational Models of Cognition and Perception, MITPress Cambridge, Massachusetts London, England 1988. (RMC88)

Rumelhart D.E., McClelland J.L.: "Parallel distributed Processing, Explorationin the Microstructure of Cognition", Vol 1: Foundations, MIT, 1986. (RMC86)

Ryszard Zielinski:" Erzeugung v. Zufallszahlen, Programmierung und Test aufDigitalrechnern", Verlag Harri Deutsch Thun-Frankfurt am Main, 1978. (RYZ78)

Schreiner J.: "Simulation von adaptiven assoziativen Speicherkonzepten", Diplom-arbeit Universität Dortmund, 1986. (SCH86)

von Seelen W., Mallot H.A.: "Parallelism and Redundancy in NeuralNetworks", in Neural Computers S. 51 - 60, Springer-Verlag Ber l inHeidelberg, New York London Paris Tokyo 1988. (SEM88)

Smolensky P., & Riley M.S.: Harmony theory: "Problem solving, parallel cognitivemodels, and thermal physics." (Tech. Rep. No. 8494). La Jolla: University ofCalifornia, San Diego, Institute for Cognitive Science, 1984. (SMR84)

Surmann H.: "Dokumentation und Benutzerhandbuch eines neuronalen Hardware-Simulators", Interner Bericht der Abteilung fUr Bauelemente der Elektortechnik,Universität Dortmund, 1989. (SUR89)

Willshaw D.J., Longuet-Higgins H.C.: "In machine intelligence", Vol. 5, B.Meltzer and D. Michie, Eds. Edinburgh, Great Britain: Edinburgh University,pp. 351-359 1970. (WIL70)

Willshaw D.J.: "Models of distributed associative memory." Thesis, Unisersityof Edinburgh 1971. (WIL71)

Anhang

Abkürzungen und Forme Izelchen:

I

tO

oW:

Wj

W

Wert des Eingabevektors t an der Position i.Eingabevektor t.Eingabematrix bestehend aus den z Eingabevektoren I1.Wert des Ausgabevektors t an der Position j.Ausgabevektor t.Ausgabematrix bestehend aus den z Ausgabevektoren &.Wert des Verbindungsgewichts i des Prozessorelements j.Verbindungsgewichtsvektor des Prozessorelements j.Verbindungsgewichtsmatrix bestehend aus den m Verbindungs-gewichtsvektoren W;.

2 Summenzeichen.TT Produktzeichen.

m!_____k! * (m - k)!

Die 56 ausgegebenen Muster

OMEGA SIGMA PLUS MINUS KLEIN GROSS

GAMMA GLEIC TEIL TAU KLAM1 KLAM2

UNIVERSITÄT DORTMUND FACHBEREICH INFORMATIKPostfach 500500 Telefon 0231-755-21204600 Dortmund 50

Prof. Dr. Claudio Moraga

Dortmund, den 9 .8 .89

G U T A C H T E N

Diplomand: Hartmut Surmann

Diplomarbeit: "Untersuchung der Hardware-Fehlertolerans ausge-wählter adaptiver assoziativer Speicherkonzeptebasierend auf neuronalen Netzen"

Ziel der Diplomarbeit von Herrn Surmann war die Untersuchung derFehlertolerans beim Hardware-Entwurf assoziativer Speicher.Sowohl eine probabilistische Analyse als auch eine geeigneteSimulation von fehlerbehafteten Speichern wurden berücksichtigt.

Aus dem Inhalt:

* Im ersten Teil der Arbeit wurde die Fehlertoleranz deseinfachen Assoziativspeichers dargestellt, und zwar unterverschiedenen aus der Literatur entnommenen Fehlermodellen undStörungsverteilungen. Neu hier war die Analyse des Falles in demVerbindungselemente durchschalten können sowie die Ableitungenfür verrauschte Eingabemuster mit zusätzlichen Einsen.* Im Teil 2 wurden die Ergebnisse von Teil l durch Simulationbewertet und anschliessend die Empfindlichkeit eines speziellenHopfield-Netzes gegenüber Parametervariationen untersucht.* Teil 3 befaßt sich mit der Dokumentation des Simulations-programmes.Alle drei Teile sind sehr sorgfältigt bearbeitet.

Aus der Form:

Das Skriptum der Diplomarbeit ist gut organisiert und sehrordentlich erstellt. Es gibt kaum Druckfehler im Text anzumer-ken, außer in der Literaturliste, wo diese (vergleichsweise)reichlich vorhanden sind. Auch hier sind Textsystem-Abweichungendeutlich erkennbar. Diese sind trotzdem nur als"Schönheitsfehler" zu betrachten und beeinträchtigen die sonsthohe Qualität des Skriptums sicherlich nicht.

Ein besonderes Lob verdienen die graphischen Fähigkeiten desSimulators. Diese können im Skriptum kaum bemerkt werden. Erstbei einer Vorführung des Systems kommen sie richtig zur Geltung.

Die Referenzliste ist sehr vollständig und zeigt, daß HerrSurmann mit der Fachliteratur bestens vertraut ist.

Zusammenfassend:

Der Diplomand hat in der Arbeit bewiesen, daß er in der Lageist, sich mit einem komplexen Problem im Grenzenbereich zweierFächer auseinanderzusetzen und mit sehr viel Sorgfalt undKönnen zu seiner Lösung beizutragen. Daher empfehle ich dieAnnahme dieser Diplomarbeit mit der Note sehr gut (1,0).

Prof. Dr. Claüdio Moraga