Kapitelanfang Vorige Seite Nächste Seite Nächstes Kapitel
VERN Home navigation
 
Chemoinformatik
Einführung in die Chemoinformatik
Repräsentation chemischer Strukturen
Repräsentation chemischer Reaktionen
Datentypen/Datenformate
Datenbanken/Datenquellen
Struktur-Suchmethoden
Berechnung physikalischer und chemischer Daten
Descriptoren für chemische Verbindungen
Methoden zur Datenanalyse
Einführung
Maschinelles Lernen
Lernverfahren
Entscheidungsbäume
Chemometrie
Multivariate Statistikmethoden
Korrelation
MLRA
PCA
PCR
PLS
MDS
Neuronale Netze
Einführung
Biologische Neuronen
Künstliche Neuronen
Künstliches Neuronenmodell
Vernetzung von Neuronen
Mehrschichtenmodell
Lernverfahren NN
Hopfield-Modell
Hopfield-Modell: Beispiel
Kohonen-Netze
Kohonen-Netz: Lernen
  Backpropagation Netzwerke
Counterpropagation Netzwerke
Fuzzy Logic
Genetische Algarithmen
Data Mining-Methoden in der Chemie
Weitere Data Mining-Methoden
Literatur
Anwendungen
Struktur-Eigenschafts-Beziehung
Strukturaufklärung
Synthesplanung

Startseite

Backpropagation-Netze

Die Mehrzahl der Anwendungen neuronaler Netze verwendet den "Backpropagation"-Algorithmus. Dieser Algorithmus repräsentiert keine spezielle Netzwerkarchitektur - meist wird ein Mehrschichtennetz eingesetzt -, sondern ist ein besonderes Lernverfahren. Obwohl diese Methode erst 1986 durch Rumelhart, Hinton und Williams eingeführt wurde, gewann sie sofort große Popularität und trug entscheidend zum Siegeszug der neuronalen Netze bei. So ergab sich bei einer vor gut zwei Jahren durchgeführten Analyse aller Veröffentlichungen über den Einsatz neuronaler Netze in der Chemie, daß der Backpropagation-Algorithmus bei 90% der Arbeiten verwendet wurde.
Die Attraktivität des Lernens durch Backpropagation kommt dadurch zustande, daß die Korrekturen der Gewichte des neuronalen Netzes mit wohldefinierten Gleichungen berechnet werden können. Allerdings existiert zwischen dieser Prozedur zur Fehlerkorrektur und den Prozessen, die bei der Änderung der Synapsenstärken im biologischen System ablaufen, kaum eine Analogie.
Der Backpropagation-Algorithmus wird bei Ein- und Mehrschichtennetzen angewendet und ist ein Lernverfahren mit Unterweisung (supervised learning). Die Eingabedaten werden über die Schichten hinweggeschickt; die Ausgabedaten einer Schicht l, Outl, sind die Eingabedaten Xl+1 der Schicht l+1. Aus der letzten Schicht sollten eigentlich die für die Eingabedaten zu erwartenden Ergebnisse erhalten werden. Zunächst wird dies noch nicht der Fall sein. Die Ausgabedaten, Outlast der letzten Schicht werden deshalb mit den Erwartungswerten Y verglichen und daraus ein Fehler ermittelt. Dieser Fehler wird nun verwendet, um die Gewichte der Ausgabeschicht zu korrigieren. Dann werden die Gewichte der vorletzten Schicht unter Berücksichtigung des Fehlers in der letzten Schicht korrigiert, und so werden die Fehler schichtweise von unten nach oben durchgeschleust und zur Berechnung der Korrekturen der Gewichte herangezogen (s. Abbildung). Der Fehler wandert also gegenläufig zu den Eingabedaten, daher der Name Backpropagation oder, wie bereits salopp formuliert, "Fehlerkorrektur im Rückwärtsgang". Im folgenden werden nur die Grundzüge des Backpropagation- Algorithmus aufgezeigt; für eine ausführliche Ableitung muß auf die Literatur verwiesen werden).

Lernverfahren des Backpropagation Algorithmu

Das Lernverfahren des Backpropagation Algorithmus. Die Gewichte werden durch Rückführung des Fehlers korrigiert

Der Backpropagation-Algorithmus soll die Gewichte so verändern, daß der Fehler für die Ausgabewerte Out minimal wird, d.h. daß diese möglichst gut mit den vorgegebenen Werten Y übereinstimmen.
In der letzten Schicht kann der Fehler direkt bestimmt werden, denn der Wert Y, der in der Ausgabeschicht erwartet wird, ist ja bekannt. Die Gewichtsänderungen der letzten Schicht, Dwjilast, werden durch Ableiten des Fehlers e nach den einzelnen Gewichten bestimmt:

Die führt aufgrund der Kettenregel zu den folgenden Gleichungen. h ist dabei ein Parameter, die Lernrate, dessen Wert vorgegeben werden kann. Er bestimmt, wie rasch ein neuronales Netz lernt. Gewöhnlich wird für ihn ein Wert zwischen 0,1 und 0,9 gewählt.

In den Zwischenschichten ist der Fehler dagegen nicht direkt bekannt, denn man weiß ja gar nicht welche Ausgabewerte Outl aus den Zwischenschichten kommen sollen. Hier wird nun angenommen, daß sich der Fehler aus der darunterliegenden Schicht gleichmäßig über alle Verbindungen zur darüberliegenden Schicht verteilt hat. Damit kann der Fehler in einer Schicht jeweils aus dem Fehler der darunterliegenden Schicht berechnet werden. Dies ist die Grundlage des Backpropagation-Algorithmus: Der Fehler wird durch die einzelnen Schichten zurückgetragen ("backpropagation of errors"), und damit werden die Gewichte der einzelnen Schichten korrigiert.
Insgesamt ergibt sich für die Korrektur der Gewichte einer Schicht die geschlossene Form:

Häufig werden bei der Korrektur der Gewichte auch noch die Änderungen der Gewichte im vorhergehenden Cyclus (previous) mitberücksichtigt. Dies geschieht dadurch, daß die Gleichung noch um den additiven Beitrag mDwjil(previous) erweitert wird.
Der Parameter m ist das Vergessensmoment. Er bestimmt, wie stark vorhergehende Gewichtsänderungen mitberücksichtigt werden sollen, d.h. er verleiht dem Lernvorgang ein gewisses Beharrungsvermögen. Je kleiner m ist, um so rascher werden vorhergehende Änderungen der Gewichte wieder vergessen. Man kann zeigen, daß die Summe von h+m ungefähr bei 1 liegen soll.


© Prof. Dr. J. Gasteiger, Dr. Th. Engel, CCC Univ. Erlangen, Thu Apr 15 06:31:58 2004 GMT
navigation BMBF-Leitprojekt Vernetztes Studium - Chemie