Previous PageNext Page

2. Neuronen und Netzwerke

Wenn hier von neuronalen Netzen gesprochen wird, dann müßte es eigentlich immer "künstliche neuronale Netze" heißen, denn sie wurden ja entwickelt, um die biologischen neuronalen Netze im menschlichen Gehirn nachzubilden. Der Einfachheit halber wird der Vorsatz "künstlich" aber weggelassen.

2.1. Ein Neuronenmodell

Neuronale Netze sind Systeme aus zu Netzwerken verknüpften Untereinheiten, den Neuronen. Das künstliche Neuron soll die Funktionen einer biologischen Nervenzelle, des Neurons, modellieren. Wenn es auch mindestens fünf physiologisch unterschiedliche Nervenzellen gibt, so genügt es doch hier, nur einen Typ vorzustellen (Abb. 2), da hier nur der Grundaufbau eines Neurons besprochen wird; auf die physiologischen Prozesse - und die sie verursachenden chemischen Vorgänge [3] - kann nicht näher eingegangen werden.

Abb. 2. Stark vereinfachte schematische Darstellung einer Nervenzelle. In Wirklichkeit ist die Zahl der Dendriten und die Zahl der Verzweigungen in den Dendriten und im Axon sehr viel höher.

Der Nervenzellkörper weist eine große Zahl von Verästelungen auf, die Dendriten, die Signale aufnehmen und zum Zellkörper leiten. Dort werden die Signale gesammelt und führen, wenn ein bestimmter Schwellenwert überschritten wird, zum "Feuern" des Neurons, d.h. es wird ein elektrischer Reiz über das Axon weitergeleitet. An seinem Ende hat ein Axon Kontakt zu Dendriten der Nachbarneuronen; diese Kontaktstellen werden Synapsen genannt. Über sie werden die Neuronen miteinander vernetzt.
Die Synapsen sind zugleich Barrieren, die die Intensität eines Signals beim Weiterleiten ändern. Das Ausmaß dieser Änderung hängt von der Synapsenstärke ab. Das Eingabesignal mit der Stärke xi an der Synapse i mit der Synapsenstärke wi hat nach deren Passieren die Intensität si [Gl.(a),Abb. 3]. Die Synapsenstärke kann sich ändern, und das sogar zwischen zwei aufeinanderfolgenden Impulsen.

(a)

Abb. 3. Änderung eines Eingabesignals xi beim Durchgang durch eine Synapse mit der Stärke wi.

Jedes Neuron hat eine große Zahl von Dendriten und erhält damit gleichzeitig viele Signale. Diese m Signale vereinigen sich zu einem kollektiven Signal. Die Art und Weise, wie sich dieses kollektive Signal Net aus den Einzelsignalen zusammensetzt, ist noch nicht genau bekannt.
Bei der Entwicklung eines künstlichen Neurons werden zwei Annahmen gemacht:

1.

Das Nettosignal Net ist eine Funktion aller Signale, die in einem bestimmten Zeitintervall im Neuron ankommen, und aller Synapsenstärken.

2.

Die Funktion wird meist gleich der Summe der Signale si gesetzt, die sich als Produkte der Eingabesignale xi (i=1, ...m) und der Synapsenstärken wi (i=1, ...m), jetzt Gewichte genannt, ergeben [Gl.(b)]. Abbildung 4 gibt das bis jetzt entwickelte Modell eines Neurons wieder.

(b)

Abb. 4. Erste Stufe eines Neuronenmodells.

Das Nettosignal ist nun noch nicht das Signal, das weitergegeben wird, denn dieser kollektive Wert Net kann sehr groß und er kann vor allem auch negativ werden. Gerade diese letzte Eigenschaft kann die Wirklichkeit nicht gut wiedergeben: Ein Neuron feuert oder auch nicht, aber was soll ein negatives Nettosignal bedeuten? Um ein realistischeres Modell zu erhalten, wird der Wert von Net deshalb durch eine Übertragungsfunktion modifiziert. Am häufigsten wird dabei eine sigmoide Funktion, auch logistische oder Fermi-Funktion genannt, verwendet. Mit dieser Übertragungsfunktion wird der Wertebereich des Ausgangssignals out [Gl.(c)] zwischen Null und Eins gezwungen, ob nun Net groß oder klein oder auch negativ ist, und vor allem, man hat nun einen nichtlinearen Zusammenhang zwischen Eingabe- und Ausgabesignal und kann damit nichtlineare Beziehungen zwischen Eigenschaften darstellen, was mit statistischen Verfahren oft schwierig ist. Darüber hinaus besitzt man mit a und J zwei Parameter, mit denen man die Funktion des Neurons beeinflussen kann (Abb. 5).

