Previous PageNext Page

4. Architekturen und Lernverfahren

Im Laufe der Jahre entwickelte eine Reihe von Forschergruppen ganz charakteristische künstliche neuronale Netze. Diese Modelle kommen den biologischen Vorbildern unterschiedlich nahe; manche scheinen sehr gut gewisse Prozesse im menschlichen Gehirn nachzuahmen, andere haben nur recht entfernte Ähnlichkeit mit ihren biologischen Vorbildern.
Uns geht es hier aber nicht in erster Linie um die Realitätsnähe der einzelnen Modelle, sondern wir wollen vor allem zeigen, welche Art von Problemen man mit den verschiedenen Modellen bearbeiten kann und welche Leistungen diese neuronalen Netze zur Verarbeitung von Information bieten können. Ein künstliches neuronales Netz kann durchaus große Bedeutung für die Informationsverarbeitung haben, auch wenn es nur entfernt biologischen Systemen ähnelt.
In der Einleitung wurde bereits erwähnt, daß neuronale Netze zur Lösung einer ganzen Reihe von Problemen eingesetzt werden können: Klassifikation, Modellierung, Assoziation, Abbildung.
Die einzelnen neuronalen Netze eignen sich in unterschiedlichem Maß zur Behandlung dieser Problemtypen, haben also jeweils besondere Stärken und Schwächen. Dies soll hier dargelegt werden, und wir wollen ein Gefühl dafür entwickeln, welches Netzwerkmodell bei welcher Aufgabenstellung eingesetzt werden soll.
Drei Elemente sind die wesentlichen Charakteristika jedes Modells eines neuronalen Netzes:

1.

die Rechenoperationen in einem Neuron

2.

die Architektur eines Netzes, also wie die einzelnen Neuronen verknüpft sind

3.

das Lernverfahren, das die Gewichte so anpaßt, daß die richtige Antwort erhalten wird.

Das im Abschnitt 2 vorgestellte Modell eines Neurons ist nur eines von vielen, wenn auch ein sehr weit verbreitetes, und auch die Anordnung von Neuronen in Schichten muß nicht immer so gegeben sein, wie in Abschnitt 2 gezeigt. Das Lernverfahren allerdings ist sehr eng an die Architektur des neuronalen Netzes gekoppelt. Es gibt zwei Typen von Lernprozessen: Lernen mit und Lernen ohne Unterweisung ("supervised" und "unsupervised learning").
Beim Lernen mit Unterweisung werden dem neuronalen Netz eine Reihe von Objekten präsentiert und ihm zu den Eingabedaten X dieser Objekte die zu erwartenden Ausgabewerte Y vorgegeben.
Die Gewichte im neuronalen Netz werden dann so angepaßt, daß für den Satz an p bekannten Objekten die Ausgabewerte des neuronalen Netzes möglichst gut mit den Erwartungswerten Y übereinstimmen (Abb. 11).

Abb. 11. Lernen mit Unterweisung. Ein Vergleich mit den Erwartungswerten liefert einen Fehler von der Größe d, die über die Notwendigkeit weiterer Anpassungscyclen entscheidet.

Beim Lernen ohne Unterweisung werden die Eingabedaten so lange über das Netzwerk geschickt, bis sich die Ausgabedaten stabilisiert haben und die Eingabewerte ein Objekt in bestimmte Bereiche des neuronalen Netzes abbilden (Abb. 12).

Abb. 12. Lernen ohne Unterweisung.

4.1. Das Hopfield-Modell

Der amerikanische Physiker Hopfield brachte 1982 mit seinem Modell neues Leben in die Forschung über neuronale Netze [16]. Er wies auf Analogien zwischen neuronalen Netzen und Spinsystemen hin und konnte damit eine ganze Reihe mathematischer Methoden aus der Theoretischen Physik in die Erforschung neuronaler Netze einbringen. Außerdem führte er nichtlineare Übertragungsfunktionen ein.
Das Hopfield-Netz führt eine der interessantesten Tätigkeiten des menschlichen Gehirns aus: es kann assoziieren. Das bedeutet, daß gespeicherte Bilder (oder jede andere komplexe Information, die als mehrdimensionaler Vektor oder als Matrix dargestellt werden kann) bereits anhand von Teilen dieser Information oder einem verzerrten Bild erkannt werden kann. Zum Beispiel kann aus einer Sammlung von Gesichtern ein ganz bestimmtes Gesicht erkannt werden, wenn davon nur die Augen und die Nase gezeigt werden.
Das Hopfield-Netz ist ein Einschichtenmodell, das genau so viele Neuronen hat, wie Eingabedaten vorhanden sind. Da jede Eingabeeinheit mit jedem Neuron verbunden ist (vgl. Abb. 7), hat man bei m Eingangsdaten m x m Gewichte zu bestimmen. Das ursprüngliche Hopfield-Modell arbeitet mit bipolaren Eingabedaten (+1 oder -1) [Gl.(f)].

