Maschinelles Lernen und neuronale Netze - Seite 55

 

Vorlesung 6.4 – Adaptive Lernraten für jede Verbindung



Vorlesung 6.4 – Adaptive Lernraten für jede Verbindung [Neuronale Netze für maschinelles Lernen]

In diesem Video untersuchen wir eine Methode namens adaptive Lernraten, die ursprünglich Ende der 1980er Jahre von Robbie Jacobs entwickelt und anschließend von anderen Forschern verbessert wurde. Das Konzept hinter adaptiven Lernraten besteht darin, jeder Verbindung in einem neuronalen Netzwerk eine eindeutige Lernrate zuzuweisen, basierend auf empirischen Beobachtungen darüber, wie sich die Gewichtung dieser Verbindung während Aktualisierungen verhält. Dieser Ansatz ermöglicht eine Feinabstimmung des Lernprozesses, indem die Lernrate verringert wird, wenn sich der Gewichtsgradient ständig umkehrt, und erhöht wird, wenn der Gradient konstant bleibt.

Es ist von Vorteil, für jede Verbindung separate adaptive Lernraten zu haben, insbesondere in tiefen mehrschichtigen Netzwerken. In solchen Netzwerken können die Lernraten zwischen verschiedenen Gewichten, insbesondere zwischen Gewichten in verschiedenen Schichten, erheblich variieren. Darüber hinaus erfordert die Auffächerung einer Einheit, die die Größe von Überschwingungseffekten beim Anpassen mehrerer eingehender Gewichte zur Korrektur eines Fehlers bestimmt, auch unterschiedliche Lernraten. Größere Fan-Ins können zu stärkeren Überschwingungseffekten führen, so dass eine entsprechende Anpassung der Lernraten erforderlich ist.

Um adaptive Lernraten zu implementieren, wird eine globale Lernrate manuell festgelegt und mit einem für jedes Gewicht spezifischen lokalen Gewinn multipliziert. Zunächst wird die lokale Verstärkung für jedes Gewicht auf 1 gesetzt. Die Gewichtsaktualisierung wird dann durch Multiplikation der Lernrate mit der lokalen Verstärkung und der Fehlerableitung für dieses Gewicht bestimmt. Die lokale Verstärkung wird angepasst, indem sie erhöht wird, wenn der Gradient für das Gewicht das Vorzeichen nicht ändert, und verringert wird, wenn die Gradienten entgegengesetzte Vorzeichen haben. Es werden additive Erhöhungen und multiplikative Verringerungen eingesetzt, mit dem Ziel, große Zuwächse schnell zu dämpfen, wenn Schwankungen auftreten.

Es ist interessant, das Verhalten adaptiver Lernraten zu betrachten, wenn die Gradienten zufällig sind. In solchen Fällen kommt es zu einer gleichen Anzahl an Erhöhungen und Verringerungen der Verstärkungen, was dazu führt, dass die Verstärkung etwa bei 1 liegt. Wenn die Steigungen durchgehend die gleiche Richtung haben, kann die Verstärkung viel größer als 1 werden, während dies bei durchweg entgegengesetzten Steigungen der Fall sein kann Machen Sie die Verstärkung viel kleiner als 1, was auf eine Schwingung über einer Schlucht hindeutet.

Um die Wirksamkeit adaptiver Lernraten zu verbessern, ist es wichtig, die Größe der Zuwächse auf einen angemessenen Bereich zu begrenzen, z. B. 0,1 bis 10 oder 0,01 bis 100. Übermäßige Zuwächse können zu Instabilität führen und die Konvergenz der Gewichte verhindern. Während adaptive Lernraten ursprünglich für vollständiges Batch-Lernen konzipiert waren, können sie auch mit Mini-Batches angewendet werden. Allerdings werden größere Minichargen bevorzugt, um den Einfluss von Stichprobenfehlern zu minimieren und sicherzustellen, dass Vorzeichenänderungen in den Steigungen das Durchqueren einer Schlucht widerspiegeln.

Es ist möglich, adaptive Lernraten mit Momentum zu kombinieren, wie von Jacobs vorgeschlagen. Anstatt den aktuellen Gradienten mit dem vorherigen Gradienten zu vergleichen, wird die Vorzeichenübereinstimmung zwischen dem aktuellen Gradienten und der Geschwindigkeit (akkumulierter Gradient) für dieses Gewicht bestimmt. Diese Kombination nutzt die Vorteile von Momentum- und adaptiven Lernraten. Während adaptive Lernraten achsenausgerichtete Effekte verarbeiten, kann Momentum mit diagonalen Ellipsen umgehen und schnell in diagonale Richtungen navigieren, was adaptive Lernraten allein nicht erreichen können.

Es gibt einige zusätzliche Überlegungen und Techniken, um die Leistung adaptiver Lernraten zu verbessern. Es ist von entscheidender Bedeutung, ein Gleichgewicht zu finden und zu verhindern, dass die Gewinne übermäßig groß werden. Wenn die Zuwächse zu groß werden, können sie zu Instabilität führen und nicht schnell genug abnehmen, was möglicherweise zu Schäden an den Gewichten führen kann.

Darüber hinaus ist anzumerken, dass adaptive Lernraten in erster Linie für das vollständige Batch-Lernen konzipiert wurden, bei dem alle Trainingsbeispiele in einer einzigen Iteration verarbeitet werden. Sie können jedoch auch auf Mini-Batch-Lernen angewendet werden, bei dem Teilmengen von Trainingsbeispielen gleichzeitig verarbeitet werden. Bei der Verwendung von Mini-Chargen ist darauf zu achten, dass die Mini-Chargengröße relativ groß ist, um den Einfluss von Stichprobenfehlern abzumildern. Dadurch wird sichergestellt, dass Vorzeichenänderungen in den Gradienten auf das Durchqueren einer Schlucht hinweisen und nicht ausschließlich auf die Probenahmevariabilität der Mini-Charge zurückzuführen sind.

Es ist auch möglich, adaptive Lernraten mit Momentum zu kombinieren, was den Optimierungsprozess weiter verbessern kann. Anstatt den aktuellen Gradienten mit dem vorherigen Gradienten zu vergleichen, kann die Vorzeichenübereinstimmung zwischen dem aktuellen Gradienten und der Geschwindigkeit (dh dem akkumulierten Gradienten) für dieses Gewicht beurteilt werden. Durch die Einbeziehung von Momentum kann eine Synergie zwischen den Vorteilen von Momentum und adaptiven Lernraten erzielt werden. Adaptive Lernraten konzentrieren sich auf den Umgang mit achsenausgerichteten Effekten, während Momentum in der Lage ist, effektiv mit diagonalen Ellipsen umzugehen und schnell in diagonale Richtungen zu navigieren, was allein für adaptive Lernraten eine Herausforderung darstellen kann.

