Das künstliche Gehirn – Neuronale Netze

Das künstliche Gehirn

Die Informatiker haben in den letzten Jahrzehnten mit nur mäßigem Erfolg versucht künstliche Intelligenz (AI) zu erzeugen. Die hauptsächliche Problematik liegt nicht in der Rechnerleistung, sondern in den Algorithmen. Prozedural angelegte Programme und die seriell arbeitenden Computern stellen dafür ein großes Hindernis dar. Im Gegensatz dazu arbeitet das menschliche Gehirn parallel und verbraucht dabei noch sehr wenig Energie. Auch von der Grundkonzeption des menschlichen Rechners ist dieser völlig anders angelegt als eine elektronische Turing Maschine. Das zentrale Element der menschlichen Rechnerarchitektur ist das Neuron.

Ein Neuron ist ein in sich geschlossenes Objekt mit mehreren Eingängen (Dendriten) und einem Ausgang (Axon). Im Inneren arbeiten zwei Funktionen. Das sind einerseits die Eingangsfunktion, welche die Eingangswerte summiert und andererseits die Ausgangsfunktion, welche darüber entscheidet bei welchem Schwellwert ein Signal am Ausgang erzeugt wird. Beides lässt sich über mathematische Funktionen gut beschreiben. Die Input-Funktion ist eine Summenfunktion die sich aus den Werten der sendenden Neuronen zusammensetzt. Die Besonderheit dabei ist allerdings, dass nicht jeder Eingang (Dendrit) die gleiche Gewichtung hat. Am Eingangstor sind die sogenannten Synapsen-Gewichte angebracht, welche sich im Laufe des Lebens eines Neurons verändern. Dieser Prozess ist gemeinhin als Lernen bekannt. Die Output-Funktion berechnet aus der gewichteten Summe des Eingangs einen Ausgangswert. Das können sehr einfache Funktionen – wie die Lineare, Ausgangswert ist gleich Eingangswert (1:1), oder die Binomische, der Ausgangswert ist entweder null oder Maximum (0 oder 1), sein. Im menschlichen Neuron ist das wesentlich komplexer und kann mathematisch eventuell über einen Tangens-Hyperbolicus dargestellt werden. Es hat sich dafür auch die sigmoide Aktivitätsfunktion etabliert.

Die Funktionalität eines Neurons könnte man durchaus mit dem Verhalten eines Menschen vergleichen. Die Eingänge wären dabei die Beziehungen zu anderen Menschen und der Ausgang würde das Verhalten wiedergeben. Wir reagieren auf andere Menschen unterschiedlich, selbst dann wenn diese die gleiche Botschaft senden. Das ist die Gewichtung. Was wir bei dem einen gut heißen und bei einem anderen noch tolerieren können, führt beim dritten zu einem Wutausbruch – das Neuron feuert.

Erst die Verknüpfung von mehreren Neuronen führt zu einem neuronalen Netzwerk. Die Anordnung der Neuronen gibt auch deren Vernetzung vor. Alle neuronalen Netzwerke haben eines gemeinsam – sie verfügen über eine Eingangsschicht und über eine Ausgangschicht. Zwischen drinnen sind die sogenannten Hidden-Layers. Diese können je nach Komplexität des Netzes sehr tief verschachtelt sein. Einfache lebende Organismen haben auch sehr einfache neuronale Strukturen. Die Leistungsfähigkeit von neuronalen Netzwerken kann man beispielsweise an den 380 Neuronen einer Schnecke feststellen. Damit ist dieses Lebewesen in der Lage sich zu reproduzieren, sich zu ernähren und in seiner Umwelt zurechtzufinden. Anzahl der Neuronen und deren Verknüpfungsdichte sind Maßstab für die potentielle Leistungsfähigkeit eines Neuronen-Netzwerks. Beim menschlichen Gehirn sind es 86 Milliarden Neuronen, die wiederum mit jeweils 10.000 anderen Neuronen verknüpft sind. Damit ergibt sich eine Rechenleistung die bislang von künstlichen Systemen nicht erreicht wurde. Biologische Systeme sind in der Lage während ihres Lebens auch neue Nervenzellen zu generieren und vor allem laufend neue Verbindungen aufzubauen. Das Lernen beim Menschen ist also nicht nur auf die Veränderung von Synapsen-Gewichten beschränkt.

