Meine Merkliste
my.bionity.com  
Login  

Künstliches Neuron



Ein künstliches Neuron bildet die Basis für das Modell der künstlichen neuronalen Netze, einem Modell aus der Neuroinformatik, das durch biologische neuronale Netze motiviert ist. Als konnektionistisches Modell bilden sie in einem Netzwerk aus künstlichen Neuronen ein künstliches neuronales Netz und können so beliebig komplexe Funktionen approximieren, Aufgaben erlernen und Probleme lösen, bei denen eine explizite Modellierung schwierig bis nicht durchführbar ist. Beispiele sind die Gesichts- und Spracherkennung.

Als Modell aus dem biologischen Vorbild der Nervenzelle entstanden, kann es mehrere Eingaben verarbeiten und entsprechend über seine Aktivierung reagieren. Dazu werden die Eingaben gewichtet an eine Ausgabefunktion übergeben, welche die Neuronenaktivierung berechnet. Ihr Verhalten wird ihnen im Allgemeinen durch Einlernen unter Verwendung eines Lernverfahrens gegeben.

Inhaltsverzeichnis

Geschichte

  Die Anfänge der künstlichen Neuronen gehen auf Warren McCulloch und Walter Pitts im Jahr 1943 zurück. Sie zeigen an einem vereinfachten Modell eines Neuronalen Netzes, der McCulloch-Pitts-Zelle, dass diese logische und arithmetische Funktionen berechnen kann.

  Die Hebbsche Lernregel wird im Jahr 1949 von Donald Hebb beschrieben. Aufbauend auf der medizinischen Forschung von Santiago Ramón y Cajal, der bereits 1911 die Existenz von Synapsen nachgewiesen hat, werden nach dieser Regel wiederholt aktive Verbindungen zwischen Nervenzellen gestärkt. Die Verallgemeinerung dieser Regel wird auch in den heutigen Lernverfahren noch verwendet.

Eine wichtige Arbeit kommt im Jahre 1958 mit dem Konvergenztheorem über das Perzeptron heraus. Dort zeigt Frank Rosenblatt, dass es mit dem angegebenen Lernverfahren alle Lösungen einlernen kann, die mit diesem Modell repräsentierbar sind.

Jedoch zeigen die Kritiker Marvin Minsky und Seymour Papert 1969, dass ein einstufiges Perzeptron eine XOR-Verknüpfung nicht repräsentieren kann, weil die XOR-Funktion nicht linear separierbar (linear trennbar) ist, erst spätere Modelle können diesen Missstand beheben. Die so gezeigte Grenze in der Modellierung führt zunächst zu einem abnehmenden Interesse an der Erforschung der künstlichen neuronalen Netze sowie zu einer Streichung von Forschungsgeldern.

Ein Interesse an künstlichen Neuronalen Netzen kommt erst wieder auf, als John Hopfield die Hopfield-Netze 1985 bekannt macht und zeigt, dass sie in der Lage sind Optimierungsprobleme zu lösen, wie das Problem des Handlungsreisenden[1]. Ebenfalls führt die Arbeit zum Backpropagation-Verfahren von David E. Rumelhart, Geoffrey E. Hinton und Ronald J. Williams ab 1986 zu einer Wiederbelebung der Erforschung dieser Netze.

Heute werden solche Netze in vielen Forschungsbereichen verwendet.

Biologische Motivierung

  Motiviert sind künstliche Neuronen durch die Nervenzellen der Säugetiere, die auf die Aufnahme und Verarbeitung von Signalen spezialisiert sind. Über Synapsen werden Signale elektrisch oder chemisch an andere Nervenzellen oder Effektorzellen weitergeleitet.

Eine Nervenzelle besteht aus dem Zellkörper, Axon und den Dendriten. Dendriten sind kurze Zellfortsätze, die stark verzweigt für die Aufnahme von Signalen anderer Nervenzellen oder Sinneszellen sorgen. Das Axon funktioniert als Signalausgang der Zelle und kann eine Länge von bis zu 1 m erreichen. Der Übergang der Signale erfolgt an den Synapsen, welche erregend oder hemmend wirken können.

