Was ist so besonders an Künstlichen Neuronalen Netzen?

Was ist nun wirklich das besondere an Künstlichen Neuronalen Netzen? Die sind doch nichts anderes als bessere Regressionsfunktionen.

Nicht nur! Das besondere an Künstlichen Neuronalen Netzen ist, dass sie "universelle Approximatoren" sind. Das bedeutet, dass man mit Künstlichen Neuronalen Netzen theoretisch jeden beliebigen funktionalen Zusammenhang darstellen kann, wenn man nur genug Neuronen in den Zwischenschichten verwendet.

Salopp gesagt: "Wenn's mit Neuronalen Netzen nicht funktioniert, dann schafft man es auch nicht mit anderen Verfahren".

In diesem Sinne sind Neuronale Netze ein DataMinig-Werkzeug, bei welchen man leicht überprüfen kann, ob sich in gegebenen Datenbeständen funktionale Zusammenhänge bzw. Abhängigkeiten finden lassen.

Bei der mathematischen Modellbildung geht es im Wesentlichen immer darum, dass man eine Funktion f findet, welche die Systemeingänge x auf die Systemausgänge y passend abbildet: y = f(x). Dabei sind folgende Teilaufgaben zu lösen:

1) Definition der Variablen x und y derart, dass das System damit ausreichend beschrieben ist,

2) Festlegung von Beispielen (x1,y1), (x2,y2), ... , (xn,yn), für welche die Funktion gültig sein soll und

3) Finden einer Funktion f, sodass yi = f(xi) für alle i aus dem Punkt 2)

Bei konventionell analytischer Vorgehensweise überlegt man sich erst eine Funktion f für die Variablen x und y. Mit dieser Hypothese wird dann überprüft, ob die Beispiele in 2) erfüllt werden. Damit kann die Hypothese dann nur angenommen oder verworfen werden. Im Fall des Verwerfens bleibt nichts anderes über als wieder an den Start zu gehen und sich eine neue Hypothese für die Funktion f zu überlegen.

Bei komplexen Problemstellungen besteht bei der gegebenen Bottom-Up-Vorgehensweise eine große Gefahr sich in extensiven und teuren Trial-and-Error-Schleifen wiederzufinden, weil man nie mit Sicherheit sagen kann, welcher der 3 Angriffspunkte falsch ist.

Ein alternative Möglichkeit ist, dass man für 3) als erstes ein Neuronales Netz verwendet und damit eine der bestmöglichen Funktionen (weil NN = universeller Approximator) anwendet, die verfügbar sind. Damit kann man sich in einem ersten Schritt auf die Punkte 1) und 2) konzentrieren. Wenn man mit 1) und 2) kein ausreichend gutes Neuronales Netz findet, liegt es mit hoher Wahrscheinlichkeit an einer ungünstigen Wahl von x und/oder y, d.h. in 1) hat man eine unglückliche Auswahl getroffen. Oder, die Daten in 2) bilden mit 1) keinen funktionalen Zusammenhang, d.h. die Anforderungen an das mathematische Modell sind unrealistisch.

Z.B. ist in 2) ein Paar von Daten (xi,yi), (xj,yj) enthalten, sodass xi gleich xj aber yi ungleich yj sind. Wir sprechen hier von einem Konflikt in den funktionalen Anforderungen. Als Lösung muss man entweder x um weitere Informationen erweitern, sodass xi ungleich xj wird; oder man verzichtet auf die Auflösung von Fall i oder j. Erst wenn damit dann die Punkte 1) und 2) erledigt sind, schaut man auf die Funktion f - den Punkt 3). Sollte dass Problem so komplex sein, dass man sowieso ein Neuronales Netz als Funktion benötigt, dann verwendet man dieses gleich für die Implementierung. Ansonsten kann man sich noch auf die Suche nach einer analytischen Formulierung für die Funtion f begeben. Auch hier sind die Neuronalen Netze wieder hilfreich, weil man bei richtiger Auswertung einen Hinweis auf die tatsächliche Problemkomplexität bekommt. Damit kann man abschätzen, ob sich die Suche nach einer passenden analytischen Funktion lohnt oder nicht. Bei komplexen Problemstellungen ist diese Top-Down-Vorgehensweise die weitaus effizientere und führt auch zumeist schneller zum Ziel.

Die oft gehörte Floskel von einigen "Experten", Neuronale Netze würden in ihrem Anwendungsgebiet nicht funktionieren, stimmt also nicht. In diesem Fall scheitert es meist an der exakten Problemformulierung und der Codierung der Aufgabenstellung (1) und 2)), in den seltensten Fällen am Neuronalen Netz (der Funktion in 3)).

 

Ein weiterer Punkt ist die Verfügbarkeit von Künstlichen Neuronalen Netzen. Naturlich gibt es im Gebiet der Machine-Learning-Verfahren auch andere "universelle Approximatoren", für welche die obige Argumentation genauso gilt. Neuronale Netze sind aber die derzeit am besten verfügbaren und am weitesten ausgereift. Es gibt zahlreiche gute, professionelle oder freie Softwareprodukte, welche Neuronale Netze anbieten. Da muss man nicht mehr viel selbst erfunden und/oder entwickeln.

 

Zuletzt aktualisiert am 2016-09-02 von Andreas Kuhn.

Zurück