Neuronale Netze

Werbung
Andrea Tasnadi, Christian Mair
Zusammenfassung des Referates:
Neuronale Netze und ihre Bedeutung in der
Cognitive Sience
Gliederung
1. Einleitung
2. Das Konzept der natürlicher neuronaler Netze
2.1. Aufbau der natürlicher neuronaler Netze
2.2. Die Informationsregulierung
2.3. Neuronale Plastizität
3. Das Konzept der künstlicher neuronaler Netze
3.1. Das Grundkonzept künstlicher neuronaler Netze
3.2. Beispiel einer mathematischen Umsetzung: Rotkäppchenbeispiel
3.3. Steigerung des Komplexitätsgrades durch Hidden Layers
3.4. Lernregeln künstlicher neuronaler Netze
4. Vergleich von biologischen und künstlichen neuronaler Netze
5. Anwendungen Neuronaler Netze
5.1. Anwendungen in der Psychologie
5.2. Anwendungen in der Wirtschaft
5.3. Anwendungen in der Technik
6. Exkurs: Anleitung zur Simulation des Rotkäppchenbeispiels mit Hilfe
von „Memobrain“
6.1. Voreinstellungen anpassen
6.2. Objekteigenschaften der Unit
6.3. Umbenennen
6.4. Verbindungen erstellen
6.5. Trainingsphase
6.6. Initialisierung der Gewichte mit Zufallswerten
6.7. Testphase
7. Die Kontroverse zwischen Konnektionismus und Symbolverarbeitung
7.1 Symbolverarbeitungsansatz und konnektionistische Systeme
7.2. Gegenargumente des Symbolverarbeitungsansatzes gegen eine Zuschreibung von
„Intelligenz“ an konnektionistische Systeme
7.3. Entkräftung der Gegenargumente
7.4. Das Symbol-foundig-Problem aus konnektionistischer Perspektive
1. Einleitung
Das Faszinierende an dem Versuch, geistige Prozesse durch eine Theorie der neuronalen
Netze zu verstehen, liegt eigentlich im Umstand, dass dieser Ansatz der einzige ist, der von
allem Anfang an erklären kann, in welcher Weise Information in geistigen Prozessen
repräsentiert wird. Die Fähigkeit, Realität zu „repräsentieren“ wird ja mancher Orts von jenen
Theorien für sich beansprucht, die bei irgendwelchen höheren geistigen Vollzügen ansetzen
und versuchen, die dort zu beobachtenden mentalen Leistungen durch Abbildung in einem
möglichst redlich erstellten System von Symbolen und Symboloperationen zu verstehen.
Neuronalen Netzen wird hingegen von manchem Vertreter dieser Schule die Möglichkeit
abgesprochen, eine differenzierte repräsentationale Abbildung der Realität zu sein.1 Das
Anliegen dieser Arbeit ist es, möglichst klar darzustellen, dass der Begriff der
„Repräsentation“,
legitimer
Weise
eher
neuronalen
Netzen
als
Symbolsystemen
zugeschrieben werden kann. Während es hier hoffentlich gelingt zu zeigen, dass in ersteren
sehr wohl ausdifferenzierte „Knotenpunkte“ zu finden sind, die durch die Verarbeitung von
Information aus der Umgebung entstanden sind und sehr eindeutig für bestimmte ihrer
Strukturelemente stehen, bleibt bei zweiteren die Frage, wie denn die Symbole und
Symboloperationen zustande kommen und wie diese adäquate Abbilder der Realität sein
können, ziemlich offen. Eine mögliche Antwort, dass diese von einem „intelligenten“
„Experten“ vorgegeben oder von einem als „intelligent“ bezeichneten System abgelesen
werden können, löst das Problem wohl kaum.
2. Das Konzept natürlicher neuronaler Netze
Der Begriff der „natürlichen neuronalen Netze“ dient herkömmlicher Weise als Synonym für
tierische und menschliche Nervensysteme. Durch biologische und medizinische Forschung
wurde gezeigt, dass diese einen stark modularen Aufbau besitzen, dessen Grundelement die
einzelne Nervenzelle ist. Diese wiederum ist heute so weit erforscht, dass man ihre
grundlegende
Funktions-
und
Arbeitsweise
verstehen
und
simulieren
kann.
Der
Informationstransport geschieht dabei über ein elektrisches Spannungssignal, das in den
einzelnen Neuron weitergeleitet wird. Im Gesamten ergibt sich folgendes Bild über Aufbau
und die Funktionsweise des biologischen Nervensystems:
1
Vgl. Fodor, 1988.
1.1. Aufbau natürlicher neuronaler Netze
Eine Nervenzelle besteht aus drei Teilen: Der Zellkörper ist analog zu anderen biologischen
Zellen aus Zellmembran, Zytoskelett und den auch sonst vorkommenden Organellen
(Zellkern, Mitochondrien, Ribosomen, ...) aufgebaut. An ihm sind sich verzweigende
Fortsätze (Dendriten) zu beobachten, die an benachbarten Nervenzellen angekoppelt sind und
von diesen einen elektrischen Impuls in Richtung Zellkern leiten können. Als Axon oder
Neurit wird jener lange, faserartige Fortsatz bezeichnet, der das elektrische Signal aus dem
Zellkörper wieder ausleitet und es an die Dendriten anderer Nervenzellen weitergibt. Er weist
an seinem Ende ebenfalls Verästelungen auf.
Abb.1: Neuron2
Durch das verzweigte Netz der Dendriten kann ein einzelnes Neuron mit bis zu
100000-200000 anderen Neuronen in Kontakt stehen.3 Die Komplexität des Netzwerkes wird
noch zusätzlich durch die Art der Koppelungen zwischen den Dendriten und Axonen
erweitert. In diesen Synapsen genannten Teilen springt, durch die elektrischen Impulse des
Axons ausgelöst, ein Transmitterstoff über einen sehr schmalen „synaptischen Spalt“ auf das
nachfolgende Neuron über und sorgt so für die Signalweiterleitung. Dabei unterscheidet man
erregende (exzitatorische) von hemmenden (inhibitorischen) Synapsen. Auch der Grad der
2
3
http://de.wikipedia.org/wiki/Bild:Complete_neuron_cell_diagram_german.svg
http://de.wikipedia.org/wiki/Neuron
Erregungsweiterleitung ist sehr unterschiedlich und hängt von der Eigenart der
Transmitterstoffe sowie dem Beanspruchungsgrad der Synapse ab.
Da das menschliche Gehirn ca. 100 Milliarden (1011) Nervenzellen besitzt, welche durch ca.
100 Billionen (1014) Synapsen miteinander verbunden sind, heißt das, dass jedes Neuron im
Schnitt mit 1000 anderen Neuronen verbunden ist und somit im Prinzip jedes beliebige
Neuron von jedem Startneuron aus in höchstens 4 Schritten erreichbar ist. Es gibt allerdings
lokal deutliche Abweichungen von diesem Mittelwert. Der Cortex einer Maus hat zum
Vergleich dazu etwa 8 Millionen (8·106) Neuronen mit jeweils 8.000 Synapsen je Neuron.4
Abb. 2: Synapse5
2. Informationstransport, Informationsmodulation und Informationsregulierung in
natürlichen neuronalen Netzen
Die Information der Umwelt tritt durch Sinneszellen in das neuronale Netz ein. Diese
wandeln die von ihnen aufgenommene Information in ein Muster zeitlich nacheinander
gereihter serieller elektrischer Spannungsimpulse um, die an den/die Dendriten einer oder
mehrerer Nervenzellen weitergegeben werden und sich dort in Richtung des Zellkörpers
fortpflanzen. Im Zellkörper selbst kommt es zu einer Interaktion der in den verschiedenen
Dendriten der Zelle auftretenden elektrischen Impulse, wobei sich diese gegenseitig
verstärken oder abschwächen können. Ergibt sich am Axonhügel - das ist jener Teil des
4
5
http://de.wikipedia.org/wiki/Gehirn
http://www.onmeda.de/krankheiten/depressive_verstimmungen.html?gfx=0
Zellkörpers, an dem das Axon austritt – eine hinreichend große elektrische Spannung, so löst
diese im Axon selbst einen elektrischen Impuls aus. Dieser breitet sich durch das Axon auf
andere Nervenzellen aus.
Aus dieser Funktionsweise ergibt sich, dass die Umweltinformationen in einem natürlichen
neuronalen Netz mit Hilfe von nur drei Parametern moduliert werden: dem Zeitpunkt des
Auftretens elektrischer Impulse, der Dauer des Auftretens und ihrer Frequenz.
Die Informationsregulierung geschieht innerhalb des Weitertransportes der Spannungssignale
auf viererlei Art: Erstens bestimmt die Art der Vernetzung der Neuronen untereinander,
welches Neuron prinzipiell auf welches Einfluss nehmen kann. Zweitens beeinflussen bei
einer existierenden Verbindung zwischen Neuronen die Eigenschaften der Synapsen den
Signalstrom. Drittens spielt die Art der gegenseitigen Beeinflussung der in den Zellkörper
eintretenden Signale eine gravierende Rolle und viertens hängt der Umstand, ob der
Zellkörper ein Signal in das Axon entlassen kann, davon ab, ob das aufgebaute elektrische
Potential am Axonhügel einen bestimmen Wert, den sogenannten „Schwellwert“
überschreitet. Die letzten beiden Mechanismen sind also gewissermaßen die Weise, in der das
Neuron selbst Einfluss auf die Signalverarbeitung nimmt.
3. Neuronale Plastizität
Eine grundlegende Eigenschaft natürlicher Netze ist ihr Adaptationsfähigkeit. Diese wird
durch Veränderungen in den Synapsen, Nervenzellen bzw. ganzen Zellverbänden und
Hirnarealen erreicht. Ganz allgemein unterscheidet man zwischen kortikaler und synaptischer
Plastizität, wobei letztere sich wieder in präsynaptische und postsynaptische Plastizität
unterscheiden lässt.
Die präsynaptische Plastizität besteht in einer Änderung der pro Aktionspotenzial
freigesetzten Transmittermenge oder der Geschwindigkeit, mit der der Neurotransmitter
wieder in die präsynaptische Zelle aufgenommen wird. Die postsynaptische Plastizität ergibt
sich aus einer Änderung der Anzahl von postsynaptischen Transmitter-Rezeptoren, durch die
Modifikation dieser Rezeptoren oder durch die Bildung von Enzymen, die das Verhalten der
Neurotransmitter im synaptischen Spalt verändern. Prä- und postsynaptische Änderungen
können gleichzeitig vorkommen. Olding Hebb beobachtet als erster, dass es einen kausalen
Zusammenhang zwischen der Aktivität einer Zellverbindung und deren weiteren Optimierung
gibt: Je stärker eine synaptische Verbindung beansprucht wird, desto leistungsfähiger wird
sie. Auf dieser Grundlage formulierte er 1949 die nach ihm benannte Hebbsche Lernregel,
von der noch später in dieser Arbeit die Rede sein wird.
Mit dem Begriff der kortikalen Plastizität wird meist die Plastizität des gesamten Gehirns
bezeichnet, obwohl die zugrunde liegenden Vorgänge keineswegs auf die Großhirnrinde
(Kortex) allein beschränkt sind. Sie stützt sich nicht nur auf die Veränderung der
Eigenschaften von Synapsen, sondern wird auch durch Veränderungen innerhalb der
Zellkörper, neu erzeugte Vernetzungen zwischen den Nervenzellen, ja sogar die Entstehung
neuer Nervenzellen erreicht. In der Organisation des kortikalen Wahrnehmungsapparates ist
diese kortikale Plastizität besonders gut untersucht. Seine Organisationsform wird oftmals als
kartenähnlich bezeichnet. So laufen die Sinneswahrnehmungen vom Fuß an einer Stelle des
Kortex zusammen, die des Schienbeines an einer anderen, aber benachbarten Stelle. Das
Ergebnis dieser sogenannten somatotopischen Organisation der Sinneseindrücke im Kortex
ähnelt einer Karte des Körpers. Diese Karten sind nicht starr, sondern plastisch. Das Fehlen
von Sinneseindrücken von bestimmten Teilen des Körpers, zum Beispiel nach einer
Amputation, führt dazu, dass die kortikale Karte sich derart verändert, dass der Bereich, der
zuvor für den nun fehlenden Teil zuständig war, nun nach und nach die benachbarten, nach
wie vor vorhandenen Teile des Körpers mitrepräsentiert. Dies kann in der Übergangszeit bei
den Patienten zu seltsamen Falschwahrnehmungen führen. So fühlen sie manchmal eine
Stimulierung der amputierten Gliedmaße, da die Repräsentation noch nicht vollends
"gelöscht" ist, aber bereits Nervensignale von benachbarten Regionen in den Bereich der
Repräsentation eindringen.
3. Das Konzept künstlicher neuronaler Netze
3.1. Das Grundkonzept künstlicher neuronaler Netze
Der Versuch, die Funktionsweise natürlicher neuronaler Netze nachzuahmen, ist wohl allein
deshalb sehr nahe liegend, da sich diese durch sehr klar fassbare formale Strukturen
auszeichnen:
Das
Vorhanden-
oder
Nicht-Vorhandensein
eines
elektrischen
Spannungsimpulses in einem Axon kann durch die Zahl 1 oder 0 repräsentiert werden. Da es
auch in biologischen Netzen keinen Zwischenzustand zwischen Erregung oder Nichterregung
eines Axon gibt, ist diese binäre Modellierung sehr zutreffend. Der Input in ein künstliches
Neuronales Netz besteht also in einem Vektor aus Nullen oder Einsen und repräsentiert
gewissermaßen den Spannungsimpulse, die aus den einzelnen Sinneszellen in das Netz
eingespeist werden. Auch der Output eines neuronalen Netzes ist ein ebensolcher, sich von
ersterem möglicherweise durch die Anzahl der Dimensionen unterscheidender Vektor. Er
stellt die Nervenimpulse dar, die in die vom Zentralnervensystem wegführenden
Nervenbahnen eingespeist werden.
Die Beeinflussung der Impulsweiterleitung durch die Synapsen als auch die Integration der
verschiedenen auf das rezipierende Neuron einwirkende Impulse wird in einer einzigen
Funktion zusammengefasst. Diese verändert in einem ersten Schritt die eingehenden 1-Werte
meist durch eine Multiplikation mit einem Zahlenwert zwischen Null und Eins, bevor sie
diese Werte in einem zweiten Schritt zusammenzählt. Diese Funktion trägt deshalb meist auch
den Namen „Summenfunktion“. Ihr Ergebnis stellt gewissermaßen das Gesamtpotential dar,
das am Axonhügel des Zellkörpers anlangt und dort gegebenenfalls einen Impuls im Axom
auslösen kann. Man kann schreiben:
Gesamtpotential = I1*w1 + I2*w2+...+ In*wn
wobei I1 , I2 , … , In die Input Einsen der durchnummerierten Dendriten und w1, w2, ..., wn die
Gewichte für diese Inputs sind.
Mancherorts
wird
diese
Summenfunktion
noch
zusätzlich
mit
einer
sogenannte
„Aktivierungsfunktion“ verknüpft, die jenen biologischen Prozess repräsentieren soll, der sich
innerhalb des Zellkörpers abspielt und der in natürlichen neuronalen Netzen das Endpotential
am Axonhügel mitbeeinflusst. In diesem Falle ergibt die obige Formel nur den sogenannten
„Nettoinput“.
Dieser
wird
mit
einem
bereits
als
vorhanden
angenommenen
Aktivierungszustand der Zelle zu einem neuen Aktivierungszustand verrechnet.
Zusätzlich wird oft noch eine „Ausgabefunktion“ eingeführt, die diesen Aktivierungszustand
mit einem Schwellwert vergleicht und dann entscheidet, ob es zu einer Ausgabe von 1 kommt
oder nicht. Diese Funktion soll den Vorgang repräsentieren, dass im Axon einer Zelle nur
dann ein Impuls ausgelöst wird, wenn am Axonhügel das elektrische Potential ein bestimmtes
Maß
übersteigt.
Eine
zusammenfassende
Übersicht
soll
die
Zusammenhänge
veranschaulichen:
Abb. 3: Graphische Übersicht der Funktionen eines künstlichen neuronalen
Netzes
Die folgende Abbildung enthält einige gebräuchliche Aktivierungs- bzw. Ausgabefunktionen,
wobei die beiden letzteren am häufigsten verwendet werden.
Abb. 4.:
Aktivierungs- und
Ausgabefunktionen
Sosehr eines solche dreigliedrige Aneinanderreihung von Funktionen vielleicht unnotwendig
komplizierend wirken mag, sie ist nichtsdestoweniger der Versuch, die real in natürlichen
neuronalen Netzwerken vor sich gehenden Prozesse strukturgetreu zu modellieren. Dabei
könnte man für die Summenfunktion, die ja die in Wirklichkeit sehr viel komplexeren
Tätigkeiten der Synapsen und der Zellkerns vertreten soll, durchaus noch mathematisch
komplexere Funktionen verwenden.
Davon unberührt muss allerdings auch festgehalten werden, dass durch diese Modellierung
auch eine starke Vereinfachung gegenüber den Vorgängen in natürlichen neuronalen Netzen
einhergeht. Sie besteht darin, dass alle Nervenbahnen gewissermaßen synchronisiert werden,
da der Eingangsvektor ja immer für alle Nervenbahnen gleichzeitig einen Wert eingibt. Auch
innerhalb eines solchen Modells eines neuronalen Netzes werden Signalweiterleitungen
zwischen den einzelnen Neuronen einheitlich „getaktet“, d.h. mit derselben Frequenz
beschickt, was zusammen mit der Eigenschaft, dass sich Verbindungsgewichtungen in Regel
nur in kleinen Schritten verändern, gewisse „sprunghafte“ Phänomene innerhalb eines solchen
neuronalen Netzes ausschließt und zu einem sehr viel homogeneren und diffuseren Ablauf der
Neuroneninteraktion führt.
3.2. Beispiel einer mathematischen Umsetzung: Rotkäppchenbeispiel
Zur Verdeutlichung der Arbeitsweise eines solchen mathematisch modellierten neuronalen
Netzes sei hier die Umsetzung eines sehr einfachen Beispiels vorgeführt. Dieses wird nicht
nur in einem späteren Teil dieser Arbeit mit Hilfe des Computerprogamms Membrain noch
einmal automationsunterstützt bearbeitet, es wird hier auch die eindrucksvoll einfache
Berechnung
von
Summenfunktionen
mit
Hilfe
der
Matrizenrechnung
vorgestellt.
Anschließend wird anhand des Beispiels auch gleich ein möglicher Lernvorgang dieses
neuronalen Netzes dargestellt. Dieser ist eigentlich Inhalt eines späteren Kapitels, wird hier
allerdings angeführt, da es mühselig wäre, dieses Beispiel an späterer Stelle wieder
aufzugreifen.
Ein Rotkäppchen wird in einem Wald 6 möglichen Eingabereizen ausgesetzt. Die ersten 3
Reize sind: Große Ohren, große Augen, große Zähne, dunkle, struppige Körperbehaarung,
Probleme mit aufrechtem Gang, charmanter Umgangston. Im Modell benutzt man dafür einen
6 dimensionalen Eingangsvektor:
Der Vektor
1
1
1
1
0
0
bedeutet zum Beispiel, dass die ersten vier Eingangsreize vorhanden sind.
Immer wenn die ersten drei Reize vorhanden sind, soll das Rotkäppchen zu schreien
anfangen, weglaufen und auch nach dem Holzfäller rufen. Diese sind drei von
angenommenen 7 möglichen Ausgabeaktivitäten. Der gewünschte Ausgabevektor müsste also
7 Dimensionen aufweisen, von denen die ersten drei auf 1 stehen sollten:
1
1
1
0
0
0
0
Wie stellt nun ein neuronales Netz eine Beziehung zwischen den Eingabewerten und dem
Ausgabevektor her? Für jedes Ausgabeverhalten (Stelle des Ausgabevektors) müssen jeweils
alle drei Eingabewerte (Stellen des Eingabevektors) gewichtet und dann aufsummiert werden
(=drei Summenfunktionen). Liegt dieser aufaddierte Wert dann über einem vorher
festgelegten
Schwellwert
(auf
eine
Aktivierungsfunktion
verzichten
wir
hier
einfachheitshalber), wird im Ausgangsvektor die betreffende Stelle auf 1 gesetzt
(Aktivierungsfunktion).
Diese
Gewichtung
und
Summation
kann
man
am
einfachsten
durch
eine
Matrizenmultiplikation durchführen. Dabei werden alle Eingangswerte gleichzeitig gewichtet
und aufsummiert. In unserem Beispiel benötigt man eine 6x7 Matrix und multipliziert von
links:
w 11 w 12
w 21
w16
w26
w 71 w 72
w76
.
1
1
1
0
0
0
=
Eingangsvektor
 
