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 111⋅w121⋅w13 1⋅w 211⋅w22 1⋅w 23 1⋅w 311⋅w321⋅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