(f)

Das Nettoergebnis im Neuron j wird, wie in Gleichung (d), durch Multiplikation aller Eingabesignale xi mit den Gewichten wji dieses Neurons erhalten. Die Übertragungsfunktion ist hier eine einfache Stufenfunktion (Abb. 13), wie sie durch die Vorzeichenfunktion (sign) verwirklicht werden kann.

Abb. 13. Die Stufenfunktion als Übertragungsfunktion.

Das Ausgabesignal eines Neurons in einem Hopfield-Netz ergibt sich damit gemäß Gleichung (g), wobei, wie bereits erwähnt, xi nur die Werte +1 und -1 annehmen kann.

(g)

Um das Lernen in einem Hopfield-Netz zu verstehen, wollen wir gleich ein Beispiel anführen: Ein Hopfield-Netz soll die vier einfachen Bilder der Abb. 14 lernen. Jedes Bild besteht aus 4 x 4 Feldern (Pixeln), die entweder schwarz (+1) oder weiß (-1) sind,und läßt sich somit auch als 4 x 4 = 16dimensionaler Vektor X darstellen.

Abb. 14. Vier Bilder, X1, X2, X3 und X4, mit denen ein Hopfield-Netz trainiert wird.

In Abb. 15 ist die Architektur des entsprechenden Hopfield-Netzes und die Eingabe des ersten Bildes mit Werten von -1 und +1 dargestellt. Für ein zum Training verwendetes Bild sind die Ausgabewerte genau gleich den Eingabewerten.

Abb. 15. Architektur des Hopfield-Netzes sowie Ein- und Ausgabe des ersten Bildes der Abbildung 14. Die angegebenen wji-Werte ergeben sich für die vier Bilder aus Abbildung 14 mit Gleichung (h).

Die Gewichte w in einem Hopfield-Netz müssen nun nicht in einem aufwendigen, iterativen Lernverfahren ermittelt werden, sondern lassen sich aus allen zu lernenden Bildern direkt berechnen: Werden dem Hopfield-Netz p Bilder präsentiert, so lassen sich die Gewichte wji für das Neuron j aus den Eingabewerten der einzelnen Bilder s, also Xs, ermitteln nach den Gleichungen (h) und (i).

(h)

(i)

Das bedeutet, daß das Gewicht wji um den Wert 1 zunimmt, wenn in einem bestimmten Bild die Felder j und i beide schwarz oder beide weiß sind, und um den Wert 1 abnimmt, wenn in einem Bild das i-te und j-te Pixel verschiedene Farben haben. Je mehr Bilder in den Pixeln j und i übereinstimmen, umso größer ist das Gewicht wji. Die vier Bilder der Abbildung 14 werden demnach in einem Hopfield-Netz aus 16 Neuronen mit 16 Gewichten in einer 16 x 16 dimensionalen Gewichtematrix gespeichert.
Zunächst soll getestet werden, ob ein Hopfield-Netz stabilisiert ist. Dazu wird ein Eingabevektor (z. B. eines der vier Bilder der Abb. 14) in das Hopfield-Netz eingegeben und mit Gleichung (g) die Ausgabewerte des Netzes bestimmt. Diese Ausgabewerte werden mit den Eingabewerten verglichen. Sind sie gleich, kann abgebrochen werden, andernfalls werden die Ausgabewerte als neue Eingabewerte auf das Netz gegeben und der Vorgang wiederholt (Abb. 16). Erhält man nach wenigen Cyclen als Ausgabe die ursprünglichen Eingabewerte, so kann man von einem stabilisierten Netz sprechen. Natürlich ist ein Hopfield-Netz nicht dazu da, als Ausgabe die ursprünglichen Eingabewerte zu produzieren; dies war nur der Stabilitätstest.

Abb. 16. Test eines Hopfield-Netzes auf Stabilität.

Der wahre Wert eines Hopfield-Netzes kommt zum Tragen, wenn mit unvollständigen oder gestörten Daten die ursprünglich gespeicherten Daten abgerufen werden können, wenn also z. B. ausgehend von einem verwaschenen oder trüben Bild das Originalbild im Hopfield-Netz gefunden werden kann.
Wir wollen dies mit den vier Bildern der Abbildung 14 und einem Hopfield-Netz, in dem diese vier Bilder - in Form von 16 x 16 = 256 Gewichten - gespeichert sind, untersuchen. Gestörte Bilder stellen wir uns dadurch her, daß wir in den ursprünglichen Bildern einige Pixeln ändern, also Felder von schwarz nach weiß und umgekehrt färben. In Abbildung 17 sind die Ergebnisse aufgeführt, die erhalten werden, wenn jedes einzelne Bild um zwei, fünf oder sogar dreizehn Pixel verändert wurde.