1⋅w 111⋅w121⋅w13
1⋅w 211⋅w22 1⋅w 23
1⋅w 311⋅w321⋅w33
0
0
0
0
Ausgangsvektor
Jede Stelle des Ausgangsvektor setzt sich also zusammen aus einer gewichteten Summe der
drei Eingangsreizen. Übersteigt nun eine dieser Summen den Schwellenwert, so wird in dieser
Stelle ein Ausgangssignal ausgeschickt.
Mit welchen Zahlen werden nun aber die Stellen der Matrix tatsächlich besetzt? Woher
„weiß“ ein neuronales Netz die „richtigen“ Zahlen? Diese Fragen führen wie angekündigt
etwas über dieses Kapitel hinaus, sollen aber dennoch kurz am Beispiel behandelt werden.
Die Grundidee ist dabei, dass im neuronalen Netz ein zusätzlichen Mechanismus verwirklicht
sein muss, der die anfänglich völlig beliebigen Startwerte korrigiert. Er beurteilt dazu die vom
neuronalen Netz erzeugten Outputvektoren (entweder indem er die optimale Lösung kennt
und sie mit dieser vergleicht oder anderweitige Bewertungsstrategien anwendet) und
errechnet daraus den Korrekturbedarf der Gewichtungen.
Unser Rotkäppchen könnte zum Beispiel mit Hilfe der so genannten Delta-Regel optimiert
werden. Diese setzt voraus, dass man den gewünschten Ausgangsvektor kennt und beruht auf
der Differenzenbildung zwischen diesem und dem tatsächlich errechneten Ausgangsvektor.
Diese Differenz wird mit einem Faktor (sogenannte Lernrate) multipliziert und ergibt dann
den Betrag, um den der Wert in der Gewichtsmatrix vergrößert oder verkleinert wird.
In einem Zahlenbeispiel können wir davon ausgehen, dass am Anfang der Lernphase die
Gewichtsmatix mit lauter Nullen besetzt ist. Die Gewichtsänderung der ersten Zeile der
Gewichtsmatrix lässt sich dann berechnen durch
ä1i = n * (T1 - O1) * Ii
wobei ä1i der Änderungsbetrag an der ij Stelle der Matix und T1 der tatsächliche bzw. O1 der
optimale Wert in der i Zeile des Ausgangsvektors sind.
Bei einer gewählten Lernrate von 0,1 ergibt sich:
ä11 = 0.1 * (1 - 0) * Σ i=1...4 1 = 0,1
ä12 = 0.1 * (1 - 0) * 1 = 0,1
ä13 = 0.1 * (1 - 0) * 1 = 0,1
ä14 = 0.1 * (1 - 0) * 0 = 0
ä15 = 0.1 * (1 - 0) * 0 = 0
ä16 = 0.1 * (1 - 0) * 0 = 0
Da die Differenz zwischen erwarteten und tatsächlichem Ausgangswert auch bei der zweiten
und dritten Stelle des Ausgangvektors 1- 0 ist, verändern sich die zweite und dritte Zeile der
Gewichtsmatrix in gleicher Weise:
0,1 0,1 0,1 0,1 0,1 0,1
0,1
0,1
0,1 0,1 0,1 0,1 0,1 0,1
0
0
0
0
0
0
0
0
0
Dass hier alle Gewichte einer Zeile um denselben Betrag verändert werden, liegt an der
Einfachheit des Algorithmus. Um ein sensitiveres Lernen zu erreichen, müsste dieser wohl
komplexer konzipiert werden.
3.3. Steigerung des Komplexitätsgrades durch „hidden layers“
Analog zu natürlichen neuronalen Netzen, in denen eingehende Reizsignale Kaskaden von
nachfolgenden Nervenimpulsen auslösen, konstruiert man üblicherweise auch künstliche
neuronale Netze nicht nur mit einer Gruppe von Eingangsneuronen und einer anderen, die den
endgültigen Output festlegt. Dazwischen werden meist weitere „Schichten“ („ hidden layers“)
von Neuronen geschaltet, die komplexere Abhängigkeitsbeziehungen zwischen den Inputund Outputneuronen ermöglichen. Nachfolgend soll zwischen zwei Eingabeneuronen und
einem Ausgabeneuron mit Hilfe eines neuronalen Netzes eine exklusive Oder-Beziehung
(kurz: EOR) realisiert werden. Diese soll aus den in der Tabelle angeführten Inputwerten die
angeführten Outputwerte produzieren. Auch wenn es sich dabei um ein sehr einfache
Verknüpfung von Eingangs- und Ausgangsimpulsen handelt, ist dazu bereits eine HiddenLayer-Schicht nötig, die allerdings aus nur einem Neuron besteht.
Wertetabelle der EOR-Verknüpfung:
Output des
Output des
Output des
1. Eingabeneurons 2. Eingabeneurons Outputneuron
s
0
0
0
1
0
1
0
1
1
1
1
Tabelle 1: EOR-Verknüpfung
0
Das dafür nötige neuronale Netz kann folgendermaßen aussehen: Es besteht aus 4 Neuronen,
die im Gaphen mit den Zahlen 1 bis 4 durchnummeriert sind. Das Neuron Nummer 3 ist die
zusätzlich zwischen Input- und Outputneuronen eingeschaltete Schicht.
Abb. 5: XOR-Netz mit 4 Zellen
Für die Aktivierungen der Neuronen werden, wie in der Tabelle sichtbar, nur die binären
Werte 0 und 1 verwendet. Die Netzeingabe wird durch folgende Summenfunktion berechnet:
Nettoinputj = netj =
Output i * wij
wobei i und j die Neuronennummern und wij das Gewicht ist, das der Verbindung vom i-ten
zum j-ten Neuron eigen ist, bezeichnet.
Eine Aktivierungsfunktion ist in dieser Modellierung nicht nötig. Die Ausgabefunktion des
Neuron 3 soll einen Schwellenwert von 1,5 und jene des Neuron 4 einen von 0,5 besitzen.
Damit kann man die „Arbeitsweise“ dieses neuronalen Netzes in folgender Tabelle
zusammenfassen:
Output Output Nettoinput Schwellen Output
Neuron1: Neuron2: Neuron3:
Neuron3:
wert
o1
o2
net3
o3
Neuron3:
Nettoinput
Neuron4:
net4
0
net3 =
0*1+0*1 =
0
0
net4 =
0*1+0*1+0(-2) =
0
0,5
0
0
0
1
net3 =
0*1+1*1 =
1
1,5
0
net4 =
0*1+1*1+0(-2) =
1
0,5
1
1
1
0
net3 =
1*1+0*1 =
1
1,5
0
net4 =
1*1+0*1+0(-2) =
1
0,5
1
1
1
1
net3 =
1*1+1*1 =
2
1,5
1
net4 =
1*1+1*1+1(-2) =
0
0,5
0
0
0
1,5
Schwellen Output
Neuron4:
wert
o4
Neuron4:
XOR
Tabelle 2: Arbeitsweise des XOR-Netzes
3.4. Lernregeln künstlicher neuronaler Netze
Lernregeln für künstliche Neuronale Netze sind Algorithmen, die in der Aktivitätsphase der
Netzes aus den nacheinander anfallenden Outputvektoren und den dafür verwendeten
Inputvektoren selbstständig eruieren können, in welcher Weise die Verbindungsgewichtungen
im Netzwerk verändert werden müssen, um den Outputvektor zu optimieren. Solche
Algorithmen zu entwickeln und damit ein neuronales Netz erst lernfähig zu machen ist
zweifellos der schwierigste Punkt in der Modellbildung „intelligenter“ neuronaler Netze.
Dabei liegt das Hauptproblem natürlich darin, wie denn der optimale Zustand des
Outputvektors zu definieren ist. Kennt man diesen, vereinfacht sich das Problem und man hat
mit Hilfe einer Differenzbildung zwischen optimalem Output und tatsächlichem Output ein
Maß für den Korrekturbedarf der Gewichte.
Dementsprechend unterscheidet man zwei grundlegende Ansätze von Lernregeln: Das
supervised learning setzt voraus, dass der optimale Output bekannt ist, der dann
gewissermaßen als „supervisor“ die Richtigkeit des Outputs beurteilen kann. Beim
„unsupervised learning“ fehlt diese Information.
Im folgenden kann der Länge wegen nur eine „klassische“ Auswahl von Lernregeln
dargestellt werden. Diese arbeiten teils supervised, teils unsupervised und teils in beiden
Modellen.
Die Hebb-Regel:
Sie ist gewissermaßen die Urmutter aller Regeln und basiert auf den Beobachtungen, die der
Kanadier D. O. Hebb an natürlichen neuronalen Netzen machte. Er schreibt in seinem 1949
erschienen Buch „The Organization of Behaviour“: „Wenn ein Axon der Zelle A ... Zelle B
erregt und wiederholt und dauerhaft zur Erzeugung von Aktionspotentialen in Zelle B
beiträgt, so resultiert dies in Wachstumsprozessen oder metabolischen Veränderungen in einer
oder in beiden Zellen, die bewirken, dass die Effizienz von Zelle A in bezug auf die
Erzeugung eines Aktionspotentials in B größer wird.“6
Als formaler Algorithmus kann man diese Lernregel folgendermaßen formulieren: je stärker
zwei miteinander verbundene Neuronen gleichzeitig aktiv sind – wobei man dies an der für
diese Zwecke wesentlichen Aktivierungsfunktionen festmachen kann – desto mehr wird auch
die Gewichtung bzw. im Falle eines Netzes mit Rückkoppelungen die Gewichtungen
vergrößert. Eine solche Lernstrategie kann sowohl in supervised als auch unsupervised
Netzen verwendet werden.
Die Delta-Regel:
Sie bildet in einem ersten Schritt die Differenz (das „Delta“) zwischen dem tatsächlichen und
dem gewünschten Werten im Outputvektor und verändert anschließend die Gewichtungen im
Netz so, dass jene Verbindungen, die einen verstärkenden Einfluss auf einen gewissen Wert
des Outputvektors haben, verstärkt werden, wenn der gewünschte Outputwert zu niedrig ist,
d.h. zu oft null anstatt eins ergibt. Ergibt ein bestimmter Wert des Outputvektors gemessen am
Soll-Wert zu oft eins so werden die Gewichte der Verbindungen, die für ihn verantwortlich
sind, verkleinert.
Bei komplexeren Systemen mit Hidden-Layers müssen diese Veränderungen natürlich alle
Schichten des Netzes betreffen. Weil man dabei zweckmäßigerweise von der letzten, der
6
http://www.neuronalesnetz.de/hebb.html
Outputschicht unmittelbar voran liegenden Neuronenschicht Schritt für Schritt auf die dieser
rechnerisch „früheren“ Neuronenschicht zurück schreitet, bezeichnet man eine solche
differenziertere Berechnungsmethode der Gewichtsänderungen auch als „Backpropagation“.
Das Competitive Learning:
Das Competitive Learning besteht darin, dass man einen Vergleich zwischen den
verschiedenen Outputneuronen anstellt. Bei jenem Neuron, das den stärksten Output hat (am
öftesten das Signal 1 sendet), werden die zu ihm hinlaufenden stimmulierenden Verbindungen
verstärkt. Die Verbindungen zu den anderen Outputneuronen bleiben unverändert. Der Name
rührt also daher, dass gewissermaßen das Outputneuron, das der Gewinner eines zwischen
den Outputneuronen angestellten Vergleichs ist, als einziges mit einer seine Aktivität
verstärkenden Korrektur seiner Gewichte rechnen darf.
Ähnlich wie bei regelbasierten, lernenden Systemen ist auch hier anzumerken, das die
angewendeten Lernregeln einen starken Einfluss auf das Ausmaß und die Art und Weise des
Lernens eines neuronalen Netzes hat und diese in diesem Sinne natürlich auch limitiert.
Nichtsdestoweniger muss im Hinblick auf die Kontroverse zwischen regelbasierten und
neuronalen Systemen festgehalten werden, dass die Lernregeln eines neuronalen Netzes, da
sie basale formale Vergleichsoperationen sind und deshalb inhaltlich sehr wenig festlegen,
einen sehr viel weiteren Bereich der möglichen Lernschritte eröffnen, als symboldefinierte
Lernregeln, die inhaltlich stark festgelegt sind.
4. Vergleich von biologischen und künstlichen NN
Als Abschluss der voran angeführten Darstellungen natürlicher und künstlicher neuronaler
Netze sein hier noch kurz die wichtigsten Gemeinsamkeiten und Unterschiede
zusammengefasst:
Die Gemeinsamkeiten bestehen
in einer massiven Parallelität von relativ einfachen
Elementarbausteinen (Neuronen), die jeweils die Aktivierungen der Vorgängerelemente und
die Stärke der Verbindung zu ihnen zu einem Output verarbeiten. Die Eigenart und damit die
Arbeitsweise der Netze wird durch die Art der Vernetzung, die den Verbindungen
zugeschriebenen Stärken sowie durch die Eigenart den Verarbeitung innerhalb der Neuronen
bestimmt. Durch Veränderung dieser Werte erreichen natürliche wie künstliche neuronale
Netze eine Art von Plastizität, die sie „intelligent“ auf Umweltinformationen reagieren lässt.
Die prinzipiellen Unterschiede zwischen natürlichen und künstlichen neuronalen Netzen
besteht vor allem im Umstand, dass in natürlichen Netzen die Stärke eines Signals
frequenzmoduliert wird, während in künstlichen Netzen dieser zeitabhängige Parameter durch
einen Zahlenwert ersetzt wird, der die Stärke eines in regelmäßigen Abständen auftretenden
Impulses angibt (Amplitudenmodulation). Auch die meist vorgenommene zeitliche
Gleichschaltung aller Neuronen durch eine einheitliche Taktung der Aktivität ist ein
essentieller Unterschied zwischen künstlichen und natürlichen Netzen.
5. Anwendungen Neuronaler Netze
Künstliche neuronale Netze kann man in sehr vielen Bereichen verwenden: in der
Psychologie, der Astronomie, in der Küche, Medizin und Fahrzeugindustrie. Sie sind
praktisch in allen Situationen anwendbar, in denen wir einen „Predictor”
(unabhängige
Variabel, Input), einen „Predicted “ (abhängige Variabel, Output) und eine Verknüpfung
zwischen den zweien haben. In dieser Arbeit werden wir aber nur über folgende
Anwendungsbereiche schreiben:
5.1. Anwendungen in der Psychologie
5.1.1. Mustererkennung
Die Spracherkennung, die Biometrie (Anwendung mathematischer Methoden in der Biologie
und Medizin), die
Handschrifterkennung sind Bereiche, in denen KNN (= künstliche
neuronale Netze) viel besser sind, als die regelbasierten Systeme. Sie können zum Beispiel
zwischen Stimmen und Geräuschen, nasalen, frikativen und plosiven Laute unterscheiden.
Sie können Phonemen klassifizieren und Buchstaben erkennen.
Bei der Buchstabenerkennung werden die Buchstaben entsprechend ihrer Teile in unserem
Gehirn gespeichert.7
7
Vgl. Atkinson et al., 2001.
Das Wissen welche Teile zu einem Buchstaben gehören, befindet sich in den Verbindungen
zwischen die Neuronen. Es gibt 2 Sorten von Verbindungen:
- Erregende Verbindungen: wenn Teil X aktiv ist, wird die Aktivierung zur Buchstabe Y
weitergeleitet
- Hemmende Verbindung: wenn Teil X aktiv ist, wird die Aktivierung zur Buchstabe Y
gehemmt.
R K
P
Erregende Verbindung
Hemmende Verbindung
/ \
) I
Abb.6: Verbindungssorten
In einem für Buchstabenerkennung verantwortlichen KNN stellen die Inputs die Teile der
Buchstabe und die Outputs die Buchstaben selbst dar. Der Vorteil eines KNN in diesen Fall
ist, dass es auch dann funktioniert, wenn nicht alle Teile deutlich erkennbar sind.
5.1.2. Konjugation
In 1989 haben MacWhinney, Leinbach, Taraban und McDonald ein Modell für die
Konjugation der Artikeln in der deutsche Sprache entwickelt.8
8
Vgl. Pléh et al., 2003.
Abb.7: Modell für die Konjugation der Artikel in der deutsche Sprache
Aber wie funktioniert die Konjugation? Die Auswahlkriterien sind: das Geschlecht (männlich,
weiblich, neutral), die Zahl (Singular, Plural), der Fall (Nominativ, Akkusativ, Genitiv,
Dativ). Im KNN bilden diese die Input-Schicht. In einer Trainingsphase wird es dem Netz
beigebracht, für einzelne Fälle den richtigen Artikel zu finden. Diese Trainingsphase hat
folgende Teile:
1. Präsentieren von Input-Mustern (Eigenschaften des Substantives)
2. Input-Muster aktivieren einige Input-Units
3. Die aktivierten Input-Units aktivieren die Output-Units durch die Hidden-Units
4. Der Output wird mit dem erwünschten Output verglichen. Stimmen sie nicht überein, so
werden die Gewichtungen im Netz verändert. (Die Gewichtungen, die den erwünschten
Output vorschlagen, werden verstärkt, die anderen werden geschwächt.)
Das Netz war nach dem Lernprozess in der Lage, für 98% der bis dahin benutzten Substantive
den richtigen Artikel auszuwählen.
Es ist auch eine Generalisierung aufgetreten: für die Substantive, die im Lernprozess benutzt
wurden, hat das KNN in andere Fällen in 92 % der Fälle den richtigen Artikel ausgesucht.
Bei den im Lernprozess nicht benutzten Substantive waren es 61 % Prozent (Zufall - 17%).
Dieses Modell erklärt, wie Kinder lernen, einen der 6 Artikeln richtig auszuwählen. Das KNN
hat die selben Fehlertypen gemacht, wie die Kindern. Es lernt schnell und effizient, die 6
Artikeln entsprechend den semantischen und phonologischen Eigenschaften der Substantive
auszuwählen, auch dann, wenn Unregelmäßigkeiten auftreten.
5.2. Anwendungen in der Wirtschaft
5.2.1. Betrugserkennung
Einige Banken benützen Neuronale Netze, damit sie Betrugsversuche rechtzeitig erkennen
können.
Das Netz lernt die Angewohnheiten des Kontoinhabers und erkennt Unregelmäßigkeiten.
Der Input an das KNN sind die Daten des Kontoinhabers. Im Lernprozess werden die
Angewohneiten des Kontoinhaber gelernt, damit die Frage „Wer macht jetzt die
Transaktion?“ (Output) beantwortet werden kann.9
5.2.2. Human Resource
Künstliche neuronale Netze können auch bei der Selektion von Stellenbewerbern helfen, in
dem sie die Leistungsfähigkeit vorhersagen. Der Input besteht in diesen Fall aus den
biographischen Daten der Bewerber, und der Output aus den zukünftigen Leistung.10
5.3. Anwendungen in der Technik
5.3.1. Kinematik
Die Kinematik ist die Lehre von der Bewegung von Punkten und Körpern im Raum.11
Abb.8: Vorwärtskinematik
9
Vgl. http://websom.hut.fi/websom/
Vgl. ebd.
11
Vgl. http://de.wikipedia.org/wiki/Kinematik
10
Vorwärtskinametik beschäftigt sich mit der Frage, wie man den „Arm“ bewegen muss, damit
er die Zielposition erreicht. Das KNN hat die folgenden Teile: Input: aktuelle Position des
Armes; Output: Zielposition des Armes.12
5.3.2. Haushaltselektronik
Toaster:
In Japan gibt es schon Toaster, die mit künstlichen neuronalen Netzen arbeiten. Die
Ingenieure versuchen so den Toastprozess besser zu kontrollieren.
Das KNN hat dann folgende Teile: Input: Anfangs- und Endzustand des Brotes; Output: Hitze
und Hitzedauer.
Digitale Kamera:
Die Kameras, die mit künstlichen neuronalen Netzen arbeiten, können verschiedene
Parametern (Output) abhängig von den Umweltbedingungen (Input) verändern.13
5.4. Medizin
5.4.1. Diagnose
Mit Hilfe von Künstliche neuronale Netze kann man sehr präzise Diagnosen für Brustkrebs,
Leberschädigungen, Diabetes, Herzkrankheiten stellen.
Für die Diagnose (Output) werden hier die Messgrößen von Zellen (Input) benützt.14
5.4.2. Interaktion von Medikamente
KNN können Nebeneffekte von diversen Medikamenten, Allergien (meistens durch
Interaktion von Medikamente verursacht) erklären.
Die KNN arbeiteten mit den Komponenten des Medikamentes (Input), um die Nebeneffekte,
Allergien (Output) zu entdecken.15
12
Vgl. http://www.learnartificialneuralnetworks.com/robotcontrol.html
Vgl. http://websom.hut.fi/websom/
14
Ebd.
15
Ebd.
13
5.4.3. Überlebenswahrscheinlichkeit
In England werden künstliche neuronale Netze für die Auswahl von Transplantationspatienten
verwendet. Basierend auf den Daten der einzelnen Patienten (Input) werden einige von ihnen
für Lebertransplantationen ausgewählt (Output).16
6. Exkurs: Anleitung zur Simulation des Rotkäppchenbeispiels mit Hilfe
von „Memobrain“
„Membrain“17 ist ein Simulator zur Erstellung graphischer neuronaler Netze. In diesen
Exkurs lernen wir das Rotkäppchenbeispiel mit Membrain zu simulieren.
6.1. Voreinstellungen anpassen
Sie müssen diese Einstellungen nur beim ersten Start von MemBrain anpassen.
1. Menüpunkt "View", Untermenüpunkt "Show Activation Spikes on Links": Hier sollte
kein Häkchen gesetzt sein.
2. Menüpunkt "View", Untermenüpunkt "Show Fire Indicators": Hier sollte ebenfalls
kein Häkchen gesetzt sein.
3. Menüpunkt "Teach", Untermenüpunkt "Set Teach Speed...": Tragen Sie im daraufhin
erscheinenden Dialog einen Wert von "1" ein (Vorgabewert ist hier "0").
a) Schritt: Units erstellen
Nachdem Sie MemBrain gestartet haben, erscheint zunächst eine Werkzeugleiste am oberen
Bildschirmrand und darunter ein schwarzer Bildschirm.
Auf dieser schwarzen Oberfläche können Sie Units platzieren, indem Sie entweder in der
Werkzeugleiste folgendes Symbol
anklicken oder im Hauptmenü "Insert" "New Neurons"
auswählen.
16
Ebd.
Vgl. http://www.neuronalesnetz.de/membrain.html
17
Abb. 9: Platzieren von Units
Anschließend sollten Sie mittels des Symbols
oder dem Betätigen der "Esc"-Taste wieder
den herkömmlichen Mauscursor bewegen können.
Für das Rotkäppchenbeispiel benötigen wir 13 Units (die Anordnung wurde nur der
Übersichtlichkeit wegen so gewählt, sie ist an sich beliebig):
Abb.10 Units in Rotkäppchenbeispiel
6.2. Objekteigenschaften der Unit
Klicken Sie auf eine Unit der oberen Schicht. Betätigen Sie nun die rechte Maustaste über
Ihrer ersten Unit und klicken im Anschluss daran auf den Unterpunkt "Properties" (der vierte
Unterpunkt von unten). Alternativ gelangen Sie auch durch einen einfachen Doppelklick an
der Unit zu dem entsprechenden Eigenschaftsmenü.
Hier werden die Objekteigenschaften unserer ersten Unit angezeigt. Im Moment soll uns
lediglich die Art der Unit interessieren. Klicken Sie dazu auf das Pull-down Menü "Type"
(oben rechts, dort steht "HIDDEN"). Sie können zwischen drei verschiedenen Arten von
Neuronen auswählen: Input-, Hidden- und Output-Units. Wählen Sie an dieser Stelle einmal
"INPUT" aus und klicken Sie anschließend auf den "OK-Button".
Abb.11: Input- und Output-Units in MemBrain
Ihre erste Input-Unit sollte nun einen hellblauen Pfeil oberhalb des Unit-Namens (in unserem
Fall "1") enthalten. Weisen Sie den anderen 5 Units in der oberen Schicht den Typ "INPUT",
den unteren 7 den Typ "OUTPUT" zu. Wenn Sie die Ctrl-Taste drücken, und gleichzeitig mit
der Pfeilspitze auf alle Units in eine Schicht klicken, können sie deren Eigenschaften auf
einmal ändern. So wird die obere Schicht zur Input-Schicht, die untere zur Output-Schicht.
6.3. Umbenennen
Wir können den einzelnen Units Namen geben. In unseren Beispiel werden zum Beispiel die
ersten 3 Units der Input-Schicht zu die Eigenschaften des Wolfes (große Ohren, große Augen,
große Zähne), und die ersten 3 der Output- Schicht zu Verhaltensmöglichkeiten des
Rotkäppchens (Weglaufen, Schreien, den Holzfäller rufen). Den Namen können Sie auch mit
dem Unterpunkt „Properties“ ändern. Klicken Sie auf eine Unit der oberen Schicht. Betätigen
Sie nun die rechte Maustaste über Ihrer ersten Unit und klicken im Anschluss auf den
Unterpunkt "Properties" (der vierte Unterpunkt von unten). Alternativ gelangen Sie auch
durch einen einfachen Doppelklick der Unit zu dem entsprechenden Eigenschaftsmenü. In der
Rubrik „Name“ können Sie den ursprünglichen Namen ändern.
Abb.12: Umbenannte Units
6.4. Verbindungen erstellen
Um zwischen zwei Units eine Verbindung zu erstellen, müssen Sie lediglich mit dem
Mauspfeil auf die untere, kleine "Lücke" einer Input-Unit fahren, so dass ein dunkelblaues
Quadrat erscheint. Drücken Sie dann mit der linken Maustaste auf dieses Quadrat und fahren
von dort aus auf die obere, kleine "Lücke" der Output-Unit. Jetzt sollte eine Input-Unit mit
einer Output-Unit verbunden sein (die Verbindung wird in rot dargestellt). Verfahren Sie
analog für alle 3 umgennanten Input-Units, so dass jede von ihnen mit jeder unbennanten
Output-Unit eine Verbindung hat.
Abb.13: Miteinander verbundene Units im Rotkäppchenbeispiel
6.5. Trainingsphase
Um in der Trainingsphase die Input- und Output-Daten für das Rotkäppchenbeispiel
einzugeben, wählen Sie im Menü unter "Teach" den "Lesson Editor" aus. Sie erreichen diesen
auch alternativ durch folgendes Symbol:
Patter
n
1
2
3
4
5
6
7
8
.
Unit
Input
gO gA gZ
In4
In5
In6
Output
W Sch H
0
1
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Ou
4
0
0
0
0
0
0
0
0
Ou
5
0
0
0
0
0
0
0
0
0u6 Ou7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Tabelle 3: Wahrheitstabelle für das Rotkäppchenbeispiel
Beim Rotkäppchenbeispiel soll das Netz als Output eine 1 produzieren, wenn alle Input-Units
aktiv (Activation 1) sind. Da also insgesamt 8 "Pattern" vom neuronalen Netz verarbeitet
werden sollen, generieren wir zunächst 7 weitere Pattern durch Anklicken des "New Pattern"Buttons auf der rechten Seite. Im mittleren Bereich des "Lesson Editors" sollte bei Ihnen nun
"Pattern No: 8 of 8" stehen.
Wenn Sie die eingegebenen Daten für spätere Zwecke sichern möchten, so können Sie dies im
Lesson Editor über den Menüpunkt "File" - "Save Lesson" tun.
6.6. Initialisierung der Gewichte mit Zufallswerten
Nun sollte das Netz noch mit Zufallswerten für die Gewichte der Verbindungen und des
Aktivierungs-Schwellwerts der Output-Unit initialisiert werden. Klicken Sie hierzu auf den
Menüpunkt "Net" - "Randomize Net". Wenn Sie sich die Verbindungen zwischen den
Neuronen einmal genauer anschauen, werden Sie bemerken, dass diese danach die Farbe
mehr oder weniger stark verändert haben. Entsprechend den Zufallswerten für die
Verbindungsstärke können die Farben von bläulich über grau bis zu rötlich variieren.
Abb. 6. Fehlerkurve des neuronalen Netzes für die ersten ca. 100 Durchläufe
Öffnen Sie nun den "Net Error Viewer" (im Menü unter "Teach" zu finden oder durch
Betätigen des
-Buttons).
Stoppen Sie nun die Trainingsphase des neuronalen Netzes (
oder unter "Teach" "Stop
Teacher (Auto)"). In der nun folgenden Testphase soll überprüft werden, ob sich das
neuronale Netz tatsächlich so verhält, wie wir es wollten.
6.7. Testphase
Um zu überprüfen, ob das Netz tatsächlich den richtigen Output für die 4 verschiedenen
Input-Muster produziert, öffnen Sie den "Lesson Editor" erneut.
Im "Lesson Editor" können Sie unten links im Bereich "Data to Net" dem neuronalen Netz ein
beliebiges Reizmuster ("Pattern") präsentieren. Wählen Sie mit Hilfe der Pfeil-Buttons am
rechten Rand ein gewünschtes Reizmuster aus und klicken anschließend auf "Think on Input".
Sind nicht alle 3 umbennanten Input-Units aktiv, so müsste der Aktivitätslevel der OutputUnits nur geringfügig über 0 liegen. Wenn alle Input Units aktiv sind (also große Ohren,
große Augen, große Zähne vor Rotkäppchen stehen) so wird der Aktivitätslevel der Output-
Units einen Wert nahe 1 annehmen (das Rotkäppchen wird weglaufen, schreien und den
Holzfäller rufen). Überprüfen Sie nun alle 8 Reizmuster.
7. Die Kontroverse zwischen Konnektionismus und Symbolverarbeitung
7.1. Symbolverarbeitungsansatz und konnektionistische Systeme
Im Laufe des wissenschaftlichen Diskurses über die Möglichkeit, „intelligente“ Vorgänge
durch formal definierte Systeme zu simulieren bzw. zu realisieren, entwickelten sich zwei
Ansätze heraus, die öfters als grundlegend unvereinbar dargestellt werden und die sich auch
teilweise selbst so verstehen bzw. verstanden haben.
Der Symbolverarbeitungsansatz wählt sich als Ausgangspunkt „intelligentes“ menschliches
Verhalten bzw. das davon im Bewusstsein des handelnden Individuums fassbare begriffliche
Abbild. Er benutzt die daraus extrahierbaren begrifflichen Grundelemente und versucht
anschließend ein Regelwerk zu erstellen, mit dessen Hilfe diese Gundbegriffe so miteinander
kombiniert werden können, dass sie diesselben „intelligenten“ Ergebnisse (die wiederum mit
Hilfe dieser Grundbegriffe formuliert werden) liefern wie das menschliche „intelligente“
Verhalten. Diese Grundbegriffe werden dann als „Symbole“ bezeichnet, da sie – dem hohen
Komplexheitsgrad bewussten menschlichen Denkens entsprechend – sehr klar in der
menschlichen Wahrnehmung existierende Grundmuster identifizieren, die natürlich auch in
der Wirklichkeit in einer entsprechenden Weise zu finden sind. Der symbolverarbeitende
Ansatz spricht in diesem Zusammenhang dann von einer „Repäsentationalität“ des
Symbolsystems bezogen auf die Wirklichkeit. Diese Symbole werden als nicht mehr weiter
auflösbare Grundelemente jeglichen intelligenten Vorganges betrachtet, was mit sich bringt,
dass sich die Vorstellung durchsetzt, die Simulation „intelligenter“ (im Sinne von menschlich
intelligenter) Vorgänge kann nur dadurch geschehen, dass man ein geeignetes Symbolsystem
und ein dazugehöriges Regelwerk findet.
Auch konnektionistische System kennen so etwas wie Grundelemente. Diese sind aber nicht
in sich komplexe Gebilde, sondern sehr klar formal definierbare Prozesse, die relativ leicht
durch physikalische Vorgänge ausgeführt werden können. Kombiniert man diese Prozesse
durch ebenfalls klar formal definierbare Regeln, so ergibt sich ein Gesamtsystem, das in sehr
komplexer Weise auf verschiedene Anfangsbedingungen reagieren kann. Der Unterschied
zum zuerst angeführten Symbolverarbeitungsansatz liegt also eigentlich nur darin, dass die
Grundbausteine des Systems sehr viel elementarer, damit formal definierbar, im Gegenzug
dazu aber als relativ „primitiv“ angesetzt werden und die Komplexität des Systems erst
dadurch erreicht wird, dass sehr viele dieser Grundbausteine miteinander interagieren. Beide
Systeme funktionieren im Grunde dadurch, dass Grundbausteine durch Regeln miteinander
interagieren.
7.2. Gegenargumente des Symbolverarbeitungsansatzes gegen eine Zuschreibung von
„Intelligenz“ an konnektionistische Systeme
Eine der fundamentalsten Kritiken an einem konnektionistischen Verständnis von
Intelligenzleistungen wurde von Fodor und Pylyshyn formuliert.18 Ihre Argumentation hat
Goschke19 auf zwei Kernargumente zusammengefasst: Erstens würden konnektionistische
Systeme keine strukturierten Symbole mit Konstituentenstruktur darstellen können und
zweitens können sie deshalb nicht als repräsentationale Systeme gelten.
Was man sich unter „Symbolen mit Konstituentenstruktur“ zu denken hat, leite sich bei Fodor
aus der Eigenart sprachlicher Begriffe ab. Diese ermöglichen eine fast unerschöpfliche
Anzahl an sinnvollen Aussagen. Diese Art von Produktivität, die sich gleichzeitig an eine
strenge Systematizität hält, kann man sich nach Fodor eben nur dadurch denken, dass man
per-se-konstituierte mentale Grundelemente annimmt, die durch Kombination diese
Mannigfaltigkeit und Verschiedenartigkeit der Aussagen ermöglichen. Die einzelnen
Neuronen in neuronalen Netzen würden eine solche Aufgabe nicht erbringen können, da diese
in der Gesamtheit des Netzes ja nur eine einzelne Gewichtung vornehmen, diese aber nicht
auf ein anderes Netz, das einen begrifflich ähnlichen Sachverhalt ausführt, übertragbar ist.
7.3. Entkräftung der Gegenargumente
Der Gedankengang Fodors ist soweit richtig, als dass einzelne Neuronen sicher nicht Träger
mentaler Begriffe sein können. Wie in Untersuchungen natürlicher neuronaler Netze gezeigt
werden konnte und wie es weiter unten dargestellt wird, kann ein einzelnes Neuron aber als
Indikator für einen mentalen Begriff fungieren, aus dem neurophysiologisch eindeutig
ableitbar ist, ob der betreffende Begriffsinhalt gerade im neuronalen Netz verarbeitet wird.
18
19
Vgl. Fodor, 1988.
Vg. Goschke, 1989.
Das bedeutet aber nicht, dass dieses Neuron allein den Begriff neuronal definiert, sondern
dazu sind sehr viel größere, vor- und nachgeschaltete Teile des Netzes nötig. Neurologisch ist
ja zum Beispiel schon seit langem untersucht, dass der Wahrnehmungsvorgang natürlicher
neuronaler Netze in einem aufbauenden Nacheinander von Teilen des Nervensystems beruht,
in dem zuerst die von den Sinneszellen erzeugte „Pixelsuppe“ analysiert wird und die
formalen Eigenschaften von Objekten wie Farben, Ecken, Kanten usw. völlig autonom
herausgefiltert werden. Erst in einem späteren Verarbeitungsschritt werden die so gewonnen
Muster durch einen Vergleich mit abgespeicherten Gedächtnisinhalten als ein bestimmtes
Objekt identifiziert. Dieser abgespeicherte Begriff setzt deshalb natürlicherweise den ganzen
„formalen Analyseapparat“ des neuronalen Netzes voraus, ebenso wie dessen „neuronalen
Syntax“. Insofern muss man sich die neuronale „Repräsentation“ eines Begriffs sehr viel
vielschichtiger vorstellen, als dies Fodor und Pylyshyn tun.
7.4. Das Symbol-foundig-Problem aus Konnektionistischer Perspektive
Die als „Symbol-foundig-Problem“ bezeichnete Fragestellung setzt natürlich einen
Fragehorizont voraus, der von einem sehr regelgeleiteten Ansatz ausgeht. Für einen solchen
ist es essentiell,
die Legitimität des Symbolbegriffes
nachzuweisen. Aus einer
konnektionistischen Perspektive heraus kann eine sehr klare Vorstellung davon entwickelt
werden, wie sich komplexere geistige Konstrukte bilden können. Dieser gesamten
Fragestellung würde man aus konnektionistischer Sicht aber wohl einen anderen Namen
geben, etwa „die Abbildung von Wahrnehmungsstrukturen im neuronalen Netz“.
Von manchen Seiten werden neuronale Netze als diffuse vielstufige Rechenalgorithmen
betrachtet, die aus einem Eingangsvektor - ähnlich einer „black-box“ - in einem
unstrukturierten und deshalb im Nachhinein nicht analysierbaren Rechenvorgang einen
Ausgangsvektor erstellen. Für kleinere Netzwerke, die nur aus wenigen Zellen bestehen mag
dies auch zutreffen. In größeren Agglomerationen, in denen auch im Laufe des Algorithmus
neue Inputvektoren eingespeist werden, bilden sich allein dadurch schon Strukturen aus, weil
sich das Netz durch diese zusätzlichen Einspeisepunkte in Teilsysteme gliedert (ähnlich
einzelner Programmroutinen innerhalb eines Computerprogramms). Deren jeweilige
Endresultate können gewissermaßen als „Übergabevektoren“ betrachtet werden, in denen
Subsysteme ihre Ergebnisse an die folgenden weitergibt. Darüberhinaus ist es wohl auch
mathematisch durchaus vorstellbar, dass sich bei einem auch geschlossenen, nicht durch
weitere
Inputs
ergänztem
Zusammenwirken
von
Hunderten
und
Tausenden
Elementarbausteinen im Rechenalgorithmus charakteristische Muster in den Gewichtungen
der Neuronenverbindungen ausbilden. Analog zum Verhalten autonomer Agenten, die in
einer nach außen hin geschlossenen Interaktion miteinander gewisse „Verhaltensmuster“
ausbilden, die sich als relativ stabile Strukturen in ihrem anfänglich völlig offen gelassenen
„Verhaltensrepertoirs“ verfestigen, ist auch zu erwarten, dass sich in größeren neuronalen
Netzen gewisse charakteristische Gewichtungsmuster bilden. Außerdem können in solch
verfestigten
Gewichtungsmustern
einzelne
Neuronen
oder
Neuronengruppen
eine
charakteristische Rolle übernehmen, d.h. aus ihrer Aktivität kann man Rückschlüsse über die
Art des Inputvektors ziehen.
Ein solches Bild der strukturierten Interaktion von Neuronen wird auch durch sehr detaillierte
neuere Hirnforschungen bestätigt. So legt etwa M. Spitzer, der als führender Hirnforscher des
deutschen Sprachraums gilt, ausführlich dar20, wie einzelne Neuronen zusammen mit ihren
Nachbarzellen eindeutig einzelne Begriffe repräsentieren. In der von ihm angeführten
Untersuchung konnte z.B. nachgewiesen werden, dass es bei den Probanten eine solche sehr
engräumige Nervengruppe gibt, die für den Begriff des „Sydney Opera House“ steht. Ein
bestimmtes Neuron dieser Gruppe wird nur dann aktiv, wenn der Probant entweder das Wort
„Sydney Opera House“ wahrnimmt oder ein Bild des Opernhauses sieht (wobei es völlig egal
ist, aus welcher Perspektive es aufgenommen wurde, und ob das Objekt als ganzes oder nur
ein charakteristischer Teil davon zu sehen ist!). An anderer Stelle21 stellt Spitzer
Untersuchungen vor, die zeigen, dass es im Hirn von Affen eine Neuronengruppe gibt, die die
horizontale Richtung der Armbewegung repräsentiert. Auch dabei sind die Einzelneuronen
Repäsentanten für eine gewisse Raumrichtung, die benachbarten Neuronen, die für die
benachbarten Raumrichtungen stehen, sind aber jeweils in einem schwächeren Grad
mitinvolviert. Je weiter die tatsächliche Richtung der willentlichen Armbewegung von der
Repäsentationsrichtung des Armes abweicht, desto inaktiver ist das betreffende Neuron. Diese
Neuronengruppe spiegelt also eineindeutig die Struktur des zweidimensionalen Raumes
wieder. Der Richtung der tatsächlichen Armbewegung konnte dabei genau berechnet werden,
indem man die Summe der Richtungsvektoren der aktiven Neuronen bildete, wobei der
Aktivitätsgrad der einzelnen Neuronen als Maß für den Betrag der einzelnen
20
21
Vgl. Spitzer, 2006.
Vgl. Spitzer, 2005.
Richtungsvektoren diente. Dieser Rechenvorgang entspricht genau einer Summenfunktion,
wie sie im Abschnitt 3 dieser Arbeit vorgestellt wurde.
Semantische Gehalte des Bewusstseins können also durchaus als „geronnene“ Strukturen des
neuronalen
Netzes
aufgefasst
werden.
In
ihnen
spiegelt
sich
klarerweise
die
Informationsstruktur der Wahrnehmung und damit in gewissem Sinne der Wirklichkeit
wieder. Insofern ist es auch möglich, sie als „Symbole“ für in der Wirklichkeit vorgegebene
Strukturelemente zu bezeichnen, auch wenn dabei klar sein muss, dass sie sich durch einen
Prozess der „neuronalen Abstraktion“ gebildet haben und nicht aus einer nicht fassbaren
geistigen Ebene stammen oder von irgendwelchen dem menschlichen Bewußtsein von allem
Anfang an innewohnenden „idea innatae“ im Sinne des Rationalismus des 17. Jahrhunderts
abgeleitet werden. Smolensky22 vergleicht das Verhältnis von neuronaler Konstruktion und
semantischem Begriffssystem mit dem von Newtonscher Mechanik und der Quantentheorie ein sehr treffender Vergleich um zu veranschaulichen, wie eine große Anzahl fluktuierender
Prozesse in ihrer Interaktion einen stabilen Vorgang bilden können. Auch der Ansatz von
W. Freeman, der mit Argumenten der Chaostheorie ähnliches zu begründen versucht, kann als
Veranschaulichung dienen, auch wenn die Chaostheorie allein für die genauere Erklärung
neuronaler Vorgänge wohl zu unzureichend sein wird.
Aus einem solchen Verständnis mentaler Strukturen als neuronaler Abstraktion der
Wahrnehmung ergibt sich auch, dass der Unterschied zwischen kognitiven und nichtkognitiven Systemen kein prinzipieller, sondern nur noch ein gradueller ist: Kognitive
Systeme unterscheiden sich von nicht-kognitiven Systemen nur durch den Komplexitätsgrad
ihrer Fähigkeit zur Extraktion von Umweltreizen und zur adaptiven Reaktion auf eine
Vielzahl von Situationen.
Theoretisch scheint es von solch einem Standpunkt aus möglich, durch künstliche neuronale
Netze Maschinen zu bauen, die dieselben kognitiven Leistungen (=Intelligenz) erbringen wie
der Mensch, sofern sich diese als reine Adaptionen an Umweltreize ergeben können. Auch die
Schaffung
künstlichen
Bewusstseins
(=Selbstreflexivität)
und
damit
verbundener
Intentionalität scheint davon ausgehend auf kein prinzipielles Problem zu stoßen. Dass damit
allerdings schon eine letzte, die Geistbegabtheit den Menschen erschöpfend erklärende
Theorie gefunden ist, kann natürlich nicht behauptet werden, da die Geistbegabtheit des
22
Vgl. Smolensky, 1988.
Menschen aus mehr als nur einer „kognitiv-intelligent-adaptiven“ und einer selbstreflexiven
Dimension bestehen dürfte. Im selben ambivalenten Licht stehen auch die Themen „Freiheit“
und „Verantwortung“ des Menschen.
Auch die Frage, ob es eine Ursache gibt, dass sich natürliche „kognitive Systeme“ immer
komplexer organisieren, oder ob dafür die evolutionstheoretisch angenommenen Prinzipien
von genetischer Mutation und Selektion neben der erst auf einer sehr hohen Stufe der
Evolution einsetzenden Intentionalität ausreichen (z.B. warum entwickelt ein neuronales Netz
einen Algorithmus, der darüber den Ausschlag gibt, ob und wie ein neues Neuron in das Netz
eingebaut wird), scheint auf Grundlage der Theorie der neuronalen Netze nicht beantwortbar
zu sein.
Literatur:
Atkinson, R.L., Atkinson, R.C., Smith, E.E., Bem, D.J., Nolen-Hoeksema, S (2001).
Pszichológia. Budapest, Osiris Verlag
Goschke, T. (1989). Implikationen des Neuen Konnektionismus für den Begriff der
mentalen Repräsentation. In B. Becker (Hrsg.), Zur Terminologie der
Kognitionsforschung. GMD-Arbeitspapier Nr. 385. St. Augustin: Gesellschaft für
Mathematik und Datenverarbeitung.
Fodor, J.; Pylyshyn, Z. (1988). Connectionism and Cognitive Architecture. In:
Cognition 28: S 3-71.
Hebb, D. (1949). The Organization of Behaviour S 62, Übersetzung nach Kandel et
al., 1995, S. 700
Pléh, Cs., Kovács, Gy., Gulyás, B. (2003). Kognitív idegtudomány. Budapest, Osiris
Verlag.
Smolensky, P. (1988). On the proper treatment of connectionism. In: Behavioral and
Brain Sciences, 11, 1-74.
Spitzer, M. (2005). Vektoren im Kopf. Fernsehsendung produziert und ausgestrahlt
vom Bayrischen Rundfunk.
Spitzer, M. (2006). Großmutterneuronen. Fernsehsendung produziert und
ausgestrahlt vom Bayrischen Rundfunk.
http://de.wikipedia.org/wiki/Neuron
http://de.wikipedia.org/wiki/Gehirn
http://www.neuronalesnetz.de/hebb.html
http://websom.hut.fi/websom/
http://de.wikipedia.org/wiki/Kinematik
http://www.learnartificialneuralnetworks.com/robotcontrol.html
http://www.neuronalesnetz.de/membrain.html
http://de.wikipedia.org/wiki/Bild:Complete_neuron_cell_diagram_german.svg
http://www.onmeda.de/krankheiten/depressive_verstimmungen.html?gfx=0
Herunterladen