Künstliche neuronale Netze

Maschinelles Lernen – vom Gehirn inspiriert

18.06.2021
Von   IDG ExpertenNetzwerk
Dr. Theo Steininger ist Gründer und CEO der Erium GmbH. Er ist Experte für KI-Anwendungen und Machine Learning in komplexen Prozessen mit kleinen Datensätzen. Als promovierter Astrophysiker hat er bereits während seiner Zeit an der Technischen Universität München und am Max-Planck Institut für Astrophysik an Informationstheorie, Statistik und Machine Learning geforscht. Heute profitieren Firmen verschiedenster Branchen und insbesondere der produzierenden Industrie von seinem Wissen.
Ob Aufbau, Training, Arten oder Herausforderungen – Was Sie über künstliche neuronale Netze und ihre Eigenschaften wissen müssen.
Künstliche neuronale Netze sind dem menschlichen Gehirn mit seinen Synapsen nachempfunden und ein wichtiges Teilgebiet der Künstlichen Intelligenz.
Künstliche neuronale Netze sind dem menschlichen Gehirn mit seinen Synapsen nachempfunden und ein wichtiges Teilgebiet der Künstlichen Intelligenz.
Foto: MattLphotography - shutterstock.com

Künstliche neuronale Netze - Definition

Das menschliche Gehirn ist ein wahres Wunderwerk der Natur. Es ist die Steuerzentrale unseres Körpers und verfügt über rund 100 Milliarden Gehirnzellen, die durch Synapsen miteinander verbunden sind. Diese Kontaktstellen spielen eine wichtige Rolle bei der Aufnahme, Bewertung und Verarbeitung von Informationen. Künstliche neuronale Netze sind diesem Prinzip nachempfunden und ein wichtiger Forschungsgegenstand der Neuroinformatik sowie Teilgebiet der Künstlichen Intelligenz. Entsprechende Netze sind in der Lage, verschiedenste Problemstellungen computerbasiert zu lösen sowie komplexe Zusammenhänge zu erlernen. Die Voraussetzung: Sie müssen trainiert werden.

Künstliche neuronale Netze - Aufbau

Das abstrahierte Modell eines künstlichen neuronalen Netzes besteht aus Neuronen, auch Units oder Knoten genannt. Diese können Informationen von außen oder von anderen Neuronen aufnehmen und durch eine Aktivierungsfunktion modifiziert an andere Neuronen weiterleiten oder als Endergebnis ausgeben. Dieser Prozess erfolgt über drei verschiedene Schichtbereiche, denen jeweils eine Neuronenart zugeordnet werden kann:

  • die Eingabeschicht mit Input-Neuronen,

  • die verborgenen Schichten mit den sogenannten Hidden-Neuronen und

  • die Ausgabeschicht mit Output-Neuronen.

Die Neuronen selbst sind miteinander über Kanten verbunden. Je nach Stärke und Bedeutung der Verbindung hat jede Kante eine bestimmte Gewichtung. Je größer diese ist, desto größer ist der Einfluss, den ein Neuron über die Verbindung auf ein anderes Neuron ausüben kann. Das Wissen und auch die Künstliche Intelligenz eines neuronalen Netzes ist damit letztendlich in der Struktur der Verbindungen und deren Gewichtungen gespeichert. Besteht der verborgene Schichtbereich aus sehr vielen Schichten, spricht man von tiefen neuronalen Netzen und bei deren Einsatz von Deep Learning.

Künstliche neuronale Netze - Funktionsweise

Die Informationen werden in Form von Mustern oder Signalen von der Außenwelt durch Input-Neuronen aufgenommen. Diese verarbeiten die Informationen und führen diese gewichtet an den verborgenen Schichtbereich weiter. Während Eingabe- und Ausgabeschichtbereich lediglich aus einer Schicht bestehen, können im verborgenen Schichtbereich beliebig viele Schichten vorhanden sein. Hier werden die empfangenen Informationen erneut gewichtet und von Neuron zu Neuron bis zum Ausgabeschichtbereich weitergereicht. Da die genaue Prozessierung der Informationen in den Schichten des verborgenen Schichtbereiches nicht sichtbar ist, leitet sich an dieser Stelle der Begriff "Blackbox-Modell" ab. Der Ausgabeschichtbereich ist die letzte Schicht und schließt unmittelbar an die letzte Schicht des verborgenen Schichtbereiches an. Die Output-Neuronen beinhalten die je nach Anwendungsfall unterschiedlichen Berechnungsergebnisse, die als Informationsfluss hervorgehen.

Künstliche neuronale Netze - Einsatzmöglichkeiten

