Neuronale Netze: Grundlagen, Anwendungen und Beispiele

2

Neuronale Netze gehören zu den Begriffen, mit denen sich nur wenig anfangen lässt, wenn man sich nicht in dem Bereich bewegt – die man aber alle Nase lang hört. Da neuronale Netze inzwischen auch künstlich geschaffen werden, bekommen sie einen immer größeren Stellenwert und werden im Rahmen der künstlichen Intelligenz häufig aufgegriffen.

Neuronale Netze: Was ist darunter zu verstehen?

Ein neuronales Netz ist normalerweise ein Begriff aus den Neurowissenschaften. Teilweise werden die Netze auch als neural bezeichnet. Der Begriff beschreibt die Verbindung von Neuronen. Diese Neuronen bilden, dank ihrer Verbindung, in einem Nervensystem einen bestimmten Zusammenhang. Dieser Zusammenhang soll als Grundlage einer bestimmten Funktion aktiv werden. Die Neuronen sind Nervenzellen, die das Nervensystem bei Tieren und Menschen bilden. Gemeinsam mit den Gliazellen sorgen sie dafür, dass der Organismus funktioniert. Die Verknüpfung der Neuronen erfolgt durch die Unterstützung von Synapsen. Die Synapsen selbst bilden die Knoten der neuronalen Netze. Neuronale Netze bringen besondere Eigenschaften mit. Es heißt, sie sind in der Lage zu lernen.

Die Begrifflichkeit des Lernens im Zusammenhang mit den neuronalen Netzen wurde durch eine Theorie von Donald O. Hebb bereits im Jahr 1949 beschrieben. So wurden hier typische Eigenschaften erwähnt, die nicht nur für die neuronalen Netze im menschlichen oder tierischen Organismus zählen. Sie sind auch auf künstliche neuronale Netze anwendbar. So wird ihnen die Eigenschaft zugeschrieben, in der Lage zu sein, komplexe Muster zu erlernen. Diese Eigenschaft sorgt für das Wissen, dass neuronale Netze einer gewissen Intelligenz folgen und es nicht notwendig ist, Regeln zu entwickeln, damit sie in der Lage sind, zu lernen.

Die Erarbeitung von logischem Verhalten bei neuronalen Netzen

Präzise Regeln oder auch ein logisches Verhalten können durch neuronale Netze ebenfalls erlernt werden. Allerdings hat sich gezeigt, dass es hier notwendig sein kann, ein langes Training einzusetzen. Grund dafür ist, dass das Lernen der Netze implizit erfolgt. Ein gutes Beispiel ist hierfür die Sprachentwicklung eines Kindes. In den ersten Jahren wird das Kind die Grammatik seiner Muttersprache implizit erlernen. Durch das Zusammenleben mit Menschen, die Grammatik richtig einsetzen, wird diese von dem Kind übernommen. Kommt das Kind dann in die Schule, beginnt es mit dem expliziten Erlernen. Das heißt, ihm werden die Regeln der Grammatik nun vermittelt. Dies kann auch auf neuronale Netze umgelegt werden. Während das implizite Lernen direkt und ohne großen Aufwand erfolgt, bringt das explizite Lernen einen hohen Zeitaufwand mit sich.

In Technik und Wissenschaft werden künstliche neuronale Netze eingesetzt und trainiert. Dabei muss das richtige Trainieren ebenfalls greifen. Nur so sind die Voraussetzungen dafür gegeben, dass auch ein Lernerfolg eintreten kann. In diesem Zusammenhang ist aber auch zu sagen, dass es nicht möglich ist, eine Vorhersage darüber zu treffen, wie Muster durch ein solches Netz möglicherweise interpretiert werden. Dies geht nur dann, wenn das neuronale Netz mit speziellen Lernerfahrungen auch zum Einsatz kommt.

Was bedeutet die Kostenfunktion?

