Seit dem letzten Artikel hier ist ja ein wenig Zeit vergangen, was ich mit einer Menge zu erledigender Aufgaben entschuldigen möchte. Jetzt ist aber wieder Zeit, und die möchte ich gleich für einen neuen Artikel benutzen. Heute soll es um künstliche Intelligenz gehen, beziehungsweise um eine spezielle Form davon: die künstlichen neuronalen Netze.

Künstliche Intelligenzen (abgekürzt KI) sind ja ein beliebtes Thema in Science-Fiction-Literatur und -Filmen, wobei es meist (aus mir unerfindlichen Gründen) früher oder später dazu kommt, dass die KI Allmachtsphantasien entwickelt oder auf andere Art und Weise “den Verstand verliert”. Die KI in derartigen Werken wird meist als sehr weit fortgeschritten und dem Menschen mindestens ebenbürtig, wenn nicht sogar überlegen, dargestellt; was dabei aber meist zu kurz kommt, ist eine Beschreibung der technologischen Grundlage dieser künstlichen Intelligenz. Ein geeigneter Kandidat für derartig unberechenbare Intelligenzen sind nun eben die künstlichen neuronalen Netze, da sie dem menschlichen Gehirn nachempfunden sind und ähnlich funktionieren. Aber von vorn.

Unser Gehirn besteht zum überwiegenden zu einem großen Teil aus Nervenzellen oder Neuronen, schätzungsweise einige 100 Milliarden an der Zahl. Eine Nervenzelle besteht hauptsächlich aus drei wichtigen Bestandteilen: dem Zellkörper, den Dendriten und dem Axon (siehe Bild). Der Zellkörper ist der zentrale Bestandteil der Zelle und enthält alle wichtigen Bestandteile, die zum Überleben und Funktionieren der Zelle wichtig sind. Die Dendriten sind gewissermaßen die “Eingänge” der Zelle – über sie werden Reize von anderen Nervenzellen an den Zellkern Zellkörper übertragen. Das Axon ist schließlich der “Ausgang” der Zelle, da die Zelle hierüber Reize an andere Neuronen übertragen kann (die Axonterminale in der Abbildung sind über Synapsen mit Dendriten weiterer Zellen verbunden).

 Aufbau eines Neurons (Quelle: Wikipedia)

Ein Neuron funktioniert nun folgendermaßen: über die Dendriten werden von anderen Nervenzellen oder auch Sinneszellen eingehende Reize beziehungsweise Signale an den Zellkörper, konkret: an den Axonhügel (den Ansatz des Axons) weitergeleitet. Dadurch baut sich am Axonhügel ein sogenanntes Erregungspotential auf, also eine elektrische Spannung; (fast) gleichzeitig eingehenden Reize summieren sich hierbei auf. Übersteigt das aufsummierte Erregungspotential am Axonhügel eine bestimmte Schwelle (die folgerichtig als Schwellenpotential bezeichnet wird), wird ein Aktionspotential ausgelöst – man sagt, die Zelle feuert – und über das Axon an die verbundenen Dendriten und damit Nervenzellen verteilt (für die biologisch interessierten: die Reizübermittlung über das Axon und die Dendriten erfolgt elektrisch; zwischen diesen beiden Elementen werden die Reize über die Synapsen meist auf chemischem Weg übermittelt). Je kürzer ein Dendrit ist (also je näher sich seine Synapse am Zellkörper befindet), desto stärker ist auch das Signal, welches das Erregungspotential aufbaut. Noch einmal zusammengefasst: Reize werden über die Dendriten an den Zellkörper geleitet, wo sie sich aufsummieren; die Stärke der einzelnen Reize hängt von der Entfernung ihrer Ursprungssynapsen zum Zellkörper ab. Übersteigt die Summe der Reize einen gewissen Schwellwert, so wird über das Axon ein Signal (fester Stärke, das Aktionspotential) an die umliegenden Zellen weitergeleitet – die Zelle feuert. Das Zusammenspiel aller Neuronen im Körper, allen voran derer im Gehirn, stellt die Reiz- und Informationsverarbeitung dar, die allen Tieren zu eigen ist und von uns allgemein als “Denken” bezeichnet wird (wobei natürlich auch das gesamte vegetative
Nervensystem, also die automatisch ablaufenden Vorgänge wie Steuerung des Blutkreislaufes, Verdauung usw. über diese Reizübertratung gesteuert werden).