Anwendungen für künstliche neuronale Netze gibt es viele. Zum Einsatz kommen sie vor allem in Bereichen, in denen wenig systematisches Wissen vorliegt, aber eine große Menge - in vielen Fällen auch unstrukturierte - Eingabeinformationen verarbeitet werden müssen, um ein konkretes Ergebnis zu erhalten. Dazu gehören beispielsweise die Sprach-, Bild- oder Mustererkennung. Künstliche neuronale Netze sind außerdem in der Lage, Simulationen und Prognosen für komplexe Systeme und Zusammenhänge zu erstellen - in der medizinischen Diagnostik, in Wirtschaftsprozessen oder der Wettervorhersage. Auch im Alltag basieren bereits viele Produkte und Services auf künstlichen neuronalen Netzen. Gerade Konzerne wie Google, Facebook oder Amazon gelten als Vorreiter bei der Entwicklung und Anwendung von Deep Learning und KI.

Künstliche neuronale Netze - Training

Bevor ein künstliches neuronales Netz für die vorgesehenen Problemstellungen oder Aufgaben eingesetzt werden kann, muss es zunächst trainiert werden. Anhand des vorgegebenen Lernmaterials und der Lernregeln gewichtet das Netz die Verbindungen der Neuronen, bis es die Trainingsdaten bestmöglich erklärt und damit eine auf den entsprechenden Anwendungsfall ausgerichtete Intelligenz entwickelt hat. Die Lernregeln geben dabei vor, wie das Lernmaterial das künstliche neuronale Netz verändert.

Lesetipp: Deep Learning - Artificial Intelligence - das Training macht den Unterschied

Zu Beginn des Trainings weicht der vom künstlichen neuronalen Netz berechnete Output noch stark vom gewünschten Ergebnis im Trainingsdatensatz ab. Eben jene Fehler lassen sich aber quantifizieren, ebenso wie der Anteil, den einzelne Neuronen an dem Fehler hatten. So wird im nächsten Lerndurchlauf das Gewicht jedes Neurons so verändert, dass sich der Fehler minimieren lässt.

Im nächsten Durchlauf wird eine neue Messung des Fehlers mit Anpassung durchgeführt. Auf diese Weise lernt das neuronale Netz mit jedem Trainingslauf besser, von den Input-Daten auf bekannte Output-Daten zu schließen. Die Kunst liegt allerdings darin, das Training zur richtigen Zeit abzubrechen, damit das künstliche neuronale Netz nur die echten Strukturen und nicht das Rauschverhalten mitlernt.

Künstliche neuronale Netze - Arten

Es gibt viele Arten von neuronalen Netzwerkarchitekturen. Die zwei folgenden stechen aber besonders heraus:

Long short-term memory (LSTM)

Wörtlich übersetzt bedeutet Long short-term Memory langes Kurzzeitgedächtnis und beschreibt ein Verfahren, das nicht nur bereits 1997 vorgestellt wurde, sondern auch erheblich zur Entwicklung von künstlichen neuronalen Netzen beigetragen hat. Was steckt dahinter?

Beim Training eines künstlichen neuronalen Netzes erfolgt üblicherweise die oben beschriebene Anpassung der Gewichte von hinten nach vorne. Man spricht von einer Rückpropagation des Vorhersagefehlers; ähnlich einer Welle der Erkenntnis, die durch das neuronale Netz rollt. Nun hat diese Welle die ungünstige Eigenschaft, von Schicht zu Schicht entweder abzuebben oder sich immer weiter aufzubauen. Damit werden die vorne gelegenen Schichten entweder kaum oder aber viel zu stark angepasst. Dieser Effekt ist umso stärker, je mehr Schichten ein neuronales Netz hat. Beim Long-Short-Term-Memory-Ansatz besitzen die Neuronen eine komplizierte Struktur inklusive kleinem Gedächtnis, um das Trainingsverhalten genau steuern zu können. Damit schufen LSTMs die technische Grundlage für tiefe neuronale Netze in Form einer großen Menge an trainierbaren Schichten. Dadurch wurde die Anpassungs- und Leistungsfähigkeit der künstlichen neuronalen Netze deutlich erhöht.

Convolutional Neural Networks

Ein Convolutional Neuronal Network oder zu deutsch faltendes neuronales Netz wird vorwiegend in der Bild- und Audioerkennung eingesetzt. Die Besonderheit dieses Netzwerkes besteht darin, dass die erste Schicht eine sogenannte Faltungsoperation mit den Eingangsdaten durchführt. Dadurch werden die jeweils benachbarten Pixel eines Bildes in Beziehung zueinander gesetzt, wodurch Strukturen wie Kanten - unabhängig von ihrer Position auf dem Bild - besonders gut erkannt werden können. Und das bei gleichzeitig vergleichsweise niedrigen Anforderungen an Rechenkapazität und Trainingsdatenmenge.