Die Dendriten der Nervenzelle leiten die eingehenden, elektrischen Erregungen an den Zellkörper weiter. Erreicht die Erregung einen gewissen Grenzwert und übersteigt ihn, entlädt sich die Spannung und pflanzt sich über das Axon fort (Alles-oder-Nichts-Gesetz).

Die Verschaltung dieser Nervenzellen bildet die Grundlage für die geistige Leistung des Gehirns. Das Zentralnervensystem des Menschen besteht nach Schätzungen aus 1010 bis 1012 Nervenzellen, die durchschnittlich 10.000 Verbindungen besitzen – das menschliche Gehirn kann also mehr als 1014 Verbindungen besitzen[2][3]. Das Aktionspotential im Axon kann sich mit einer Geschwindigkeit bis zu 100 m/s fortpflanzen.

Im Vergleich zu Logikgattern zeigt sich auch die Effizienz von Neuronen. Während Gatter im Nanosekunden-Bereich (10-9) schalten, unter einem Energieverbrauch von 10-6 Joule (Daten von 1991), reagieren Nervenzellen im Millisekunden-Bereich (10-3) und verbrauchen lediglich eine Energie von 10-16 Joule. Trotz der augenscheinlich geringeren Werte in der Verarbeitung durch Nervenzellen können rechnergestützte Systeme nicht an die Fähigkeiten biologischer Systeme heranreichen.

Die Leistung neuronaler Netze wird ebenfalls durch die 100-Schritt-Regel demonstriert: Die visuelle Erkennung beim Menschen findet in maximal 100 parallelen Verarbeitungsschritten statt – die meist sequentiell arbeitenden Rechner erbringen keine vergleichbare Leistung.

Die Vorteile und Eigenschaften von Nervenzellen motivieren das Modell der künstlichen Neuronen. Viele Modelle und Algorithmen zu künstlichen neuronalen Netzen entbehren dennoch einer direkt plausiblen, biologischen Motivierung, dort findet sich diese nur im Grundgedanken der abstrakten Modellierung der Nervenzelle.

Modellierung

Mit der Biologie als Vorbild wird nun durch eine passende Modellbildung eine für die Informationstechnologie verwendbare Lösung gefunden. Durch eine grobe Verallgemeinerung wird das System vereinfacht – unter Erhaltung der wesentlichen Eigenschaften.

Die Synapsen der Nervenzelle werden hierbei durch die Addition gewichteter Eingaben abgebildet, die Aktivierung des Zellkerns durch eine Aktivierungsfunktion mit Schwellenwert. Die Verwendung eines Addierers und Schwellenwerts findet sich so schon in der McCulloch-Pitts-Zelle von 1943.

Bestandteile

    Ein künstliches Neuron j kann durch vier Basiselemente beschrieben werden:

  1. Gewichtungen: Die Gewichtungen wij bestimmen den Grad des Einflusses, den die Eingaben des Neurons in der Berechnung der späteren Aktivierung einnehmen. Abhängig vom Vorzeichen der Gewichtung kann eine Eingabe hemmend (inhibitorisch) oder erregend (exhibitorisch) wirken. Eine Gewichtung mit dem Wert 0 markiert eine nicht existente Verbindung zwischen zwei Knoten.
  2. Übertragungsfunktion: Die Übertragungsfunktion Σ berechnet anhand der Gewichtung der Eingaben die Netzeingabe des Neurons.
  3. Aktivierungsfunktion: Die Ausgabe des Neurons wird schließlich durch die Aktivierungsfunktion \varphi bestimmt. Die Aktivierung wird beeinflusst durch die Netzeingabe aus der Übertragungsfunktion sowie einem Schwellenwert.
  4. Schwellenwert: Das Addieren eines Schwellenwerts θj zur Netzeingabe verschiebt die gewichteten Eingaben. Die Bezeichnung bestimmt sich aus der Verwendung einer Schwellenwertfunktion als Aktivierungsfunktion, bei der das Neuron aktiviert wird, wenn der Schwellenwert überschritten ist. Die biologische Motivierung dabei ist das Schwellenpotenzial bei Nervenzellen. Mathematisch gesehen wird die Trennebene, die den Merkmalsraum auftrennt, durch einen Schwellenwert mit einer Translation verschoben.