In den 40er und 50er Jahren des letzten Jahrhunderts (direkt in den Anfängen der Informatik selber!) kamen nun einige clevere Leute auf die Idee, diesen ausgeklügelten Mechanismus der Reizverarbeitung mit Hilfe der gerade aufkommenden Computertechnologie nachzubilden – das war die Geburtsstunde der künstlichen neuronalen Netze (kurz KNN). Im Prinzip ist ein KNN die Nachbildung eines Gehirns mit dem Ziel, die enormen Verarbeitungsfähigkeiten von Gehirnen im Computer nachzubilden. Mittlerweile gibt es die unterschiedlichsten Varianten derartiger künstlicher Netze; im Folgenden und den weiteren Artikeln werde ich das Prinzip im Allgemeinen sowie einige typische Vertreter näher beschreiben.

So wie die Neuronen die zentralen Bestandteile des Nervensystems sind, stellen künstliche Neuronen die Grundbausteine eines KNN dar. Im Prinzip sind Neuronen und künstliche Neuronen ähnlich aufgebaut; beide besitzen viele Eingänge für Reize (die Dendriten beim Neuron), einen Körper, welcher die Reizverarbeitung vornimmt (der Zellkörper) sowie einen Ausgang, über welchen das Ergebnis der Reizverarbeitung an andere (künstliche) Neuronen verteilt wird (das Axon im Neuron). Bildlich kann ein künstliches Neuron folgendermaßen dargestellt werden:

Ein künstliches Neuron (Quelle: Wikipedia)

Die Eingaben x1 bis xn entsprechen dabei den Dendriten im Neuron. Wir erinnern uns: die Länge eines Dendrits (die Entfernung seiner Synapse zum Axonhügel) bestimmt den Einfluss des Reizes, der über diesen Dendriten kommt, auf das gesamte Erregungspotential. Dies wird in einem künstlichen Neuron über die Gewichtung w abgebildet; je höher der Wert der Gewichtung, desto größeren Einfluss hat die Eingabe des zugehörigen Eingangs. Die Übertragungsfunktion in der Abbildung stellt gewissermaßen das Äquivalent zum Erregungspotential dar, da hier die ankommenden Signale entsprechend ihrer Gewichte aufsummiert werden. Der Schwellwert entspricht dementsprechend dem Schwellenpotential im biologischen Neuron und die Aktivierung beziehungsweise die Ausgabe stellt das Axon dar.

Eine Besonderheit stellt dagegen die Aktivierungsfunktion dar. Ein natürliches Neuron arbeitet nach dem Alles-oder-nichts-Prinzip, das heißt, dass bei Überschreitung des Schwellenpotentials ein festes, immer gleiches Aktionspotential erzeugt wird. Künstliche Neuronen können nach diesem Prinzip arbeiten, aber ebenso nach anderen; die Aktivierungsfunktion definiert hierbei, welche Ausgabe bei welcher Eingabe in Abhängigkeit des Schwellwertes generiert wird.

Eine häufig verwendete Aktivierungsfunktion ist eine Sprungfunktion, und zwar die sogenannte Schwellenwertfunktion. Diese bildet das Verhalten realer Neuronen nach, da eine konstante Ausgabe erzeugt wird, sobald die Eingabesignale den Schwellwert übersteigen. Weitere mögliche Aktivierungsfunktionen sind lineare und stückweise lineare Funktionen, deren Ausgabe lineare von der Eingabe abhängt (das heißt, bei doppelt so großem Eingabewert ist die Ausgabe auch doppelt so groß) und die ebenfalls relativ häufig verwendeten Sigmoidfunktionen mit einer ungleichmäßigen Abhängigkeit zwischen Eingabe und Ausgabe. Untenstehende Abbildungen zeigen drei mögliche Aktivierungsfunktionen anhand eines Funktionsgraphen; auf der x-Achse findet sich hierbei der aufsummierte und gewichtete Eingabewert, auf der y-Achse kann der zu dieser Eingabe generierte Ausgabewert abgelesen werden. Am Beispiel der Sprungfunktion bedeutet das, dass die Funktion solange den Wert 0 generiert, wie die Eingabe kleiner oder gleich 0 ist (siehe dazu auch die Anmerkung unter den Bildern); sobald die Eingabe aber größer als 0 wird, generiert die Funktion einen konstanten Wert von 1.

 Aktivierungsfunktion: Sprungfunktion

