Anwendung

5.1 Allgemein

Der Backpropagation-Lernalgorithmus ist einer der am
erfolgreichsten eingesetzten Lernstrategien überhaupt.
Er wird verwendet für Zeitreihenanalyse, in der Steuerungs-
und Regelungstechnik z.B. bei der Robotersteuerung und bei
Muster erkennenden Verfahren. Ein Beispiel für die
Mustererkennung ist das beiliegende Programm. Es sollte
in der Lage sein, verschiedene selbst erstellte Muster
miteinander zu assoziieren. Es sei hier darauf hingewiesen,
dass neuronale Netze von ihrer Struktur her eher für eine
parallele Verarbeitung ausgelegt sind. Zwingt man sie in
sequenzielle Formen, steigt die Berechnungsdauer
überdurchschnittlich mit der Größe des Netzes an. Wählt man
die Anzahl der Neuronen zu niedrig, kann es sein, dass das
zu lösende Problem von dem Netz nicht gelöst werden kann.
Erschwerend kommt hinzu, dass man am Ende ein Netz haben
möchte, das gut approximiert. Diese Eigenschaft der
Generalisierung von Trainingsdaten geht verloren, wenn das
Netz zu lange trainiert wird. Man spricht dann von Overtraining.
Dass man für die Erstellung eines brauchbaren Netzes viel
Hintergrundwissen haben sollte, ahnt man hier schon. Dennoch
sind neuronale Netze in einigen Fällen besser als die klassischen
stochastischen Methoden, da im Verhältnis zu den klassischen
Methoden, wie z.B. der Wahrscheinlichkeitsrechnung, mit wenig
Daten gute Annäherungen an die gesuchte Funktion erzielt werden.


5.2 Anwendung in Bezug auf Echtzeit

Man spricht von Echtzeit, wenn ein System, in einem vorher
bestimmten zeitlichen Fenster auf Ereignisse reagiert.
Das ist bei diesem neuronalen Netz der Fall, da die Dauer
für die Ausführung für jedes Muster gleich ist. Bei der
Ausführung wird das Netz nur noch Feed-Forward durchlaufen.
Reicht die Ausführungsgeschwindigkeit für eine Anwendung nicht,
kann man immer noch durch parallele Berechnungen, innerhalb einer
Schicht, die Ausführung beschleunigen. Hat man also ein gut
angelerntes Netz, kann man es auch in zeitkritischen Anwendungen
einsetzen. Zur Zeit sind die meisten Systeme sequenziell und
unterstützen die parallele Verarbeitung von Daten nur in einem
geringen Umfang.