Durch einen Verbindungsgraph werden folgende Elemente festgelegt:

  1. Eingaben: Eingaben xi können einerseits aus dem beobachteten Prozess resultieren, dessen Werte dem Neuron übergeben werden, oder wiederum aus den Ausgaben anderer Neuronen stammen.
  2. Aktivierung oder Ausgabe: Das Ergebnis der Aktivierungsfunktion wird analog zur Nervenzelle als Aktivierung oj des künstlichen Neurons j bezeichnet.

Mathematische Definition

Das künstliche Neuron als Modell wird in der Literatur meist auf dem folgenden Weg eingeführt:

Zuerst wird die Netzeingabe netj des künstlichen Neurons j durch

\mbox{net}_{j}=\sum^{n}_{i=1} x_{i} w_{ij}

definiert und damit die Aktivierung oj durch

o_{j}=\varphi(\mbox{net}_{j} - \theta_j).

Dabei ist

n die Anzahl der Eingaben und
xi die Eingabe i, die sowohl diskret als auch kontinuierlich sein kann.

Eine alternative Darstellung des Schwellenwerts ist durch seine Repräsentation als Gewichtung w0j = θj für die konstante Eingabe x0 = − 1 gegeben („on“-Neuron). Eine spezielle Behandlung des Schwellenwerts kann so entfallen und vereinfacht die Behandlung in den Lernregeln.

Aktivierungsfunktionen

Als Aktivierungsfunktion \varphi können verschiedene Funktionstypen verwendet werden, abhängig von der verwendeten Netztopologie. Eine solche Funktion kann nicht-linear, zum Beispiel sigmoid, stückweise linear oder eine Sprungfunktion sein. Im Allgemeinen sind Aktivierungsfunktionen monoton steigend.

Lineare Aktivierungsfunktionen unterliegen einer starken Beschränkung, da eine Komposition linearen Funktionen durch arithmetische Umformungen durch eine einzige lineare Funktion dargestellt werden kann. Für mehrschichtige Verbindungsnetzwerke sind sie deswegen nicht geeignet und finden so nur in einfachen Modellen Anwendung.

Beispiele für grundlegende Aktivierungsfunktionen sind:  

  • Schwellenwertfunktion: Die Schwellenwertfunktion (engl. hard limit), wie sie im folgenden definiert ist, nimmt nur die Werte 0 und 1 an. Den Wert 1 für die Eingabe v \geq 0, sonst 0. Bei subtraktiver Verwendung eines Schwellenwerts θ wird die Funktion nur aktiviert, wenn die zusätzliche Eingabe den Schwellenwert übersteigt. Ein Neuron mit einer solchen Funktion wird auch McCulloch-Pitts-Zelle genannt. Sie spiegelt die Alles-oder-Nichts-Eigenschaft des Modells wieder.
\varphi^{\mbox{hlim}}(v) = \begin{cases}  1 & \mbox{wenn } v \geq 0 \\   0 & \mbox{wenn } v < 0  \end{cases}

 

  • Stückweise lineare Funktion: Die hier verwendete stückweise lineare Funktion (engl. picewise linear) bildet ein begrenztes Intervall linear ab, die äußeren Intervalle werden auf einen konstanten Wert abgebildet:
