|
Überblick über künstliche neuronale Netze - KNN
Wie das KNN arbeitet
Wie der Lernvorgang funktioniert
Der eigentliche Traum von einem hochentwickelten Computer war nicht
die hochgezüchtete Rechenmaschine, die wir heute kennen, sondern
die Nachahmung der menschlichen Intelligenz. Gerade die Entwicklung
von sogenannter künstlicher Intelligenz (KI) ist aber eigentlich
mehr eine Geschichte der Irrtümer und Rückschläge - es ist viel
schwieriger, vielseitige Intelligenz zu erzeugen, als die Forscher
Jahrzehntelang dachten. In vielen spezielleren Fällen gibt es aber
inzwischen gute Ergebnisse. Besonders künstliche neuronale Netze
(KNN) haben ihren Platz in der Datenverarbeitung gefunden.
Ein normaler Computer braucht sehr genaue Anweisungen - ein Programm.
Das arbeitet er mit hoher Präzision und Geschwindigkeit Befehl für
Befehl ab, wobei er keinen Fehler verzeihen kann: Er verarbeitet
die Eingabedaten digital, also mit Nullen und Einsen, mit Ja und
Nein, dazwischen kennt er nichts.
Ein künstliches neuronales Netz arbeitet völlig anders: Es ist
dem Gehirn bzw. dem Nervensystem nachgebildet. Statt eines Programms
hat es eine Struktur von Zellen (biolog.: Neuronen)
und Verbindungen (biolog.: Synapsen). Wie im Gehirn auch
gibt es einen Bereich, der "wahrnimmt": Was bei uns Menschen die
Sinnesorgane an das Gehirn liefern, liefern beim KNN die sogenannten
"Eingabeneuronen". In weiteren sog. verdeckten Schichten
liegen Nervenzellen ähnlich wie die grauen Zellen unserer Großhirnrinde.
Hier wird gelernt, die "Sinneswahrnehmung" verarbeitet. Auf der
anderen Seite gibt es beim KNN ein Ausgabeneuron - den "Mund"
des Systems, der das Ergebnis verkündet. Dabei ist das KNN fehlertolerant
und kann schließlich Entscheidungen treffen. So werden KNN heute
bereits an verschiedenen Stellen für Mustererkennung eingesetzt,
zum Beispiel zum Erkennen von Gesichtern: Es wird mit vielen Bildern
trainiert und muss dann entscheiden, ob ein ihm bisher unbekanntes
Bild "bekannt vorkommt" - so wie wir alte Bekannte auf der Straße
wiedererkennen, auch wenn wir sie das letzte Mal vor Jahren mit
einer anderen Frisur gesehen haben.
Natürlich ist ein neuronales Netz viel kleiner als das Gehirn -
deswegen kann es auch immer nur eine einzige Aufgabe lernen und
verarbeiten. Daher setzen wir Distributed Computing ein und verteilen
viele verschiedene Aufgaben an unsere Mitglieder, um die Vielseitigkeit
zu erreichen, die man für Börsenprognosen braucht.
Wie das KNN arbeitet - Informationsverarbeitung
Jedes Neuron (Nervenzelle) der verdeckten Schichten und jede Verbindung
(Synapse) erhält zu Anfang einen zufälligen Zahlenwert. Bei den
Neuronen sind das die sogenannten Schwellenwerte und bei
den Verbindungen die sogenannten Gewichtungen. Die Eingabe-Neuronen
erhalten die Eingabekurse als Werte. Die Neuronen bekommen nun über
die Verbindungen eine Information, die nur dann weitergeleitet wird,
wenn dieser Wert größer ist als der Schwellenwert des Neurons. Man
spricht dann davon, dass das Neuron "feuert".
Die KNN von MoneyBee® werden auf Börsenkurse angesetzt. An die Eingabeneuronen
("Sinnesorgane") unserer neuronalen Netze legen wir Hunderte einzelner
Börsendaten als Werte an. Die werden in die verdeckten Schichten
hineingemeldet: Sie beeinflussen über die Gewichte der Verbindungen
und die Schwellenwerte die Informationsgehalte der Neuronen, die
zwischen ihnen und dem Ausgabeneuron liegen. Die Informationen fließen
also von Eingabe-Neuronen bis zu Ausgabe-Neuronen durch das Netz
("Forward Propagation").
Die Eingabeneuronen erhalten aus der Vergangenheit Tag für Tag
eine Art Lagebericht der Börse. Das Netz speichert seine Erfahrungen
als Schwellenwerte und Gewichtungen und beginnt die Prozedur von
neuem - es schaut sich sozusagen Tausende von Börsendaten immer
wieder an, bis es in den Daten gewisse Muster erkennt, die als Werte
der Neuronen und Verbindungen gespeichert sind.
Im Wesentlichen arbeitet das KNN wie ein Mensch, der Börsenkurse
verfolgt: Er schaut sich Börsendaten an, bewertet sie und lernt
aus der Vergangenheit. Dann versucht er, aus dieser Erfahrung auf
die Zukunft zu schließen - wobei im Gegensatz zum Menschen das KNN
nicht weiß, was die Daten bedeuten. Dollar, Dax, Nemax, DowJones
- für das Netz sind das nur Zahlenwerte. Daher ist es unbestechlich
und in der Prognose-Aussage ehrlich, da es keine Hintergedanken
oder Wunschvorstellungen haben kann, die die Analyse verfälschen.
Dazu braucht das KNN aber eine Methode, zu lernen.
Wie das KNN arbeitet - der Lernvorgang
Solange das neuronale Netz noch nichts gelernt hat, sind die Prognosen
schlecht - zu Anfang wurden ja Gewichte und Schwellenwerte zufällig
gewählt. Nun setzt das Training des neuronalen Netzes ein und der
Lernalgorithmus verändert die Gewichte und Schwellenwerte, wobei
als Grundlage der tatsächliche Prognosewert herangezogen wird. Es
findet also eine Art von überwachtem Lernen statt, bei dem
der "Lehrer" (wir, die Programmierer von MoneyBee®) das eigentliche
Ergebnis (historische Kursverläufe) kennt und dem "Schüler"
(dem neuronalen Netz) nach seiner Berechnung zum Vergleich
präsentiert. Diese beiden Werte sollen schließlich so eng beieinander
liegen wir möglich - die Differenz muss minimiert werden. Das ist
der Kern des eigentlichen Lernvorgangs: die sogenannte "Error
Backpropagation"-Methode, die 1984 entwickelt wurde. Dabei pflanzt
sich die Fehlermeldung andersherum als die Information fort, also
rückwärts von den Ausgabe-Neuronen zu den Eingabe-Neuronen, wobei
sich die Gewichte und Schwellenwerte verbessern sollen.
Diese Prozedur läuft unzählige Male hintereinander ab, wobei immer
andere Muster (Datensätze) benutzt werden. Ein komplettes Muster
(Datensatz) besteht aus den Eingabe-Informationen (Kursdaten) und
dem bekannten historischen Ergebnis-Kurswert. Sind alle Muster einmal
durchgespielt, ist ein Zyklus beendet (siehe Bildschirmschoner-Grafik,
Wabe links unten). Die Reihenfolge
der Muster innerhalb eines Zyklus wird zufällig gewählt.
Das Training wird abgebrochen, wenn eine festgelegte Zahl von Zyklen
oder eine bestimmte Rechenzeit erreicht wurde oder wenn keine Verbesserung
des Netzes mehr erwartet werden kann, was man daran erkennt, dass
viele Zyklen hintereinander keine Verbesserung mehr gebracht haben
(siehe Lernkurve, Bildschirmschoner-Grafik linke
obere Wabe). Dann ist das Netz fertig trainiert und steht für
"echte" Prognosen, also Prognosen, die sich dann wirklich auf die
Zukunft beziehen, bereit. Dazu muss es nur mit den aktuellen Daten
"gefüttert" werden, d.h. mit Aktienkursen, die sich bis zum heutigen
Tag erstrecken. Es wird dann einmal die "Forward Propagation"-Prozedur
aufgerufen und man erhält sofort die gewünschte Prognose- viel Zeit
brauchen KNN nur zum Trainieren, beim eigentlichen Berechnen sind
sie sehr schnell. Diesmal muss der "Lehrer" aber warten, bis der
Prognosezeitraum verstrichen ist, um seinen "Schüler" zu überprüfen.
Dann erst kann die Qualität der echten Prognose ermittelt werden.
Wir veröffentlichen auch diese Daten dann auf de.moneybee.net
- regelmäßiger Besuch auf unseren Seiten lohnt sich also.
Natürlich hat der einzelne PC keine Neuronen - sie werden mit einem
herkömmlichen Programm "simuliert". Am besten kann man sich das
als sehr komplexe Tabelle vorstellen, in der sich die Werte gegenseitig
nach einem aufwendigen Algorithmus gegenseitig beeinflussen können
- eine komplizierte Matrix, die in der Lage ist, zu lernen.
|