Abb. 17. Suche nach gespeicherten Bildern (ganz oben gezeigt) in einem Hopfield-Netz bei Eingabe verrauschter Bilder mit a) zwei, b) fünf und c) dreizehn veränderten Feldern. N gibt die Zahl der Iterationen an, die nötig waren, um aus der jeweils oben gezeigten fehlerhaften Eingabe das jeweils darunter abgebildete Ergebnis zu erhalten.

Man kann sehen, daß bei einer Störung in zwei Feldern die Originalbilder nach 1-2 Iterationen bereits richtig ausgegeben werden. Nach einer Änderung von fünf Feldern (31% Verrauschung!) werden immer noch die ursprünglichen Bilder gefunden, allerdings erst nach 3-5 Iterationen. Dies muß nicht immer so sein; wir haben bei 5-Pixel-Fehlern auch schon erlebt, daß ein falsches Bild oder ein falsches Bild in negativer Form (schwarz und weiß vertauscht) ausgegeben wird oder eine Oszillation zwischen zwei Mustern, die keinem gespeicherten Bild entsprechen, auftritt, so daß abgebrochen werden muß.
Werden dreizehn Pixel in den Bildern verändert (81 % Störung), werden nach 2-3 Iterationen die ursprünglichen Bilder als Negative erhalten. Wie kommt das zustande? Nun, immerhin ist bedeutend mehr als die Hälfte der Felder in ihrer Farbe verändert worden. Aber es ist doch bemerkenswert, daß immer nur das Negativ des ursprünglichen Bildes und nicht das Negativ eines anderen Bildes erhalten wird.
Wir haben also gesehen, daß ein so einfaches Modell wie das Hopfield-Netz eine der interessantesten Leistungen des menschlichen Gehirns, die Assoziation, nachvollziehen kann. Einen Nachteil hat aber ein Hopfield-Netz: Die Zahl der Muster (Bilder, Vektoren), die abgespeichert werden können, ist sehr begrenzt. Mit mehr Bildern braucht man auch immer mehr Neuronen, und damit wird die Gewichtematrix schnell sehr groß.

4.2. Ein adaptiver bidirektionaler Assoziativspeicher (ABAM)

Wir haben am Hopfield-Netz gesehen, daß ein neuronales Netzwerk assoziieren kann. Ein adaptiver bidirektionaler Assoziativspeicher (Adaptive Bidirectional Associative Memory = ABAM) [21] kann dies ebenfalls. Wir werden hier aber noch zeigen, daß ein ABAM darüber hinaus auch Muster zusammensetzen kann. Ein ABAM ist wie ein Hopfield-Netz ein Einschichtennetz. Die Zahl der Ausgabeneuronen n ist aber meist viel geringer als die Zahl der Eingabeeinheiten m.
Um die Schreibweise zu vereinfachen und weil sich beim ABAM die Bedeutung von Eingabe und Ausgabe verwischen kann, wollen wir im folgenden den Eingabevektor nur noch mit X und den Vektor der Ausgabeswerte mit Y bezeichnen. Wir haben also immer Paare von Eingabe- (Xs) und Ausgabewerten (Ys) zu betrachten, wobei der Index s die einzelnen Eingabe- und zugehörigen Ausgabewerte charakterisiert:

Xs=(xs1, xs2, ... xsj, ... xsm)
Ys=(ys1, ys2, ... ysj, ... ysm)

Mit einer Reihe solcher Paare {Xs, Ys}, für die bekannt ist, welche Ys-Werte für bestimmte Xs-Werte zu erwarten sind, werden in einem Lernverfahren mit Unterweisung die Gewichte bestimmt.
Zunächst werden nach Gleichung (j) Startwerte für die Gewichte festgelegt. Die Gewichtsmatrix ist nun nicht mehr quadratisch wie beim Hopfield-Netz, sondern rechteckig; sie hat die Dimension m x n.

(j)

