Backpropagation ist der Algorithmus, der verwendet wird, um zu berechnen, wie sich der Verlust eines neuronalen Netzes in Bezug auf jedes seiner Gewichte ändert, indem die Kettenregel der Analysis rückwärts durch die Schichten des Netzes angewendet wird. Es ist der Mechanismus, der das Training tiefer Netze mit Gradientenabstieg rechnerisch machbar macht, da er alle für ein Update benötigten Gradienten in ungefähr der gleichen Zeit berechnet wie ein einzelner Vorwärtsdurchlauf, anstatt eine separate kostspielige Berechnung für jedes einzelne Gewicht zu erfordern.
Geschichte
Die mathematische Technik hinter Backpropagation, die reverse-mode automatische Differentiation, wurde ab den 1960er Jahren in verschiedenen Formen beschrieben, und Paul Werbos wandte sie 1974 in seiner Doktorarbeit an der Harvard University explizit auf neuronale Netze an, obwohl die Arbeit damals weitgehend unbemerkt blieb. Backpropagation gelangte in die Mainstream-KI-Forschung, nachdem ein Artikel in Nature von 1986 von David Rumelhart, Geoffrey Hinton und Ronald Williams mit dem Titel „Learning representations by back-propagating errors" zeigte, dass die Methode mehrschichtige Netze trainieren konnte, um nützliche interne Repräsentationen zu entdecken, und damit direkt die Einschränkungen beantwortete, die Marvin Minsky und Seymour Papert zwei Jahrzehnte zuvor bei einlagigen Perzeptronen identifiziert hatten. Der Artikel von 1986 wird weithin dafür verantwortlich gemacht, den zweiten KI-Winter zu beenden und das Interesse an konnektionistischen Ansätzen in der KI in den späten 1980er und 1990er Jahren wiederzubeleben.
Funktionsweise
Ein Vorwärtsdurchlauf eines Netzes berechnet eine Ausgabe und einen Verlustfunktionswert aus den aktuellen Eingaben und Gewichten. Backpropagation arbeitet dann rückwärts von diesem Verlust aus und verwendet die Kettenregel, um Schicht für Schicht zu berechnen, wie viel jedes Gewicht zum Fehler beigetragen hat, wodurch in einem einzigen Rückwärtsdurchlauf ein Gradient für jeden Parameter im Netz erzeugt wird. Diese Gradienten werden dann von einem Optimierer, typischerweise einer Variante des Gradientenabstiegs, verwendet, um jedes Gewicht in die Richtung zu bewegen, die den Verlust reduziert. Die Effizienz dieser Rückwärtsberechnung, formal ein Fall von reverse-mode automatischer Differentiation, macht es praktikabel, Netze mit Milliarden von Parametern zu trainieren; ein naiver numerischer Ansatz, der jeden Gradienten unabhängig neu berechnet, wäre in diesem Maßstab rechnerisch unlösbar.
Verbreitung und Einschränkungen
Trotz seiner Popularisierung im Jahr 1986 dominierte Backpropagation nicht sofort: In den 1990er und 2000er Jahren litten tiefe Netze, die mit Backpropagation trainiert wurden, unter verschwindenden und explodierenden Gradienten in Netzen mit vielen Schichten, was die praktische Tiefe begrenzte und zu einer Präferenz für flachere Modelle und alternative Methoden wie Support-Vektor-Maschinen beitrug. Architektonische Korrekturen, einschließlich der Gating-Mechanismen in LSTM-Netzen, sorgfältiger Gewichtsinitialisierung und später residueller Verbindungen und Normalisierungsschichten, lösten diese Probleme allmählich und ermöglichten die sehr tiefen Netze, einschließlich faltender neuronaler Netze und schließlich Transformatoren, die das moderne Deep Learning definieren. Backpropagation selbst wurde auch wissenschaftlich kritisiert, am prominentesten von Geoffrey Hinton in späteren Jahren, wegen seiner biologischen Unplausibilität, da das Gehirn keinen bekannten Mechanismus für die präzisen, symmetrischen Rückwärtsfehlersignale hat, die der Algorithmus erfordert, was laufende Forschung zu alternativen, biologisch plausibleren Lernregeln motiviert, die bisher jedoch nicht an seine praktische Leistung heranreichen.
Bedeutung
Backpropagation bleibt die nahezu universelle Trainingsmethode für neuronale Netze in allen Bereichen, von Computersehen bis natürlicher Sprachverarbeitung, und jedes große Deep-Learning-Framework, einschließlich PyTorch und TensorFlow, ist um automatische Differentiations-Engines aufgebaut, die es in großem Maßstab implementieren.