Heim > Artikel > Technologie-Peripheriegeräte > Hintons neueste Forschung: Die Zukunft neuronaler Netze liegt im Vorwärts-Vorwärts-Algorithmus
In den letzten zehn Jahren hat Deep Learning erstaunliche Erfolge erzielt, und die Methode des stochastischen Gradientenabstiegs mit einer großen Anzahl von Parametern und Daten hat sich als wirksam erwiesen. Der Gradientenabstieg verwendet normalerweise den Backpropagation-Algorithmus. Daher haben Fragen wie die Frage, ob das Gehirn der Backpropagation folgt und ob es andere Möglichkeiten gibt, die zum Anpassen der Verbindungsgewichte erforderlichen Gradienten zu erhalten, immer große Aufmerksamkeit erregt.
Geoffrey Hinton, Turing-Award-Gewinner und Deep-Learning-Pionier, hat als einer der Befürworter der Backpropagation in den letzten Jahren wiederholt behauptet, dass Backpropagation nicht erklären kann, wie das Gehirn funktioniert. Stattdessen schlägt er eine neue Lernmethode für neuronale Netze vor – den Forward-Forward-Algorithmus (FF).
Auf der jüngsten NeurIPS 2022-Konferenz hielt Hinton eine Sonderrede mit dem Titel „Der Vorwärts-Vorwärts-Algorithmus für das Training tiefer neuronaler Netze“, in der er die Überlegenheit des Vorwärtsalgorithmus im Vergleich zum Rückwärtsalgorithmus erörterte. Der erste Entwurf des Papiers „The Forward-Forward Algorithm: Some Preliminary Investigations“ wurde auf der Homepage der University of Toronto veröffentlicht:
Papieradresse: https://www.cs.toronto. edu/~hinton /FFA13.pdf
Im Gegensatz zum Backpropagation-Algorithmus, der einen Vorwärtsdurchlauf + einen Rückwärtsdurchlauf verwendet, enthält der FF-Algorithmus zwei Vorwärtsdurchgänge, von denen einer positive (d. h. reale) Daten und der andere die verwendet Netzwerk selbst Negative Daten generiert.
Hinton glaubt, dass der Vorteil des FF-Algorithmus darin besteht, dass er das kortikale Lernen des Gehirns besser erklären und Hardware mit extrem geringem Stromverbrauch simulieren kann.
Hinton plädiert dafür, die Computerform, die Software und Hardware trennt, aufzugeben. Zukünftige Computer sollten so konzipiert werden, dass sie „nicht sterblich“ sind, wodurch Rechenressourcen erheblich gespart werden, und der FF-Algorithmus kann auf diese Weise verwendet werden Der beste Weg, effizient zu lernen und zu arbeiten.
Dies könnte in Zukunft eine ideale Möglichkeit sein, die Rechenleistungsbeschränkungen großer Modelle mit Billionen von Parametern zu lösen.
Im FF-Algorithmus hat jede Schicht ihre eigene Zielfunktion, das heißt, sie weist eine hohe Exzellenz für positive Daten auf. Hat eine geringe Güte für negative Daten. Die Aktivitätssumme der Quadrate in einer Ebene kann als Maß für die Güte verwendet werden, und es gibt viele andere Möglichkeiten, wie zum Beispiel das Subtrahieren der Aktivitätssumme der Quadrate.
Wenn positive und negative Durchgänge rechtzeitig getrennt werden können, können negative Durchgänge offline durchgeführt werden, das Erlernen positiver Durchgänge wird einfacher und ermöglicht die Übertragung von Videos über das Netzwerk, ohne dass aktive oder beendete Ausbreitungsableitungen gespeichert werden müssen.
Hinton glaubt, dass der FF-Algorithmus in zweierlei Hinsicht besser ist als Backpropagation:
Erstens ist FF ein besseres Modell, um das Lernen der Großhirnrinde zu erklären;
Zweitens ist FF energieintensiver ,Es verwendet Simulationshardware mit extrem geringem Stromverbrauch, ohne dass auf Verstärkungslernen zurückgegriffen werden muss.
Es gibt keine konkreten Beweise dafür, dass der Kortex Fehlerableitungen weiterleitet oder neuronale Aktivität für die anschließende Rückausbreitung speichert. Top-Down-Verbindungen von einem kortikalen Bereich zu Bereichen weiter oben im Sehweg spiegeln nicht die Bottom-Up-Verbindungen wider, die erwartet werden, wenn Backpropagation im visuellen System verwendet wird. Stattdessen bilden sie Schleifen, in denen die neuronale Aktivität durch zwei Bereiche, etwa sechs Kortizes, verläuft und dann dorthin zurückkehrt, wo sie begonnen hat.
Als eine Möglichkeit, Sequenzen zu lernen, ist die zeitliche Rückausbreitung nicht sehr zuverlässig. Um einen Strom sensorischer Eingaben ohne häufige Pausen verarbeiten zu können, muss das Gehirn Daten durch die verschiedenen Phasen der sensorischen Verarbeitung übertragen und außerdem einen Prozess benötigen, der im laufenden Betrieb lernen kann. Darstellungen später in der Pipeline können später von oben nach unten Informationen liefern, die sich auf Darstellungen in früheren Phasen der Pipeline auswirken, aber das Wahrnehmungssystem muss in Echtzeit argumentieren und lernen, anstatt anzuhalten und eine Backpropagation durchzuführen.
Eine weitere schwerwiegende Einschränkung der Backpropagation besteht darin, dass vollständige Kenntnisse der von der Forward-Propagation durchgeführten Berechnungen erforderlich sind, um die richtigen Ableitungen abzuleiten. Wenn wir eine Black Box in die Vorwärtsausbreitung einfügen, kann die Rückausbreitung nicht durchgeführt werden, es sei denn, ein differenzierbares Modell der Black Box wird gelernt.
Und die Black Box hat keinen Einfluss auf den Lernprozess des FF-Algorithmus, weil keine Rückausbreitung durch sie erforderlich ist.
Wenn es kein perfektes Vorwärtsausbreitungsmodell gibt, können wir mit einer Vielzahl von Methoden des verstärkenden Lernens beginnen. Eine Idee besteht darin, zufällige Störungen an Gewichten oder neuronaler Aktivität durchzuführen und diese Störungen mit den resultierenden Änderungen in der Auszahlungsfunktion zu korrelieren. Aufgrund des Problems der hohen Varianz beim Verstärkungslernen ist es jedoch schwierig, die Auswirkung der Störung einer einzelnen Variablen zu erkennen, wenn andere Variablen gleichzeitig gestört werden. Um dies zu erreichen und das durch alle anderen Störungen verursachte Rauschen auszugleichen, muss die Lernrate umgekehrt proportional zur Anzahl der gestörten Variablen sein, was bedeutet, dass sich Verstärkungslernen schlecht auf große Netzwerke mit Millionen oder Milliarden Backpropagation-Konkurrenzparametern skalieren lässt.
Und Hintons Argument ist, dass neuronale Netze, die unbekannte Nichtlinearitäten enthalten, nicht auf Verstärkungslernen zurückgreifen müssen. Der FF-Algorithmus ist hinsichtlich der Geschwindigkeit mit der Backpropagation vergleichbar und hat den Vorteil, dass er verwendet werden kann, wenn die genauen Details der Vorwärtsberechnung unbekannt sind, und er kann auch erlernt werden, wenn das neuronale Netzwerk sequentielle Daten weiterleitet. Dies ist nicht erforderlich Speichern Sie neuronale Aktivität oder beenden Sie propagierte Fehlerableitungen.
In leistungsbegrenzten Anwendungen hat der FF-Algorithmus jedoch die Backpropagation noch nicht ersetzt. Beispielsweise ist Backpropagation für sehr große Modelle, die auf sehr großen Datensätzen trainiert werden, immer noch die Hauptmethode.
Vorwärts-Vorwärts-Algorithmus
Ersetzen Sie den Vorwärts- und Rückwärtsdurchlauf der Backpropagation durch zwei Vorwärtsdurchgänge, die auf unterschiedlichen Daten und entgegengesetzten Zielen basieren und auf genau die gleiche Weise funktionieren. Unter diesen arbeitet der Vorwärtskanal mit realen Daten und passt die Gewichte an, um die Bevorzugung jeder verborgenen Schicht zu erhöhen, und der Rückwärtskanal passt die Gewichte der „negativen Daten“ an, um die Bevorzugung jeder verborgenen Schicht zu verringern.
In diesem Artikel werden zwei verschiedene Metriken untersucht – die Summe der Quadrate der neuronalen Aktivität und die Summe der Quadrate der negativen Aktivität.
Angenommen, die Gütefunktion einer bestimmten Schicht ist die Summe der Quadrate der gleichgerichteten linearen Neuronenaktivitäten in der Schicht. Der Zweck des Lernens besteht darin, ihre Güte viel höher als einen bestimmten Schwellenwert realer Daten und viel niedriger zu machen die der negativen Datenschwelle. Das heißt, die Wahrscheinlichkeit, dass der Eingabevektor positiv (d. h. wahr) ist, wenn er korrekt als positive oder negative Daten klassifiziert wird, kann bestimmt werden, indem die logistische Funktion σ auf die Güte des Maßes abzüglich eines Schwellenwerts θ angewendet wird:
wobei die Aktivität der verborgenen Einheit j vor der Ebenennormalisierung ist. Negative Daten können durch Top-Down-Verbindungen neuronaler Netze vorhergesagt oder extern bereitgestellt werden.
Lernen mehrschichtiger Darstellungen mithilfe schichtweiser Optimierungsfunktionen
Um dies zu verhindern, normalisiert FF die Länge des verborgenen Vektors, bevor es als Eingabe für die nächste Ebene verwendet wird, und entfernt alle Informationen, die zur Bestimmung der ersten verborgenen Ebene verwendet wurden, und erzwingt so die nächste. Die verborgene Ebene verwendet Informationen über die relative Aktivität von die Neuronen in der ersten verborgenen Schicht, die von der Schichtnormalisierung nicht betroffen ist.
Mit anderen Worten: Der Aktivitätsvektor der ersten verborgenen Schicht hat eine Länge und eine Richtung. Die Länge wird verwendet, um die Güte der Schicht zu definieren, und nur die Richtung wird an die nächste Schicht weitergegeben. 2. Experimente zum FF-Algorithmus. 10.000 Bilder wurden zur Berechnung der Testfehlerrate verwendet. Ein mit mehreren verborgenen Schichten konzipiertes Faltungs-Neuronales Netzwerk kann einen Testfehler von etwa 0,6 % erreichen.
Verwenden Sie zunächst manuelle Negativdaten, um die erste Frage zu beantworten. Eine übliche Möglichkeit, kontrastives Lernen für überwachte Lernaufgaben zu verwenden, besteht darin, die Eingabevektoren ohne Verwendung von Informationen über die Beschriftungen in Darstellungsvektoren umzuwandeln und zu lernen, diese Darstellungsvektoren einfach linear in Logits-Vektoren umzuwandeln, indem in Softmax die Wahrscheinlichkeitsverteilung bestimmt wird von Etiketten. Trotz der offensichtlichen Nichtlinearität wird dies immer noch als linearer Klassifikator bezeichnet, bei dem das Lernen der linearen Transformation des Logits-Vektors überwacht wird, da keine verborgenen Schichten gelernt werden müssen und keine Rückausbreitung von Ableitungen erforderlich ist. FF kann dieses Repräsentationslernen durchführen, indem es reale Datenvektoren als positive Beispiele und beschädigte Datenvektoren als negative Beispiele verwendet.
Damit sich FF auf die Charakterisierung der langfristigen Korrelation von Formbildern konzentrieren kann, müssen wir negative Daten mit unterschiedlichen langfristigen Korrelationen, aber sehr ähnlichen kurzfristigen Korrelationen erstellen Bereich von 1 und 0-Maske zu vervollständigen. Anschließend wird ein Hybridbild für negative Daten erstellt, indem ein digitales Bild zur Maske und ein anderes digitales Bild hinzugefügt wird, um die gegenüberliegende Seite der Maske zu vervielfachen (Abbildung 1).
Beginnen Sie mit der Erstellung einer Maske aus einer zufälligen Bitmap und verwischen Sie das Bild wiederholt mit einem Filter der Form [1/4, 1/2, 1/4] in horizontaler und vertikaler Richtung Das Bild ist auf 0,5 eingestellt. Nach einem Training für 100 Epochen mit vier verborgenen Schichten (jede verborgene Schicht enthält 2000 ReLUs) kann ein Testfehler von 1,37 % erhalten werden, wenn die normalisierten Aktivitätsvektoren der letzten drei verborgenen Schichten als Softmax-Eingabe verwendet werden.
Darüber hinaus kann die Verwendung lokaler Empfangsfelder (ohne Gewichtsteilung) anstelle vollständig verbundener Schichten die Leistung verbessern. Der Testfehler für das Training für 60 Epochen beträgt 1,16 %. Die von dieser Architektur verwendete „Peer-Normalisierung“ kann jegliches Verstecken verhindern Das Gerät ist hyperaktiv oder dauerhaft abgeschaltet.
Überwachter Lern-FF-Algorithmuslernt versteckte Darstellungen, ohne Etiketteninformationen zu verwenden, was für große Modelle, die möglicherweise verschiedene Aufgaben ausführen können, sehr intelligent ist: Unüberwachtes Lernen extrahiert eine ganze Reihe von Funktionen für jede Aufgabe. Wenn Sie jedoch nur an einer einzelnen Aufgabe interessiert sind und ein kleines Modell verwenden möchten, ist überwachtes Lernen besser geeignet.
Eine Möglichkeit, FF beim überwachten Lernen zu verwenden, besteht darin, Beschriftungen in die Eingabe einzubeziehen. Positive Daten bestehen aus Bildern mit korrekten Beschriftungen und negative Daten bestehen aus Bildern mit falschen Beschriftungen. Die Beschriftung ist der einzige Unterschied zwischen den beiden. FF wird sie ignorieren alle Merkmale im Bild, die für das Etikett nicht relevant sind.
MNIST-Bilder enthalten schwarze Ränder, um die Arbeit von Faltungs-Neuronalen Netzen zu erleichtern. Der erste Lerninhalt der verborgenen Ebene wird auch leicht sichtbar, wenn die ersten 10 Pixel durch eine der N Darstellungen des Etiketts ersetzt werden. In einem Netzwerk mit 4 verborgenen Schichten enthält jede verborgene Schicht 2000 ReLUs. Nach 60 Epochen ist ein Testfehler von 1,36 % durch MNIST erforderlich. Eine Verdoppelung der FF-Lernrate und Training über 40 Epochen führt zu einem etwas schlechteren Testfehler von 1,46 %.
Nach dem Training mit FF werden die Testziffern klassifiziert, indem von einem Eingang ausgegangen wird, der die Testziffer und ein neutrales Etikett enthält, das aus 10 0,1-Einträgen besteht, mit einem Vorwärtsdurchlauf durch das Netzwerk, danach, mit Ausnahme des ersten verborgenen Äußeren Auf der Ebene werden alle anderen versteckten Aktivitäten als Eingabe für den während des Trainings erlernten Softmax verwendet, bei dem es sich um eine schnelle und suboptimale Methode zur Bildklassifizierung handelt. Der beste Weg besteht darin, das Netzwerk mit einer bestimmten Bezeichnung als Teil der Eingabe zu betreiben und die Vorzüge aller Schichten außer der ersten verborgenen Schicht zu akkumulieren. Wählen Sie anschließend für jede Bezeichnung separat die Bezeichnung mit der höchsten kumulativen Vorzüge aus. Während des Trainings wird ein Vorwärtspass von neutralen Etiketten verwendet, um harte negative Etiketten auszuwählen, wodurch das Training etwa ⅓ der Epochen erfordert.
Die beiden Pixel, die in jeder Richtung am stärksten zittern, werden verwendet, um die Trainingsdaten zu erhöhen, wodurch 25 verschiedene Offsets für jedes Bild erhalten werden. Die Kenntnis des Pixelraumlayouts wird verwendet, sodass es sich nicht mehr um eine Unveränderlichkeit handelt. Durch das Training desselben Netzwerks mit erweiterten Daten für 500 Epochen kann der Testfehler 0,64 % erreichen, ähnlich wie bei einem Faltungs-Neuronalen Netzwerk, das mit Backpropagation trainiert wird. Wie in Abbildung 2 dargestellt, erhalten wir auch interessante lokale Domänen in der ersten verborgenen Ebene.
Abbildung 2: Lokale Felder von 100 Neuronen in der ersten verborgenen Schicht eines Netzwerks, das auf gedithertem MNIST trainiert wurde, mit Klassenbezeichnungen, die in den ersten 10 Pixeln jedes Bildes angezeigt werden
Derzeit verwenden alle Bildklassifizierungsfälle Feedforward-Neuronale Netze, die jeweils eine Schicht lernen, was bedeutet, dass das, was in späteren Schichten gelernt wird, keinen Einfluss auf das Lernen der vorherigen Schichten hat. Dies scheint eine große Schwäche im Vergleich zur Backpropagation zu sein, und der Schlüssel zur Überwindung dieser scheinbaren Einschränkung besteht darin, statische Bilder als eher langweilige Videos zu behandeln, die von mehrschichtigen rekurrenten neuronalen Netzen verarbeitet werden.
FF läuft zeitlich vorwärts, sowohl für positive als auch für negative Daten, aber der Aktivitätsvektor jeder Schicht wird durch den normalisierten Aktivitätsvektor der vorherigen und nächsten Schicht in den vorherigen Zeitschritten bestimmt (Abbildung 3). Als vorläufige Überprüfung, ob dieser Ansatz funktioniert, kann man eine „Video“-Eingabe verwenden, die aus einem statischen MNIST-Bild besteht, das einfach in jedem Zeitrahmen wiederholt wird, mit einem Pixelbild unten und einer von N Darstellungen der numerischen Klasse unten oben: Es gibt zwei oder drei Zwischenschichten mit jeweils 2000 Neuronen.
Im vorläufigen Experiment lief das wiederkehrende Netzwerk 10 Zeitschritte lang. Die geraden Schichten jedes Zeitschritts wurden entsprechend den Standardisierungsaktivitäten der ungeraden Schichten aktualisiert, und die Schichten mit ungeraden Zahlen wurden entsprechend aktualisiert Der Zweck der alternierenden Aktualisierung besteht darin, biphasische Schwingungen zu vermeiden, scheint jedoch derzeit nicht erforderlich zu sein: mit einer kleinen Dämpfung, basierend auf dem vorherigen Zeitschritt-Normalisierungszustand, der synchronen Aktualisierung Der Lerneffekt aller verborgenen Schichten ist etwas besser, was bei unregelmäßigen Architekturen hilfreich ist. Daher wurden in diesem Experiment synchrone Aktualisierungen verwendet und der neue vornormalisierte Zustand auf 0,3 des vorherigen vornormalisierten Zustands plus 0,7 des berechneten neuen Zustands gesetzt.
Abbildung 3: Wiederkehrendes Netzwerk zur Videoverarbeitung
Wie in Abbildung 3 gezeigt, wird das Netzwerk auf MNIST für 60 Epochen trainiert, mit einem Bottom-up-Durchlauf zur verborgenen Ebene jedes Bildes Führen Sie die Initialisierung durch.
Danach wird das Netzwerk für 8 Iterationen gleichzeitig mit Dämpfung ausgeführt. Das Netzwerk wird bewertet, indem 8 Iterationen für jedes der 10 Labels ausgeführt werden und das Label mit der höchsten durchschnittlichen Güte in den Iterationen 3 bis 5 ausgewählt wird. Testen Sie die Datenleistung, den Test Der Fehler beträgt 1,31 %. Negative Daten werden einmal über das Netzwerk weitergeleitet, um die Wahrscheinlichkeiten aller Kategorien zu erhalten, und falsche Kategorien werden im Verhältnis zu den Wahrscheinlichkeiten ausgewählt und generiert, wodurch die Trainingseffizienz verbessert wird.
In einem wiederkehrenden Netzwerk besteht das Ziel darin, eine gute Konsistenz zwischen der Eingabe positiver Daten der oberen Schicht und der Eingabe der unteren Schicht aufrechtzuerhalten, während die Konsistenz negativer Daten nicht gut ist. Eine wünschenswerte Eigenschaft in einem Netzwerk mit räumlich lokaler Konnektivität: Die Top-Down-Eingabe wird durch einen größeren Bereich des Bildes bestimmt und hat das Ergebnis mehrerer Verarbeitungsstufen, sodass sie als kontextbezogene Vorhersage des Bildes angesehen werden kann. Dies ist auch das Ergebnis, das auf der Grundlage der Bottom-up-Eingabe der lokalen Bilddomäne erstellt werden sollte.
Wenn sich die Eingabe im Laufe der Zeit ändert, basiert die Top-Down-Eingabe auf älteren Eingabedaten, daher müssen Darstellungen gelernt werden, die die Bottom-Up-Eingabe vorhersagen. Wenn wir das Vorzeichen der Zielfunktion umkehren und eine Low-Square-Aktivität für positive Daten durchführen, sollte die Top-Down-Eingabe lernen, die Bottom-Up-Eingabe für positive Daten aufzuheben, was der prädiktiven Codierung sehr ähnlich zu sein scheint. Layer-Normalisierung bedeutet, dass selbst wenn die Aufhebung gut funktioniert, viele Informationen an die nächste Schicht gesendet werden, die durch die Normalisierung verstärkt werden, wenn alle Vorhersagefehler klein sind.
Die Idee, Kontextvorhersagen als lokale Merkmale zu verwenden und Lehrsignale zum Lernen zu extrahieren, gibt es schon seit langem, aber die Schwierigkeit liegt darin, wie man in neuronalen Netzen arbeitet, die räumlichen Kontext statt einseitigen zeitlichen Kontext verwenden. Die Verwendung von Konsens aus Top-Down- und Bottom-Up-Eingaben als Lehrsignale für Top-Down- und Bottom-Up-Gewichte ist ein Ansatz, der eindeutig zum Zusammenbruch führt, ebenso wie das Problem, kontextbezogene Vorhersagen aus anderen Bildern zu verwenden, um negative Paare zu erstellen gelöst. Dabei scheint die Verwendung negativer Daten anstelle einer negativen internen Darstellung der Schlüssel zu sein.
Hinton testete dann die Leistung des FF-Algorithmus am CIFAR-10-Datensatz und bewies, dass die Leistung des von FF trainierten Netzwerks mit Backpropagation vergleichbar ist.
Dieser Datensatz enthält 50.000 32x32-Trainingsbilder mit drei Farbkanälen pro Pixel, sodass jedes Bild 3072 Dimensionen hat. Da der Hintergrund dieser Bilder komplex und sehr variabel ist und mit sehr begrenzten Trainingsdaten nicht gut modelliert werden kann, kann mithilfe der Backpropagation ein vollständig verbundenes Netzwerk mit zwei bis drei verborgenen Schichten verwendet werden, es sei denn, die verborgene Schicht ist sehr klein Beim Training beziehen sich daher fast alle aktuellen Forschungsergebnisse auf Faltungsnetzwerke.
Sowohl Backpropagation als auch FF nutzen den Gewichtsabfall, um die Überanpassung zu reduzieren. Hinton verglich die Leistung der mit den beiden Methoden trainierten Netzwerke. Für FF-trainierte Netzwerke besteht die Testmethode darin, eine einzelne Vorwärtsausbreitung zu verwenden oder das Netzwerk 10 Iterationen für das Bild und jedes der 10 Labels ausführen zu lassen und die Energie der Labels in den Iterationen 4 bis 6 zu akkumulieren (d. h. wann). basierend darauf, wann die Fehlergüte am niedrigsten ist).
Obwohl die Testleistung von FF schlechter ist als die von Backpropagation, ist sie nur geringfügig schlechter. Gleichzeitig wird die Lücke zwischen den beiden mit der Zunahme verborgener Schichten nicht größer. Allerdings kann Backpropagation Trainingsfehler schneller reduzieren.
Darüber hinaus hat Hinton beim Sequenzlernen durch die Aufgabe, das nächste Zeichen in der Sequenz vorherzusagen, auch bewiesen, dass das mit FF trainierte Netzwerk besser ist als Backpropagation. Mit FF trainierte Netzwerke können ihre eigenen negativen Daten generieren und sind biologisch konsistenter.
Hinton verglich den FF-Algorithmus außerdem mit anderen bestehenden kontrastiven Lernmethoden. Seine Schlussfolgerung ist:
FF ist eine Kombination aus Boltzmann-Maschine und einfacher lokaler Gütefunktion;
In echten neuronalen Netzen kann FF die Konsistenz zwischen zwei verschiedenen Darstellungen besser messen als selbstüberwachte Vergleichsmethoden wie SimCLR.In den frühen 1980er Jahren verfügten tiefe neuronale Netze über zwei der vielversprechendsten Lernmethoden, eine war Backpropagation und die andere waren unbeaufsichtigte Boltzmann-Maschinen für kontrastives Lernen. Eine Boltzmann-Maschine ist ein zufälliges binäres Neuronennetzwerk mit paarweisen Verbindungen mit gleichen Gewichten in beide Richtungen. Wenn die Boltzmann-Maschine ohne externe Eingaben frei laufen kann, aktualisiert sie jedes binäre Neuron wiederholt, indem sie es mit einer Wahrscheinlichkeit in den Ein-Zustand versetzt, die der gesamten Eingabe entspricht, die es von anderen aktiven Neuronen erhält. Dieser einfache Aktualisierungsprozess basiert letztendlich auf einer Gleichgewichtsverteilung, bei der jede globale Konfiguration (die allen Neuronen einen binären Zustand zuweist) eine logarithmische Wahrscheinlichkeit aufweist, die proportional zu ihrer negativen Energie ist. Negative Energie ist einfach die Summe der Gewichte zwischen allen Neuronenpaaren in dieser Konfiguration. Eine Teilmenge von Neuronen in einer Boltzmann-Maschine ist „sichtbar“. Binäre Datenvektoren werden dem Netzwerk präsentiert, indem sie über die sichtbaren Neuronen geklemmt werden und es dann den Zustand der verbleibenden verborgenen Neuronen wiederholt aktualisieren lässt. Der Zweck des maschinellen Lernens von Boltzmann besteht darin, die Verteilung binärer Vektoren auf sichtbaren Neuronen frei an die Datenverteilung anzupassen, wenn das Netzwerk läuft. Das Überraschendste ist, dass die Kullback-Liebler-Divergenz zwischen der auf dem sichtbaren Neuron angezeigten Datenverteilung und der Modellverteilung eine sehr einfache Ableitung hat (für jedes Gewicht): wobei die spitzen Klammern geben die Erwartung zufälliger Schwankungen im thermischen Gleichgewicht und die Daten für den ersten Term an. Das Spannende an diesem Ergebnis ist, dass es die Ableitungen der Gewichte tief im Netzwerk liefert, ohne die Fehlerableitungen explizit weiterzugeben. Es verteilt die neuronale Aktivität in zwei verschiedenen Phasen des Wachzustands und des Schlafs. Der Aufwand, die Lernregeln mathematisch so einfach wie möglich zu gestalten, ist jedoch sehr hoch. Es erfordert eine tiefe Boltzmann-Maschine, um seine Gleichgewichtsverteilung anzunähern, was es als maschinelle Lerntechnik unrealistisch und als kortikales Lernmodell unplausibel macht: Große Netzwerke haben keine Zeit, sich ihrer Gleichgewichtsverteilung während der Wahrnehmung anzunähern. Darüber hinaus gibt es keine Beweise für eine detaillierte Symmetrie kortikaler Verbindungen und keine offensichtliche Möglichkeit, Sequenzen zu lernen. Darüber hinaus schlagen maschinelle Lernverfahren nach Boltzmann fehl, wenn auf viele positive Gewichtsaktualisierungen viele negative Aktualisierungen folgen und die negative Phase dem REM-Schlaf entspricht. Aber trotz der oben genannten Mängel ist die Boltzmann-Maschine immer noch eine sehr intelligente Lernmethode, da sie zwei iterative Einstellungen verwendet, die gleich funktionieren, aber unterschiedliche Randbedingungen für die sichtbaren Neuronen haben (d. h. auf Daten beschränkt vs. uneingeschränkt), und sie ersetzen die Vorwärts- und Rückwärtsdurchgänge der Rückausbreitung. Die Boltzmann-Maschine kann als Kombination zweier Ideen betrachtet werden: Die erste Idee zum kontrastiven Lernen kann mit vielen anderen Energiefunktionen verwendet werden. Beispielsweise wird die Ausgabe eines vorwärtsgerichteten neuronalen Netzwerks verwendet, um die Energie zu definieren, und dann wird die Rückausbreitung durch das Netzwerk verwendet, um die Ableitung der Energie in Bezug auf die Gewichte und sichtbaren Zustände zu berechnen. Anschließend werden negative Daten generiert, indem die Ableitung der Energie in Bezug auf den sichtbaren Zustand verfolgt wird. Darüber hinaus müssen keine negativen Daten durch Abtasten von Datenvektoren aus der durch die Energiefunktion definierten Boltzmann-Verteilung generiert werden, was auch die Lerneffizienz von Boltzmann-Maschinen mit einer einzelnen verborgenen Schicht ohne Abtasten aus der Gleichgewichtsverteilung verbessern kann. Nach Hintons Ansicht sind die mathematische Einfachheit von Gleichung 2 und der stochastische Aktualisierungsprozess der Bayes'schen Integration über alle möglichen versteckten Konfigurationen wirklich sehr elegant, sodass nur zwei Lösungen verwendet werden müssen, die nur die neuronale Aktivität verbreiten müssen. Die Idee von Vorwärts- und Rückwärtsausbreitung anstelle von Rückwärtsausbreitung ist immer noch mit der Komplexität der Markov-Kette Monte Carlo verbunden. Eine einfache lokale Gütefunktion ist einfacher zu handhaben als die freie Energie eines binären Zufallsneuronennetzwerks, und FF kombiniert das kontrastive Lernen von Boltzmann-Maschinen mit dieser Funktion. GAN (Generative Adversarial Network) verwendet ein mehrschichtiges neuronales Netzwerk zum Generieren von Daten und ein mehrschichtiges diskriminierendes Netzwerk, um sein generatives Modell so zu trainieren, dass es Ergebnisse liefert Ableitungen in Bezug auf die Ausgabe des generativen Modells und die Wahrscheinlichkeit, dass es sich bei der Ableitung um echte Daten und nicht um generierte Daten handelt. GAN ist schwer zu trainieren, da das diskriminative und das generative Modell gegeneinander kämpfen. GANs können sehr schöne Bilder erzeugen, sie leiden jedoch unter einem Moduskollaps: Es kann große Bereiche des Bildraums geben, die niemals Beispiele erzeugen. Und es verwendet Backpropagation, um sich an jedes Netzwerk anzupassen, sodass es schwer zu erkennen ist, wie man sie im Cortex implementieren kann. FF kann als Sonderfall von GAN angesehen werden, bei dem jede verborgene Schicht des Diskriminanznetzwerks ihre eigene gierige Entscheidung über die positive oder negative Eingabe trifft, sodass keine Backpropagation erforderlich ist, um das Diskriminanzmodell zu lernen und das generative Modell, weil es nicht seine eigene verborgene Darstellung lernt, sondern die vom diskriminativen Modell gelernte Darstellung wiederverwendet. Das Einzige, was ein generatives Modell lernen muss, ist, wie es diese verborgenen Darstellungen in generierte Daten umwandelt, und wenn eine lineare Transformation zur Berechnung des Logarithmus des Softmax verwendet wird, ist keine Backpropagation erforderlich. Ein Vorteil der Verwendung derselben verborgenen Darstellung für beide Modelle besteht darin, dass dadurch die Probleme beseitigt werden, die entstehen, wenn ein Modell im Vergleich zum anderen zu schnell lernt, und dass außerdem ein Moduskollaps vermieden wird. Selbstüberwachte Vergleichsmethoden wie SimCLR lernen durch die Optimierung einer Zielfunktion, die die Beziehung zwischen zwei verschiedenen zugeschnittenen Darstellungen desselben Bildes unterstützen kann. Die Konsistenz und die Inkonsistenz zwischen die Darstellungen des Ausschnitts aus zwei verschiedenen Bildern. Diese Art von Ansatz verwendet typischerweise viele Schichten, um eine maßgeschneiderte Darstellung zu extrahieren, und trainiert diese Schichten durch Backpropagation der Ableitungen der Zielfunktion. Sie funktionieren nicht, wenn sich die beiden Ausschnitte immer auf genau die gleiche Weise überlappen, da sie dann einfach die Intensität der gemeinsam genutzten Pixel angeben und eine perfekte Konsistenz erzielen können. Aber in einem echten neuronalen Netzwerk ist es nicht einfach, die Konsistenz zwischen zwei verschiedenen Darstellungen zu messen, und es gibt keine Möglichkeit, zwei abgeschnittene Darstellungen gleichzeitig mit denselben Gewichten zu extrahieren. Und FF verwendet eine andere Methode zur Messung der Konsistenz, die für echte neuronale Netze einfacher zu sein scheint. Viele verschiedene Informationsquellen liefern Input für denselben Satz von Neuronen. Wenn sich die Quellen darüber einig sind, welche Neuronen aktiviert werden sollen, kommt es zu positiver Interferenz, was zu einer hohen quadratischen Aktivität führt, und wenn sie anderer Meinung sind, wird die quadratische Aktivität niedrig sein. Das Messen der Konsistenz mithilfe positiver Interferenz ist wesentlich flexibler als der Vergleich zweier unterschiedlicher Darstellungsvektoren, da die Eingabe nicht willkürlich in zwei separate Quellen aufgeteilt werden muss. SimCLR Eine große Schwäche dieser Art von Ansatz ist der große Rechenaufwand, der zum Ableiten einer Darstellung der beiden Bildausschnitte erforderlich ist, aber die Zielfunktion bietet nur bescheidene Einschränkungen für die Darstellung, was die Geschwindigkeit begrenzt, mit der Informationen über Die Domäne kann in die Gewichte eingefügt werden. Damit die abgeschnittene Darstellung näher an ihrem korrekten Paar als an einem Ersatz ist, sind nur 20 Informationsbits erforderlich. Das Problem bei FF ist schwerwiegender, da es nur 1 Bit benötigt, um zwischen positiven und negativen Beispielen zu unterscheiden. Die Lösung für diese Armut an Einschränkungen besteht darin, jede Schicht in viele kleine Blöcke aufzuteilen und jeden Block zu zwingen, die Länge seines vornormierten Aktivitätsvektors zu verwenden, um positive und negative Beispiele getrennt zu entscheiden. Die zur Erfüllung der Einschränkungen erforderlichen Informationen skalieren dann linear mit der Anzahl der Blöcke, was viel besser ist als die logarithmische Skalierung, die mit größeren Kontrastsätzen in SimCLR-ähnlichen Methoden erreicht wird. Ein unbeaufsichtigter Ansatz zum Lernen mehrschichtiger Darstellungen besteht darin, zunächst eine verborgene Schicht zu lernen, die eine gewisse Struktur in den Daten erfasst, und dann die Aktivitäten in dieser Schicht zu kombinieren. Die Vektoren werden als behandelt Daten und derselbe unüberwachte Lernalgorithmus wird erneut angewendet. Auf diese Weise werden mehrschichtige Darstellungen mithilfe eingeschränkter Boltzmann-Maschinen (RBMs) oder gestapelter Autoencoder gelernt. Aber es hat einen fatalen Fehler. Angenommen, wir bilden einige zufällige Rauschbilder durch eine Zufallsgewichtsmatrix ab. Der resultierende Aktivitätsvektor weist unabhängig von den Daten eine durch die Gewichtsmatrix erstellte Korrelationsstruktur auf. Wenn unüberwachtes Lernen auf diese Aktivitätsvektoren angewendet wird, entdeckt es eine Struktur in ihnen, die dem System jedoch nichts über die Außenwelt sagt. Der ursprüngliche Boltzmann-Algorithmus für maschinelles Lernen wurde entwickelt, um diesen Fehler zu vermeiden, indem er die Statistiken vergleicht, die durch zwei verschiedene externe Randbedingungen verursacht werden. Dadurch wird jede Struktur aufgehoben, die lediglich aus anderen Teilen des Netzwerks resultiert. Es besteht keine Notwendigkeit, das Routing beim Vergleich positiver und negativer Daten einzuschränken, und es sind auch keine zufälligen räumlichen Beziehungen zwischen Ausschnitten erforderlich, um Netzwerkbetrug zu verhindern. Dadurch ist es einfach, eine große Anzahl miteinander verbundener Neuronengruppen zu erhalten, von denen jede ihr eigenes Ziel hat, nämlich zwischen positiven und negativen Daten zu unterscheiden. Sterbliche Berechnung ist eine von Hintons jüngsten wichtigen Ansichten (Hinweis: Für diesen Begriff gibt es keine anerkannte chinesische Übersetzung und wird vorübergehend als „nicht unsterbliche Berechnung“ übersetzt). Er wies darauf hin, dass aktuelle Allzweck-Digitalcomputer darauf ausgelegt sind, Anweisungen genau zu befolgen, und das wird auch vermutet Allzweckcomputern die Ausführung ermöglichen. Die einzige Möglichkeit, eine bestimmte Aufgabe zu erfüllen, besteht darin, ein Programm zu schreiben, das genau und äußerst detailliert angibt, was zu tun ist. Die Mainstream-Idee besteht immer noch darauf, dass Software von Hardware getrennt werden sollte, damit dasselbe Programm oder derselbe Satz von Gewichten auf verschiedenen physischen Kopien der Hardware ausgeführt werden kann. Dies macht das im Programm oder in den Gewichten enthaltene Wissen „unsterblich“: Wenn die Hardware stirbt, stirbt nicht das Wissen mit. Aber das stimmt nicht mehr, und die Forschungsgemeinschaft muss die langfristigen Auswirkungen von Deep Learning auf die Art und Weise, wie Computer gebaut werden, noch vollständig verstehen. Die Trennung von Software und Hardware ist eine der Grundlagen der Informatik. Sie bringt viele Vorteile mit sich, beispielsweise die Möglichkeit, die Eigenschaften eines Programms zu untersuchen, ohne dies zu tun sich für Elektrotechnik zu interessieren, und es ermöglichte, ein Programm einmal zu schreiben und es auf Millionen von Computern zu replizieren. Aber Hinton weist darauf hin: Wenn wir bereit sind, diese „Unsterblichkeit“ aufzugeben, können wir die Energie, die für die Durchführung von Berechnungen und die Durchführung erforderlich ist, erheblich einsparen Kosten für Hardware zur Durchführung von Berechnungen. Auf diese Weise können verschiedene Hardwareinstanzen, die dieselbe Aufgabe ausführen, große Änderungen in der Konnektivität und Nichtlinearität aufweisen und aus dem Prozess lernen, Parameterwerte zu ermitteln die die unbekannten Eigenschaften jeder spezifischen Instanz der Hardware effektiv ausnutzen. Diese Parameterwerte sind nur für eine bestimmte Hardwareinstanz nützlich, sodass die von ihnen durchgeführten Berechnungen nicht unsterblich sind und mit der Hardware untergehen. Das Kopieren von Parameterwerten auf verschiedene Hardware, die unterschiedlich funktioniert, macht an sich keinen Sinn, aber wir können eine biologischere Methode verwenden, um von einer Hardware zu lernen etwas auf eine andere Hardware übertragen. Was uns bei einer Aufgabe wie der Objektklassifizierung in einem Bild wirklich interessiert, ist die Funktion, die die Pixelintensität mit der Klassenbezeichnung in Beziehung setzt, und nicht die Parameterwerte, die diese Funktion in einer bestimmten Hardware implementieren. Die Funktion selbst kann durch Destillation auf andere Hardware übertragen werden: Das Training der neuen Hardware liefert nicht nur die gleiche Antwort wie die alte Hardware, sondern gibt auch die gleiche Wahrscheinlichkeit aus für falsche Antwort. Diese Wahrscheinlichkeiten geben einen umfassenderen Hinweis darauf, wie das alte Modell verallgemeinert wurde, und nicht nur darauf, welche Bezeichnungen es für am wahrscheinlichsten hielt. Indem wir das neue Modell so trainieren, dass es der Wahrscheinlichkeit falscher Antworten entspricht, trainieren wir es so, dass es auf die gleiche Weise wie das alte Modell verallgemeinert. Beispiele dafür, dass ein solches neuronales Netzwerktraining tatsächlich die Generalisierung optimiert, sind selten. Wenn Sie möchten, dass ein neuronales Netzwerk mit Billionen Parametern nur wenige Watt verbraucht, ist nicht unsterbliches Rechnen möglicherweise die einzige Option. Seine Machbarkeit hängt davon ab, ob wir einen Lernprozess finden können, der effizient auf Hardware läuft, deren genaue Details unbekannt sind. Nach Ansicht von Hinton ist der FF-Algorithmus eine vielversprechende Lösung funktioniert, wenn es auf große neuronale Netze skaliert wird. Am Ende des Papiers weist Hinton auf die folgenden offenen Fragen hin: Kann FF absorbiert das vergleichende Lernen von Boltzmann-Maschinen
FF ist ein Sonderfall von GAN
FF ist einfacher, die Konsistenz zu messen als SimCLR
Probleme beim Stapelkontrast-Lernen
4
Auf zukünftigen nicht unsterblichen Computern
FF ist der beste Lernalgorithmus# 🎜🎜#
Das obige ist der detaillierte Inhalt vonHintons neueste Forschung: Die Zukunft neuronaler Netze liegt im Vorwärts-Vorwärts-Algorithmus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!