Die Grundidee des Lernens in einem ABAM-Netz ist, daß man eine m x n-Matrix auf zweierlei Weise multiplizieren kann: Standardmäßig durch Multiplikation mit einem m-dimensionalen Vektor, wodurch sich ein n-dimensionaler Vektor ergibt, oder in transponierter Form durch Multiplikation mit einem n-dimensionalen Vektor, wodurch sich ein m-dimensionaler Vektor ergibt (Abb. 18).
Das Lernverfahren spielt sich nun so ab, daß aus den vorgegebenen Paaren {X(o), Y(o)} eine Anfangsgewichtsmatrix W(o) berechnet wird; aus X(o) und W(o) ergeben sich Ausgabewerte Y(1), die noch nicht mit den vorgegebenen Zielwerten übereinstimmen. Daher werden diese Y(1)-Werte mit der transponierten Matrix W(o)T multipliziert, wodurch X(o) -Werte erhalten werden. Aus den Paaren { X(1), Y(1)} wird nach Gleichung(j) eine neue Matrix W(1) berechnet. Dieses Verfahren wird so lange fortgesetzt, bis das Paar { X(t), Y(t)} mit den vorgegebenen Werten { X(o), Y(o)} übereinstimmt.

Abb. 18. Lernvorgang in einem adaptiven bidirektionalen Assoziativspeicher (ABAM).

Bei diesem Vorgang werden die Y-Werte in der üblichen Weise berechnet, wobei auch hier die einzelnen x-und y-Werte bipolar sind (+1, -1)[Gl. (k) und (l)].

(k)

(l)

Der Einsatz eines ABAM sei wie beim Hopfield-Netz anhand einfacher Bilder illustriert. Als Eingangsinformation dienen Bilder aus 5 x 5 Feldern, die schwarz (+1) oder weiß (-1) sein können, die also durch einen 25dimensionalen Vektor dargestellt werden können, so daß 25 Eingabeeinheiten benötigt werden. Wir verwenden nur fünf derartige Bilder und identifizieren sie auf der Ausgabeseite durch einen fünfdimensionalen Vektor. Jedem der fünf Muster (Bilder) wird eine Position in diesem Vektor zugeordnet, also beim ersten Bild ist die erste Position eine Eins, alle anderen Positionen enthalten eine Null (10000), das zweite Bild wird als (01000) repräsentiert usw. (Eigentlich haben wir es mit den bipolaren Werten +1 und -1 zu tun, aber der Übersichtlichkeit halber schreiben wir diese im folgenden in binärer Notation (1,0)). Abbildung 19 gibt die fünf Muster und ihre Identifikation wieder. Das ABAM hat eine 25 x 5-Architektur, also auch 25 x 5 Gewichte.

Abb. 19. Fünf Bilder, mit denen ein ABAM trainiert wurde, und ihre Identifikation.

Mit diesen fünf Bildern und den ihnen zugeordneten fünfdimensionalen Vektoren (Abb.19) wurde ein ABAM trainiert. Dann wurde die Fähigkeit des ABAM untersucht, gestörte Bilder mit den richtigen, eingespeicherten zu assoziieren. Alle möglichen 1-Pixel-Fehler wurden erzeugt; bei fünf Bildern mit 5 x 5 Pixeln sind dies 125 verschiedene gestörte Bilder. In allen Fällen wurde das richtige ungestörte Ausgabebild von dem ABAM ermittelt.
Nun wurde untersucht, ob das ABAM fähig ist, Einzelinformationen zusammenzusetzen, d.h. zu erkennen, wenn ihm Bilder aus zwei Mustern präsentiert werden, welche Kombination von Mustern dies ist, obwohl es vorher nur die einzelnen Muster kennengelernt hatte.
In Abbildung 20 sind alle zehn Zweierkombinationen der fünf Muster als oberes Dreieck einer Matrix, die von den ursprünglichen Mustern aufgespannt wird, gezeichnet, und unter ihnen ist jeweils die Antwort des ABAM als fünfdimensionaler Vektor aufgeführt. In acht Fällen gibt das ABAM genau den richtigen zwei Positionen eine Eins zurück. So liefert es z.B. für das erste kombinierte Muster, das aus den Mustern 1 und 2 zusammengesetzt wurde, die Antwort (11000), sagt also, daß das erste und das zweite Muster darin enthalten sind. Bei zwei Musterkombinationen (1 + 3 sowie 3 + 5) wird ebenfalls erkannt, aus welchen Einzelmustern sie zusammengesetzt sind, zusätzlich wird aber fälschlicherweise noch jeweils ein drittes Muster als daran beteiligt angesehen. Werden diese Dreierkombinationen tatsächlich erzeugt, wie in der untersten Zeile der Abbildung 20 geschehen, so erkennt man, daß sie sich nur sehr wenig (1 Pixel Unterschied) von den Zweierkombinationen unterscheiden. Die Antwort des ABAM in diesen zwei Fällen liegt also nur sehr wenig von der Wirklichkeit entfernt.