Lesetipp: Künstliche Intelligenz - Kostenlose KI-Tools für Entwickler

Künstliche neuronale Netze - Herausforderungen

Die Einsatzbereiche von künstlichen neuronalen Netzen sind vielfältig, aber nicht nur deshalb gibt es so viele Arten. Denn: Bei ihrem Einsatz kommt es in der Praxis trotz aller Vorteile zu einer Reihe an Herausforderungen, die sich nicht alle gleichzeitig lösen lassen. Dazu zählen:

  • Overfitting
    Künstliche neuronale Netze sind hervorragend darin, Strukturen in Daten zu erlernen. Eine wesentliche Herausforderung besteht jedoch darin, Rauschen von den echten, zu lernenden Strukturen zu unterscheiden. Nimmt ein Netz das Rauschen beim Training zu ernst, kommt es zum sogenannten Overfitting. Die Trainingsdaten werden damit übermäßig gut erklärt, wobei gleichzeitig die allgemeine Performance abfällt. Die einfachste Gegenmaßnahme ist die Nutzung eines Testdatensatzes, um kontinuierlich zu überprüfen, wann das Training abgebrochen werden sollte.

  • Hoher Datenbedarf
    Aufgrund der hohen Anzahl an Trainingsparametern erfordert das Trainieren von künstlichen neuronalen Netzen eine sehr große Menge an Trainingsdaten. Die Bemühungen des Transfer Learning versuchen dieses Problem in den Griff zu bekommen, indem beispielsweise die inneren Schichten wiederverwendet werden. Ein neuronales Netz für die Bilderkennung wird beispielsweise mit Trainingsdaten mit Hunden, Katzen und Mäusen trainiert. Nun sollen auch Pferde und Kühe erkannt und klassifiziert werden. Dazu lassen sich die inneren Schichten wiederverwenden, während man die Trainingsdaten dazu nutzt, um lediglich die äußeren Schichten neu zu trainieren.

Topologie, Transferfunktion und Lernstrategie?

Es gibt nahezu unbegrenzte Möglichkeiten, wie ein künstliches neuronales Netz aufgebaut werden kann, selbst wenn man sich auf einen einzigen Typ beschränkt. Trotzdem existiert kein Universalrezept, wie viele Schichten man nutzen sollte oder wie die Learning-Rate für ein bestmögliches Trainingsergebnis einzustellen ist. Hier ist zum einen die Erfahrung von Data Scientists notwendig. Zum anderen gibt es Ansätze, in denen wiederum Machine Learning (beispielsweise auch in Form eines künstlichen neuronalen Netzes) genutzt wird, um diese Hyperparameter zu optimieren. In diesem Fall trainieren also künstliche neuronale Netze künstlichen neuronale Netze.

Schwierige Nachvollziehbarkeit

Die größte Stärke - nämlich, dass Strukturen selbstständig aus Daten gelernt werden - ist zugleich eine große Schwäche der Netze: Für den Menschen ist es kaum nachvollziehbar, wie ein künstliches neuronales Netz zu einem spezifischen Einzelergebnis kommt. Das macht es schwierig, einzelne Ergebnisse zu beurteilen, beziehungsweise die Robustheit und Zuverlässigkeit eines Netzes im Allgemeinen zu bewerten. Dies erschwert den Einsatz in sicherheitskritischen Anwendungen wie beispielsweise beim Autonomen Fahren.

Künstliche neuronale Netze - ein mächtiges Werkzeug

Künstliche neuronale Netze sind mächtige Werkzeuge, die wie kaum eine andere Technologie eine Ambivalenz in sich tragen: Zum einen können sie äußerst selbstständig lernen und damit Strukturen erkennen, deren manuelle Modellierung in häufigen Fällen gar nicht leistbar ist. Als Computertechnologie ist sie dabei massiv skalierbar. Gleichzeitig aber erfordern die Auswahl der richtigen Netztopologie und Trainingsstrategie, deren (Hyper-)Parametrisierung sowie die Intransparenz der Trainingsergebnisse ein hohes Maß an Erfahrung und Handarbeit. Diese Eigenschaft bremst aktuell noch den universellen Einsatz der Technologie durch Laien aus.
Gerade deshalb ist es spannend, auch zu künstlichen neuronalen Netzen komplementäre Technologien auf dem Schirm zu behalten - zum Beispiel die sogenannten Bayes'schen Netze, um für jeden Use Case den richtigen Ansatz parat zu haben. (bw)