Mit den soweit bereitgestellten Mitteln kann man nun ein erstes kleines Netzwerk definieren und ausführen lassen. Dazu übernehmen wir das generelle Schema und konkretisieren es zu einem Beispiel. Vorgegeben sind folgende drei Formeln:
Dieses Schema soll nun zu einem konkreten Netzwerk spezialisiert (instantiiert) werden, wie es im Bild 10.7 angezeigt wird.
|
Für die Menge der Neuronen nehmen wir vier Neuronen an, zwei sensorische Neuronen und zwei binäre Neuronen :
Dabei soll gelten, . Diese Neuronen verknüpfen wir mittels der Verknüpfungsrelation wie folgt:
Jetzt fehlt nur noch die dynamische Abarbeitungsfunktion . Hier lassen sich viele Varianten denken. Ein einfaches Beispiel wird durch den folgenden Algorithmus dargestellt (vgl. Bild 4.2). Eine mathematische Notierung findet sich in der Formel 10.10. Die Abarbeitungsfunktion wird zusammengesetzt aus mehreren Teilfunktionen. Der grundlegende Gedanke besteht darin, daß ein künstliches neuronales Netz von 'links' nach 'rechts' abgearbeitet wird und mindestens eine verdeckte Schicht besitzt. Die Teilfunktion beginnt bei den sensorischen Neuronen und bildet daraus eine erste Nachfolgermenge . Für jedes Element der Menge wird dann jeweils die Neuronfunktion mit der Teilfunktion berechnet. Ausgehend von werden mit der Funktion wieder alle Nachfolger berechnet, also und für diese mit wieder alle Neuronfunktionen . Dann wird mit der Teilfunktion geprüft, ob die letzten Neuronen schon berechnet worden sind. Mit der Annahme, daß alle Ausgangsneuronen von den Inputneuronen aus alle die gleiche minimale Pfadlänge haben, kann die Berechnung der Menge bei minimaler Pfadlänge dann wieder von vorne beginnen, andernfalls muß sie bei der Teilfunktion fortgesetzt werden.
(4.1) | |||
(4.2) | |||
(4.3) | |||
(4.4) | |||
(4.5) |
Ein Beispiel eines idealisierten Ablaufs findet sich im Bild 4.3.
Entspechend findet sich in Bild 4.4 die Darstellung des oben beschrieben neuronalen Netzes als OKSIMO-Modell. Die Gewichte werden hier als separate Konstanten (= rote Kästchen) dargestellt. Da vier Gewichte gleich sind, wurden diese unter ein Gewicht subsummiert.
Kombiniert man dieses Netzwerk wieder mit einer Testumgebung (wie oben), dann kann man das Verhalten dieses Netzwerkes testen. Statt als Diagramm kann man sich das Verhaltensprotokoll auch als Log-Datei ausgeben lassen (siehe unten):
Verhaltensprotokoll zum künstlichen neuronalen Netz ANN1 für 10 aufeinanderfolgende Zeitpunkte.
S1 := Stimulus S1 aus der Umgebung |
S2 := Stimulus S2 aus der Umgebung |
R1 := Reaktion des Netzwerkes auf die empfangene Stimuli |
1 Output: S2, : 0 |
1 Output: S1, : 0 |
1 Output: R1, : 0 |
2 Output: S2, : 0 |
2 Output: S1, : 0 |
2 Output: R1, : 0 |
3 Output: S2, : 1 |
3 Output: S1, : 0 |
3 Output: R1, : 1 |
4 Output: S2, : 0 |
4 Output: S1, : 1 |
4 Output: R1, : 1 |
5 Output: S2, : 1 |
5 Output: S1, : 1 |
5 Output: R1, : 0 |
6 Output: S2, : 0 |
6 Output: S1, : 0 |
6 Output: R1, : 0 |
7 Output: S2, : 1 |
7 Output: S1, : 0 |
7 Output: R1, : 1 |
8 Output: S2, : 0 |
8 Output: S1, : 1 |
8 Output: R1, : 1 |
9 Output: S2, : 1 |
9 Output: S1, : 1 |
9 Output: R1, : 0 |
10 Output: S2, : 0 |
10 Output: S1, : 0 |
10 Output: R1, : 0 |