Aktivierungsfunktion: stückweise linear

 Aktivierungsfunktion: Sigmoid

In den drei Abbildungen ist jetzt jeweils der Schwellwert noch nicht berücksichtigt worden; dies lässt sich ziemlich einfach erreichen, indem die Kurve einfach nach links (niedrigerer Schwellwert) oder rechts (höherer Schwellwert) verschoben wird. Alternativ (mathematisch äquivalent) kann der Schwellwert natürlich auch einfach von der aufsummierten Eingabe abgezogen werden – das führt zum gleichen Ergebnis.

Es fällt übrigens auf, dass die Eingaben auch negativ sein können. In künstlichen Neuronen wird das erreicht, indem das Gewicht einer Eingabe ebenfalls einen negativen Wert erhält. Auch dafür gibt es eine Entsprechung in echten Neuronen, da bestimmte Synapsen nämlich ein hemmendes statt ein aktivierendes Potential hervorrufen können.

So, damit haben wir eine parallele zwischen biologischen und künstlichen Neuronen hergestellt (letztere können übrigens rein virtuell im Computer, aber auch als echte mechanische Bauteile existieren). In der Theorie könnte man sich nun vorstellen, dass einfach ganz viele künstliche Neuronen hergenommen und – ähnlich einem Gehirn – zusammengeschaltet werden können und schon hat man sich ein eigenes Gehirn gebaut. Ganz so einfach funktioniert das natürlich aber nicht; wie nun aber künstliche neuronale Netze genau eingesetzt (und vor allem, wie sie erzeugt) werden, erzähle ich im nächsten Artikel.