Künstliche neuronale Netzwerke sind demgegenüber nicht so dynamisch. Die Anzahl der Neuronen und dessen Verbindungen werden bei der Konstruktion festgelegt. Das Training des Netzwerkes ist analog dem des menschlichen Lernens und basiert auf Wiederholungen. Dabei werden die Synapsen-Gewichte eingestellt. Am Beispiel eines Perzeptrones (Bild) mit vier Eingangs-Neuronen und zwei Ausgangs-Neuronen kann dieser Lernprozess einfach dargestellt werden. Dem Netzwerk werden auf der Retina vier verschiedene Buchstabengruppen gezeigt. Das sind: “in”, “gehen”, “um” und “stabil” – jeweils an einem Eingangs-Neuron. Beim Supervised-Learning werden dann am Ausgang die Ergebnisse mit den beiden Wörtern “instabil” und “umgehen” verglichen. Im Trainingsprozess wird das Delta zwischen Ausgangswert und Sollwert laufend nach jedem Trainingslauf verglichen. Während eines Trainingslaufes werden die Synapsen-Gewichte nachgestellt. Das Training wird nun so lange fortgesetzt bis das neuronale Netz die eingehenden Buchstabengruppen als zwei Wörter erkennt.

 

Neuronale Netze

 

Beim Non-Supervised-Learning werden die Ausgänge nicht auf Basis eines bekannten Sollwertes trainiert, sondern diese ergeben sich aufgrund des Trainings. Die Anzahl der Trainingsläufe wird damit meistens höher. Den Unterschied zwischen diesen beiden Lernmethoden kann man am Beispiel des Erlernens von Verkehrszeichen gut zeigen.

Der Mensch lernt die Verkehrszeichen in der Schule in dem er zu jedem Symbol eine Zuordnung treffen muss, was er zu tun oder zu lassen hat. Dieses auswendig lernen geht relativ schnell und hat auch eine sehr hohe Wiedererkennungsrate. Die Fehlerrate liegt beim Menschen bei 5 %, bei künstlichen neuronalen Netzwerken schon bei 3 %. Beim Non-Supervised-Modus würde der Lernende einfach so lange als Beifahrer mitfahren, bis er aus dem Fahrverhalten des Lenkers erkannt hat, was Verkehrszeichen bedeuten. Dabei müsste er diese nicht einmal benennen können. Dieser Prozess kann sehr lange dauern. Künstliche neuronale Netze könnten ebenso als Beifahrer lernen, dabei allerdings hunderttausende Durchläufe pro Sekunde machen (Videos). Computer lernen demnach sehr schnell – er wird nicht müde.

Künstliche neuronale Netze werden heute üblicherweise auf Basis von Turing Maschinen abgebildet. Dies ist dann eine Simulation von neuronalen Netzwerken. Aufgrund der hohen Rechnergeschwindigkeit macht es den Anschein als ob das neuronale Netz in einem parallel-processing Modus arbeitet. Es ist zu vermuten, dass derzeit intensiv an einem elektronischen Neuron gearbeitet wird.

Abschließend ein Beispiel um die Leistungsfähigkeit des eigenen neuronalen Netzes (Gehirn) zu demonstrieren. Wir verwenden wieder ein Perzeptron und zeigen diese fünf Begriffe. Diese sind: “Weiß, Tuch, Tasche, Henne, Fluss”. Bitte jetzt nachdenken womit du diese Begriffe im gemeinsamen verbindest. Wahrscheinlich nichts Eindeutiges. Ich verändere jetzt den Input auf “Rot, Tuch, Tasche, Henne, Wald”. Viele haben jetzt schon ein ganz eindeutiges Ergebnis (Google hat es noch nicht). Noch ein Durchlauf mit: “Rot, Tuch, Korb, Henne, Wald(Google noch immer nicht). Wenn du jetzt alle fünf Begriffe dieser Szene entsprechen in Google unter Suche/Bilder eingibst findest du etwa vierzig Treffer.