von kuk-is Blogteam

Neuronale Netze und was sie von Programmierung unterscheidet

Der Begriff des neuronalen Netzwerks stammt ursprünglich aus der Biologie. Dort bezeichnet es zusammenhängende Teile des Nervensystems, die aus untereinander vernetzten Neuronen bestehen. Die Anzahl ist dabei beliebig. Schwerpunkt künstlicher neuronaler Netze ist weniger der genaue Nachbau der biologischen Vorgänge.

Vielmehr zielen Programmierer darauf ab, die Lernprozesse echter Nervenzellen und ihrer Verbindungen untereinander zu kopieren. Das menschliche Gehirn ist nämlich ein wahrer Meister darin, selbstständig zu lernen und Muster zu erkennen. Beides sind Fähigkeiten, die im Bereich der künstlichen Intelligenz (KI) von großer Bedeutung sind. Nur so können Computer dem Menschen in der modernen Welt immer mehr Aufgaben abnehmen und Prozesse erleichtern.

Der Aufbau neuronaler Netze

Neuronale Netze sind so unterschiedlich wie die Aufgaben, für die sie programmiert werden. Allen gemein ist jedoch ihr Aufbau in sogenannten Layern. Die verschiedenen Ebenen sind dabei stets mit der vorherigen und der nächsten verbunden. Sie unterliegen damit einer festen Hierarchie. Manchmal existieren auch Verbindungen innerhalb eines Layers. Die Anzahl der Schichten ist variabel.

Zwingend erforderlich ist jeweils eine Eingabe- und eine Ausgabeschicht. Sie dienen der Informationsaufnahme und -ausgabe. Die dazwischen liegenden Layer nehmen Informationen auf, stellen Berechnungen an und geben Informationen an die nächste Schicht von Neuronen weiter. Theoretisch ist die Anzahl an Zwischenschichten nicht begrenzt. In der Praxis bedeutet aber jede weitere Schicht, dass mehr Rechenleistung benötigt wird. Somit hängt die mögliche Anzahl an Schichten entscheidend von den verfügbaren Ressourcen ab.

Die häufigsten Arten künstlicher neuronaler Netzwerke

Neuronale Netzwerke folgen in der Regel der sogenannten Feedforward-Logik. Das heißt, dass die Informationen streng in eine Richtung fließen: Nämlich von der Eingabeschicht über eine oder mehrere Zwischenschichten bis zur Ausgabeschicht. Wie bei jeder Regel gibt es natürlich auch hier Ausnahmen.

Rekurrente Netze verfügen über zusätzliche Verbindungen. Über diese können Informationen die gleiche oder eine vorherige Schicht noch einmal durchlaufen. Diese Art des neuronalen Netzwerks kommt vor allem dann zur Anwendung, wenn es um die Verarbeitung sequentieller Daten geht. Das ist beispielsweise bei der Handschrift- und Spracherkennung oder bei Übersetzungen der Fall. Hier hängt das Ergebnis für jedes Wort und schließlich der Sinn des Satzes entscheidend von den vorherigen Worten ab. Nur durch Rückkopplungen kann künstliche Intelligenz auf diesen Gebieten ihre mittlerweile überragenden Ergebnisse erzielen.

So lernen neuronale Netzwerke

Der wichtigste Baustein eines neuronalen Netzwerks ist weniger die Programmierung als vielmehr das Training. Ein frisch fertiggestelltes Programm, das auf einem neuronalen Netz beruht, ist genauso hilflos wie ein Neugeborenes. Erst nachdem es viele tausend bis Millionen Mal seine Aufgabe gelernt hat, ist es einsatzbereit. Dabei kommt eine Lernmethode zum Einsatz, die Experten als 'kontrolliertes Lernen' bezeichnen.

Um ein neuronales Netzwerk zu trainieren geben die Programmierer ihm Daten mit dazugehöriger Auflösung. Während des maschinellen Lernprozesses modifiziert das Programm seine Neuronen selbst. Langfristig passt es diese so an, dass sie zu dem gleichen Ergebnis wie die vorgegebene Lösung kommen.

Beherrscht ein Programm lediglich die Antworten auf vorher festgelegte Fragen, handelt es sich dabei bei weitem noch nicht um eine künstliche Intelligenz, sondern um eine einfache Datenbank. Ist der Lernprozess erst einmal abgeschlossen, gibt das neuronale Netzwerk aber nicht nur die richtigen Antworten auf bereits bekannte Bilder und Fragen. Vielmehr kommt es auch mit bisher unbekanntem Input bestens zurecht und kann diesen (meist) problemlos einordnen.

Dieser Vorgang entspricht dem, was man bei Menschen als implizites Lernen bezeichnet. Wenn wir beispielsweise unsere Muttersprache lernen, sind uns die Regeln der Grammatik nicht bekannt. Vielmehr lernen wir durch Beobachten und Zuhören, diese automatisch richtig anzuwenden. Das Gegenteil hiervon ist das explizite Lernen. Hier werden zuerst Regeln definiert und diese dann auf auftauchende Probleme angewendet.

Maschinelles Lernen leicht gemacht

Der Vorteil neuronaler Netzwerke gegenüber herkömmlicher Programmierung besteht genau in diesem impliziten Lernen. Programmierer müssen nicht von Anfang an Regeln zur Mustererkennung festlegen. Sie müssen sie nicht einmal kennen. Das von ihnen geschriebene Programm definiert selbst, welche Merkmale und Parameter es anwendet. In der Regel ist es damit letztendlich erfolgreicher als lernende Programme, die von einem festen Grundsatz ausgehen und diesen durch Lernen anpassen. Viele Unternehmen bieten lernfertige neuronale Netzwerke an. Diese lassen sich auch von Anfängern leicht handhaben. Das Programmieren besteht hier lediglich darin, die Netze auf ihre genaue Aufgabe hin zu optimieren.

Aufgrund ihres Lernmechanismus eignen sich neuronale Netzwerke besonders gut für Aufgaben, für die nur wenige explizite Regeln bekannt sind. Felder, in denen sie bereits mit großem Erfolg eingesetzt werden, sind zum Beispiel folgende:

  • Texterkennung
  • Spracherkennung
  • Bild- und Gesichtserkennung
  • Regelungstechnik
  • Medizin: Diagnostik und Epidemiologie
  • Frühwarnsysteme
  • Fehlererkennung
KI für Unternehmen

Dank ihrer Vielseitigkeit werden Neuronale Netzwerke und KI auch für kleinere Unternehmen immer interessanter. Wenn Du mit KI durchstarten willst, musst du verstehen, wie KI funktioniert. Unser KI-Bootcamp holt dich genau dort ab, wo Du mit Deinem KI-Wissen stehst. Praxisnah, interaktiv und garantiert anbieterunabhängig.

Jetzt mehr erfahren

Dies könnte Dich auch interessieren:

GauGAN: Wie Nvidia's KI schlechte Zeichnungen in Bilder verwandelt

GauGAN: Wie Nvidia's KI schlechte Zeichnungen in Bilder verwandelt

Wie funktioniert die Bilderstellung mit Hilfe von GANs? Kinderleicht möge man meinen, wenn man sieht wie einfach es mit dieser Anwendung geht.


Warum Du Geschäftsprozesse automatisieren solltest

Warum Du Geschäftsprozesse automatisieren solltest

In puncto Geschäftsprozesse automatisieren sind sich zukunftsorientierte Unternehmen einig: effizientes Arbeiten ist ohne sie nur schwer möglich.


Zurück

Einen Kommentar schreiben