Abb. 20. Alle Kombinationen aus zwei Bildern der Abbildung 19. Die zwei Fälle, bei denen vom ABAM fälschlicherweise drei Bits aktiviert werden, werden mit der in der untersten Reihe gezeichneten Kombination dreier Bilder verglichen. Einzelheiten siehe Text.

Die Fähigkeit des ABAM, Muster zusammenzusetzen, wurde hier aus zwei Gründen etwas ausführlicher diskutiert. Zum einen ist natürlich die Fähigkeit zu erkennen, daß eine Information aus Einzelinformationen zusammengesetzt (kombiniert) ist, eine wichtige Leistung des menschlichen Gehirns. Wenn das ABAM dies auch kann, so ist damit wiederum ein wichtiger Aspekt der biologischen neuronalen Informationsverarbeitung nachgeahmt worden.
Zum anderen ist die Fähigkeit zum Zusammensetzen von Einzelinformationen bei vielen Problemstellungen in der Chemie benötigt, vor allem beispielsweise zum Erkennen der Zusammenhänge zwischen Struktur und spektroskopischen Daten. Würde einem neuronalen Netz dieser Zusammenhang anhand von Paaren aus Spektren und Strukturen angelernt, so sollte es aus einem neuen Spektrum alle vorhandenen Substrukturen ableiten können, auch wenn es eine bestimmte Kombination an Substrukturen vorher noch nie in einer einzigen Struktur zusammen "gesehen" hatte.

4.3. Das Kohonen-Netz

4.3.1. Grundlagen

T. Kohonen [22][23] hat ein neuronales Netz entwickelt, das von allen Modellen die größte Ähnlichkeit mit dem biologischen Vorbild hat [24]. Insbesondere gilt dies dafür, wie das Gehirn sensorische Signale verarbeitet.
In der Gehirnrinde befindet sich ein breiter Streifen, der auf die Wahrnehmung von Tastreizen spezialisiert ist und als somatosensorischer Kortex bezeichnet wird. Er ist in Bereiche gegliedert, die jeweils für bestimmte Körperteile zuständig sind, wobei zu Körperoberflächen mit besonders vielen Sinnesrezeptoren entsprechend große und zusammenhängende Felder gehören, während die Felder der Hautregionen mit wenigen Tastnerven klein sind, selbst wenn der Körperteil im Verhältnis eigentlich sehr groß ist. Zudem sind benachbarte Körperteile auch benachbarten Regionen im somatosensorischen Kortex zugeordnet, so daß im Gehirn für den Tastsinn ein verzerrtes Abbild der Körperoberfläche vorliegt (Abb. 21).

Abb. 21. Karte des menschlichen Körpers (oben) im somatosensorischen Kortex des Gehirns (unten markiert).

Kohonen hat das Konzept der "selbstorganisierten topologischen Karten" (self-organized topological feature maps) eingeführt, das solche Abbildungen erzeugen kann. Es handelt sich dabei um zweidimensionale Anordnungen von Neuronen, die die Topologie einer Information, d.h. die Beziehungen zwischen einzelnen Daten und nicht deren Größe, möglichst gut wiedergeben sollen. Mit dem Kohonen-Modell läßt sich die Abbildung einer mehrdimensionalen Information in eine Ebene aus Neuronen erzielen, wobei die wesentlichen Inhalte (Beziehungen) der Information erhalten bleiben; der Vorgang stellt also eine Abstraktion dar. Abbildung 22 zeigt die zweidimensionale Anordnung der Neuronen eines Kohonen-Netzes.

Abb. 22. Zweidimensionale Anordnung der Neuronen eines Kohonen-Netzes.

Abbildung einer Information bedeutet in diesem Zusammenhang, daß sich die Ähnlichkeit zweier Signale in der Nachbarschaftsbeziehung der durch sie aktivierten Neuronen ausdrückt: Je ähnlicher zwei Signale sind, desto näher sollen sich die von ihnen angeregten Neuronen sein. Da es sich hier aber um eine topologische und nicht um eine euklidische Distanz handelt, hat ein Neuron in einer quadratischen Anordnung (Abb. 23a) acht Nachbarn in der ersten Sphäre, da acht Neuronen direkt zu ihm benachbart sind. In einem Kohonen-Netz mit quadratisch angeordneten Neuronen wachsen die Nachbarschaftssphären wie in Abbildung 23b gezeigt durch das Netz.

Abb. 23. Nachbarschaftsbeziehungen für die Neuronen in einem Kohonen Netz. a) Erste Nachbarschaftssphäre; b) Wachstum der Nachbarschaftssphären; c) Neuronen am Netzrand.

