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