(c)

Abb. 5. Einfluß der Parameter a (a) und J (b) auf das gemäß Gleichung (c) definierte Ausgabesignal outj.

Die Übertragungsfunktion vervollständigt das Modell des Neurons. In Abbildung 6a sind die Synapsenstärken oder Gewichte w noch wie in Abbildung 4 dargestellt; im weiteren werden sie, wie in Abbildung 6b, nicht mehr gezeichnet, sind aber selbstverständlich noch zu verwenden.

Abb. 6. Vollständiges Neuronenmodell a) mit, b) ohne explizite Angabe der Synapsenstärke w.

Symbole und Konventionen

In der Literatur über neuronale Netze wird eine verwirrende Vielfalt an Bezeichungsweisen und Symbolen verwendet. Um die einzelnen neuronalen Netze besser vergleichen zu können, wählten wir für den gesamten Artikel eine einheitliche Nomenklatur:

-

Größen, die aus einem einzigen Wert bestehen (skalare Größen), werden mit Kleinbuchstaben in Kursivschrift wiedergegeben: xi. (Die einzige Ausnahme ist Net, das großgeschrieben wird, um es - im Englischen - nicht mit dem Ausdruck für Netz zu verwechseln). Net ist übrigens auch wie out Symbol für eine einzige Größe, das ausnahmsweise zum klareren Verständnis mit drei Buchstaben geschrieben wird.

-

Größen, die aus mehreren zusammengehörigen Werten bestehen (Vektoren oder Matrizen), werden mit Großbuchstaben in fetter Kursivschrift dargestellt: X.

-

Ein Eingabeobjekt, das durch mehrere Einzeldaten (z. B. Meßwerte) beschrieben ist, wird demnach durch X dargestellt, die Einzelwerte durch x1, x2,... xm. Ein einzelner Eingabewert hieraus wird mit dem Index i, also mit xi beschrieben.
Ein einzelnes Neuron aus einer Gruppe (Schicht) von n Neuronen wird mit dem Index j bezeichnet, die Gesamtheit der Ausgabesignale dieser n Neuronen wird mit Out (out1, out2,... outn): Das Ausgabesignal eines beliebigen dieser n Neuronen hat demnach den Wert outj.

-

In einer Schicht mit n Neuronen, die m Eingabedaten erhalten, gibt es n x m Gewichte, die in einer Matrix W (w11,w12...wnm) organisiert sind. Ein einzelnes Gewicht hieraus wird durch wji bezeichnet.

-

Gibt es mehrere Eingabeobjekte, dann werden sie mit dem Index s unterschieden: Xs; die einzelnen Daten heißen dann xsi.

-

In einem Mehrschichtennetz werden die Schichten durch einen hochgestellten Index l bezeichnet, z. B. outlj.

-

Iterationen in einem neuronalen Netzwerk werden durch hochgestellte Indices t, die in Klammern geführt werden, charakterisiert, z. B. W(t).

2.2. Vernetzung von Neuronen

Das 100-Schritte-Paradoxon hat gelehrt, daß die Stärke des menschlichen Gehirns in der parallelen Verarbeitung von Information begründet ist. Das soeben vorgestellte Neuronenmodell ist sehr einfach gestaltet, aber selbst viel kompliziertere Modelle führen zu keiner sonderlich höheren Leistungsfähigkeit. Die eigentlichen Kapazitäten und die Flexibilität neuronaler Netze kommen erst durch die Vernetzung der einzelnen Recheneinheiten, der künstlichen Neuronen, zustande.
Viele Arten der Vernetzung von Neuronen wurden untersucht, und in den folgenden Abschnitten werden einige Netzwerkmodelle und -architekturen vorgestellt. Am häufigsten sind Schichtenmodelle, und an dieser Netzwerkarchitektur soll daher die Funktion eines neuronalen Netzes erläutert werden.
In einem Schichtenmodell werden die Neuronen in Gruppen, den Schichten, zusammengefaßt. Die Neuronen einer Schicht haben untereinander keine Verbindung, sondern nur zu den Neuronen der darüber- und der darunterliegenden Schicht. In einem Einschichtennetzwerk gehören alle Neuronen einer einzigen Schicht an (Abb. 7). Jedes Neuron j erhält Zugang zu allen Eingabedaten X (x1 , x2, ... xi, ... xm) und erzeugt daraus einen für dieses Neuron spezifischen Ausgabewert outj.

Abb. 7. Neuronales Netz mit den Eingabeeinheiten (Quadrate) und einer Schicht aktiver Neuronen (Kreise).