Wir müssen die Diskussion der Topologie des Kohonen-Netzes noch etwas fortführen, bevor zum Lernalgorithmus übergegangen werden kann, denn die Topologie ist der entscheidende Begriff beim Kohonen-Netz.
Wenn jedes Neuron gleich viele Nachbarn haben soll, dann ist eine quadratisch-planare Anordnung schlecht geeignet, denn Neuronen an den Rändern haben dann weniger Nachbarn als solche im Zentrum des Netzes (Abb. 23c). Wir können aber aus einer quadratischen oder rechteckigen Anordnung von Elementen (Neuronen) leicht eine Anordnung erzeugen, bei der jedes Element genau gleich viele Nachbarn hat. Dazu muß man nur die Fläche umwölben und an jeweils zwei gegenüberliegenden Kanten verbinden ("zusammenkleben"). So entsteht, wie Abbildung 24 zeigt, aus der Fläche ein Zylinder und aus diesem dann ein Torus.

Abb. 24. Überführung einer rechteckigen Anordnung von Neuronen in einen Torus, bei dem jedes Neuron gleich viele Nachbarn hat.

In einem Torus hat jedes Element gleich viele Nachbarn, 8 in der ersten Sphäre, 16 in der zweiten Sphäre usw. Eine Abbildung auf einem Torus ist natürlich schlecht in ihrer Gesamtheit sichtbar zu machen. Wir werden daher weiterhin Kohonen-Netze als ebene Fläche darstellen, wissen nun aber, daß sich diese Fläche, wenn man an einer Kante ankommt, an der gegenüberliegenden Kante fortsetzt. Die beiden voll ausgefüllten Quadrate in Abbildung 25 sind also direkt benachbart, und Gleiches gilt in der horizontalen Richtung für die durch Kreuze gekennzeichneten Felder.

Abb. 25. Darstellung der Fläche eines Torus in einer Ebene. Die obere Kante setzt sich unten fort, die linke Kante schließt direkt an die rechte an.

Die Topologie eines Kohonen-Netzes wurde hier etwas ausführlicher diskutiert, um Anwendungsbeispiele besser verstehen zu können (siehe Abschnitte 10.1 und 10.2).

4.3.2. Das Lernverfahren

Im Kohonen-Netz wird kompetitiv gelernt: Alle Neuronen des Netzes konkurrieren um die Stimulation durch das Eingabesignal. Das Eingabesignal ist dabei ein Objekt, das durch m Einzelwerte beschrieben wird; es kann also als Punkt in einem m-dimensionalen Raum aufgefaßt werden, der auf eine Ebene abgebildet werden soll. Nur ein einziges Neuron wird schließlich als bestes - als das zentrale Neuron c - ausgewählt ("The winner takes all"), wobei unterschiedliche Kriterien verwendet werden; häufig wählt man dasjenige Neuron, dessen Gewichte insgesamt dem Eingabesignal am ähnlichsten sind [Gl. (m)].

(m)

Für dieses zentrale Neuron werden die Gewichte wjc so korrigiert, daß sein Ausgabewert dem Eingabesignal noch ähnlicher wird. Auch die Gewichte der anderen Neuronen werden korrigiert, allerdings um so weniger, je weiter sie von dem am stärksten erregten (zentralen) Neuron entfernt sind. Hierbei kommt es nur auf die topologische Distanz an, d.h. auf die Nachbarschaftssphäre (vgl. Abb. 23), in der sich das betrachtete Neuron bezüglich des zentralen Neurons befindet.
Anschließend wird der Prozeß mit den nächsten Eingabedaten wiederholt. Jedes Objekt, also jeder Punkt aus dem m-dimensionalen Raum, stimuliert ein ganz bestimmtes Neuron, so daß jedes Objekt einem definierten Punkt im Kohonen-Netz zugeordnet wird.
Ein einfaches Beispiel, die Abbildung einer Kugeloberfläche auf ein Kohonen-Netz, soll die Arbeitsweise und die Ergebnisse eines Kohonen-Netzes näher erläutern (Abb. 26).
Die Kugeloberfläche wurde dazu in acht Kugeldreiecke eingeteilt; ein Punkt auf der Oberfläche ist durch seine drei Koordinaten (x,y,z-Wert) charakterisiert. Als Kohonen-Netz wurde eine Anordnung von 15 x 15 = 225 Neuronen festgelegt. Das heißt, drei Eingabeeinheiten geben ihre Daten auf 225 Neuronen, so daß 3 x 225 = 675 Gewichte bestimmt werden müssen.