\varphi^{\mbox{pwl}}(v) = \begin{cases}  1 & \mbox{wenn } v \geq \frac{1}{2} \\  v + \frac{1}{2} & \mbox{wenn } -\frac{1}{2} < v < \frac{1}{2} \\  0 & \mbox{wenn } v \leq -\frac{1}{2}  \end{cases}

 

  • Sigmoidfunktion: Sigmoide Funktionen als Aktivierungsfunktion sind sehr häufig verwendete Abbildungen. Sie besitzen, wie hier definiert, ein variables Steigungsmaß a, das die Krümmung des Funktionsgraphen beeinflusst. Eine spezielle Eigenschaft ist ihre Differenzierbarkeit, die für einige Verfahren wie den Backpropagation-Algorithmus benötigt werden:
\varphi_a^{\mbox{sig}}(v) = \frac{1}{1 + \exp(-av)}.

Die Werte der obigen Funktionen liegen im Intervall [0,1]. Für das Intervall [ − 1, + 1] lassen sich diese Funktionen entsprechend definieren.

Beispiele

Darstellung boolescher Funktionen

Mit künstlichen Neuronen lassen sich boolesche Funktionen darstellen. So können die drei Funktionen Konjunktion (and), Disjunktion (or) und Negation (not) unter Verwendung einer Schwellenwertfunktion \varphi^{\mbox{hlim}} wie folgt repräsentiert werden:

Konjunktion Disjunktion Negation
     

Für die Konjunktion zum Beispiel ist ersichtlich, dass nur für die booleschen Eingaben x1 = 1 und x2 = 1 die Aktivierung

o = \varphi^{\mbox{hlim}}((w_1 \cdot x_1 + w_2 \cdot x_2) - \theta) = \varphi^{\mbox{hlim}}((1,0 \cdot 1 + 1,0 \cdot 1) - 1,5) = \varphi^{\mbox{hlim}}(0,5) = 1

ergibt, sonst 0.

Einlernen eines Neurons

Anders als im vorherigen Beispiel, bei dem die passenden Gewichtungen gewählt wurden, erlernen Neuronen im Allgemeinen die zu repräsentierende Funktion. Dazu werden die Gewichtungen und der Schwellenwert durch zufällige Werte belegt und danach unter Verwendung eines Lernalgorithmus angepasst.

Wertetabelle der logischen Konjunktion
x1x2x1 and x2
000
010
100
111

Um nun die Konjunktion zu erlernen kann das Verfahren der Perceptron criterion function angewendet werden, welches die Werte fehlerhaft erkannter Eingaben auf die Gewichtungen hinzuaddiert, um somit eine Erkennung zu verbessern, bis möglichst alle Eingaben richtig klassifiziert werden. Die Ausgabefunktion ist hier analog zum vorherigen Beispiel die Schwellenwertfunktion \varphi^{\mbox{hlim}}. Für das Lernverfahren wird die Lernrate, welche die Geschwindigkeit des Einlernens festlegt, mit \varsigma=1 gewählt, so dass eine explizite Erwähnung entfallen kann.

Zuerst werden nun die Gewichtungen zufällig gewählt, dabei wird der Schwellenwert wie oben beschrieben als Gewichtung betrachtet, und x0 übernimmt die konstante Ausgabe − 1:

GewichtAnfänglicher WertBedeutung
w0 ( = − θ)-0,1Darstellung des Schwellenwerts; entsprechende Eingabe x0 = − 1 konstant
w10,6Gewichtung der ersten Eingabe x1
w2-0,3Gewichtung der zweiten Eingabe x2

Um nun das Neuron auf die beiden möglichen Ausgaben 0 und 1 der Konjunktion zu trainieren, werden die Eingaben für die zugehörige Ausgabe 0 mit − 1 multipliziert. Die Ausgabe des Neurons ist durch diesen Schritt nur dann 0, wenn die betreffende Eingabe fehlerhaft klassifiziert wurde. Dieses Vorgehen vereinfacht die Betrachtung beim Einlernen und die spätere Gewichtungsanpassung.

