Vorbild künstlicher, neuronaler Netze (KNN) ist das biologische Nervensystem. Bei KNN geht es darum, das Verhalten biologischer Neuronen nachzubilden. Ziel ist es, ein Netz zu erstellen, das in der Lage ist, Regeln zu lernen.

Die Herausforderung an Diagnose und Überwachungssysteme ist es, in einer komplexen Umgebung Informationen über bestimmte Zustände zu ermitteln. Nicht jeder Zustand ist direkt messbar. Daher ist es notwendig, aus messbaren Daten Muster zu erkennen und diese durch Modelle intelligent auszuwerten. Durch Fortschreiten der Entwicklung der CPU Leistung und digitaler Speichertechnik können datenbasierte Modelle zunehmend an Bedeutung gewinnen.

Ziel diese Fachbeitrages ist es, eine Einführung in die Theorie künstlicher neuronaler Netze zu geben. Dabei soll der Aufbau und das Anlernen eines Feed-forward Netzes im Mittelpunkt stehen. Es sei noch zu erwähnen, dass es darüber hinaus viele weitere KNN Konzepte gibt, die im Rahmen dieses Beitrags nicht behandelt werden.

Aufbau Neuronaler Netze
Die ersten Konzepte zu neuronalen Netzen gehen zurück ins Jahr 1943, als Warren McCulloch und Walter Pitts die McCulloch-Pitts-Neuronen vorstellten. Ein Neuron besitzt eine mathematische Funktion, die sogenannte Aktivierungsfunktion, mit einem oder mehreren gewichteten Eingängen und einem Ausgangswert. Im einfachsten Fall handelt es sich bei der Aktivierungsfunktion um eine Sprungfunktion, die entweder 0 ausgibt oder ab einem bestimmten Schwellwert eine 1 ausgibt.  Mehrere Neuronen können miteinander verbunden werden und bilden somit ein Netz. Die Verbindungen der Neuronen sind gewichtet. Dabei ist der Ausgang des einen Neurons der Eingang des anderen. Ziel des Trainings ist es, die Gewichtungen so zu wählen, dass ein Netz daraus eine bestimmte Regel zur Lösung eines Problems ableiten kann.

Feed Forward Netze sind Netze, die aus mehreren, hintereinandergeschalteten Schichten von Neuronen bestehen. Ein dreischichtiges Netz besteht beispielsweise aus Eingangsschicht, Zwischenschicht (so genannte versteckte Schicht) und Ausgangsschicht. In jeder Schicht befinden sich Neuronen.  Der Datenfluss geht bei Feed Forward Netzen von Eingangsschicht nach Ausgangsschicht ohne Rekursion. Allan Pinkus hat in seiner Arbeit „Approximation Theory of the MLP Model in Neural Networks“ ermittelt, dass es ausgeschlossen ist, dass es stetige Funktionen gibt, die mit einem Netz mit einer versteckten Schicht nicht approximiert werden können.

Training
Das Training eines neuronalen Netzes kann überwacht oder unüberwacht erfolgen. Überwacht bedeutet, dass der Sollwert bekannt ist. Den Datensatz aus Sollwert und Eingangswert nennt man in der Literatur auch »feste Lernaufgabe«.
Beim unüberwachten Lernen gibt es keine Sollwertvorgabe. Hier besteht die Möglichkeit, dass Ähnlichkeiten der Eingänge zusammengefasst werden.  Hier soll nun der überwachte Lernvorgang vorgestellt werden. Dieser Vorgang besteht aus Trainingsphase und Validierungsphase.

Trainingsphase
Zur Vorbereitung des Trainings steht ein Datensatz aus Eingangsgrößen und Ausgangsgrößen zur Verfügung. Diesen Datensatz nennt man Trainingsdatensatz. Der Trainingsdatensatz sollte so erstellt werden, dass er komplex genug ist, damit das Netz ebenfalls komplexe Regeln lernt. Hierbei spielt die spätere Anwendung des Netzes eine Rolle.

In der Trainingsphase werden zunächst alle Gewichtungen zufällig initialisiert. Im ersten Schritt wird dann am Eingang des Netzes der Eingangsdatensatz eingegeben. Das Netz ermittelt nun durch die gewichteten Aktivierungsfunktionen einen Ausgangswert, den Istwert. Dieser Ausgangswert wird dann mit dem Sollwert verglichen. Die Differenz zwischen Sollwert und Istwert ist ein Maß für die Funktionalität des Netzes. Bei einer zu großen Differenz muss die Gewichtung des Netzes korrigiert werden. Ein Algorithmus zur Korrektur der Gewichtungen ist der Error-Backpropagation Algorithmus in einem späteren Abschnitt. Das Training ist beendet, wenn die Lernaufgabe mit einem kleinen, tolerierbaren Fehler abgeschlossen wird.

Validierungsphase
In der Validierungsphase werden dem Netz Eingangsdaten vorgegeben, die nicht zum Training verwendet wurden. Der Sollwert ist jedoch bekannt. Diese Phase ist wichtig, da es passieren kann, dass das Netz übertrainiert wurde. Das bedeutet, dass das Netz sehr gut den Trainingsdatensatz wiedergibt, aber keine Regel zur Generalisierung gelernt hat. Man spricht hier von Auswendiglernen. Stellt man fest, dass das Netz in der Validierungsphase große Fehler macht, muss eine Fehleranalyse durchgeführt werden. Lösungsmöglichkeiten könnten dann ein verbesserter Trainingsdatensatz oder eine optimierte Netzarchitektur sein.

Error-Backpropagation
Das Error-Backpropagation Verfahren ist ein Algorithmus zur Korrektur von Gewichtungen neuronaler Netze.   Dabei wird ausgehend vom Ausgang des Netzes der Fehler nach hinten durchgereicht. Das Verfahren basiert auf dem Gradientenabstieg Verfahren.

Gradientenabstieg
Beim Gradientenabstieg Verfahren wird der Gradient der Fehlerfunktion berechnet. Die Fehlerfunktion ergibt sich aus Differenz von Sollwert und Istwert. Anschließend wird ein Schritt in Richtung des negativen Gradienten gegangen. Ziel ist es, das Globale Minimum der Fehlerfunktion zu finden.

Backpropagation
Der Unterschied zwischen Gradientenabstieg in Abschnitt und EPB ist, dass nun die Gewichtsänderung eines Gewichts gesucht wird, das nicht direkt mit der Ausgangsschicht verbunden ist. Die Fehlerfunktion soll nach dem gewichteten Eingang des versteckten Neurons abgeleitet werden. Dazu muss die Fehlerfunktion nach dem gewichteten Eingang der Ausgangsschicht abgeleitet werden und der gewichtete Eingang des Ausgangsschicht dann nach dem gewichteten Eingang des versteckten Neurons.

Ausblick
Künstliche neuronale Netze sind geeignet, um aus Eingangsmustern Zustände zu ermitteln. Daher sind sie als Klassifikatoren im Bereich des maschinellen Lernen einsetzbar. Es ist immer eine Frage des zu untersuchenden Systems, welcher Klassifikator am besten geeignet ist. Für neuronale Netze sprechen ihre gute Anpassungsfähigkeit, da sie durch Datensätze trainierbar sind. Probleme kann es durch Auswendiglernen des Netzes geben oder wenn der Wert am Eingang weit außerhalb des Trainigsdatenbereichs liegt.