Abb. 26. Abbildung einer Kugeloberfläche auf ein Kohonen-Netz. Die Kugeloberfläche wurde in acht Kugeldreiecke eingeteilt; jeder Punkt auf der Kugeloberfläche wird durch seine Zugehörigkeit zu einem dieser Kugeldreiecke charakterisiert. Der in der unteren Kugeldarstellung markierte Punkt gehört beispielsweise zum Dreieck mit der Nummer 4.

Auf der Kugeloberfläche wurden willkürlich 2000 Punkte ausgewählt und deren x, y und z-Koordinaten der Reihe nach zum Training des Kohonen-Netzes verwendet. Zur graphischen Darstellung des Netzes, das sich nach dem Lernen dieser 2000 Punkte herausgebildet hatte, wurden die Punkte mit der Nummer des Kugeldreieckes, aus dem sie stammen, identifiziert (diese Information wurde aber im Lernverfahren nicht verwendet, sondern diente nur am Schluß zur Kennzeichnung der Punkte!). Da 2000 Punkte auf 225 Felder abgebildet werden, muß natürlich ein Feld jeweils mehrere Punkte repräsentieren. Aber es ergibt sich, daß am Ende des Lernens in ein Feld immer Punkte aus dem gleichen Kugeldreieck gelangen und daß in benachbarte Felder Punkte aus benachbarten Regionen der Kugeloberfläche projiziert werden.

Abb. 27. Ergebnis der Abbildung einer Kugeloberfläche auf ein Kohonen-Netz.

Abbildung 27 zeigt das resultierende Kohonen-Netz. Felder mit gleichen Ziffern, also mit Punkten aus dem gleichen Kugeldreieck, bilden zusammenhängende Flächen im Kohonen-Netz. Dabei ist natürlich zu beachten, daß die dargestellte Fläche eigentlich einen Torus bildet (Abb. 24), daß also Punkte am linken Rand ihre Fortsetzung am rechten Rand haben (Abb. 25 ). So haben die beiden Felder am linken Rand mit der Ziffer 8 tatsächlich direkten Anschluß an die übrigen Felder, die mit der Ziffer 8 markiert sind. Einigen Felder (Neuronen) des Kohonen-Netzes wurden kein einziger Punkt der Kugeloberfläche zugeordnet; diese Felder sind als weiße Fläche dargestellt. Daß die Kugeloberfläche unter Erhalt der Nachbarschaftsbeziehungen der Punkte auf der Kugel auf das Kohonen-Netz abgebildet wurde, läßt sich auch aus den in Abbildung 28 dargestellten Details des Kohonen-Netzes ablesen. Dreiecke auf der Kugel, die an Längengraden oder am Äquator zusammenstoßen, sind in der Projektion in das Kohonen-Netz auch benachbart und haben ganze Linienzüge gemeinsam. In mehreren Regionen stoßen vier Felder zusammen (in Abb. 28 eingekreist); diese Regionen oder Punkte entsprechen den Durchstoßpunkten der Koordinatenachsen durch die Kugeloberfläche. So stoßen z. B. in Abbildung 28 unten Mitte die Felder 1, 2, 3 und 4 zusammen; diese Region entspricht dem "Nordpol" der Kugel von Abbildung 26.

Abb. 28. Markierung der Bereiche in der Kohonen-Karte von Abbildung 27, in denen vier Kugeldreiecke zusammenstoßen, durch gestrichelte Kreise.

Die Abbildung einer Kugel auf ein Kohonen-Netz wurde so ausführlich dargelegt, um zu zeigen, wie ein einfacher dreidimensionaler Körper in eine Ebene abgebildet wird. Damit wird die Arbeitsweise eines Kohonen-Netzes als Topologie-erhaltende Abbildung gut illustriert und die Grundlage für das Verständnis der Anwendung des Kohonen-Netzes auf Beispiele aus der Chemie geschaffen.

4.4. "Backpropagation"