Um neuronale Netze zu verstehen ist es wichtig nachvollziehen zu können, wie diese arbeiten. So wird davon ausgegangen, dass das Lernen durch einen Vergleich von Prognosen und Istdaten erfolgt. Damit ein Modellfehler, der so festgestellt werden kann, auch quantifiziert wird, erfolgt die Berechnung von einer Kostenfunktion. Diese verfügt über zwei Funktionsargumente. Das erste Argument ist dabei der Output des Modells und das zweite Argument beschreibt die Daten, die wirklich beobachtet wurden. Besonders häufig tritt in neuronalen Netzen der mittlere quadratische Fehler als Kostenfunktion auf. Dieser wird auch als MSE bezeichnet und beschreibt durch seine Höhe die Anpassung der Modelle an die Daten, die bereits vorliegen. Ist der MSE hoch, ist die Anpassung schlecht. Allerdings sollte bedacht werden, dass die Kostenfunktion von allen Parametern abhängig ist, die neuronale Netze aufweisen. Bei einer geringen Veränderung der Gewichtung erfolgt ein Einfluss auf die Neuronen und damit auf die Kostenfunktion.

Künstliche neuronale Netze: Der Aufbau

Künstliche neuronale Netze setzen sich aus drei verschiedenen Arten von Schichten zusammen:

  1. Die erste Neuronenschicht

    Diese Schicht soll dabei helfen, die rohen Informationen erst einmal an das Netz weiterzuleiten. Es ist möglich, dass die Informationen bereits einer leichten Vorverarbeitung unterzogen wurden. Die Eingabe-Neuronen, die hier zum Einsatz kommen, sind vergleichbar mit der Haut des Menschen.

  2. Verdeckte Schichten

    Die nächste Schicht sind die verdeckten Schichten. Wie viele von ihnen vorhanden sind, hängt davon ab, wie komplex eine Aufgabe ist. Es kann sich hierbei um nur eine oder auch um zahlreiche Schichten handeln. Die verdeckten Schichten sind besonders lernfähig. Sie erhalten die Roh-Informationen und lesen aus diesen Strukturen und Muster heraus. Aus diesen Mustern entstehen dann komplexe Merkmale, mit denen sich die Aufgaben, die neuronale Netze erhalten, lösen lassen.

  3. Ausgabeschicht

    Die letzte Schicht bildet die Ausgabeschicht. Die Neuronen dieser Schicht sind in der Lage, die Ergebnisse zu präsentieren.

    Die Neuronen in einem Gehirn beeinflussen sich gegenseitig unterschiedlich stark. Künstliche neuronale Netze sollen diese Unterschiede nachstellen. Das heißt, in den Netzen haben die Verbindungen der Neuronen ein unterschiedliches Gewicht. Mit steigendem Gewicht steigt auch der Einfluss auf das andere Neuron an.

Künstliche neuronale Netze: Wo kommen sie zum Einsatz?