Für die gewählten Gewichte sieht nun die Ausgabe des Neurons wie folgt aus:

Ausgabe des Neurons mit zufälligen Gewichten
Eingaben Ausgabe
x0 x1 x2
1000
10-11
1-100
-1111

Die erste und dritte Eingabe werden falsch berechnet, das Neuron gibt 0 aus. Nun findet das Perceptron criterion function seine Anwendung:

Durch die Addition mit den falsch erkannten Eingaben werden die Gewichte durch

w_i(t+1) = w_i(t) + \sum_{y \in \mathcal{Y}} y_i,

mit

\mathcal{Y}, Menge aller falsch erkannten Eingaben,
t, Zeitschritt und
yi, i-te Komponente der Eingabe y

angepasst (hier erste und dritte Eingabe):

Gewichtsanpassung im ersten Schritt
SchrittGewichtVorheriger WertNeuer Wert
1 w0-0,1w0(1) = w0(0) + 1 + 1 = 1,9
w10,6w1(1) = w1(0) + 0 + ( − 1) = − 0,4
w2-0,3w0(1) = w0(0) + 0 + 0 = − 0,3
Überprüfung
Eingaben Ausgabe
x0 x1 x2
1001
10-11
1-101
-1110

Die Überprüfung nach der Gewichtungsänderung zeigt nun, dass statt der ersten und dritten Eingabe nun die vierte Eingabe falsch klassifiziert wird. Die Ausführung eines weiteren Schrittes des Lernverfahrens verbessert nun aber die Erkennung des Neurons:

Gewichtsanpassung im zweiten Schritt
SchrittGewichtVorheriger WertNeuer Wert
2 w01,9w0(2) = w0(1) + ( − 1) = 0,9
w1-0,4w1(2) = w1(1) + 1 = 0,6
w2-0,3w2(2) = w2(1) + 1 = 0,7
Überprüfung
Eingaben Ausgabe
x0 x1 x2
1001
10-11
1-101
-1111

Nun sieht man, dass das Neuron die vorgegebene Funktion erlernt hat und alle vier Eingaben richtig berechnet.

Unter Verwendung der Eingabe x1 = 1 und x2 = 1 und die Wahl von θ = w0 folgt nun die Aktivierung

\begin{matrix} o &=& \varphi^{\mbox{hlim}}(w_0 * x_0 + w_1 * x_1 + w_2 * x_2)= \varphi^{\mbox{hlim}}((w_1 * x_1 + w_2 * x_2) - \theta) \\ &=& \varphi^{\mbox{hlim}}((0,6 * 1 + 0,7 * 1) - 0,9) = \varphi^{\mbox{hlim}}(0,4) = 1 \end{matrix}.

Für die anderen drei Eingaben, die für das Einlernen mit − 1 multipliziert wurden, ergibt sich nun der Wert 0. So berechnet sich für Eingabe x1 = 0 und x2 = 1 die Aktivierung:

o = \varphi^{\mbox{hlim}}((0,6 * 0 + 0,7 * 1) - 0,9) = \varphi^{\mbox{hlim}}(-0,2) = 0.

Ohne bestimmte Gewichtungen vorzugeben hat nun das Neuron erlernt anhand der Vorgaben die Konjunktion wie im ersten Beispiel darzustellen.

Verbindungsnetzwerke

Künstliche Neuronen können auf beliebige Weise zu einem künstlichen neuronalen Netz verbunden werden. Dabei werden Neuronen bei vielen Modellen in hintereinander liegenden Schichten (engl. Layer) angeordnet und man spricht z. B. bei einem Netz mit einer Neuronenschicht von einem einschichtigen Netz.

  Unter Verwendung eines Graphen können die Neuronen als Knoten und ihre Verbindungen als Kanten dargestellt werden.