Kommentare (14)

  1. #1 nihil jie
    März 15, 2012

    na das ist richtig cool 🙂 Ich habe schon gewartet wann auch dieses äußerst interessantes Thema hier zur Sprache kommt 😉

  2. #2 rolak
    März 15, 2012

    Aaah, so einen kleinen intelligenten Gesprächspartner zum an- und abschalten wollte ich immer schon mal basteln. In Erwartung konkreter Details aus den nächsten Folgen wärme ich schon mal den Lötkolben vor 😉

    ..dass die KI Allmachtsphantasien entwickelt oder auf andere Art und Weise “den Verstand verliert”.

    Leider, ja. Obgleich dergleichen eher eine Zauberlehrlings-Variante sein dürfte, die Furcht vor etwas in die Welt Gesetztem, das unkontrollierbar wird. Ulkigerweise hat das bisher kaum Menschen abgehalten, für Nachwuchs zu sorgen.
    Erfreuliche Ausnahmen von diesem nicht-goldene-Zukunft-Topos sind zB Neal Ashers Polis-Universum oder I.M.Banks’² Kultur. Beides nicht problemfrei (insbesondere in der Entwicklung zum status quo), jedoch keine Dystopien.

    ____

    ² geniale Initialen fürs Englische, aren’t they?

  3. #3 enbeh
    März 15, 2012

    Tolles Thema, bin gespannt auf die Fortsetzung. Ich freue mich immer, wenn bei SB Themen aus KI, Hirnforschung etc. kommen. Ist nicht sowieso gerade “Brain Awareness Week”?

    Kleine Nörgelei:
    “Unser Gehirn besteht zum überwiegenden Teil aus Nervenzellen oder Neuronen…”

    Nee, Gliazellen sind wesentlich häufiger als Nervenzellen. Das genaue Verhältnis ist allerdings gerade im Menschen nicht ganz klar. Siehe hier:

    The human brain in numbers

  4. #4 Christian A.
    März 15, 2012

    Und noch ein kleiner Einwurf: Die Biologie ist extrem vielfältig und man kann Bespiele finden für ein Ding und sein Gegenteil. Natürlich hat die Entfernung der Synapse vom Zellkörper und Axonhügel einen Einfluss darauf, was mit dem Membranpotential passiert. So werden die synaptischen Ströme breiter und flacher, je weiter die Synapse weg ist. Aber wichtiger ist doch, dass die Synapse variabel ist und dass das synaptische Gewicht von der vergangenen Aktivität der Neurone abhängt. So bewertet die Synapse selber die Aktivitätsmuster der Neurone, die sie miteinander verbindet, und ändert sich entsprechend der Aktivität (und ihrem eingebauten Plan).

    Ansonsten ist das der Artikel (bzw. die Artikelserie), auf den ich quasi gewartet habe – werde mitlesen und mich freuen, dass dieses schöne Thema (Neuronen und neuronale Netze) mal unters Volk gebracht wird 😉

  5. #5 Jörg
    März 16, 2012

    Bei mir hat es wirklich klick gemacht, Neuronale Netze zu verstehen, im Machine Learning Online-Kurs von Stanford, als Neuronale Netze als Erweiterung einfacher linearer oder logistischer Regression vorgestellt wurde. Es ist nicht viel mehr als eine nichtlineare Erweiterung von Regression!

  6. #6 Kretzer
    März 16, 2012

    “Die Dendriten sind gewissermaßen die “Eingänge” der Zelle – über sie werden Reize von anderen Nervenzellen an den Zellkern übertragen.”

    Tatsächlich an den Zellkern? Nicht den Zellkörper?

  7. #7 Marcus Frenkel
    März 16, 2012

    @enbeh, @Kretzer
    Danke für die Hinweise; sie wurden im Text berücksichtigt.

    @Christian A.
    Still! Das kommt doch noch! 😉

  8. #8 Kretzer
    März 16, 2012

    Spannendes Thema, schön dass du darüber schreibst!

    Eine Anmerkung: Es sollte zumindest erwähnt werden, dass die Signale in natürlichen Nerven nicht analoge Spannungen sind, sondern Impulsfolgen, wobei die Information stochastisch kodiert ist. D. h., die Information liegt in der Häufigkeit der Impulse pro Zeit, nicht in der Spannungshöhe. Das hat den großen Vorteil der sehr hohen Störsicherheit; ein Impuls mehr oder weniger pro Zeit verändert die Information kaum.

    Soweit ich weiß, wird die stochastische Kodierung auch technisch angewandt, in gestörten Umgebungen, oder solchen, die eine sehr hohe Übertragungssicherheit benötigen. Z. B. in Flugzeugen: Die Übertragung von vorzeichenbehafteten Steuersignalen in Dualkodierung ist riskant, kippt das Vorzeichenbit, dann wird allein durch dieses eine Bit aus einem positiven Steuersignal ein negatives.

  9. #9 Frenk
    März 16, 2012

    Dieses Fachgebiet fasziniert mich immer noch, auch wenn ich mittlerweile etwas anderes mache. Ich weiss noch gut, wie mich Marvin Minskys (ja genau, der Erfinder des Konfokalmikroskops und KI-Guru) Buch “Mentopolis” (englisher Titel: “The Society of Mind”) zum vertieften Studium der Neurobiologie gebracht hat. Ich habe mich aber mehr mit dem biologischen Substrat befasst.
    Seitdem sind mehr als 25 Jahre vergangen und der gute Marvin hat sein gesamtes Empiriom immer noch nicht auf Festplatte bannen können, wie er es ürsprünglich vorhatte. Naja, wir hatten damals auch noch keine leistungsfähigen Computer. Meine Diplomarbeit habe ich auf dem Macintosh geschrieben und sie hatte auf einer 400 KB-Diskette platz.
    Apropos Computer: Henry Markram an der EPFL verfolgt mit seinem
    “Blue-Brain-Project” ein sehr ambitiöses Ziel. Ich bin mal gespannt, was dabei herauskommt. (Marcus, ich hoffe ich habe nicht zuviel vorweg genommen für deinen zweiten Teil des Artikels).

  10. #10 Dr. Webbaer
    März 16, 2012

    Dr. W gespannt sein, wohin diese Artikelserie noch führen tun…

    MFG
    Dr. Webbaer (der KI für gescheitert hält, gerade auch kreationistische Ansätze betreffend)

  11. #11 Besserwisser
    März 16, 2012

    Anm.:

    Die “cleveren” Entdecker bzw. Erfinder der KNN waren doch die Herren McCulloch und Pitts, weswegen man diese Systeme auch McCulloch-Pitts-Neurone nennt.

  12. #12 Christian A.
    März 17, 2012

    Ich bin auf jeden Fall sehr gespannt auf den nächsten Artikel. Die biologische (und Modellierungs-) Seite kenn ich ein bißchen, aber wenig bis keine Ahnung, wie ihr Informatiker die Netze einsetzt.
    Ich hab darüberhinaus Fragen, z.B. sind die KNN alle aus McCulloch-Pitts-Neuronen, oder gibts da Anwendungen, wo man spikende Neurone hat? Ich stelle mir vor, dass letzteres zu viel Rechenaufwand benötigt und wenig bis keine Vorteile, weil die McC-P-Neurone sowieso das mittlere Verhalten der spikenden Neurone gut genug wiedergeben.
    Oder gibt es Netze, in denen man “dynamische Synapsen” verwendet? Damit meine ich nicht die Phase, in der man das Netz lernt. An den Synapsen gibt es Vorgänge, durch die innerhalb von Millisekunden bis Sekunden sich die Übertragungsstärke ändert, und bei Nichtgebrauch sie aber schnell in den Ursprungswert zurückfällt (Short Term Depression und Fascilitation). Dies zu Berechnen braucht natürlich wieder erheblichen Mehraufwand, weil man für jede Synapse auch noch ein bis zwei dynamische Variablen berechnen muss (quadratisch anwachsender Aufwand), andererseits stelle ich mir vor, dass ein solches Netz einen ausgezeichneten Kurzzeitspeicher darstellt.

    Wie du siehst, kann ich mich vor Ungeduld kaum halten 😉
    (Ich werde aber so lange warten wie nötig)

  13. #13 HF
    März 24, 2012

    “In den 40er und 50er Jahren des letzten Jahrhunderts (direkt in den Anfängen der Informatik selber!) kamen nun einige clevere Leute auf die Idee, …”
    Die Sci-Fi-Roboter und Elektronenhirne stammen aus derselben Zeit. Die Pioniere waren guter Hoffnung, dass eine Jahrtausendfrage bald geklärt sein würde. Das ist nun fast 70 Jahre her. In dieser Zeit ist die Geschwindigkeit und die Speicherkapazität der Rechenmaschinen um je das zigmillionenfache gewachsen, das Wissen der Molekularbiologie ist explodiert, die Arbeitsweise der Nanomaschinerie in den Nervenzellen ist in ungeheurer Detailfülle bekannt. Vor diesem Hintergrund erscheinen mir die Erfolge der KNN ausserordentlich bescheiden. Mal waren es unzulängliche Computer, dann die übergroße Komplexität “des” Gehirns, dann wieder noch unbekannte Details in der Funktionsweise der Synapsen. Über das “wie” ist ungeheuer viel bekannt, man kann auch vieles modellieren, aber das “was” ist immer noch ein Rätsel. Die vollständige Beschreibung der Zeitentwicklung eines kleinen Gehirns durch
    DGLn mag ja möglich sein, aber dann verstehen wir das Modell genau so wenig wie das Original. Die hier beschriebenen KNN wurden am Anfang als abstrahiertes Modell der Nervenzellen aufgefasst, heute löst man das Regressionsproblem R^n -> R^m mit Methoden, die nur noch wenig mit einem realistischen Neuronenmodell zu tun haben.
    Es ist zum aus-der-Haut-Fahren. Für mich ist der langsame Fortschritt selbst ein seltsames Phänomen, das ich nicht verstehen kann. Was ist da bloss los?
    </rant> Danke für den Artikel.

  14. #14 rolak
    März 26, 2012

    ooops – völlig vergessen: Game AIs 😉