Eines der Haupteinsatzgebiete für neuronale Netze ist die Gesichtserkennung. (#1)

Eines der Haupteinsatzgebiete für neuronale Netze ist die Gesichtserkennung. (#1)

Künstliche Intelligenz kommt heute in vielen Bereichen zum Einsatz. Künstliche neuronale Netze, kurz auch KNN genannt, haben daher ganz unterschiedliche Anwendungsgebiete. Die Eigenschaften der Netze sorgen dafür, dass sie beispielsweise dort zum Einsatz kommen, wo es nur ein geringes Wissen über das Problem gibt, das vorliegt. Ein gutes Beispiel hierfür sind Erkennungsprogramme. Die Gesichtserkennung oder auch die Texterkennung greift auf die KNN zurück. Eine sehr große Verbreitung in Bezug auf den Einsatz der KNN gibt es bei Systemen die eingesetzt werden, um eine Vorhersage zu treffen. In der heutigen Zeit gibt es ganz unterschiedliche Bereiche, in denen eine Vorhersage notwendig ist. Einige Beispiele sind dabei die Früherkennung von Tsunamis oder Tornados sowie Einschätzungen darüber, wie sich wirtschaftliche Prozesse möglicherweise weiter entwickeln.

Oft ist den Menschen gar nicht bewusst, dass sie gerade von einem KNN profitieren. So gibt es beispielsweise Netze, die im Bereich der Musterkennung täglich zum Einsatz kommen. Ein Beispiel in diesem Bereich stellt die Spracherkennung dar. Aber auch Frühwarnsysteme verfügen über die Techniken. Zeitreihenanalysen sind ein großes Thema, wenn es um künstliche neuronale Netze geht. Analysen von Aktien oder Wetterdaten sind ein sehr interessanter Aspekt. Bei der Biometrie oder auch bei der Robotik sind die Systeme ebenfalls zu finden.

Auch wenn die Einsatzgebiete heute bereits sehr vielseitig gehalten sind, so gibt es noch immer Bereiche, in denen die KNN nicht genutzt werden können. Dazu gehören beispielsweise die Entschlüsslung von Texten, die mit einer Verschlüsselung geschützt sind sowie die Vorhersagen von Zufalls-Zahlen.

Welche Probleme ergeben sich beim Einsatz von künstlichen neuronalen Netzen?

Auch wenn die Leistungen, die künstliche neuronale Netze erbringen können, durchaus beeindruckend sind, weisen sie auch einige Nachteile auf:

  • Training

    Das Training ist ein durchaus sehr komplexes Verfahren, bei dem es zu Problemen in der Optimierung kommen kann. Gerade die Unterschiede zwischen einem lokalen und einem globalen Optimum sind hier ein Problem. Es ist also ein komplexes System, das einen hohen zeitlichen Aufwand mit sich bringen kann.

  • Gewichte

    Die genannten Gewichte zwischen den Neuronen haben einen Einfluss auf die Ergebnisse.

  • Trainingsdaten

    Die Sammlung von Trainingsdaten ist elementar. Diese werden gesammelt. Eine weitere Variante ist es, die Daten selbst zu erzeugen. Hierbei handelt es sich um einen Vorgang, der sich schwierig gestaltet. Grund dafür ist, dass das neuronale Netz möglicherweise Muster erlernen kann, die für die Entscheidungen in den jeweiligen Situationen nicht ausschlaggebend sind.

Verschiedene neuronale Netze im Überblick

Es ist möglich, neuronale Netze zu klassifizieren. Dabei werden meist die Lernregeln herangezogen, um eine Unterscheidung zu erreichen. Die klare Zuordnung in Bezug auf Lernregeln und Netztypen kann jedoch nicht immer erreicht werden, da die Lernregeln teilweise typübergreifend eingesetzt werden. Für die Einteilung werden daher noch weitere Aspekte herangezogen, wie:

  • Das Vorhandensein von Hidden-Units.
  • Supervised oder unsupervised Trainingsphasen.
  • Der Anwendungszweck, für den das Netz eingesetzt wird.

Unterschieden wird dabei zwischen den folgenden Netztypen:

  1. Kohonennetze

    Die Kohonennetze sind eine Erweiterung zu den kompetitiven Netzen. Der Output wird für die Netze nicht festgelegt. Sie sind ohne einen externen Lehrer aktiv. Dadurch können sie in einer selbstorganisierenden Art und Weise den Lernvorgang durchführen und erstellen Karten von einem Inputraum. Der Vorteil dieser Netze ist vor allem in der Plausibilität auf biologischer Grundlage zu finden. Im menschlichen Gehirn sind die Kohonennetze beim Sehsinn zu finden.

  2. Kompetitive Netze

    Kompetitive Netze haben eine Output. Und eine Inputschicht. Sie verfügen nicht über Hidden-Units und arbeiten bei ihrer Trainingsphase in drei Schritten. Beginnend mit Erregung folgen der Wettbewerb sowie die Adjustierung der vorhandenen Gewichte. Eingesetzt werden sie dort, wo Redundanzen gefiltert werden sollen. Zudem werden sie gerne als ein vorgeschaltetes Netz genutzt, das im Zusammenspiel mit anderen Netzen zum Einsatz kommt. Ebenfalls zu finden sind sie in der Musterklassifikation.

  3. Rekurrente Netze

    Bei Rekurrenten Netzen erfolgen zwischen den Schichten Rückkopplungen. Abhängig vom Netz existieren dabei direkte oder indirekte Rückkopplungen sowie seitliche Rückkopplungen. Auch vollständige Verbindungen sind zu finden. In diesem Fall bestehen die Verbindungen zwischen allen Neuronen, die neuronale Netze aufweisen. Angewendet werden neuronale Netze dieser Art im Bereichen, wo Prognosen für die Zukunft getroffen werden sollen oder wo die Simulation in Bezug auf menschliches Verhalten erfolgt, wie bei der Sprachsteuerung.

  4. Pattern Associator

    Dieser Typ von neuronalen Netzen erkennt Muster dann, wenn er sie gelernt hat. Im Rahmen der klassischen Konditionierung werden Verbindungen zwischen unterschiedlichen Reizpaaren erkannt und gebildet. Zu den sehr guten Eigenschaften dieser Netze gehören die Fähigkeiten im Rahmen der Generalisierung sowie eine gewisse Toleranz in Bezug auf mögliche interne Schäden. So ist es möglich, dass die Netze, auch wenn interne Schäden vorliegen, weiterhin den passenden Output herleiten. Dies gilt auch dann, wenn externe Schäden auf das Netz wirken. Soll es beispielsweise für die Gesichtserkennung eingesetzt werden und ist ein Teil vom Gesicht verdeckt, arbeitet es dennoch zuverlässig.


Bildnachweis: © shutterstock – Titelbild ktsdesign, #1 Andrey_Popov

2 Kommentare

  1. Arne Reis am

    Die Idee hinter den künstlichen neuronalen Netzen mag gut sein, allerdings halte ich es für Zukunftsmusik.

    Die aktuellen Entwicklungen sind beeindruckend, doch wirklich genau arbeiten können sie nicht. In dem Punkt sind sie vergleichbar mit dem menschlichen Gehirn, das auch immer wieder Situationen und Dinge abschätzen muss, ehe eine Entscheidung getroffen wird. Wenn wir das Beispiel des autonomen Fahrens nehmen: Ein Auto kann unmöglich mit allen Details und jeder Verkehrssituation programmiert werden.

    Entscheide dich hier so, dort so und wenn das auftritt, mache das. So etwas funktioniert nicht und daher ist es klar, dass das Auto Fehlentscheidungen treffen wird.

    Genau das macht ein Mensch doch auch!

    Der einzige Vorteil ist hier, dass der Fehler des Autos für die Programmierung anderer Fahrzeuge genutzt werden kann. Zumindest dieser Fehler tritt dann nicht mehr auf. Und auch wenn die Entwicklung individueller Apps, die scheinbar auf jede Situation im Unternehmen oder für eine spezielle Anwendung passend sind, immer weiter fortschreitet, so wird es doch nie so sein, dass wirklich alle Situationen richtig einschätzbar werden.

    Außerdem wird auch das menschliche Gehirn nie in allen Bereichen völlig erforscht werden können, weshalb die neuronalen Netze immer ein wenig hinterherhinken werden. Sie mögen in der Zukunft bahnbrechende Erfolge feiern, aber bis sie in jedem Bereich anwendbar ist, wird noch viel Zeit vergehen. Vielleicht kommt es auch so wie in den 1950er und 60er Jahren, als die Menschen dachten, dass zur Jahrtausendwende wirklich alles anders wäre und Roboter schon längst die Welt beherrschen könnten?

    Der Blick in eine allzu technologisierte Zukunft erweist sich oft als falsch. Möglich wäre das hier auch.

  2. Tharsan Parameswaran am

    Die Technologie braucht gewiss noch viel Zeit, bis sie auf einem „brauchbaren“ Level ist. Aber wir stecken ja auch noch in den Kinderschuhen. Schließlich hat es ja auch einige Jahre gedauert, bis wir bspw. schnelles Internet hatten oder spritsparende Autos. Man sollte dem ganzen genug Zeit geben, damit man die Erkenntnisse entsprechend bewerten kann.

Lassen Sie eine Antwort hier