Die Eingaben werden in Teilen der Literatur in der Darstellung wie Neuronen als Knoten behandelt. Dort spricht man folglich bei einem Netz mit einer Eingabe- und einer Neuronenschicht von einem zweischichtigen Netz.

Die hinterste Schicht des Netzes, deren Neuronenausgaben meist als einzige außerhalb des Netzes sichtbar sind, wird Ausgabeschicht (engl. output layer) genannt. Davorliegende Schichten werden dementsprechend als verdeckte Schicht (engl. hidden layer) bezeichnet.

Die Struktur des Netzwerks hängt direkt mit dem verwendeten Lernverfahren zusammen; so kann mit der Delta-Regel (auch Widrow-Hoff-Regel) nur ein einschichtiges Netz trainiert werden. Dabei müssen Netze nicht zwingend homogen sein: es existieren Kombinationen aus verschiedenen Modellen um so die unterschiedlichen Vorteile zu kombinieren.

Typische Strukturen sind:

  • Einschichtiges feedforward-Netz: Einschichtige Netze mit der feedforward-Eigenschaft (engl. für vorwärts) sind die einfachsten Strukturen künstlicher neuronaler Netze. Sie besitzen lediglich eine Ausgabeschicht. Die feedforward-Eigenschaft besagt, dass Neuronenausgaben nur in Verarbeitungsrichtung geleitet werden und nicht durch eine rekurrente Kante zurück geführt werden können (azyklischer, gerichteter Graph).

 

  • Mehrschichtiges feedforward-Netz: Mehrschichtige Netze besitzen neben der Ausgabeschicht auch verdeckte Schichten, deren Ausgabe wie beschrieben, außerhalb des Netzes nicht sichtbar sind. Verdeckte Schichten verbessern die Abstraktion solcher Netze. So kann erst das mehrschichtige Perzeptron das XOR-Problem lösen.

 

  • Rekurrentes Netz: Rekurrente Netze besitzen im Gegensatz dazu auch rückgerichtete (rekurrente) Kanten (engl. feedback loops) und enthalten somit eine Rückkopplung. Solche Kanten werden dann häufig mit einer Zeitverzögerung versehen, so dass bei einer schrittweisen Verarbeitung die Neuronenausgaben der vergangenen Einheit wieder als Eingaben angelegt werden können. Diese Rückkopplungen ermöglichen einem Netz ein dynamisches Verhalten und statten es mit einem Gedächtnis aus.

Siehe auch

Künstliche Intelligenz

Literatur

  • Simon Haykin, Neural Networks, A Comprehensive Foundation, Macmillan College Publishing Company, New York, 1994, ISBN 0-02-352761-7
  • Andreas Zell, Simulation neuronaler Netze, R. Oldenbourg Verlag, München, 1997, ISBN 3-486-24350-0

Quellen

  1. J.J. Hopfield, D. Tank: „Neural Computation of Decisions in Optimization Space.“ Biological Cybernetics, Nr. 52, S. 141-152, 1985.
  2. Patricia S. Churchland, Terrence J. Sejnowski: Grundlagen zur Neuroinformatik und Neurobiologie. Friedr. Vieweg & Sohn Verlagsgesellschaft, Braunschweig/Wiesbaden 1997, ISBN 3-528-05428-X
  3. Werner Kinnebrock: Neuronale Netze: Grundlagen, Anwendungen, Beispiele. R. Oldenbourg Verlag, München 1994, ISBN 3-486-22947-8
Dieser Artikel wurde in die Liste der lesenswerten Artikel aufgenommen.
 
Dieser Artikel basiert auf dem Artikel Künstliches_Neuron aus der freien Enzyklopädie Wikipedia und steht unter der GNU-Lizenz für freie Dokumentation. In der Wikipedia ist eine Liste der Autoren verfügbar.
Ihr Bowser ist nicht aktuell. Microsoft Internet Explorer 6.0 unterstützt einige Funktionen auf ie.DE nicht.