Die Mehrzahl der Anwendungen neuronaler Netze verwendet den "Backpropagation"-Algorithmus. Dieser Algorithmus repräsentiert keine spezielle Netzwerkarchitektur - meist wird ein Mehrschichtennetz eingesetzt -, sondern ist ein besonderes Lernverfahren. Obwohl diese Methode erst 1986 durch Rumelhart, Hinton und Williams [17] eingeführt wurde, gewann sie sofort große Popularität und trug entscheidend zum Siegeszug der neuronalen Netze bei. So ergab sich bei einer vor gut zwei Jahren durchgeführten Analyse aller Veröffentlichungen über den Einsatz neuronaler Netze in der Chemie, daß der Backpropagation-Algorithmus bei 90 % der Arbeiten verwendet wurde [2].
Die Attraktivität des Lernens durch Backpropagation kommt dadurch zustande, daß die Korrekturen der Gewichte des neuronalen Netzes mit wohldefinierten Gleichungen berechnet werden können. Allerdings existiert zwischen dieser Prozedur zur Fehlerkorrektur und den Prozessen, die bei der Änderung der Synapsenstärken im biologischen System ablaufen, kaum eine Analogie.
Der Backpropagation-Algorithmus wird bei Ein- und Mehrschichtennetzen angewendet und ist ein Lernverfahren mit Unterweisung (supervised learning). Die Eingabedaten werden über die Schichten hinweggeschickt; die Ausgabedaten einer Schicht l, Outl, sind die Eingabedaten Xl+1 der Schicht l+1. Aus der letzten Schicht sollten eigentlich die für die Eingabedaten zu erwartenden Ergebnisse erhalten werden. Zunächst wird dies noch nicht der Fall sein. Die Ausgabedaten, Outlast der letzten Schicht werden deshalb mit den Erwartungswerten Y verglichen und daraus ein Fehler ermittelt. Dieser Fehler wird nun verwendet, um die Gewichte der Ausgabeschicht zu korrigieren. Dann werden die Gewichte der vorletzten Schicht unter Berücksichtigung des Fehlers in der letzten Schicht korrigiert, und so werden die Fehler schichtweise von unten nach oben durchgeschleust und zur Berechnung der Korrekturen der Gewichte herangezogen (Abb. 29). Der Fehler wandert also gegenläufig zu den Eingabedaten, daher der Name Backpropagation oder, wie bereits salopp formuliert, "Fehlerkorrektur im Rückwärtsgang" [25]. Im folgenden werden nur die Grundzüge des Backpropagation- Algorithmus aufgezeigt; für eine ausführliche Ableitung muß auf die Literatur verwiesen werden [1][17][18][25).

Abb. 29. Das Lernverfahren des Backpropagation Algorithmus. Die Gewichte werden durch Rückführung des Fehlers korrigiert.

Der Backpropagation-Algorithmus soll die Gewichte so verändern, daß der Fehler für die Ausgabewerte Out minimal wird, d.h. daß diese möglichst gut mit den vorgegebenen Werten Y übereinstimmen.
In der letzten Schicht kann der Fehler direkt bestimmt werden, denn der Wert Y, der in der Ausgabeschicht erwartet wird, ist ja bekannt. Die Gewichtsänderungen der letzten Schicht, Dwjilast, werden durch Ableiten des Fehlers e [Gl.(n)] nach den einzelnen Gewichten bestimmt. Die führt aufgrund der Kettenregel zu den Gleichungen (o) und (p). h ist dabei ein Parameter, die Lernrate, dessen Wert vorgegeben werden kann. Er bestimmt, wie rasch ein neuronales Netz lernt. Gewöhnlich wird für ihn ein Wert zwischen 0,1 und 0,9 gewählt.

(n)

(o)

(p)

In den Zwischenschichten ist der Fehler dagegen nicht direkt bekannt, denn man weiß ja gar nicht welche Ausgabewerte Outl aus den Zwischenschichten kommen sollen. Hier wird nun angenommen, daß sich der Fehler aus der darunterliegenden Schicht gleichmäßig über alle Verbindungen zur darüberliegenden Schicht verteilt hat. Damit kann der Fehler in einer Schicht jeweils aus dem Fehler der darunterliegenden Schicht berechnet werden. Dies ist die Grundlage des Backpropagation-Algorithmus: Der Fehler wird durch die einzelnen Schichten zurückgetragen ("backpropagation of errors"), und damit werden die Gewichte der einzelnen Schichten korrigiert.
Insgesamt ergibt sich für die Korrektur der Gewichte einer Schicht die geschlossene Form (q).

(q)

Häufig werden bei der Korrektur der Gewichte auch noch die Änderungen der Gewichte im vorhergehenden Cyclus (previous) mitberücksichtigt. Dies geschieht dadurch, daß Gleichung (q) noch um den additiven Beitrag wjil(previous) erweitert wird.
Der Parameter m ist das Vergessensmoment. Er bestimmt, wie stark vorhergehende Gewichtsänderungen mitberücksichtigt werden sollen, d.h. er verleiht dem Lernvorgang ein gewisses Beharrungsvermögen. Je kleiner m ist, um so rascher werden vorhergehende Änderungen der Gewichte wieder vergessen. Man kann zeigen, daß die Summe von h und m ungefähr bei 1 liegen soll [26].

Previous PageNext Page


Johann.Gasteiger@chemie.uni-erlangen.de