Studium und Lehre

Labor für Softwaretechnik - Neuronale Netze

Neuronale Netze (genauer künstliche neuronale Netze) sind ein Ansatz, die grundlegenden Mechanismen der Informationsverarbeitung in biologischen Systemen nachzubilden. Sie orientieren sich in Ihrem Aufbau an die neuronale Struktur des Gehirns und versuchen diese in stark vereinfachter Weise nachzuahmen. Ein neuronales Netz besteht im allgemeinen aus einer Menge miteinander vernetzter Verarbeitungseinheiten, auch Neuronen genannt. Ein Teil dieser Neuronen kommuniziert mit der Außenwelt durch Aufnahme oder Abgabe von Signalen (Eingangs-, Ausgangsneuronen).

Jedes Neuron erhält Eingangsinformationen, die mit „Gewichten“ versehen werden. Innerhalb eines Neurons wird ein Skalarprodukt der Eingangssignale mit den Gewichten gebildet und auf den Ergebniswert eine Funktion, die sogenannte Übertragungsfunktion (Transferfunktion, Aktivierungsfunktion) angewendet. Der entstehende Wert wird als Ausgangssignal des Neurons an weitere verbundene Neuronen weitergegeben.

Die gegenseitige Wechselwirkung dieser Neuronen in einem neuronalen Netz ist nicht von vornherein festgelegt, sondern wird im Rahmen einer Lernphase an die zu erfüllende Aufgabe angepasst. Dabei werden Lerndaten vorgegeben. Mit Hilfe eines Lernverfahrens werden die Gewichte den Lerndaten angepasst. Die Generalisierungsfähigkeit, d.h. die Fähigkeit, für bisher unbekannte Daten gute Prognosen zu erzielen, lässt sich anhand weiterer Daten, der sogenannten Testmenge überprüfen.

Neuronale Netze erreichen immer mindestens die Lern- und Generalisierungsfähigkeit eines linearen Regressionsansatzes , da dieser als Spezialfall eines Netzes mit nur einem Neuron in der inneren Schicht. Es lässt sich darüber hinaus zeigen, dass neuronale Netze in der Lage sind, beliebige stetige Zusammenhänge zwischen Eingangs- und Ausgangsgrößen darzustellen. Neuronale Netze sind somit geeignet, hochdimensionale sowie nichtlineare Zusammenhänge aus Datensätzen zu erlernen.

Anwendungsfelder sind u.a.

  • Prognoseaufgaben in der Datenanalyse assoziative Datenspeicher
  • Mustererkennung (Erkennen von Handschriften, Texterkennung,  etc.)
  • Optimierungsaufgaben (Minimierung von Weglängen)
  • Unterhaltung und Spiele (Aufbau eines optimalen Gegenspielers,...)
          .

Konkrete Projekte zum Einsatz neuronaler Netze (s. auch Projekte)

  • Bearbeitung von Korrosionsproblemen mit neuronalen Netzen (Kooperation Bayer AG, Leverkusen, PRINCE)
  • Vogelerkennung anhand von Vogellauten (Kooperation Uni Kaiserslautern)
  • Prognose des Verkehrs- und Straßenzustandes im Fahrzeug (Fa. Bosch GmbH, Hildesheim)
  • Mais/Beikraut-Erkennung (Projekt Querhacke)
  • Prognose von Gebrauchtwagenpreise mit neuronalen Netzen
  • Prognose der Zementfeinheit (Fa. Krupp-Polysius, Neu-Beckum)
  • Nährbodenoptimierung in der Acarbosebildung (Fa. Bayer AG, Elberfeld)
  • Erstellung von Lastprognosen (Stadtwerke Osnabrück AG)

Softwarewerkzeuge zum Erstellen neuronaler Netze

  • DataModel
  • SNNS
  • Matlab Neural Network Toolbox
  • NNTool
  • DataEngine