In Abbildung 7 sind oben die Eingabeeinheiten gezeichnet. Sie stellen keine Neuronenschicht dar, da sie nicht die typischen Rechenoperationen der Neuronen, Bildung des Nettosignals Net und dessen Umwandlung durch die Übertragungsfunktion in das Ausgabesignal out, ausführen. Zum Unterschied von Neuronen, die in den folgenden Abbildungen von Netzen durch Kreise symbolisiert sind, werden Eingabeeinheiten durch Quadrate dargestellt.
Die Eingabeeinheiten dienen nur dazu, die einzelnen Eingabedaten auf sämtliche Neuronen der darunterliegenden Schicht zu verteilen, wobei in den Neuronen unterschiedliche Werte ankommen, da jede Verbindung einer Eingabeeinheit i zu einem Neuron j ein ganz spezifisches Gewicht wji hat, das einer bestimmten Synapsenstärke entspricht. Die Größe der Gewichte muß in einem Lernprozeß ermittelt werden; dies ist jedoch das Thema von Abschnitt 4.
Der Ausgabewert eines Neurons, outj, wird durch die Gleichungen (d) und (e) bestimmt, die Verallgemeinerungen der Gleichungen (b) bzw. (c) sind. Der Index j läuft dabei über alle n Neuronen, der Index i über alle m Eingabewerte.

(d)

(e)

In einem Einschichtennetzwerk sind die Ausgabesignale outj der einzelnen Neuronen bereits die Ausgangswerte des neuronalen Netzes.
Die Gleichungen (d) und (e) legen eine formalere Repräsentation eines Neurons und eines neuronalen Netzes nahe: Die Eingangsdaten können als Vektor X (x1, x2, ... xi , ... xm) aufgefaßt werden, der durch die Matrix der Gewichte, W, mit den Einzelelementen wji und die Übertragungsfunktion in den Vektor der Ausgabewerte, Out (out1, out2, ... outj, ... outn), umgewandelt wird (Abb. 8).

Abb. 8. Matrizendarstellung eines Einschichtennetzwerks, das die Eingabedaten X mit Hilfe der Gewichte wji in die Ausgabedaten Out umwandelt.

Jedes Neuron entspricht einer Spalte in der Matrix der Abbildung 8. In dieser Matrizendarstellung ist ebenfalls deutlich zu sehen, daß jeder Eingabewert in jedes Neuron geschickt wird. Aus der Matrizenrepräsentation eines neuronalen Netzes ist auch die algorithmische Realisierung eines Schichtenmodells deutlich abzulesen.
Eine einzige Schicht aus Neuronen heißt auch Perzeptronmodell. Damit hat man noch wenig Flexibilität für die Umwandlung der Eingabedaten in Ausgabewerte. Diese Begrenzungen des Perzeptronmodells können durch Hintereinanderschalten mehrerer Schichten überwunden werden.
In einem Mehrschichtenmodell wird meist eine Architektur gewählt, bei der die Neuronen einer Schicht mit allen Neuronen der darüberliegenden Schicht und allen Neuronen der darunterliegenden Schicht verknüpft sind. Abbildung 9 stellt ein neuronales Zweischichtennetzwerk dar (wie bereits erwähnt, werden die Eingabeeinheiten nicht mitgezählt, da sie ja keine Neuronen sind, sondern nur zur Aufteilung der Eingabewerte auf die darunterliegende Neuronenschicht dienen).

Abb. 9. Neuronales Netz mit den Eingabeeinheiten und zwei Schichten aktiver Neuronen.

Die erste Schicht an Neuronen hat keine direkten Verbindungen nach außen und heißt deshalb auch verdeckte Schicht (hidden layer); die sie bildenden Neuronen werden auch als innere Neuronen bezeichnet. Die Ausgabewerte Outl, der ersten Neuronenschicht sind die Eingabewerte X2 der zweiten Neuronenschicht. Jedes Neuron der oberen Schicht gibt dabei seinen Ausgabewert an alle Neuronen der darunterliegenden Schicht weiter. Aufgrund der unterschiedlichen Gewichte wji in den einzelnen Verbindungen (Synapsen) hat der gleiche Ausgabewert Outl = X2 in den einzelnen Neuronen unterschiedliche Wirkungen [Gl.(d)]. Erst die Ausgabewerte der letzten Neuronenschicht, hier Out2, sind das Resultat eines neuronalen Netzes. Abbildung 10 gibt ein Zweischichtennetzwerk in der Matrixnotation wieder.

Abb. 10.Matrizendarstellung eines Zweischichtennetzwerks.

Previous PageNext Page


Johann.Gasteiger@chemie.uni-erlangen.de