Adaptive Lernraten bieten eine Möglichkeit, den Lernprozess in neuronalen Netzen zu optimieren, indem jeder Verbindung auf der Grundlage empirischer Beobachtungen individuelle Lernraten zugewiesen werden. Sie befassen sich mit den Herausforderungen unterschiedlicher Lernraten über unterschiedliche Gewichtungen in tiefen mehrschichtigen Netzwerken und berücksichtigen die Auffächerung von Einheiten. Techniken wie die Begrenzung der Gewinngröße, die geeignete Mini-Batch-Auswahl und die Kombination adaptiver Lernraten mit Impuls können den Trainingsprozess weiter optimieren, was zu einer verbesserten Leistung und Konvergenz führt.

Lecture 6.4 — Adaptive learning rates for each connection [Neural Networks for Machine Learning]
Lecture 6.4 — Adaptive learning rates for each connection [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Vorlesung 6.5 – Rmsprop: Normalisieren Sie den Gradienten



Vorlesung 6.5 – Rmsprop: Normalisieren Sie den Gradienten [Neuronale Netze für maschinelles Lernen]

Das Video stellt eine Methode namens Rprop (Resilient Backpropagation) vor, die ursprünglich für das vollständige Batch-Lernen entwickelt wurde. Es weist Ähnlichkeiten mit dem beliebten Backpropagation-Algorithmus auf, weist jedoch einige Unterschiede auf. Anschließend erläutert der Redner, wie Rprop für die Arbeit mit Mini-Batches erweitert werden kann, was für große redundante Datensätze unerlässlich ist. Die resultierende Methode namens iRprop (Improved Rprop) kombiniert die Vorteile von Rprop mit der Effizienz des Mini-Batch-Lernens.

Die Hauptmotivation von Rprop besteht darin, die Herausforderung unterschiedlicher Gradientengrößen anzugehen. Die Gradienten in neuronalen Netzen können von winzig bis riesig reichen, was es schwierig macht, eine einzige globale Lernrate auszuwählen. Rprop geht dieses Problem an, indem es nur das Vorzeichen des Gradienten berücksichtigt und so sicherstellt, dass alle Gewichtsaktualisierungen die gleiche Größe haben. Diese Technik ist besonders nützlich, um Plateaus mit kleinen Steigungen zu umgehen, da selbst bei kleinen Steigungen die Gewichtsaktualisierungen erheblich sein können.

Rprop kombiniert das Vorzeichen des Gradienten mit adaptiven Schrittgrößen basierend auf dem zu aktualisierenden Gewicht. Anstatt die Größe des Gradienten zu berücksichtigen, konzentriert es sich auf die Schrittgröße, die zuvor für dieses Gewicht bestimmt wurde. Die Schrittgröße passt sich im Laufe der Zeit an und nimmt multiplikativ zu, wenn die Vorzeichen der letzten beiden Gradienten übereinstimmen, und verringert sich multiplikativ, wenn sie nicht übereinstimmen. Durch die Begrenzung der Schrittgrößen wird verhindert, dass diese zu groß oder zu klein werden.

Während Rprop für das vollständige Batch-Lernen gut funktioniert, stößt es bei der Anwendung auf Mini-Batches auf Herausforderungen. Es verstößt gegen die zentrale Idee des stochastischen Gradientenabstiegs, der bei Verwendung einer kleinen Lernrate auf der Mittelung von Gradienten über aufeinanderfolgende Mini-Batches beruht. Der Sprecher erklärt, dass Rprop das Gewicht mit seiner aktuellen Schrittgröße um ein Vielfaches erhöht und nur einmal verringert, was zu einer unerwünschten Erhöhung der Gewichtsgröße führt.

Um diese Einschränkung zu überwinden, stellt der Redner RMSprop (Root Mean Square Propagation) als Mini-Batch-Version von Rprop vor. RMSprop stellt sicher, dass die zum Teilen des Gradienten verwendete Zahl über benachbarte Mini-Batches hinweg konsistent bleibt. Dies wird dadurch erreicht, dass für jedes Gewicht ein gleitender Durchschnitt der quadrierten Gradienten beibehalten wird. Die quadrierten Gradienten werden mit einem Abklingfaktor (z. B. 0,9) gewichtet und mit dem vorherigen Mittelquadrat kombiniert, um das aktualisierte Mittelquadrat zu berechnen. Die Quadratwurzel des mittleren Quadrats wird dann zur Normalisierung des Gradienten verwendet, was ein effektiveres Lernen ermöglicht.

Der Redner erwähnt, dass RMSprop weiterentwickelt werden kann, beispielsweise durch die Kombination mit Momentum oder adaptiven Lernraten für jede Verbindung. Darüber hinaus verweisen sie auf verwandte Methoden wie Nesterov-Impuls und eine von Yann LeCuns Gruppe vorgeschlagene Methode, die Ähnlichkeiten mit RMSprop aufweist.

Zusammenfassend empfiehlt der Referent unterschiedliche Lernmethoden basierend auf den Eigenschaften des Datensatzes. Für kleine Datensätze oder große Datensätze ohne große Redundanz sind vollständige Batch-Methoden wie nichtlinearer konjugierter Gradient, LBFGS oder L-BFGS-B geeignet. Adaptive Lernraten oder Rprop können auch für neuronale Netze verwendet werden. Bei großen redundanten Datensätzen sind Mini-Batch-Methoden unerlässlich. Die erste Option, die Sie ausprobieren sollten, ist der Standard-Gradientenabstieg mit Schwung. RMSprop ist eine weitere effektive Methode, die in Betracht gezogen werden sollte, da sie die Vorteile von Rprop und Mini-Batch-Lernen kombiniert. Der Redner schlägt vor, weitere Verbesserungen zu prüfen, aber aufgrund der Vielfalt der Netzwerke und Aufgaben gibt es derzeit kein einfaches Rezept für das Training neuronaler Netze.

Lecture 6.5 — Rmsprop: normalize the gradient [Neural Networks for Machine Learning]
Lecture 6.5 — Rmsprop: normalize the gradient [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Vorlesung 7.1 – Modellierungssequenzen: ein kurzer Überblick



Vorlesung 7.1 – Modellierungssequenzen: ein kurzer Überblick [Neuronale Netze für maschinelles Lernen]

In diesem Video gibt der Referent einen Überblick über verschiedene Arten von Modellen, die für Sequenzen verwendet werden. Sie beginnen mit der Diskussion autoregressiver Modelle, die den nächsten Term in einer Sequenz auf der Grundlage vorheriger Terme vorhersagen. Anschließend erwähnen sie komplexere Variationen autoregressiver Modelle, die versteckte Einheiten enthalten. Anschließend stellt der Referent Modelle mit verborgenem Zustand und verborgener Dynamik vor, beispielsweise lineare dynamische Systeme und verborgene Markov-Modelle. Obwohl diese Modelle komplex sind, besteht ihr Zweck darin, die Beziehung zwischen rekurrenten neuronalen Netzen und diesen Modelltypen im Kontext der Sequenzmodellierung aufzuzeigen.

Bei der Modellierung von Sequenzen mittels maschinellem Lernen besteht das Ziel oft darin, eine Sequenz in eine andere umzuwandeln. Zum Beispiel die Umwandlung englischer Wörter in französische Wörter oder die Umwandlung von Schalldrücken in Wortidentitäten für die Spracherkennung. In einigen Fällen gibt es möglicherweise keine separate Zielsequenz, sodass der nächste Term in der Eingabesequenz als Lehrsignal dienen kann. Dieser Ansatz ist für zeitliche Abfolgen natürlicher, da es eine natürliche Reihenfolge für Vorhersagen gibt. Es kann jedoch auch auf Bilder angewendet werden, wodurch die Unterscheidung zwischen überwachtem und unüberwachtem Lernen verwischt wird.

Anschließend gibt der Referent einen Überblick über andere Sequenzmodelle, bevor er sich mit rekurrenten neuronalen Netzen (RNNs) befasst. Sie erklären, dass autoregressive Modelle ohne Speicher durch das Hinzufügen versteckter Einheiten in einem vorwärtsgerichteten neuronalen Netzwerk erweitert werden können. Sie betonen jedoch, dass gedächtnislose Modelle nur eine Unterklasse von Modellen für Sequenzen sind. Ein anderer Ansatz besteht darin, Modelle mit verborgenen Zuständen und interner Dynamik zu verwenden, die Informationen über einen längeren Zeitraum speichern können. Diese Modelle, wie etwa lineare dynamische Systeme und Hidden-Markov-Modelle, beinhalten probabilistische Inferenz- und Lernalgorithmen.

Lineare dynamische Systeme werden in der Technik häufig verwendet und verfügen über reellwertige verborgene Zustände mit linearer Dynamik und Gaußschem Rauschen. Hidden-Markov-Modelle hingegen verwenden diskrete Verteilungen und probabilistische Zustandsübergänge. Sie werden häufig in der Spracherkennung eingesetzt und verfügen über effiziente Lernalgorithmen, die auf dynamischer Programmierung basieren.

Der Referent erklärt die Grenzen von Hidden-Markov-Modellen, wenn es darum geht, große Informationsmengen zwischen der ersten und zweiten Hälfte einer Äußerung zu übermitteln. Diese Einschränkung ist auf die begrenzte Speicherkapazität des verborgenen Zustands zurückzuführen. Dies führt zur Einführung wiederkehrender neuronaler Netze, die über verteilte verborgene Zustände und nichtlineare Dynamik verfügen, wodurch sie sich effizienter an Informationen erinnern können.

Rekurrente neuronale Netze können verschiedene Verhaltensweisen zeigen, darunter Oszillation, Einschwingen auf Punktattraktoren (nützlich zum Abrufen von Erinnerungen) und chaotisches Verhalten (nützlich unter bestimmten Umständen). Die Idee, dass ein RNN lernen kann, mehrere Programme mithilfe unterschiedlicher Teilmengen seines verborgenen Zustands zu implementieren, wurde ursprünglich als sehr leistungsfähig angesehen. Das Trainieren von RNNs ist jedoch rechenintensiv und die Ausschöpfung ihres vollen Potenzials war eine schwierige Aufgabe.

Das Video bietet einen Überblick über verschiedene Sequenzmodelle, stellt das Konzept wiederkehrender neuronaler Netze vor und beleuchtet deren Rechenleistung und Herausforderungen beim Training.

Lecture 7.1 — Modeling sequences: a brief overview [Neural Networks for Machine Learning]
Lecture 7.1 — Modeling sequences: a brief overview [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Vorlesung 7.2 – Training von RNNs mit Backpropagation



Vorlesung 7.2 – Training von RNNs mit Backpropagation [Neuronale Netze für maschinelles Lernen]

In diesem Video werde ich den Backpropagation-Through-Time-Algorithmus diskutieren, der eine gängige Methode zum Training wiederkehrender neuronaler Netze ist. Der Algorithmus ist unkompliziert, wenn Sie die Beziehung zwischen einem rekurrenten neuronalen Netzwerk und einem Feed-Forward-neuronalen Netzwerk mit mehreren Schichten verstehen, die unterschiedliche Zeitschritte darstellen. Ich werde auch verschiedene Ansätze zur Bereitstellung von Eingaben und gewünschten Ausgaben für rekurrente neuronale Netze behandeln.

Das Diagramm zeigt ein einfaches rekurrentes Netzwerk mit drei miteinander verbundenen Neuronen. Jede Verbindung hat eine Zeitverzögerung von eins und das Netzwerk arbeitet in diskreter Zeit mit ganzzahligen Ticks. Um ein wiederkehrendes Netzwerk zu trainieren, müssen wir erkennen, dass es sich im Wesentlichen um eine zeitlich erweiterte Version eines Feed-Forward-Netzwerks handelt. Das wiederkehrende Netzwerk beginnt zum Zeitpunkt Null in einem Anfangszustand und generiert zum Zeitpunkt Eins mithilfe seiner Verbindungsgewichte einen neuen Zustand. Es wiederholt diesen Vorgang und verwendet dieselben Gewichte, um nachfolgende neue Zustände zu erzeugen.

Backpropagation ist beim Lernen effektiv, wenn Gewichtsbeschränkungen vorliegen. Dies wurde auch in Faltungsnetzwerken beobachtet. Um Gewichtsbeschränkungen einzubeziehen, berechnen wir wie üblich Farbverläufe, ignorieren die Beschränkungen und ändern dann die Farbverläufe, um die Beschränkungen beizubehalten. Wenn wir beispielsweise möchten, dass w1 gleich w2 ist, stellen wir sicher, dass die Änderung von w1 gleich der Änderung von w2 ist, indem wir die Ableitungen in Bezug auf w1 und w2 bilden, sie addieren oder mitteln und die gleiche Menge zur Aktualisierung anwenden beide Gewichte. Solange die Gewichte die Einschränkungen zunächst erfüllen, werden sie dies auch weiterhin tun.

Der Backpropagation-Through-Time-Algorithmus ist einfach ein Begriff, der den Prozess beschreibt, bei dem ein wiederkehrendes Netzwerk als Feed-Forward-Netzwerk mit gemeinsamen Gewichtungen behandelt und mithilfe von Backpropagation trainiert wird. Im Zeitbereich akkumuliert der Vorwärtsdurchlauf Aktivitäten in jedem Zeitabschnitt, während der Rückwärtsdurchlauf Aktivitäten aus dem Stapel extrahiert und Fehlerableitungen für jeden Zeitschritt berechnet. Dieser Rückwärtsdurchlauf bei jedem Zeitschritt gibt dem Algorithmus seinen Namen – Backpropagation through Time.

Nach dem Rückwärtsdurchlauf summieren oder mitteln wir die Ableitungen aller Zeitschritte für jedes Gewicht. Anschließend aktualisieren wir alle Instanzen dieser Gewichtung um denselben Betrag, proportional zur Summe oder zum Durchschnitt der Ableitungen. Eine zusätzliche Überlegung ergibt sich, wenn wir nicht den Anfangszustand aller Einheiten angeben, z. B. versteckte Einheiten oder Ausgabeeinheiten. In diesem Fall müssen wir sie in einem bestimmten Zustand starten. Ein Ansatz besteht darin, Standardwerte wie 0,5 festzulegen, was jedoch möglicherweise nicht zu optimalen Ergebnissen führt. Alternativ können wir die Anfangszustände lernen, indem wir sie als Parameter behandeln und sie basierend auf dem Gradienten der Fehlerfunktion in Bezug auf den Anfangszustand anpassen.

Es gibt verschiedene Methoden, um Eingaben für ein rekurrentes neuronales Netzwerk bereitzustellen. Wir können den Anfangszustand aller Einheiten, eine Teilmenge der Einheiten oder die Zustände in jedem Zeitschritt für eine Teilmenge der Einheiten angeben. Letzteres wird häufig beim Umgang mit sequentiellen Daten verwendet. Ebenso gibt es verschiedene Möglichkeiten, die Ziele für ein wiederkehrendes Netzwerk anzugeben. Wir können die gewünschten Endzustände für alle Einheiten oder für mehrere Zeitschritte angeben, wenn wir sie trainieren möchten, sich an einem bestimmten Attraktor niederzulassen. Durch die Einbeziehung von Ableitungen aus jedem Zeitschritt während der Backpropagation können wir diese Spezifikationen leicht integrieren und das Lernen von Attraktoren fördern.

Der Backpropagation-Through-Time-Algorithmus ist eine einfache Erweiterung der Backpropagation zum Training wiederkehrender neuronaler Netze. Indem wir das wiederkehrende Netzwerk als erweitertes Feed-Forward-Netzwerk mit gemeinsamen Gewichtungen behandeln, können wir Backpropagation anwenden und die Anfangszustände und Gewichte anpassen, um das Training zu optimieren. Es gibt verschiedene Methoden, um wiederkehrenden Netzwerken Eingaben und gewünschte Ausgaben bereitzustellen, was eine flexible Handhabung sequenzieller Daten und Schulungen für bestimmte Ziele ermöglicht.

Lecture 7.2 — Training RNNs with back propagation [Neural Networks for Machine Learning]
Lecture 7.2 — Training RNNs with back propagation [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Vorlesung 7.3 – Ein Spielzeugbeispiel für das Training eines RNN



Vorlesung 7.3 – Ein Spielzeugbeispiel für das Training eines RNN [Neuronale Netze für maschinelles Lernen]

In diesem Video erkläre ich, wie ein rekurrentes neuronales Netzwerk (RNN) ein Spielzeugproblem löst. Ein Spielzeugproblem wird ausgewählt, um die Fähigkeiten von RNNs zu demonstrieren, die mit Feed-Forward-Neuronalen Netzen nicht einfach erreichbar sind. Das hier gezeigte Problem ist die binäre Addition. Nachdem das RNN gelernt hat, das Problem zu lösen, können wir seine verborgenen Zustände untersuchen und sie mit den verborgenen Zuständen eines endlichen Automaten vergleichen, der dasselbe Problem löst.

Um das Problem der Addition zweier Binärzahlen zu veranschaulichen, könnten wir ein Feed-Forward-Neuronales Netzwerk trainieren. Allerdings gibt es bei diesem Ansatz Einschränkungen. Wir müssen die maximale Anzahl von Ziffern sowohl für die Eingabezahl als auch für die Ausgabezahl im Voraus bestimmen. Darüber hinaus lässt sich die auf verschiedene Bits der Eingabezahlen angewendete Verarbeitung nicht verallgemeinern. Daher liegt das Wissen über das Addieren der letzten beiden Ziffern und den Umgang mit Überträgen in bestimmten Gewichten. Beim Umgang mit verschiedenen Teilen einer langen Binärzahl muss das Wissen in unterschiedlichen Gewichten kodiert werden, was zu einem Mangel an automatischer Verallgemeinerung führt.

Der Algorithmus für die binäre Addition ist im Bild dargestellt. Die Zustände im Algorithmus ähneln denen in einem Hidden-Markov-Modell, außer dass sie nicht wirklich verborgen sind. Das System arbeitet jeweils in einem Zustand und führt beim Eintritt in einen Zustand eine Aktion aus (entweder Drucken von 1 oder 0). Wenn es sich in einem Zustand befindet, empfängt es eine Eingabe, die aus zwei Zahlen aus der nächsten Spalte besteht, was einen Übergang in einen neuen Zustand auslöst. Wenn es sich beispielsweise im Übertragszustand befindet und gerade eine 1 ausgegeben hat, bleibt es beim Auftreffen auf eine 1 1 im gleichen Zustand und gibt eine weitere 1 aus. Wenn es jedoch auf eine 1 0 oder 0 1 trifft, geht es in den Übertrag über Zustand, gibt aber eine 0 aus. In ähnlicher Weise führt eine 0 0 dazu, dass er in den No-Carry-Zustand wechselt, wo er eine 1 ausgibt. Dieser Vorgang wird für jeden Zeitschritt fortgesetzt.

Ein rekurrentes neuronales Netzwerk für die binäre Addition erfordert zwei Eingabeeinheiten und eine Ausgabeeinheit. Es empfängt bei jedem Zeitschritt zwei Eingabeziffern und erzeugt eine Ausgabe, die der Spalte entspricht, auf die es vor zwei Zeitschritten gestoßen ist. Um die Zeitverzögerung zu berücksichtigen, benötigt das Netzwerk eine Verzögerung von zwei Zeitschritten, wobei der erste Schritt die verborgenen Einheiten basierend auf den Eingaben aktualisiert und der zweite Schritt die Ausgabe aus dem verborgenen Zustand generiert. Die Netzwerkarchitektur besteht aus drei miteinander verbundenen versteckten Einheiten, obwohl für schnelleres Lernen auch mehr versteckte Einheiten verwendet werden könnten. Diese versteckten Einheiten verfügen über bidirektionale Verbindungen mit unterschiedlichen Gewichten. Durch die Verbindungen zwischen verborgenen Einheiten kann das Aktivitätsmuster in einem Zeitschritt das verborgene Aktivitätsmuster im nächsten Zeitschritt beeinflussen. Die Eingabeeinheiten verfügen über Feed-Forward-Verbindungen zu den verborgenen Einheiten, sodass das Netzwerk die beiden Ziffern in einer Spalte beobachten kann. Ebenso verfügen die versteckten Einheiten über Feed-Forward-Verbindungen zur Ausgabeeinheit, die die Produktion einer Ausgabe ermöglichen.

Es ist faszinierend zu analysieren, was das rekurrente neuronale Netzwerk lernt. Es lernt vier verschiedene Aktivitätsmuster in seinen drei verborgenen Einheiten, die den Knoten im endlichen Automaten für die binäre Addition entsprechen. Es ist wichtig, die Einheiten in einem neuronalen Netzwerk nicht mit den Knoten in einem endlichen Automaten zu verwechseln. Die Knoten im Automaten richten sich nach den Aktivitätsvektoren des rekurrenten neuronalen Netzwerks. Der Automat ist zu jedem Zeitpunkt auf einen Zustand beschränkt, genau wie die verborgenen Einheiten im RNN, die zu jedem Zeitschritt genau einen Aktivitätsvektor haben. Während ein RNN einen endlichen Automaten emulieren kann, ist seine Darstellung exponentiell leistungsfähiger. Mit N versteckten Neuronen kann es zwei hoch N mögliche binäre Aktivitätsvektoren geben. Obwohl es nur N-Quadrat-Gewichte hat, schöpft es möglicherweise nicht die gesamte Darstellungskraft vollständig aus. Wenn der Engpass in der Darstellung liegt, kann ein RNN einen endlichen Automaten übertreffen.

Dies ist besonders wichtig, wenn der Eingabestrom zwei separate Prozesse enthält, die gleichzeitig ablaufen. Ein endlicher Automat muss die Anzahl seiner Zustände exponentiell erhöhen, um die parallelen Prozesse bewältigen zu können. Im Gegensatz dazu muss ein rekurrentes neuronales Netzwerk nur die Anzahl der verborgenen Einheiten verdoppeln, wodurch sich die Anzahl der Einheiten verdoppelt und die Anzahl der binären Vektorzustände, die es darstellen kann, vervierfacht.

Lecture 7.3 — A toy example of training an RNN [Neural Networks for Machine Learning]
Lecture 7.3 — A toy example of training an RNN [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Vorlesung 7.4 – Warum ist es schwierig, ein RNN zu trainieren?



Vorlesung 7.4 – Warum ist es schwierig, ein RNN zu trainieren? [Neuronale Netze für maschinelles Lernen]

In diesem Video werde ich das Problem explodierender und verschwindender Gradienten diskutieren, das das Training rekurrenter neuronaler Netze (RNNs) schwierig macht. Viele Jahre lang glaubten Forscher, dass die Modellierung langfristiger Abhängigkeiten mit RNNs nahezu unmöglich sei. Mittlerweile gibt es jedoch vier wirksame Ansätze, um dieses Problem anzugehen.

Um zu verstehen, warum das Training von RNNs eine Herausforderung ist, müssen wir einen entscheidenden Unterschied zwischen den Vorwärts- und Rückwärtsdurchläufen in einem RNN erkennen. Im Vorwärtsdurchlauf werden Squashing-Funktionen wie die Logistikfunktion verwendet, um zu verhindern, dass die Aktivitätsvektoren explodieren. Jedes Neuron im RNN verwendet eine Logistikeinheit, die die Ausgabe auf einen Wert zwischen 0 und 1 beschränkt. Dadurch wird verhindert, dass die Aktivitätsniveaus unkontrolliert ansteigen.

Im Gegensatz dazu ist der Rückwärtspass völlig linear. Wenn wir die Fehlerableitungen auf der letzten Ebene verdoppeln, verdoppeln sich überraschenderweise auch alle Fehlerableitungen während der Backpropagation. Die Steigungen werden durch die Steigungen der Logistikkurven an bestimmten Punkten bestimmt (im Video durch rote Punkte markiert). Sobald der Vorwärtsdurchlauf abgeschlossen ist, werden die Steigungen dieser Tangenten festgelegt. Bei der Backpropagation breiten sich die Gradienten durch ein lineares System aus, in dem die Steigung der Nichtlinearität festgelegt wurde. Bei linearen Systemen besteht jedoch häufig das Problem, dass Gradienten während der Iteration explodieren oder absterben. Bei kleinen Gewichten schrumpfen die Gradienten exponentiell und werden vernachlässigbar. Wenn umgekehrt die Gewichte groß sind, explodieren die Gradienten und überfordern den Lernprozess. Diese Probleme sind bei RNNs schwerwiegender als bei Feed-Forward-Neuronalen Netzen, insbesondere wenn es um lange Sequenzen geht.

Selbst bei sorgfältiger Gewichtungsinitialisierung bleibt es schwierig, Abhängigkeiten zwischen der aktuellen Ausgabe und Ereignissen zu erfassen, die viele Zeitschritte zurückliegen. RNNs haben Schwierigkeiten mit der Handhabung langfristiger Abhängigkeiten. Das Video liefert ein Beispiel dafür, wie Gradienten entweder verschwinden oder explodieren können, wenn ein rekurrentes neuronales Netzwerk trainiert wird, um Attraktorzustände zu lernen. Kleine Unterschiede in den Anfangszuständen führen dazu, dass sich der Endzustand nicht ändert (verschwindende Gradienten), während geringfügige Variationen in der Nähe der Grenzen zu erheblichen Divergenzen führen (explodierende Gradienten).

Um diesen Herausforderungen zu begegnen, gibt es vier effektive Methoden zum Training von RNNs. Die erste Methode ist Long Short-Term Memory (LSTM), das die Architektur des Netzwerks ändert, um die Speicherkapazitäten zu verbessern. Der zweite Ansatz beinhaltet die Verwendung fortschrittlicher Optimierer, die kleine Gradienten effektiv bewältigen können. Die auf neuronale Netze zugeschnittene Hesse-freie Optimierung zeichnet sich durch die Erkennung kleiner Gradienten mit geringer Krümmung aus. Die dritte Methode beinhaltet die sorgfältige Initialisierung von Gewichten und die Schaffung eines Reservoirs schwach gekoppelter Oszillatoren im verborgenen Zustand. Dies ermöglicht es dem Netzwerk, Eingabesequenzen nachzuhallen und sich daran zu erinnern. Anschließend werden die Verbindungen zwischen versteckten Einheiten und Ausgängen trainiert, während die wiederkehrenden Verbindungen fest bleiben. Die vierte Methode nutzt den Impuls und kombiniert ihn mit der Initialisierungstechnik, die in Echo-State-Netzwerken verwendet wird. Diese Modifikation verbessert die Dynamik des Netzwerks und macht es noch effektiver.

Die Fähigkeit, RNNs zu trainieren, hat sich mit diesen Ansätzen verbessert und die Herausforderungen gemeistert, die durch explodierende und verschwindende Gradienten entstehen.

Lecture 7.4 — Why it is difficult to train an RNN? [Neural Networks for Machine Learning]
Lecture 7.4 — Why it is difficult to train an RNN? [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Vorlesung 7.5 – Langfristiges Kurzzeitgedächtnis



Vorlesung 7.5 – Langfristiges Kurzzeitgedächtnis [Neuronale Netze für maschinelles Lernen]

In diesem Video erkläre ich den als „Long Short-Term Memory“ (LSTM) bekannten Ansatz zum Training wiederkehrender neuronaler Netze. LSTM zielt darauf ab, ein langlebiges Kurzzeitgedächtnis in einem neuronalen Netzwerk zu schaffen, indem es spezielle Module einsetzt, die das Gating von Informationen erleichtern.

Die Speicherzelle in LSTM ist darauf ausgelegt, Informationen über einen längeren Zeitraum zu speichern. Es besteht aus logistischen und linearen Einheiten mit multiplikativen Interaktionen. Wenn ein logistisches „Schreib“-Gate aktiviert wird, gelangen Informationen vom Rest des rekurrenten Netzwerks in die Speicherzelle. Der Zustand des „Schreib“-Gatters wird durch das rekurrente Netzwerk bestimmt. Die Informationen bleiben in der Speicherzelle, solange das „Keep“-Gate eingeschaltet ist, das vom Rest des Systems gesteuert wird. Um die Informationen aus der Speicherzelle zu lesen, wird ein logistisches „Lese“-Gate aktiviert, und der gespeicherte Wert wird abgerufen und beeinflusst die zukünftigen Zustände des rekurrenten neuronalen Netzwerks.

LSTM nutzt logistische Einheiten, weil sie differenzierbare Eigenschaften haben, die eine Rückausbreitung durch sie ermöglichen. Dadurch kann das Netzwerk die Speicherzelle über mehrere Zeitschritte hinweg lernen und optimieren. Die Rückausbreitung durch die Speicherzelle beinhaltet die Aktualisierung der Gewichte auf der Grundlage der Fehlerableitungen, die über Hunderte von Zeitschritten zurückgestreut werden können.

Besonders erfolgreich war LSTM bei Aufgaben wie der Handschrifterkennung. Es kann Informationen auch bei kursiver Handschrift effektiv speichern und abrufen. Im Vergleich zu anderen Systemen hat es bei Lese- und Schreibaufgaben eine überlegene Leistung gezeigt, und Canada Post hat damit begonnen, LSTM-basierte Systeme für solche Zwecke zu verwenden.

Im Video wird eine Demonstration eines auf LSTM basierenden Handschrifterkennungssystems gezeigt. Das System übernimmt die Stiftkoordinaten als Eingabe und erzeugt erkannte Zeichen als Ausgabe. In der oberen Reihe werden die erkannten Zeichen angezeigt, in der zweiten Reihe werden die Zustände ausgewählter Speicherzellen angezeigt, in der dritten Reihe wird das tatsächliche Schreiben mit Stiftkoordinaten visualisiert und in der vierten Reihe wird der zu den XY-Positionen zurückgekehrte Farbverlauf dargestellt, der die Auswirkungen vergangener Ereignisse auf anzeigt Entscheidungen zur Zeichenerkennung.

LSTM hat sich als leistungsstarker Ansatz zum Training wiederkehrender neuronaler Netze erwiesen und ermöglicht die Erfassung und Nutzung langfristiger Abhängigkeiten in sequentiellen Daten.

Lecture 7.5 — Long term Short term memory [Neural Networks for Machine Learning]
Lecture 7.5 — Long term Short term memory [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Vorlesung 8.1 – Ein kurzer Überblick über die hessische Optimierung



Vorlesung 8.1 – Ein kurzer Überblick über die hessische Optimierung [Neuronale Netze für maschinelles Lernen]

Der Hesse-freie Optimierer ist ein komplexer Algorithmus, der zum effektiven Training wiederkehrender neuronaler Netze verwendet wird. Ich werde zwar nicht auf alle Details eingehen, aber ich werde ein allgemeines Verständnis dafür vermitteln, wie es funktioniert.

Beim Training neuronaler Netze besteht das Ziel darin, den Fehler zu minimieren. Der Optimierer bestimmt die Bewegungsrichtung und -distanz, um die größtmögliche Fehlerreduzierung zu erreichen. Die Reduzierung hängt vom Verhältnis von Steigung zu Krümmung ab, wobei eine quadratische, nach oben konkave Fehlerfläche vorausgesetzt wird. Newtons Methode befasst sich mit der Einschränkung des steilsten Abstiegs, indem sie elliptische Fehlerflächen in kreisförmige umwandelt. Dies geschieht durch Multiplikation des Gradienten mit der Umkehrung der Krümmungsmatrix, auch bekannt als Hessische Matrix. Allerdings ist eine Invertierung der Hesse-Matrix aufgrund ihrer Größe für große neuronale Netze nicht möglich. Um dies zu überwinden, verwenden Näherungsmethoden wie Hessian-Free und L-BFGS Matrizen niedrigeren Ranges, um die Krümmung anzunähern. Hessisch-frei nähert sich der Krümmungsmatrix an und verwendet einen konjugierten Gradienten, eine Methode, die den Fehler in jeweils einer Richtung minimiert. Dadurch wird vermieden, dass die vorherige Minimierung unterbrochen wird, indem konjugierte Richtungen gewählt werden, die die Gradienten der vorherigen Richtungen nicht verändern.

Der konjugierte Gradient findet effizient das globale Minimum einer n-dimensionalen quadratischen Oberfläche in n Schritten oder weniger. Dies wird erreicht, indem der Fehler in viel weniger Schritten als n nahe an den Minimalwert reduziert wird. Es kann direkt auf nichtquadratische Fehleroberflächen angewendet werden, beispielsweise in mehrschichtigen neuronalen Netzen, und funktioniert gut mit großen Mini-Batches. Der Hesse-freie Optimierer kombiniert quadratische Näherung und konjugierten Gradienten, um die Näherung an die wahre Fehleroberfläche iterativ zu verbessern und näher an das Minimum zu gelangen.

Der Hesse-freie Optimierer führt zunächst eine anfängliche quadratische Annäherung an die wahre Fehleroberfläche durch. Anschließend wird ein konjugierter Gradient angewendet, um den Fehler bei dieser quadratischen Näherung zu minimieren. Dadurch nähert es sich in dieser Näherung einem Minimalpunkt an. Anschließend führt der Optimierer eine neue Annäherung an die Krümmungsmatrix durch und wiederholt den Vorgang. Es wird iterativ fortgefahren, die Näherung verfeinert und der Fehler mithilfe des konjugierten Gradienten minimiert. Dieser iterative Prozess hilft dem Optimierer, sich schrittweise dem wahren Minimum der Fehleroberfläche zu nähern.

In wiederkehrenden neuronalen Netzen ist es wichtig, eine Strafe für große Änderungen bei versteckten Aktivitäten hinzuzufügen. Dies verhindert übermäßige Effekte, die durch frühzeitige Gewichtsveränderungen verursacht werden und sich über die gesamte Sequenz ausbreiten. Durch die Bestrafung von Änderungen in versteckten Aktivitäten sorgt der Optimierer für Stabilität und verhindert unerwünschte Ergebnisse.

Der Hesse-freie Optimierer kombiniert quadratische Approximation, konjugierte Gradientenminimierung und Strafe für versteckte Aktivitätsänderungen, um wiederkehrende neuronale Netze effektiv zu trainieren. Durch iterative Verbesserung der Näherung und Minimierung des Fehlers wird eine effiziente und genaue Optimierung erreicht.

Lecture 8.1 — A brief overview of Hessian-free optimization [Neural Networks for Machine Learning]
Lecture 8.1 — A brief overview of Hessian-free optimization [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Vorlesung 8.2 – Modellierung von Zeichenfolgen


Vorlesung 8.2 – Modellierung von Zeichenfolgen [Neuronale Netze für maschinelles Lernen]

Wir werden nun die hessische Optimierung auf die Aufgabe anwenden, Zeichenfolgen aus Wikipedia zu modellieren. Typischerweise wird bei der Modellierung einer Sprache mit Wortketten gearbeitet. Da das Web jedoch aus Zeichenfolgen besteht, kann die Modellierung von Informationen auf Zeichenebene einen einfacheren Ansatz bieten.

Die Modellierung von Zeichenfolgen stellt einzigartige Herausforderungen dar, wie etwa den Umgang mit Morphemen, das Zerlegen von Wörtern in sinnvolle Einheiten und den Umgang mit Sprachen mit agglutinierenden Eigenschaften. Indem wir uns auf die Modellierung auf Zeichenebene konzentrieren, vermeiden wir die Komplexität, die mit der Vorverarbeitung von Text in Wörter verbunden ist, und können Muster und Informationen direkt auf Zeichenebene erfassen. Um dies zu erreichen, verwenden wir ein rekurrentes neuronales Netzwerk (RNN) mit multiplikativen Verbindungen. Das RNN besteht aus versteckten Zuständen, in diesem Fall mit 1500 versteckten Einheiten. Die Dynamik des verborgenen Zustands umfasst die Berücksichtigung des aktuellen Charakters und des vorherigen verborgenen Zustands, um den neuen verborgenen Zustand zu berechnen. Anschließend versucht das RNN, das nächste Zeichen mithilfe einer Softmax-Schicht vorherzusagen, indem es jedem möglichen Zeichen Wahrscheinlichkeiten zuordnet.

Anstatt eine traditionelle RNN-Struktur zu verwenden, verwenden wir einen anderen Ansatz, der bessere Ergebnisse liefert. Wir organisieren alle möglichen Zeichenfolgen in einer baumartigen Struktur, wobei jedes Zeichen den verborgenen Zustandsübergang beeinflusst. Um diesen Baum darzustellen, verwenden wir verborgene Zustandsvektoren, um die Informationen für jeden Knoten zu erfassen. Dadurch können wir Informationen effizient zwischen ähnlichen Knoten austauschen und so die Gesamtleistung des Modells verbessern. Um die zeichenspezifischen Übergänge effizient umzusetzen, führen wir multiplikative Verknüpfungen mithilfe von Faktoren ein. Jeder Faktor berechnet eine gewichtete Summe basierend auf zwei Eingabegruppen und verwendet das Ergebnis zum Skalieren der ausgehenden Gewichte. Durch die Einbeziehung charakterspezifischer Faktoren können wir die Übergangsmatrix bestimmen, die die Entwicklung des verborgenen Zustands basierend auf dem aktuellen Charakter vorantreibt.

Dieser Ansatz ermöglicht es uns, die Komplexität der Sprachmodellierung auf Zeichenebene zu erfassen und gleichzeitig Parameter effizient zu nutzen. Anstatt für jedes Zeichen separate Gewichtsmatrizen zu verwalten, nutzen wir die Ähnlichkeiten zwischen Zeichen, um Parameter gemeinsam zu nutzen. Diese gemeinsame Nutzung von Parametern trägt dazu bei, eine Überanpassung zu verhindern und den Rechenaufwand zu reduzieren.

Wir verwenden die hessische Optimierung, um Zeichenfolgen aus Wikipedia zu modellieren. Durch die Nutzung multiplikativer Verbindungen und charakterspezifischer Faktoren können wir die Übergänge zwischen verborgenen Zuständen basierend auf dem aktuellen Charakter effizient erfassen und so die Modellierungsleistung verbessern.

Lecture 8.2 — Modeling character strings [Neural Networks for Machine Learning]
Lecture 8.2 — Modeling character strings [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Vorlesung 8.3 – Vorhersage des nächsten Zeichens mithilfe von HF [Neuronale Netze für maschinelles Lernen]


Vorlesung 8.3 – Vorhersage des nächsten Zeichens mithilfe von HF [Neuronale Netze für maschinelles Lernen]

In diesem Video untersuchen wir die Auswirkungen der Verwendung des Hesse-freien Optimierers zur Optimierung eines rekurrenten neuronalen Netzwerks mit multiplikativen Verbindungen. Ziel des Netzwerks ist es, das nächste Zeichen im Wikipedia-Text vorherzusagen. Nach dem Training mit Millionen von Charakteren zeigt das Netzwerk eine bemerkenswerte Leistung. Es erwirbt ein tiefes Verständnis der englischen Sprache und wird in der Lage, zusammenhängende und interessante Satzvervollständigungen zu bilden.

Der Experimentator Skeever verwendete fünf Millionen Zeichenfolgen, von denen jede aus hundert Zeichen bestand, die aus der englischen Wikipedia extrahiert wurden. Ab dem 11. Zeichen in jeder Zeichenfolge beginnt das rekurrente Netzwerk mit der Vorhersage und durchläuft dabei verschiedene verborgene Zustände. Der Trainingsprozess umfasst die Rückpropagierung der Vorhersagefehler mithilfe des Hesse-freien Optimierers. Um ein hervorragendes Modell zu erhalten, war etwa ein Monat Berechnung auf einer Hochgeschwindigkeits-GPU erforderlich.

Derzeit ist Skeevers bestes rekurrentes neuronales Netzwerk zur Zeichenvorhersage das herausragendste Einzelmodell für diese Aufgabe. Während die Kombination mehrerer Modelle mit einem neuronalen Netzwerk zu besseren Ergebnissen führen könnte, stellt sein einzelnes Modell den Inbegriff der Leistung dar. Bemerkenswert ist, dass sich sein Modell deutlich von anderen Hochleistungsmodellen unterscheidet. Insbesondere kann sein Modell die ausgewogene Verwendung von Anführungszeichen und Klammern über große Entfernungen effektiv bewältigen, eine Leistung, die mit Kontextanpassungsmodellen nicht möglich ist. Das Abgleichen spezifischer vorheriger Kontexte zum Schließen einer Klammer würde beispielsweise das Speichern und Abrufen aller dazwischen liegenden Zeichen erfordern, was höchst unwahrscheinlich ist. Im Gegensatz dazu zeigt Skeevers Modell die Fähigkeit, Klammern und Anführungszeichen erfolgreich auszubalancieren.

Um das vom Modell erworbene Wissen zu bewerten, werden Strings generiert, um seine Vorhersagen zu beobachten. Es muss darauf geachtet werden, die Ausgabe des Modells nicht zu überinterpretieren. Der Generierungsprozess umfasst den Beginn mit dem standardmäßigen verborgenen Zustand, gefolgt von einer Einbrennsequenz. Jeder Charakter aktualisiert den verborgenen Zustand, was zur Vorhersagephase führt. Die Wahrscheinlichkeitsverteilung des Modells für das nächste Zeichen wird untersucht und auf Grundlage dieser Verteilung wird ein Zeichen zufällig ausgewählt. Das ausgewählte Zeichen wird dann als tatsächliches Vorkommen in das Modell zurückgeführt und der Prozess wird fortgesetzt, bis die gewünschte Anzahl von Zeichen generiert ist. Diese generierten Strings geben Aufschluss über das erworbene Wissen des Modells.

Ein Beispiel einer vom Skeever-Netzwerk hergestellten Saite zeigt ihre beeindruckende Leistung. Obwohl dieser Auszug aus einer umfangreicheren Textpassage ausgewählt wurde, demonstriert er wirkungsvoll die Leistungsfähigkeit des Modells. Bemerkenswert ist, dass die generierte Zeichenfolge eigenartige semantische Assoziationen aufweist, beispielsweise „Opus Paulus in Rom“. Auch wenn solche Formulierungen von Einzelpersonen möglicherweise nicht verwendet werden, offenbaren sie doch die Verbundenheit von „Opus“, „Paulus“ und „Rom“. Der Zeichenfolge fehlt jedoch eine kohärente, weitreichende thematische Struktur, und das Thema wechselt häufig nach jedem Punkt.

Interessanterweise generiert das Modell nur sehr wenige Nichtwörter. Wenn genügend Zeichen eingegeben werden, um ein englisches Wort auf einzigartige Weise zu vervollständigen, wird das nächste Zeichen nahezu perfekt vorhergesagt. In Fällen, in denen Nicht-Wörter vorkommen, wie das rot hervorgehobene Wort „ephemeral“, sind sie bemerkenswert plausibel. Die Leistung des Modells erstreckt sich auch auf das Ausbalancieren der Halterungen, auch wenn es nicht immer die perfekte Balance der Halterungen aufrechterhält. Es zeigt auch ein konsistentes Verhalten beim Öffnen und Schließen von Kursen.

Die Analyse des Modellwissens offenbart mehrere Schlüsselaspekte. Erstens verfügt es über ein solides Verständnis von Wörtern und generiert überwiegend englische Wörter und gelegentlich Initialenketten in Großbuchstaben. Es kann Zahlen, Daten und deren kontextbezogene Verwendung verarbeiten. Darüber hinaus zeigt es die Fähigkeit, Anführungszeichen und Klammern genau auszubalancieren und Klammern bis zu einem gewissen Grad sogar zu zählen. Sein syntaktisches Wissen wird durch die Produktion sinnvoller englischer Wortfolgen deutlich. Allerdings erweist es sich als schwierig, die genaue Form dieses syntaktischen Wissens zu entschlüsseln. Es entspricht nicht einfachen Trigrammmodellen, die auf gespeicherten Wortfolgen basieren. Stattdessen synthetisiert das Modell Wortketten mit kohärenter Syntax, die eher dem impliziten syntaktischen Wissen eines Muttersprachlers als einem Satz linguistischer Regeln ähnelt.

Das Modell weist auch Assoziationen auf, die auf einer schwachen Semantik basieren. Das Modell zeigt beispielsweise ein Verständnis für Assoziationen zwischen Wörtern wie „Plato“ und „Vicarstown“. Diese Assoziationen sind nicht präzise oder klar definiert, sondern spiegeln einen Grad an semantischem Wissen wider, das durch das Lesen von Wikipedia erworben wurde. Insbesondere zeigt das Modell ein gutes Verständnis der Zusammenhänge zwischen „Kohl“ und „Gemüse“.

Um das Wissen des Modells weiter zu bewerten, werden bestimmte Zeichenfolgen als Tests konzipiert. Beispielsweise wird dem Modell ein Nichtwort wie „runthourunge“ präsentiert. Englischsprachige würden aufgrund der Form des Wortes erwarten, dass es sich um ein Verb handelt. Durch die Untersuchung des wahrscheinlichsten nächsten vom Modell vorhergesagten Zeichens, wie in diesem Fall ein „S“, wird deutlich, dass das Modell die Verbform basierend auf dem Kontext erkennt. Wenn das Modell eine durch Kommas getrennte Liste von Namen und ein großes „T“, das einem Namen ähnelt, erhält, vervollständigt es die Zeichenfolge ebenfalls erfolgreich als Name. Dies deutet auf ein umfassendes Verständnis von Namen in verschiedenen Sprachen hin.

Das Modell wird auch der Aufforderung „Der Sinn des Lebens ist“ unterzogen und seine generierten Vervollständigungen werden untersucht. Überraschenderweise liefert das Modell in seinen ersten Versuchen die sowohl syntaktisch als auch semantisch sinnvolle Ergänzung „literarische Erkennung“. Auch wenn dies als ein Modell angesehen werden könnte, das beginnt, das Konzept des Sinns des Lebens zu begreifen, ist es wichtig, Vorsicht walten zu lassen und eine Überinterpretation zu vermeiden.

Zusammenfassend lässt sich sagen, dass das Modell durch die umfassende Auseinandersetzung mit Wikipedia-Texten Kenntnisse über Wörter, Eigennamen, Zahlen, Daten und syntaktische Strukturen erhält. Es zeichnet sich dadurch aus, dass es Anführungszeichen und Klammern ausbalanciert und dabei bis zu einem gewissen Grad semantische Assoziationen nutzt. Sein Verständnis der Syntax ähnelt dem eines fließenden Sprechers, was es schwierig macht, die genaue Form dieses Wissens zu bestimmen. Rekurrente neuronale Netze (RNNs) wie das Skeever-Modell übertreffen andere Methoden bei Sprachmodellierungsaufgaben, da sie weniger Trainingsdaten erfordern und schnellere Verbesserungen zeigen, wenn die Datensätze wachsen. Infolgedessen wird es für alternative Ansätze immer schwieriger, mit RNNs mitzuhalten, insbesondere da die Rechenleistung und die Größe der Datensätze weiter zunehmen.

Lecture 8.3 — Predicting the next character using HF [Neural Networks for Machine Learning]
Lecture 8.3 — Predicting the next character using HF [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...