Maschinelles Lernen und neuronale Netze - Seite 57

 

Vorlesung 10.4 – Vollständiges Bayesianisches Lernen in die Praxis umsetzen



Vorlesung 10.4 – Vollständiges Bayesianisches Lernen praktisch umsetzen [Neuronale Netze für maschinelles Lernen]

In diesem Video erkläre ich, wie man vollständiges Bayesianisches Lernen für große neuronale Netze mit Tausenden oder sogar Millionen von Gewichtungen praktisch umsetzen kann. Bei der verwendeten Technik handelt es sich um eine Monte-Carlo-Methode, was auf den ersten Blick seltsam erscheinen mag. Wir verwenden einen Zufallszahlengenerator, um den Raum der Gewichtsvektoren auf zufällige Weise zu erkunden, jedoch mit einer Tendenz zur absteigenden Kostenfunktion. Wenn dieser Ansatz richtig durchgeführt wird, weist er eine bemerkenswerte Eigenschaft auf: Er tastet Gewichtsvektoren im Verhältnis zu ihren Wahrscheinlichkeiten in der Posterior-Verteilung ab. Indem wir eine große Anzahl von Gewichtsvektoren abtasten, können wir eine gute Annäherung an die vollständige Bayes'sche Methode erhalten.

Mit zunehmender Parameteranzahl wird die Anzahl der Gitterpunkte im Parameterraum exponentiell größer. Daher ist die Erstellung eines Rasters für mehr als ein paar Parameter nicht möglich, wenn genügend Daten vorhanden sind, um die meisten Parametervektoren höchst unwahrscheinlich zu machen. Stattdessen können wir uns auf die Auswertung eines kleinen Teils der Gitterpunkte konzentrieren, die einen wesentlichen Beitrag zu den Vorhersagen leisten. Eine Idee, die Bayesianisches Lernen möglich macht, besteht darin, Gewichtsvektoren anhand ihrer A-Posteriori-Wahrscheinlichkeiten abzutasten. Anstatt alle Terme in der Gleichung aufzusummieren, können wir Terme aus der Summe entnehmen. Wir weisen jedem Gewichtsvektor eine Gewichtung von eins oder null zu, je nachdem, ob er abgetastet wird oder nicht. Die Wahrscheinlichkeit, abgetastet zu werden, entspricht der A-Posteriori-Wahrscheinlichkeit des Gewichtsvektors, was zum korrekten erwarteten Wert führt.

Die auf der rechten Seite dargestellte Standard-Backpropagation folgt einem Pfad von einem Anfangspunkt zu einem letzten Einzelpunkt, indem sie sich entlang des Gradienten bewegt und die Kostenfunktion absenkt. Im Gegensatz dazu führt eine Abtastmethode bei jeder Gewichtsaktualisierung Gaußsches Rauschen ein, wodurch der Gewichtsvektor wandert und den Gewichtsraum kontinuierlich erkundet. Dieses Wanderverhalten begünstigt Regionen mit niedrigen Kosten und bewegt sich, wann immer möglich, tendenziell bergab. Eine wesentliche Frage ist, wie oft die Gewichte jeden Punkt im Raum besuchen. Die roten Punkte stellen während der Wanderung aufgenommene Proben dar und liegen aufgrund des inhärenten Rauschens möglicherweise nicht in den Regionen mit den niedrigsten Kosten. Nach ausreichender Untersuchung zeigt sich jedoch eine bemerkenswerte Eigenschaft der Markov-Kette Monte Carlo: Die Gewichtsvektoren werden zu unverzerrten Stichproben aus der wahren Posteriorverteilung. Gewichtsvektoren, die unter dem Seitenzahn sehr wahrscheinlich sind, werden eher durch einen roten Punkt dargestellt als sehr unwahrscheinliche. Diese als Markov-Ketten-Monte-Carlo bekannte Technik ermöglicht die Nutzung des Bayes'schen Lernens mit Tausenden von Parametern.

Die zuvor erwähnte Methode, bei der Gaußsches Rauschen hinzugefügt wird, wird Langevin-Methode genannt. Es ist zwar effektiv, aber nicht der effizienteste Ansatz. Es stehen ausgefeiltere Methoden zur Verfügung, bei denen die Gewichtsvektoren weniger Zeit benötigen, um den Raum zu erkunden, bevor sie zuverlässige Stichproben erhalten. Ein solcher Ansatz ist die Verwendung von Mini-Batches beim vollständigen Bayes'schen Lernen. Wenn wir den Gradienten der Kostenfunktion für einen zufälligen Mini-Batch berechnen, erhalten wir eine unvoreingenommene Schätzung mit Stichprobenrauschen. Dieses Abtastrauschen kann verwendet werden, um das für die Markov-Ketten-Monte-Carlo-Methode erforderliche Rauschen bereitzustellen. Eine clevere Idee von Welling und Mitarbeitern ermöglicht eine effiziente Probenahme aus der hinteren Gewichtsverteilung mithilfe von Mini-Batch-Methoden. Dieser Fortschritt sollte das vollständige Bayes'sche Lernen für viel größere Netzwerke möglich machen, die ein Training mit Mini-Batches erfordern, um den Trainingsprozess abzuschließen.

Die Verwendung von Mini-Batches beim vollständigen Bayes'schen Lernen bietet mehrere Vorteile. Wenn wir den Gradienten der Kostenfunktion für einen zufälligen Mini-Batch berechnen, erhalten wir nicht nur eine unvoreingenommene Schätzung mit Stichprobenrauschen, sondern nutzen auch die Effizienz von Mini-Batch-Methoden. Das bedeutet, dass wir viel größere Netzwerke trainieren können, die sonst mit vollständigem Bayes'schen Lernen nicht zu trainieren wären.

Der von Welling und seinen Mitarbeitern erzielte Durchbruch ermöglicht eine effiziente Probenahme aus der hinteren Gewichtsverteilung mithilfe von Mini-Batch-Methoden. Ihre clevere Idee nutzt das Sampling-Rauschen, das der Mini-Batch-Gradientenschätzung innewohnt, um als Rauschen zu dienen, das für die Markov-Ketten-Monte-Carlo-Methode erforderlich ist. Durch die entsprechende Einbeziehung dieses Rauschens ist es ihnen gelungen, zuverlässige Stichproben aus der Posterior-Verteilung zu erhalten, wodurch das vollständige Bayes'sche Lernen für größere Netzwerke praktisch wird.

Mit dieser Weiterentwicklung wird es möglich, neuronale Netze mit Tausenden oder sogar Millionen von Gewichten mithilfe von Mini-Batches zu trainieren und Proben aus der hinteren Verteilung über die Gewichte zu erhalten. Dies ist besonders vorteilhaft, wenn es um große Probleme geht, die umfangreiche Rechenressourcen erfordern. Die Fähigkeit, Unsicherheiten durch vollständiges Bayesianisches Lernen einzubeziehen, sorgt für ein umfassenderes Verständnis von Modellvorhersagen und kann zu einer verbesserten Entscheidungsfindung führen.

Durch den Einsatz von Monte-Carlo-Methoden wie der Markov-Ketten-Monte-Carlo-Methode kann vollständiges Bayesianisches Lernen für große neuronale Netze praktisch umgesetzt werden. Indem wir Gewichtsvektoren anhand ihrer A-Posteriori-Wahrscheinlichkeiten abtasten, können wir die vollständige Bayes'sche Methode annähern und wertvolle Einblicke in die Unsicherheit unserer Modelle gewinnen. Mit der Einführung von Mini-Batch-Methoden ist nun eine effiziente Stichprobenziehung aus der Posteriorverteilung über Gewichte möglich, was die Anwendung des vollständigen Bayes'schen Lernens auf viel größere Netzwerke ermöglicht.

Lecture 10.4 — Making full Bayesian learning practical [Neural Networks for Machine Learning]
Lecture 10.4 — Making full Bayesian learning practical [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 10.5 – Studienabbruch



Vorlesung 10.5 – Dropout [Neuronale Netze für maschinelles Lernen]

Dropout ist eine erfolgreiche Methode zum Kombinieren einer großen Anzahl neuronaler Netzwerkmodelle, ohne jedes Modell separat zu trainieren. Bei diesem Ansatz werden für jeden Trainingsfall zufällige Teilmengen versteckter Einheiten weggelassen, was zu unterschiedlichen Architekturen für jeden Fall führt. Dadurch entsteht für jeden Trainingsfall ein einzigartiges Modell, was die Frage aufwirft, wie diese Modelle während des Tests trainiert und effizient gemittelt werden können.

Zwei Möglichkeiten, die Ergebnisse mehrerer Modelle zu kombinieren, bestehen darin, ihre Ausgabewahrscheinlichkeiten zu mitteln oder das geometrische Mittel ihrer Wahrscheinlichkeiten zu verwenden. Bei dieser Methode spielt die Gewichtsverteilung eine entscheidende Rolle. Dropout bietet eine effiziente Möglichkeit zur Mittelung neuronaler Netze, obwohl die Leistung möglicherweise nicht so gut ist wie der korrekte Bayes'sche Ansatz. Während des Trainings werden versteckte Einheiten zufällig mit einer Wahrscheinlichkeit von 0,5 ausgelassen, was dazu führt, dass eine große Anzahl von Architekturen die Gewichte teilen. Dropout kann als Modellmittelung angesehen werden, bei der die meisten Modelle nicht abgetastet werden und jedes abgetastete Modell nur ein Trainingsbeispiel erhält. Durch die Gewichtsverteilung zwischen den Modellen werden sie effektiv reguliert. Zum Testzeitpunkt werden alle verborgenen Einheiten verwendet, aber ihre ausgehenden Gewichte werden halbiert, um das geometrische Mittel der Vorhersagen aus allen möglichen Modellen zu berechnen. Der Dropout kann auf mehrere ausgeblendete Ebenen ausgeweitet werden, indem in jeder Ebene ein Dropout von 0,5 angewendet wird. Diese Näherung ist schneller als die Mittelung separater Dropout-Modelle, bietet aber eine gute Näherung.

Darüber hinaus kann Dropout auf Eingabeebenen angewendet werden, bei denen die Wahrscheinlichkeit, dass Eingaben beibehalten werden, höher ist. Diese Technik wird bereits bei der Rauschunterdrückung von Autoencodern eingesetzt und hat gute Ergebnisse gezeigt. Es hat sich gezeigt, dass Dropout Fehler wirksam reduziert und eine Überanpassung in tiefen neuronalen Netzen verhindert. Es fördert die Spezialisierung verborgener Einheiten und verhindert komplexe Co-Anpassungen, die zu einer schlechten Generalisierung neuer Testdaten führen können. Indem versteckte Einheiten gezwungen werden, mit unterschiedlichen Kombinationen anderer versteckter Einheiten zusammenzuarbeiten, fördert der Ausstieg individuell nützliches Verhalten und entmutigt die Abhängigkeit von bestimmten Kooperationen. Dieser Ansatz verbessert die Leistung von Dropout-Netzwerken, indem er es jeder Einheit ermöglicht, auf einzigartige und geringfügig nützliche Weise einen Beitrag zu leisten, was zu hervorragenden Ergebnissen führt.

Dropout ist eine leistungsstarke Technik zum Trainieren und Kombinieren neuronaler Netzwerkmodelle. Es begegnet der Herausforderung der Überanpassung, indem es die Modelle durch Gewichtsverteilung und zufälliges Auslassen versteckter Einheiten reguliert. Durch die Schaffung unterschiedlicher Architekturen für jeden Schulungsfall fördert Dropout die Spezialisierung einzelner Einheiten und reduziert komplexe gemeinsame Anpassungen. Der Prozess der Mittelung der Ausgabewahrscheinlichkeiten der Modelle oder die Verwendung des geometrischen Mittels sorgt für einen ensembleähnlichen Effekt und verbessert die Gesamtleistung des Netzwerks. Obwohl Dropout möglicherweise nicht das gleiche Leistungsniveau wie der korrekte Bayes'sche Ansatz erreicht, bietet es eine praktische und effiziente Alternative. Bei Anwendung auf mehrere verborgene Ebenen kann Dropout in jeder Ebene mit einer Dropout-Wahrscheinlichkeit von 0,5 verwendet werden. Diese als „Mittelwertnetz“ bekannte Näherung kombiniert effektiv die Vorteile des Dropouts mit einer schnelleren Berechnung. Dies ist besonders nützlich, wenn die Rechenressourcen begrenzt sind.

Darüber hinaus kann Dropout auf die Eingabeebene ausgeweitet werden, indem Dropout mit einer höheren Wahrscheinlichkeit angewendet wird, Eingaben beizubehalten. Diese Technik hilft, eine Überanpassung zu verhindern und hat sich in verschiedenen Anwendungen als erfolgreich erwiesen. Es ist wichtig zu beachten, dass Dropout nicht nur die Leistung bei Trainingsdaten verbessert, sondern auch die Generalisierung auf nicht sichtbare Testdaten verbessert. Durch die Förderung des Verhaltens einzelner Einheiten und die Reduzierung komplexer Co-Anpassungen erzielen Dropout-Modelle in der Regel gute Ergebnisse bei neuen und unbekannten Beispielen.

Dropout ist eine praktische und effektive Methode zum Kombinieren neuronaler Netzwerkmodelle. Durch das zufällige Weglassen versteckter Einheiten und die Förderung des Verhaltens einzelner Einheiten verringert das Dropout die Überanpassung und verbessert die Generalisierung. Seine Einfachheit und Effizienz machen es zu einem wertvollen Werkzeug für das Training tiefer neuronaler Netze.

Lecture 10.5 — Dropout [Neural Networks for Machine Learning]
Lecture 10.5 — Dropout [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 11.1 – Hopfield-Netze



Vorlesung 11.1 – Hopfield-Netze [Neuronale Netze für maschinelles Lernen]

In diesem Video stellt der Moderator Hopfield-Netzwerke und ihre Rolle beim Wiederaufleben des Interesses an neuronalen Netzwerken in den 1980er Jahren vor. Hopfield-Netzwerke sind einfache Geräte, mit denen Erinnerungen als verteilte Aktivitätsmuster gespeichert werden. Es handelt sich um energiebasierte Modelle mit binären Schwellenwerten und wiederkehrenden Verbindungen.

Die Analyse von Netzwerken mit nichtlinearen Einheiten und wiederkehrenden Verbindungen kann aufgrund ihres unterschiedlichen Verhaltens, wie z. B. Einpendeln in stabile Zustände, Oszillieren oder sogar Chaos, eine Herausforderung sein. Hopfield und andere Forscher erkannten jedoch, dass bei symmetrischen Verbindungen eine globale Energiefunktion für jede binäre Konfiguration des Netzwerks definiert werden kann. Die binäre Schwellenwert-Entscheidungsregel führt in Kombination mit der richtigen Energiefunktion dazu, dass das Netzwerk energiemäßig abnimmt und schließlich ein Energieminimum erreicht. Die Energiefunktion besteht aus lokalen Beiträgen, die das Produkt aus Verbindungsgewichten und den binären Zuständen verbundener Neuronen darstellen.

Um ein Energieminimum zu finden, werden Einheiten in einem Hopfield-Netz nacheinander, eine nach der anderen, in zufälliger Reihenfolge aktualisiert. Jede Einheit berechnet ihren Zustand basierend auf der Konfiguration, die zu der niedrigsten globalen Energie führt. Diese sequentielle Aktualisierung verhindert, dass Einheiten gleichzeitig Entscheidungen treffen, die die Energie erhöhen und zu Schwingungen führen könnten. Hopfield-Netzwerke eignen sich zum Speichern von Erinnerungen, da Erinnerungen Energieminima im Netzwerk entsprechen. Speicher können teilweise oder beschädigt sein, und die Entscheidungsregel für den binären Schwellenwert kann sie bereinigen und als vollständige Speicher wiederherstellen. Dieser inhaltsadressierbare Speicher ermöglicht den Zugriff auf gespeicherte Elemente basierend auf Teilinhaltsinformationen.

Hopfield-Netze verfügen über Eigenschaften, die sie robust gegenüber Hardwareschäden machen, da sie auch nach dem Entfernen einiger weniger Einheiten noch ordnungsgemäß funktionieren. Die Gewichte im Netzwerk geben Aufschluss darüber, wie Zustände von Neuronen zusammenpassen, ähnlich wie bei der Rekonstruktion eines Dinosauriers aus wenigen Knochen. Die Speicherregel für Erinnerungen in einem Hopfield-Netz ist einfach. Durch Erhöhen der Gewichte zwischen Einheiten basierend auf dem Produkt ihrer Aktivitäten kann ein binärer Zustandsvektor gespeichert werden. Diese Regel erfordert nur einen Durchlauf der Daten und ist somit eine Online-Regel. Es handelt sich jedoch nicht um eine Fehlerkorrekturregel, die sowohl Vor- als auch Nachteile hat.

Hopfield-Netzwerke bieten einen unkomplizierten Ansatz zur Speicherung von Erinnerungen und verfügen über interessante Eigenschaften, die sie für verschiedene Anwendungen wertvoll machen.

Lecture 11.1 — Hopfield Nets [Neural Networks for Machine Learning]
Lecture 11.1 — Hopfield Nets [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 11.2 – Umgang mit falschen Minima



Vorlesung 11.2 – Umgang mit falschen Minima [Neuronale Netze für maschinelles Lernen]

In diesem Video bespreche ich die Speicherkapazität von Hopfield-Netzen und wie sie durch falsche Erinnerungen begrenzt wird. Falsche Erinnerungen treten auf, wenn benachbarte Energieminima kombiniert werden und ein neues Minimum an der falschen Stelle entsteht. Bemühungen, diese falschen Minima zu beseitigen, führten zu einer interessanten Lernmethode in komplexeren Systemen als den einfachen Hopfield-Netzen.

Ich werde auch auf eine historische Wiederentdeckung im Zusammenhang mit der Erhöhung der Kapazität von Hopfield-Netzen eingehen. Physiker, die versuchten, ihre Speicherkapazität zu erhöhen, stießen auf das Perzeptron-Konvergenzverfahren, das ursprünglich entwickelt wurde, nachdem Hopfield Hopfield-Netze als Speichergeräte erfunden hatte.

Die Kapazität eines Hopfield-Netzes beträgt unter Verwendung der Hopfield-Speicherregel für ein vollständig verbundenes Netzwerk etwa 0,15n Speicher, wobei n die Anzahl der binären Schwellenwerteinheiten darstellt. Diese Kapazität gibt die Anzahl der Erinnerungen an, die ohne Verwirrung gespeichert werden können. Jeder Speicher besteht aus einer zufälligen Konfiguration der N Einheiten, die n Informationsbits beisteuern. Somit beträgt die Gesamtinformation, die in einem Hopfield-Netz gespeichert ist, etwa 0,15 N Quadratbits.

Diese Speichermethode nutzt jedoch die zum Speichern der Gewichte erforderlichen Bits nicht effizient. Wenn wir die Anzahl der Bits analysieren, die zum Speichern der Gewichte im Computer erforderlich sind, übersteigt sie 0,15 N Quadratbits, was zeigt, dass verteilter Speicher in lokalen Energieminima nicht effizient ist.

Um die Kapazität eines Hopfield-Netzes zu verbessern, müssen wir uns mit der Verschmelzung von Energieminima befassen, die seine Leistungsfähigkeit einschränkt. Jedes Mal, wenn eine binäre Konfiguration gespeichert wird, hoffen wir, ein neues Energieminimum zu schaffen. Allerdings können benachbarte Muster dazu führen, dass Minima verschmelzen und es unmöglich wird, zwischen einzelnen Erinnerungen zu unterscheiden. Dieses Verschmelzungsphänomen begrenzt die Kapazität eines Hopfield-Netzes.

Eine faszinierende Idee, die sich aus der Verbesserung der Kapazität von Hopfield-Netzen ergab, ist das Konzept des Verlernens. Beim Verlernen geht es darum, das Netz von einem zufälligen Anfangszustand aus stabilisieren zu lassen und dann das Gegenteil der Speicherregel anzuwenden, um falsche Minima zu eliminieren. Hopfield, Feinstein und Palmer zeigten, dass Verlernen die Gedächtniskapazität effektiv steigert, und Crick und Mitchison schlugen vor, dass Verlernen während des REM-Schlafs auftreten könnte.

Die Herausforderung besteht darin, zu bestimmen, wie viel Verlernen durchgeführt werden sollte. Im Idealfall sollte das Verlernen Teil des Prozesses sein, bei dem ein Modell an die Daten angepasst wird. Die Maximum-Likelihood-Anpassung des Modells kann das Verlernen automatisch einbeziehen und so eine präzise Anleitung zum Umfang des erforderlichen Verlernens liefern.

Physiker haben Anstrengungen unternommen, um die Kapazität von Hopfield-Netzen zu verbessern, angetrieben von dem Wunsch, Verbindungen zwischen bekannten mathematischen Konzepten und der Gehirnfunktionalität zu finden. Elizabeth Gardner schlug eine effizientere Lagerungsregel vor, die die volle Kapazität der Gewichte nutzte. Diese Regel beinhaltete das mehrmalige Durchlaufen des Trainingssatzes und die Anwendung des Perzeptron-Konvergenzverfahrens, um den korrekten Zustand jeder Einheit zu trainieren.

Diese Technik ähnelt der in der Statistik verwendeten Pseudo-Likelihood-Methode, bei der Sie darauf abzielen, eine Dimension angesichts der Werte aller anderen Dimensionen richtig hinzubekommen. Das Perzeptron-Konvergenzverfahren ermöglicht mit einigen Anpassungen für die symmetrischen Gewichte in Hopfield-Netzen eine effizientere Speicherspeicherung.

Durch die Verwendung des Perzeptron-Konvergenzverfahrens und das mehrmalige Durchlaufen der Daten können wir die Speichereffizienz von Hopfield-Netzen verbessern. Diese Technik ähnelt der in der Statistik verwendeten Pseudo-Likelihood-Methode, bei der das Ziel darin besteht, eine Dimension basierend auf den Werten aller anderen Dimensionen richtig hinzubekommen. Das Perzeptron-Konvergenzverfahren ermöglicht mit entsprechenden Modifikationen für die symmetrischen Gewichte in Hopfield-Netzen eine effektivere Speicherspeicherung.

Diese von Gardner vorgestellte erweiterte Speicherregel stellt einen bedeutenden Fortschritt bei der Maximierung der Kapazität von Hopfield-Netzen dar. Durch Durchlaufen des Trainingssatzes und iteratives Anpassen der Gewichtungen basierend auf dem Perzeptron-Konvergenzverfahren kann das Netzwerk eine größere Anzahl von Erinnerungen speichern.

Es ist erwähnenswert, dass dieser Ansatz die Online-Eigenschaft von Hopfield-Netzen opfert, die die Verarbeitung von Daten in einem einzigen Durchgang ermöglicht. Der Kompromiss ist jedoch durch die verbesserte Speichereffizienz gerechtfertigt, die durch die Ausnutzung der vollen Kapazität der Gewichte erreicht wird.

Die Einbeziehung des Verlernens, wie von Hopfield, Feinstein und Palmer vorgeschlagen, bietet eine Möglichkeit, falsche Minima zu beseitigen und die Gedächtniskapazität weiter zu erhöhen. Das Verlernen ermöglicht die Trennung zusammengeführter Minima und sorgt so für eine bessere Erinnerung an individuelle Erinnerungen.

Interessanterweise schlugen Crick und Mitchison eine funktionale Erklärung für das Verlernen im REM-Schlaf vor. Sie schlugen vor, dass der Zweck des Träumens darin besteht, die Entfernung von falschen Minima zu erleichtern, das Netzwerk effektiv in einen zufälligen Zustand zurückzusetzen und frühere Muster zu verlernen.

Um die mathematische Herausforderung der Bestimmung des optimalen Ausmaßes an Verlernen anzugehen, besteht eine mögliche Lösung darin, Verlernen als Teil des Modellanpassungsprozesses zu behandeln. Durch den Einsatz der Maximum-Likelihood-Anpassung kann das Verlernen automatisch einbezogen werden, was eine genaue Anleitung zum Ausmaß des Verlernens liefert, das zur Optimierung der Modellleistung erforderlich ist.

Das Bestreben, die Kapazität von Hopfield-Netzen zu verbessern, hat wertvolle Einblicke in die Speicherspeicherung und Lernprozesse gebracht. Die Entwicklung des Perzeptron-Konvergenzverfahrens und die Erforschung des Verlernens haben uns der Ausschöpfung des vollen Potenzials von Hopfield-Netzen für eine effektive Speicherspeicherung und -abfrage näher gebracht.

Lecture 11.2 — Dealing with spurious minima [Neural Networks for Machine Learning]
Lecture 11.2 — Dealing with spurious minima [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 11.3 – Hopfield-Netze mit versteckten Einheiten



Vorlesung 11.3 – Hopfield-Netze mit versteckten Einheiten [Neuronale Netze für maschinelles Lernen]

In diesem Video werde ich einen neuartigen Ansatz zur Nutzung von Hopfield-Netzen und ihrer Energiefunktion vorstellen. Durch die Einbeziehung verborgener Einheiten in das Netzwerk wollen wir Interpretationen von Wahrnehmungseingaben auf der Grundlage der Zustände dieser verborgenen Einheiten ableiten. Das Schlüsselkonzept besteht darin, dass die Gewichtungen zwischen Einheiten günstige Interpretationen einschränken und wir durch die Suche nach Zuständen mit niedriger Energie gute Interpretationen der Eingabedaten finden können.

Hopfield-Netze kombinieren zwei grundlegende Ideen: die Fähigkeit, lokale Energieminima mithilfe symmetrisch verbundener binärer Schwellenwerteinheiten zu finden, und die Vorstellung, dass diese lokalen Energieminima Erinnerungen entsprechen könnten. Es gibt jedoch eine alternative Möglichkeit, die Fähigkeit zur Ermittlung lokaler Minima zu nutzen. Anstatt das Netzwerk ausschließlich zur Speicherung von Erinnerungen zu nutzen, können wir es nutzen, um Interpretationen sensorischer Eingaben zu konstruieren. Um diese Idee zu veranschaulichen, wollen wir uns mit den Details der Ableitung von Informationen aus einer zweidimensionalen Linie in einem Bild über die dreidimensionale Welt befassen. Wenn wir eine zweidimensionale Linie betrachten, kann sie von verschiedenen dreidimensionalen Kanten auf der Welt ausgehen. Durch den Verlust von Tiefeninformationen im Bild können mehrere 3D-Kanten zu demselben Erscheinungsbild auf der Netzhaut führen. Diese Mehrdeutigkeit entsteht, weil uns das Wissen über die Tiefe an jedem Ende der Linie fehlt.

Um dies zu beheben, gehen wir davon aus, dass eine gerade 3D-Kante in der Welt eine gerade 2D-Linie im Bild verursacht. Diese Annahme eliminiert jedoch zwei Freiheitsgrade in Bezug auf die Tiefe an jedem Ende der 3D-Kante. Folglich entspricht eine ganze Familie von 3D-Kanten derselben 2D-Linie, wir können jedoch jeweils nur eine davon wahrnehmen. Betrachten wir nun ein Beispiel, das zeigt, wie wir die Fähigkeit, Niedrigenergiezustände in einem Netzwerk binärer Einheiten zu finden, nutzen können, um die Interpretation sensorischer Eingaben zu unterstützen. Angenommen, wir haben eine Strichzeichnung und möchten sie als dreidimensionales Objekt interpretieren. Für jede potenzielle 2D-Linie weisen wir ein entsprechendes Neuron zu. In jedem Bild werden nur wenige Neuronen aktiviert, die die aktuellen Linien darstellen.

Um Interpretationen zu konstruieren, führen wir eine Reihe von 3D-Linieneinheiten ein, eine für jede mögliche 3D-Kante. Da jede 2D-Linieneinheit mehreren 3D-Linien entsprechen kann, müssen wir alle relevanten 3D-Linien anregen und gleichzeitig den Wettbewerb zwischen ihnen sicherstellen, da jeweils nur eine 3D-Linie aktiv sein sollte. Um dies zu erreichen, stellen wir erregende Verbindungen von der 2D-Linieneinheit zu allen in Frage kommenden 3D-Linien her, zusammen mit hemmenden Verbindungen, um den Wettbewerb zu ermöglichen.

Allerdings ist die Verkabelung des neuronalen Netzes noch nicht abgeschlossen. Wir müssen Informationen darüber einbeziehen, wie 3D-Kanten verbunden sind. Wenn beispielsweise zwei 2D-Linien im Bild zusammenlaufen, ist es sehr wahrscheinlich, dass sie Kanten mit derselben Tiefe am Verbindungspunkt entsprechen. Wir können diese Erwartung darstellen, indem wir zusätzliche Verbindungen einführen, die solche zusammenfallenden 3D-Kanten unterstützen.

Darüber hinaus können wir das häufige Vorkommen rechtwinklig aneinanderstoßender 3D-Kanten ausnutzen. Indem wir stärkere Verbindungen zwischen zwei 3D-Kanten herstellen, die in der Tiefe übereinstimmen und einen rechten Winkel bilden, können wir ihre zusammenhängende Beziehung anzeigen. Diese Verbindungen, dargestellt durch dickere grüne Linien, geben Aufschluss darüber, wie Kanten in der Welt miteinander verbunden sind, und tragen zur Bildung eines zusammenhängenden 3D-Objekts bei. Unser Netzwerk enthält nun Wissen über die Anordnung von Kanten in der Welt und wie sie projiziert werden, um Linien im Bild zu erzeugen. Wenn wir ein Bild in dieses Netzwerk einspeisen, sollte es eine Interpretation generieren. Im Fall des von mir präsentierten Bildes gibt es zwei unterschiedliche Interpretationen, die als Necker-Würfel bekannt sind. Das Netzwerk würde zwei Energieminima aufweisen, die jeweils einer der möglichen Interpretationen des Necker-Würfels entsprechen.

Bitte beachten Sie, dass dieses Beispiel als Analogie dient, um das Konzept der Verwendung von Niedrigenergiezuständen zur Interpretation von Wahrnehmungsdaten zu verstehen. Die Konstruktion eines umfassenden Modells, das das Umdrehen des Necker-Würfels genau berücksichtigt, wäre erheblich komplexer als das hier beschriebene vereinfachte Szenario. Wenn wir uns dafür entscheiden, Niedrigenergiezustände zu verwenden, um fundierte Wahrnehmungsinterpretationen darzustellen, ergeben sich zwei zentrale Herausforderungen. Zunächst müssen wir uns mit der Frage der Suche befassen – wie wir verhindern können, dass versteckte Einheiten in schlechten lokalen Energieminima gefangen bleiben. Schlechte Minima spiegeln suboptimale Interpretationen basierend auf unserem aktuellen Modell und unseren Gewichtungen wider. Gibt es einen besseren Ansatz, als einfach von einem zufälligen Ausgangszustand aus die Energie abzusenken?

Die zweite Herausforderung ist noch gewaltiger: Wie lernt man die Gewichte der Verbindungen zwischen verborgenen Einheiten sowie zwischen sichtbaren und verborgenen Einheiten? Gibt es einen einfachen Lernalgorithmus zur Anpassung dieser Gewichtungen, wenn man bedenkt, dass es keinen externen Vorgesetzten gibt, der den Lernprozess leitet? Unser Ziel ist es, dass das Netzwerk Input erhält und sinnvolle Aktivitätsmuster in den verborgenen Einheiten konstruiert, die sinnvolle Interpretationen darstellen. Dies stellt eine erhebliche Herausforderung dar.

Zusammenfassend lässt sich sagen, dass die neuartige Nutzung von Hopfield-Netzen und ihrer Energiefunktion die Einbeziehung verborgener Einheiten erfordert, um Interpretationen von Wahrnehmungseingaben abzuleiten. Die Gewichte zwischen den Einheiten stellen Einschränkungen für gute Interpretationen dar, und die Suche nach Niedrigenergiezuständen ermöglicht es uns, günstige Interpretationen zu entdecken.

Allerdings gibt es Herausforderungen zu meistern. Die erste Herausforderung ist das Suchproblem, bei dem es darum geht, nicht in schlechte lokale Energieminima zu geraten. Diese Minima stellen suboptimale Interpretationen dar und es ist entscheidend, eine effiziente Suchmethode zu finden. Die zweite Herausforderung besteht darin, die Gewichtungen der Verbindungen zwischen verborgenen Einheiten sowie zwischen sichtbaren und verborgenen Einheiten zu lernen. Diese Aufgabe wird durch das Fehlen eines Vorgesetzten oder einer externen Anleitung erschwert. Um die Gewichte anzupassen, ist ein geeigneter Lernalgorithmus erforderlich, der es dem Netzwerk ermöglicht, sinnvolle Interpretationen sensorischer Eingaben zu konstruieren. Es ist wichtig zu beachten, dass das bereitgestellte Beispiel, das die Interpretation einer 2D-Linienzeichnung als 3D-Objekt beinhaltet, eine Analogie zur Veranschaulichung des Konzepts der Verwendung von Niedrigenergiezuständen für Interpretationen darstellt. Der Aufbau eines umfassenden Modells zur Handhabung komplexerer Wahrnehmungsphänomene würde komplexere Ansätze erfordern.

Im nächsten Video werden wir uns mit dem Suchproblem befassen und mögliche Lösungen untersuchen, um nicht in schlechten lokalen Minima der Energiefunktion gefangen zu sein.

Lecture 11.3 — Hopfield nets with hidden units [Neural Networks for Machine Learning]
Lecture 11.3 — Hopfield nets with hidden units [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 11.3 – Hopfield-Netze mit versteckten Einheiten



Vorlesung 11.3 – Hopfield-Netze mit versteckten Einheiten [Neuronale Netze für maschinelles Lernen]

In diesem Video werde ich einen neuartigen Ansatz zur Nutzung von Hopfield-Netzen und ihrer Energiefunktion vorstellen. Durch die Einbeziehung verborgener Einheiten in das Netzwerk wollen wir Interpretationen von Wahrnehmungseingaben auf der Grundlage der Zustände dieser verborgenen Einheiten ableiten. Das Schlüsselkonzept besteht darin, dass die Gewichtungen zwischen Einheiten günstige Interpretationen einschränken und wir durch die Suche nach Zuständen mit niedriger Energie gute Interpretationen der Eingabedaten finden können.

Hopfield-Netze kombinieren zwei grundlegende Ideen: die Fähigkeit, lokale Energieminima mithilfe symmetrisch verbundener binärer Schwellenwerteinheiten zu finden, und die Vorstellung, dass diese lokalen Energieminima Erinnerungen entsprechen könnten. Es gibt jedoch eine alternative Möglichkeit, die Fähigkeit zur Ermittlung lokaler Minima zu nutzen. Anstatt das Netzwerk ausschließlich zur Speicherung von Erinnerungen zu nutzen, können wir es nutzen, um Interpretationen sensorischer Eingaben zu konstruieren. Um diese Idee zu veranschaulichen, wollen wir uns mit den Details der Ableitung von Informationen aus einer zweidimensionalen Linie in einem Bild über die dreidimensionale Welt befassen. Wenn wir eine zweidimensionale Linie betrachten, kann sie von verschiedenen dreidimensionalen Kanten auf der Welt ausgehen. Durch den Verlust von Tiefeninformationen im Bild können mehrere 3D-Kanten zu demselben Erscheinungsbild auf der Netzhaut führen. Diese Mehrdeutigkeit entsteht, weil uns das Wissen über die Tiefe an jedem Ende der Linie fehlt.

Um dies zu beheben, gehen wir davon aus, dass eine gerade 3D-Kante in der Welt eine gerade 2D-Linie im Bild verursacht. Diese Annahme eliminiert jedoch zwei Freiheitsgrade in Bezug auf die Tiefe an jedem Ende der 3D-Kante. Folglich entspricht eine ganze Familie von 3D-Kanten derselben 2D-Linie, wir können jedoch jeweils nur eine davon wahrnehmen. Betrachten wir nun ein Beispiel, das zeigt, wie wir die Fähigkeit, Niedrigenergiezustände in einem Netzwerk binärer Einheiten zu finden, nutzen können, um die Interpretation sensorischer Eingaben zu unterstützen. Angenommen, wir haben eine Strichzeichnung und möchten sie als dreidimensionales Objekt interpretieren. Für jede potenzielle 2D-Linie weisen wir ein entsprechendes Neuron zu. In jedem Bild werden nur wenige Neuronen aktiviert, die die aktuellen Linien darstellen.

Um Interpretationen zu konstruieren, führen wir eine Reihe von 3D-Linieneinheiten ein, eine für jede mögliche 3D-Kante. Da jede 2D-Linieneinheit mehreren 3D-Linien entsprechen kann, müssen wir alle relevanten 3D-Linien anregen und gleichzeitig den Wettbewerb zwischen ihnen sicherstellen, da jeweils nur eine 3D-Linie aktiv sein sollte. Um dies zu erreichen, stellen wir erregende Verbindungen von der 2D-Linieneinheit zu allen in Frage kommenden 3D-Linien her, zusammen mit hemmenden Verbindungen, um den Wettbewerb zu ermöglichen.

Allerdings ist die Verkabelung des neuronalen Netzes noch nicht abgeschlossen. Wir müssen Informationen darüber einbeziehen, wie 3D-Kanten verbunden sind. Wenn beispielsweise zwei 2D-Linien im Bild zusammenlaufen, ist es sehr wahrscheinlich, dass sie Kanten mit derselben Tiefe am Verbindungspunkt entsprechen. Wir können diese Erwartung darstellen, indem wir zusätzliche Verbindungen einführen, die solche zusammenfallenden 3D-Kanten unterstützen.

Darüber hinaus können wir das häufige Vorkommen rechtwinklig aneinanderstoßender 3D-Kanten ausnutzen. Indem wir stärkere Verbindungen zwischen zwei 3D-Kanten herstellen, die in der Tiefe übereinstimmen und einen rechten Winkel bilden, können wir ihre zusammenhängende Beziehung anzeigen. Diese Verbindungen, dargestellt durch dickere grüne Linien, geben Aufschluss darüber, wie Kanten in der Welt miteinander verbunden sind, und tragen zur Bildung eines zusammenhängenden 3D-Objekts bei. Unser Netzwerk enthält nun Wissen über die Anordnung von Kanten in der Welt und wie sie projiziert werden, um Linien im Bild zu erzeugen. Wenn wir ein Bild in dieses Netzwerk einspeisen, sollte es eine Interpretation generieren. Im Fall des von mir präsentierten Bildes gibt es zwei unterschiedliche Interpretationen, die als Necker-Würfel bekannt sind. Das Netzwerk würde zwei Energieminima aufweisen, die jeweils einer der möglichen Interpretationen des Necker-Würfels entsprechen.

Bitte beachten Sie, dass dieses Beispiel als Analogie dient, um das Konzept der Verwendung von Niedrigenergiezuständen zur Interpretation von Wahrnehmungsdaten zu verstehen. Die Konstruktion eines umfassenden Modells, das das Umdrehen des Necker-Würfels genau berücksichtigt, wäre erheblich komplexer als das hier beschriebene vereinfachte Szenario. Wenn wir uns dafür entscheiden, Niedrigenergiezustände zu verwenden, um fundierte Wahrnehmungsinterpretationen darzustellen, ergeben sich zwei zentrale Herausforderungen. Zunächst müssen wir uns mit der Frage der Suche befassen – wie wir verhindern können, dass versteckte Einheiten in schlechten lokalen Energieminima gefangen bleiben. Schlechte Minima spiegeln suboptimale Interpretationen basierend auf unserem aktuellen Modell und unseren Gewichtungen wider. Gibt es einen besseren Ansatz, als einfach von einem zufälligen Ausgangszustand aus die Energie abzusenken?

Die zweite Herausforderung ist noch gewaltiger: Wie lernt man die Gewichte der Verbindungen zwischen verborgenen Einheiten sowie zwischen sichtbaren und verborgenen Einheiten? Gibt es einen einfachen Lernalgorithmus zur Anpassung dieser Gewichtungen, wenn man bedenkt, dass es keinen externen Vorgesetzten gibt, der den Lernprozess leitet? Unser Ziel ist es, dass das Netzwerk Input erhält und sinnvolle Aktivitätsmuster in den verborgenen Einheiten konstruiert, die sinnvolle Interpretationen darstellen. Dies stellt eine erhebliche Herausforderung dar.

Zusammenfassend lässt sich sagen, dass die neuartige Nutzung von Hopfield-Netzen und ihrer Energiefunktion die Einbeziehung verborgener Einheiten erfordert, um Interpretationen von Wahrnehmungseingaben abzuleiten. Die Gewichte zwischen den Einheiten stellen Einschränkungen für gute Interpretationen dar, und die Suche nach Niedrigenergiezuständen ermöglicht es uns, günstige Interpretationen zu entdecken.

Allerdings gibt es Herausforderungen zu meistern. Die erste Herausforderung ist das Suchproblem, bei dem es darum geht, nicht in schlechte lokale Energieminima zu geraten. Diese Minima stellen suboptimale Interpretationen dar und es ist entscheidend, eine effiziente Suchmethode zu finden. Die zweite Herausforderung besteht darin, die Gewichtungen der Verbindungen zwischen verborgenen Einheiten sowie zwischen sichtbaren und verborgenen Einheiten zu lernen. Diese Aufgabe wird durch das Fehlen eines Vorgesetzten oder einer externen Anleitung erschwert. Um die Gewichte anzupassen, ist ein geeigneter Lernalgorithmus erforderlich, der es dem Netzwerk ermöglicht, sinnvolle Interpretationen sensorischer Eingaben zu konstruieren. Es ist wichtig zu beachten, dass das bereitgestellte Beispiel, das die Interpretation einer 2D-Linienzeichnung als 3D-Objekt beinhaltet, eine Analogie zur Veranschaulichung des Konzepts der Verwendung von Niedrigenergiezuständen für Interpretationen darstellt. Der Aufbau eines umfassenden Modells zur Handhabung komplexerer Wahrnehmungsphänomene würde komplexere Ansätze erfordern.

Im nächsten Video werden wir uns mit dem Suchproblem befassen und mögliche Lösungen untersuchen, um nicht in schlechten lokalen Minima der Energiefunktion gefangen zu sein.

Lecture 11.3 — Hopfield nets with hidden units [Neural Networks for Machine Learning]
Lecture 11.3 — Hopfield nets with hidden units [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 11.4 – Verwendung stochastischer Einheiten zur Verbesserung der Suche



Vorlesung 11.4 – Verwendung stochastischer Einheiten zur Verbesserung der Suche [Neuronale Netze für maschinelles Lernen]

In diesem Video erkläre ich, wie das Hinzufügen von Rauschen zu Systemen dazu beitragen kann, lokale Minima zu umgehen. Konkret zeige ich Ihnen, wie Sie Rauschen auf geeignete Weise in die Einheiten eines Hopfield-Netzes integrieren.

Ein Hopfield-Netz trifft immer Entscheidungen, die Energie reduzieren. Dies macht es schwierig, aus einem lokalen Minimum herauszuklettern. Wenn wir in einem lokalen Minimum gefangen sind, können wir die Energiebarriere nicht überwinden, um ein besseres Minimum zu erreichen.

Durch das Hinzufügen von zufälligem Rauschen können wir jedoch schlechten Minima entkommen, insbesondere solchen, die flach sind und keine signifikanten Energiebarrieren aufweisen. Die effektivste Strategie besteht darin, mit einem hohen Lärmpegel zu beginnen, um den Raum im groben Maßstab zu erkunden und allgemein gute Regionen zu finden. Wenn der Geräuschpegel abnimmt, verlagert sich der Fokus auf die besten nahegelegenen Minima.

Simulated Annealing ist eine Technik, die den Geräuschpegel schrittweise reduziert, um das System auf ein tiefes Minimum zu führen. Es nutzt die Temperatur in einem physikalischen oder simulierten System aus, wobei höhere Temperaturen die Energielandschaft abflachen und so das Überwinden von Barrieren erleichtern, während niedrigere Temperaturen das Verhältnis der Wahrscheinlichkeiten verbessern, um Übergänge von einem Minimum zum anderen zu begünstigen.

Um Rauschen in ein Hopfield-Netz einzuführen, ersetzen wir die binären Schwellenwerteinheiten durch binäre stochastische Einheiten, die voreingenommene Zufallsentscheidungen treffen. Der Geräuschpegel wird durch einen Parameter namens Temperatur gesteuert. Eine Erhöhung des Geräuschpegels entspricht einer Verringerung der Energielücken zwischen den Konfigurationen.

Es ist wichtig, das Konzept des thermischen Gleichgewichts im Zusammenhang mit Boltzmann-Maschinen zu verstehen. Bei einer festen Temperatur bezieht sich das thermische Gleichgewicht auf die Wahrscheinlichkeitsverteilung, die sich in einer stationären Verteilung einpendelt, die durch die Energiefunktion bestimmt wird. Die Wahrscheinlichkeit einer Konfiguration im thermischen Gleichgewicht ist proportional zu e hoch minus seiner Energie.

Um ein thermisches Gleichgewicht zu erreichen, müssen mehrere stochastische Systeme mit denselben Gewichten ausgeführt und stochastische Aktualisierungsregeln angewendet werden. Obwohl sich die Konfiguration einzelner Systeme ständig ändert, bleibt der Anteil der Systeme in jeder Konfiguration konstant. Dies ist vergleichbar mit dem Mischen von Kartenpaketen in einem großen Casino, bis die ursprüngliche Reihenfolge irrelevant wird und in jeder möglichen Reihenfolge die gleiche Anzahl von Paketen vorhanden ist.

Simulated Annealing ist eine leistungsstarke Methode zur Überwindung lokaler Optima, wird in diesem Kurs jedoch nicht weiter besprochen, da es vom Verständnis von Boltzmann-Maschinen ablenken kann. Stattdessen werden binäre stochastische Einheiten mit einer Temperatur von eins (Standard-Logistikfunktion) verwendet.

Das Hinzufügen von Rauschen zu Systemen wie Hopfield-Netzen und Boltzmann-Maschinen kann dazu beitragen, lokale Minima zu umgehen und günstigere Regionen zu erkunden. Der Geräuschpegel wird durch die Temperatur gesteuert, und um ein thermisches Gleichgewicht zu erreichen, bleibt der Anteil der Systeme in jeder Konfiguration konstant, während einzelne Systeme ständig ihren Zustand ändern.

Lecture 11.4 — Using stochastic units to improve search [Neural Networks for Machine Learning]
Lecture 11.4 — Using stochastic units to improve search [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 11.5 – Wie eine Boltzmann-Maschine Daten modelliert



Vorlesung 11.5 – Wie eine Boltzmann-Maschine Daten modelliert [Neuronale Netze für maschinelles Lernen]

In diesem Video erkläre ich, wie eine Boltzmann-Maschine binäre Datenvektoren modelliert. Zunächst werde ich die Gründe für die Modellierung binärer Datenvektoren und die möglichen Anwendungen eines solchen Modells diskutieren. Anschließend werde ich untersuchen, wie die Wahrscheinlichkeiten, die binären Datenvektoren zugewiesen werden, durch die Gewichte in einer Boltzmann-Maschine bestimmt werden.

Boltzmann-Maschinen, auch bekannt als stochastische Hopfield-Netze mit versteckten Einheiten, eignen sich effektiv für die Modellierung binärer Daten. Durch die Verwendung versteckter Einheiten können diese Maschinen ein Modell an einen Satz binärer Trainingsvektoren anpassen und jedem möglichen Binärvektor eine Wahrscheinlichkeit zuweisen.

Es gibt mehrere praktische Anwendungen für die Modellierung binärer Daten. Wenn Sie beispielsweise unterschiedliche Verteilungen binärer Vektoren haben, möchten Sie möglicherweise bestimmen, zu welcher Verteilung ein neuer binärer Vektor gehört. Indem Sie versteckte Einheiten verwenden, um die Verteilung für jeden Dokumenttyp zu modellieren, können Sie die wahrscheinlichste Dokumentklasse für einen bestimmten Binärvektor identifizieren.

Darüber hinaus können Boltzmann-Maschinen zur Überwachung komplexer Systeme und zur Erkennung ungewöhnlichen Verhaltens nützlich sein. Angenommen, Sie haben ein Kernkraftwerk mit binären Messwerten verschiedener Skalen, die den Zustand des Kraftwerks anzeigen. Anstatt sich auf überwachtes Lernen zu verlassen, das Beispiele gefährlicher Zustände erfordert, können Sie ein Modell normaler Zustände erstellen und Abweichungen von der Norm erkennen. Auf diese Weise können Sie ungewöhnliche Zustände identifizieren, ohne diese vorher zu kennen.

Um die A-posteriori-Wahrscheinlichkeit zu berechnen, dass eine bestimmte Verteilung die beobachteten Daten generiert hat, können Sie den Satz von Bayes verwenden. Angesichts der beobachteten Daten ist die Wahrscheinlichkeit, dass sie von einem bestimmten Modell stammen, die Wahrscheinlichkeit, dass das Modell diese Daten generieren würde, geteilt durch die Summe derselben Menge für alle Modelle.

Es gibt zwei Hauptansätze zur Generierung von Datenmodellen, insbesondere binären Vektoren. Beim Kausalmodellansatz werden zunächst die Zustände latenter Variablen generiert, die dann zur Generierung des Binärvektors verwendet werden. Dieses Modell basiert auf gewichteten Verbindungen und Vorurteilen zwischen den latenten und sichtbaren Einheiten. Die Faktorenanalyse ist ein Beispiel für ein Kausalmodell, das kontinuierliche Variablen verwendet.

Andererseits ist eine Boltzmann-Maschine ein energiebasiertes Modell, das keine kausalen Daten generiert. Stattdessen definiert es alles im Hinblick auf die Energien gemeinsamer Konfigurationen sichtbarer und verborgener Einheiten. Die Wahrscheinlichkeit einer gemeinsamen Konfiguration wird entweder direkt über die Energie definiert oder nach Aktualisierung der stochastischen Binäreinheiten prozedural berechnet, bis das thermische Gleichgewicht erreicht ist. Die Energie einer Gelenkkonfiguration besteht aus Bias-Termen, sichtbar-sichtbaren Wechselwirkungen, sichtbar-versteckten Wechselwirkungen und versteckt-verborgenen Wechselwirkungen.

Um die Wahrscheinlichkeiten verschiedener sichtbarer Vektoren zu berechnen, können wir ein Beispiel durcharbeiten. Indem wir alle möglichen Zustände der sichtbaren Einheiten aufschreiben, ihre negativen Energien berechnen, diese Energien potenzieren und die Wahrscheinlichkeiten normalisieren, können wir die Wahrscheinlichkeiten von Gelenkkonfigurationen und einzelnen sichtbaren Vektoren bestimmen.

Für größere Netzwerke ist die Berechnung der Partitionsfunktion aufgrund der exponentiellen Anzahl von Termen nicht möglich. In solchen Fällen können wir Markov-Ketten-Monte-Carlo-Methoden verwenden, um Stichproben aus dem Modell zu erhalten. Indem wir Einheiten stochastisch basierend auf ihren Energielücken aktualisieren, können wir die stationäre Verteilung erreichen und eine Stichprobe aus dem Modell erhalten. Die Wahrscheinlichkeit einer Probe ist proportional zu e der Potenz der negativen Energie.

Darüber hinaus könnten wir daran interessiert sein, Stichproben aus der Posterior-Verteilung über versteckte Konfigurationen bei gegebenem Datenvektor zu erhalten, was zum Lernen erforderlich ist. Durch die Verwendung der Markov-Kette Monte Carlo mit den an den Datenvektor geklemmten sichtbaren Einheiten können wir nur die verborgenen Einheiten aktualisieren und Stichproben aus der Posterior-Verteilung erhalten. Diese Informationen sind entscheidend, um gute Erklärungen für beobachtete Daten zu finden und Lernprozesse zu steuern.

Der Lernprozess in einer Boltzmann-Maschine umfasst die Anpassung der Gewichte und Verzerrungen, um die Anpassung des Modells an die Trainingsdaten zu verbessern. Dieser Lernprozess wird typischerweise durch einen Algorithmus namens kontrastive Divergenz erreicht.

Kontrastive Divergenz ist eine Näherungsmethode zur Schätzung des Gradienten der Log-Likelihood-Funktion. Dadurch können wir die Gewichte und Vorspannungen in der Boltzmann-Maschine effizient aktualisieren. Die Grundidee der kontrastiven Divergenz besteht darin, einige Schritte des Gibbs-Samplings durchzuführen, bei dem ausgehend von einem Datenvektor zwischen der Aktualisierung der verborgenen Einheiten und der Aktualisierung der sichtbaren Einheiten abgewechselt wird.

Um die verborgenen Einheiten zu aktualisieren, können wir ihre Zustände anhand der Wahrscheinlichkeiten abtasten, die durch die Energie der gemeinsamen Konfiguration sichtbarer und verborgener Einheiten bestimmt werden. Anschließend aktualisieren wir die sichtbaren Einheiten basierend auf den neuen Zuständen der ausgeblendeten Einheiten. Dieser Vorgang wird einige Iterationen lang wiederholt, bis die Markov-Kette ungefähr das Gleichgewicht erreicht.

Sobald wir eine Stichprobe aus der Posterior-Verteilung über verborgene Konfigurationen erhalten haben, können wir diese verwenden, um die positiven und negativen Assoziationen zwischen den sichtbaren und verborgenen Einheiten zu berechnen. Die positiven Assoziationen werden berechnet, indem das äußere Produkt des Datenvektors und der abgetasteten verborgenen Konfiguration verwendet wird. Die negativen Assoziationen werden auf ähnliche Weise berechnet, jedoch unter Verwendung der sichtbaren Einheiten, die aus dem Gibbs-Stichprobenverfahren erhalten wurden.

Indem wir die Differenz zwischen den positiven und negativen Assoziationen bilden, können wir den Gradienten der Log-Likelihood-Funktion berechnen. Dieser Gradient wird dann verwendet, um die Gewichte und Bias der Boltzmann-Maschine durch eine Lernregel, wie z. B. den stochastischen Gradientenabstieg, zu aktualisieren.

Der Lernprozess wird durch wiederholte Anwendung der kontrastiven Divergenz, Stichproben aus der Posterior-Verteilung und Aktualisierung der Gewichtungen und Verzerrungen fortgesetzt. Mit der Zeit lernt die Boltzmann-Maschine, die zugrunde liegenden Muster und Verteilungen in den Trainingsdaten zu erfassen.

Es ist wichtig zu beachten, dass das Training einer Boltzmann-Maschine eine anspruchsvolle Aufgabe sein kann, insbesondere für große Netzwerke mit vielen versteckten Einheiten. Die Rechenkomplexität steigt exponentiell mit der Anzahl der Einheiten, was es schwierig macht, exakte Berechnungen durchzuführen. Näherungsmethoden wie die kontrastive Divergenz bieten jedoch eine praktische Lösung für das Lernen in Boltzmann-Maschinen.

Das Lernen in einer Boltzmann-Maschine beinhaltet die Anpassung der Gewichte und Verzerrungen durch kontrastive Divergenz, die sich dem Gradienten der Log-Likelihood-Funktion annähert. Durch iterative Stichproben aus der Posterior-Verteilung und Aktualisierung der Modellparameter kann die Boltzmann-Maschine lernen, die zugrunde liegenden Muster in den Binärdaten zu modellieren.

Lecture 11.5 — How a Boltzmann machine models data [Neural Networks for Machine Learning]
Lecture 11.5 — How a Boltzmann machine models data [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 12.1 – Boltzmann maschinelles Lernen



Vorlesung 12.1 – Boltzmann maschinelles Lernen [Neuronale Netze für maschinelles Lernen]

Im vorherigen Video habe ich gezeigt, wie eine Boltzmann-Maschine als probabilistisches Modell für binäre Datenvektoren verwendet werden kann. Schauen wir uns nun den Boltzmann-Algorithmus für maschinelles Lernen genauer an.

Anfangs war der maschinelle Lernalgorithmus von Boltzmann langsam und laut, was ihn unpraktisch machte. Es wurden jedoch mehrere Techniken entwickelt, um den Algorithmus erheblich zu beschleunigen und ihn praktischer und effektiver zu machen. Tatsächlich wurde es erfolgreich in einem Millionen-Dollar-Wettbewerb für maschinelles Lernen eingesetzt.

Der Boltzmann-Algorithmus für maschinelles Lernen ist ein unbeaufsichtigter Lernalgorithmus, das heißt, er erfordert keine gekennzeichneten Daten. Stattdessen zielt es darauf ab, ein Modell einer Reihe von Eingabevektoren (oder Ausgabevektoren) zu erstellen, indem das Produkt der Wahrscheinlichkeiten maximiert wird, das die Boltzmann-Maschine den Trainingsvektoren zuordnet. Dies kann auch dadurch erreicht werden, dass die Summe der Log-Wahrscheinlichkeiten oder die Wahrscheinlichkeit, die Trainingsfälle zu erhalten, maximiert wird.

Um die Boltzmann-Maschine zu trainieren, folgen wir einem Prozess, bei dem wir uns mehrmals ohne externe Eingabe auf eine stationäre Verteilung einstellen. Anschließend tasten wir den sichtbaren Vektor ab und wiederholen diesen Vorgang mehrmals, um Stichproben aus der hinteren Verteilung zu erhalten.

Das Lernen in der Boltzmann-Maschine kann aufgrund der Wechselwirkungen zwischen den Gewichten eine Herausforderung sein. Jedes Gewicht muss über andere Gewichte Bescheid wissen, um die geeignete Richtung für die Änderung zu bestimmen. Überraschenderweise reicht ein einfacher Lernalgorithmus aus, der nur lokale Informationen verwendet. Die Lernregel basiert auf der Differenz zweier Korrelationen und erfasst die für Gewichtsaktualisierungen erforderlichen Informationen.

Die Lernregel besteht aus zwei Begriffen. Der erste Term erhöht die Gewichte proportional zum Produkt der bei der Darstellung der Daten beobachteten Einheitsaktivitäten. Dieser Begriff ähnelt dem Speicherbegriff in einem Hopfield-Netzwerk. Ohne Kontrolle würden die Gewichte jedoch weiter zunehmen, was zu Instabilität führen würde. Der zweite Term verringert die Gewichtungen proportional zum Produkt der Einheitsaktivitäten, wenn Stichproben aus der Modellverteilung entnommen werden. Dieser Begriff trägt dazu bei, störende Minima zu beseitigen und die Stabilität aufrechtzuerhalten.

Die Ableitung der logarithmischen Wahrscheinlichkeit eines sichtbaren Vektors nach einem Gewicht ist bemerkenswert einfach. Sie kann als Produkt der beiden verbundenen Einheitsaktivitäten ausgedrückt werden. Diese Einfachheit ergibt sich aus der linearen Beziehung zwischen logarithmischen Wahrscheinlichkeiten und der Energiefunktion, die wiederum in den Gewichten linear ist.

Die negative Phase im Lernprozess dient dazu, bestimmte Konfigurationen zu verlernen oder deren Einfluss zu reduzieren. Es konzentriert sich darauf, die Energie von Termen zu verringern, die wesentlich zur Partitionsfunktion beitragen, und so deren Auswirkungen zu verringern.

Um die für die Lernregel erforderlichen Statistiken zu sammeln, wird üblicherweise eine Methode namens kontrastive Divergenz verwendet. In der positiven Phase werden Datenvektoren auf die sichtbaren Einheiten festgelegt und verborgene Einheiten aktualisiert, bis das thermische Gleichgewicht erreicht ist. Die Korrelationen zwischen Einheitenpaaren werden dann abgetastet und über alle Datenvektoren gemittelt. In der negativen Phase werden keine Daten geklemmt und das Netzwerk kann sich ohne äußere Einmischung ins Gleichgewicht bringen. Die Korrelationen zwischen Einheitenpaaren werden erneut mehrfach abgetastet.

Die Bestimmung der Anzahl der in der negativen Phase erforderlichen Iterationen kann eine Herausforderung sein, da die Energielandschaft der Boltzmann-Maschine mehrere Modi enthalten kann. Diese Modi stellen unterschiedliche Konfigurationen mit ähnlichen Energieniveaus dar und eine wiederholte Abtastung ist erforderlich, um sie effektiv zu erfassen.

Beim Umgang mit einer Boltzmann-Maschine ist es wichtig, die Anzahl der erforderlichen Wiederholungen in der Negativphase zu berücksichtigen. Da in der Energielandschaft mehrere Modi vorhanden sind, muss der Algorithmus umfangreiche Stichproben durchführen, um sicherzustellen, dass alle Modi angemessen dargestellt werden.

Der Lernprozess in einer Boltzmann-Maschine umfasst die iterative Aktualisierung der Gewichte basierend auf den Korrelationen, die aus den positiven und negativen Phasen erhalten wurden. Durch den Vergleich der Korrelationen in diesen Phasen kann der Algorithmus die Gewichte anpassen, um die Darstellung der Daten durch das Modell zu verbessern.

Ein wichtiger Aspekt ist, dass der Boltzmann-Algorithmus für maschinelles Lernen eine Form des hebräischen Lernens ist. Es folgt dem von Donald Hebb in den 1940er oder 1950er Jahren vorgeschlagenen Prinzip und besagt, dass Synapsen im Gehirn die Verbindungen zwischen Neuronen aufgrund ihrer Koaktivierung stärken. In der Boltzmann-Maschine erhöht die positive Phase die Gewichte proportional zum Produkt der während der Datenpräsentation beobachteten Einheitenaktivitäten, ähnlich der Idee von Hebb.

Ohne einen Ausgleichsmechanismus würden die Gewichte jedoch unbegrenzt weiter wachsen, was zu Instabilität führen würde. Die negative Phase dient diesem Zweck, indem die Gewichtungen basierend auf dem Produkt der Einheitsaktivitäten bei der Stichprobe aus der Modellverteilung reduziert werden. Dieses Gleichgewicht stellt sicher, dass die Boltzmann-Maschine während des Lernprozesses stabil bleibt.

Es ist erwähnenswert, dass der Boltzmann-Algorithmus für maschinelles Lernen über theoretische Grundlagen in Bezug auf Energiefunktionen und Wahrscheinlichkeitsverteilungen verfügt. Die Wahrscheinlichkeit einer globalen Konfiguration im thermischen Gleichgewicht folgt einer Exponentialfunktion ihrer Energie. Die lineare Beziehung zwischen den Gewichten und der logarithmischen Wahrscheinlichkeit ermöglicht einfache Ableitungsberechnungen und erleichtert effiziente Gewichtsaktualisierungen.

Der Boltzmann-Algorithmus für maschinelles Lernen ist ein unbeaufsichtigter Lernansatz, der darauf abzielt, ein Modell von Eingabe- oder Ausgabevektoren zu erstellen. Durch Maximierung der den Trainingsvektoren zugewiesenen Wahrscheinlichkeiten passt der Algorithmus die Gewichte mithilfe einer Kombination aus positiven und negativen Korrelationen an. Dieser Lernprozess hilft der Boltzmann-Maschine zusammen mit Techniken wie der kontrastiven Divergenz, komplexe Muster in den Daten zu erfassen.

Lecture 12.1 — Boltzmann machine learning [Neural Networks for Machine Learning]
Lecture 12.1 — Boltzmann machine learning [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 12.2 – Effizientere Möglichkeiten, Statistiken zu erhalten [Neuronale Netze für maschinelles Lernen


Vorlesung 12.2 – Effizientere Möglichkeiten, Statistiken zu erhalten [Neuronale Netze für maschinelles Lernen

In diesem Video liefert der Redner detaillierte Informationen darüber, wie der Boltzmann-Algorithmus für maschinelles Lernen beschleunigt werden kann, indem er clevere Techniken einsetzt, um Markov-Ketten nahe der Gleichgewichtsverteilung zu halten, und Mean-Field-Methoden verwendet. Der Redner räumt zwar ein, dass das Material fortgeschrittener Natur ist und nicht Teil des Lehrplans ist, versichert den Zuschauern jedoch, dass sie dieses Video überspringen können, es sei denn, sie haben ein großes Interesse an der Optimierung tiefer Boltzmann-Maschinen.

Der Referent erörtert die Herausforderungen, die mit dem Erreichen des thermischen Gleichgewichts verbunden sind, wenn man von einem zufälligen Zustand ausgeht, da dies eine beträchtliche Zeit in Anspruch nehmen kann. Darüber hinaus gibt es keine einfache Möglichkeit festzustellen, ob das thermische Gleichgewicht erreicht wurde. Um dieses Problem anzugehen, schlägt der Sprecher vor, mit dem Zustand zu beginnen, der in der vorherigen Iteration für einen bestimmten Datenvektor erhalten wurde. Dieser gespeicherte Zustand, der als „Partikel“ bezeichnet wird, dient als Interpretation des Datenvektors in den verborgenen Einheiten und bietet einen Warmstartvorteil. Wenn die Gewichte nur minimal aktualisiert wurden, sind nur wenige Aktualisierungen der Einheiten in einem Partikel erforderlich, um es wieder ins Gleichgewicht zu bringen. Partikel können sowohl für die positive Phase (wenn ein Datenfaktor geklemmt ist) als auch für die negative Phase (wenn nichts geklemmt ist) verwendet werden.

Um Statistiken effizient zu sammeln, stellt der Referent eine Methode von Radford Neal aus dem Jahr 1992 vor. In der positiven Phase werden datenspezifische Partikel eingesetzt, wobei jedes Partikel eine Konfiguration verborgener Einheiten zusammen mit dem zugehörigen Datenvektor darstellt. Sequentielle Aktualisierungen werden an den verborgenen Einheiten in jedem Partikel durchgeführt, wobei der relevante Datenvektor festgehalten wird. Die Wahrscheinlichkeiten verbundener Einheitspaare werden dann über alle Partikel gemittelt. In der negativen Phase werden Fantasiepartikel genutzt, die globale Konfigurationen darstellen. Nach jeder Gewichtsaktualisierung werden die Einheiten in jedem Fantasiepartikel nacheinander aktualisiert. Auch hier werden die Wahrscheinlichkeiten verbundener Einheitenpaare über alle Fantasieteilchen gemittelt. Die Lernregel ist definiert als die Änderung der Gewichte, proportional zur Differenz zwischen den mit Daten und Fantasiepartikeln erhaltenen Durchschnittswerten.

Während diese Lernregel für das vollständige Batch-Lernen gut funktioniert, ist ihre Anwendung auf Mini-Batches mit Herausforderungen verbunden. Aufgrund mehrfacher Gewichtsaktualisierungen beim Mini-Batch-Lernen befinden sich die gespeicherten datenspezifischen Partikel für jeden Datenvektor möglicherweise nicht mehr annähernd im thermischen Gleichgewicht. Um dieses Problem zu lösen, schlägt der Redner die Annahme vor, dass die Menge der guten Erklärungen (Zustände versteckter Einheiten, die einen Datenvektor interpretieren) unimodal ist, wenn ein Datenvektor geklemmt wird. Diese Annahme ermöglicht die Verwendung einer Mean-Field-Näherung, die eine effiziente Methode zur Annäherung an das thermische Gleichgewicht oder eine Annäherung daran anhand der Daten bietet.

Um effizientes Mini-Batch-Lernen in Boltzmann-Maschinen zu implementieren, schlägt der Referent die Verwendung einer speziellen Architektur namens Deep Boltzmann Machine vor. In dieser Architektur werden abwechselnd parallele Aktualisierungen für die Fantasiepartikel durchgeführt, indem Schichten ohne Verbindungen zugelassen und Verbindungen übersprungener Schichten weggelassen werden. Indem nur die Hälfte der Zustände aller Einheiten parallel aktualisiert wird, können effiziente Aktualisierungen erreicht werden.

Der Redner diskutiert die erfolgreiche Anwendung tiefer Boltzmann-Maschinen, die das mittlere Feld für das Lernen in der positiven Phase und abwechselnde Aktualisierungen von Schichten für die negative Phase verwenden. Russ Salakhutdinov beispielsweise nutzte diesen Ansatz zur Modellierung von MNIST-Ziffern, und die generierten Daten ähnelten stark dem tatsächlichen MNIST-Datensatz.

Darüber hinaus geht der Referent auf die Herausforderung ein, negative Statistiken anhand einer begrenzten Anzahl negativer Beispiele (Fantasiepartikel) zu schätzen. Typischerweise ist der globale Konfigurationsraum für interessante Probleme hochgradig multimodal. Der Lernprozess interagiert jedoch mit der Markov-Kette, die zum Sammeln negativer Statistiken verwendet wird, und erhöht so effektiv deren Mischrate. Der Sprecher erklärt, dass, wenn die Fantasieteilchen in einem Modus der Energieoberfläche zahlreicher sind als die positiven Daten, die Energie erhöht wird, was dazu führt, dass die Teilchen diesem Modus entkommen. Diese Interaktion zwischen Lernen und der Markov-Kette ermöglicht die Erforschung mehrerer Modi, selbst mit einer begrenzten Anzahl von Partikeln.

Diese Eigenschaft des Lernalgorithmus, bei dem die Energieoberfläche manipuliert wird, um die Mischungsrate der Markov-Kette zu erhöhen, ist ein entscheidender Aspekt der Wirksamkeit der Boltzmann-Maschine. Der Lernprozess treibt die Fantasieteilchen aktiv dazu an, verschiedene Modi der Energieoberfläche zu erkunden, wodurch das Modell lokalen Minima entkommen kann, die die Markov-Kette allein in angemessener Zeit nur schwer überwinden könnte.

Um dieses Konzept weiter zu veranschaulichen, stellen Sie sich die Energieoberfläche als eine Landschaft mit Tälern und Hügeln vor, die verschiedene Modi darstellen. Die Fantasiepartikel fungieren als Entdecker, die durch diese Landschaft navigieren. Anfänglich können einige Moden im Vergleich zu den verfügbaren Daten eine höhere Konzentration an Fantasieteilchen aufweisen, was zu einer erhöhten Energieoberfläche in diesen Regionen führt. Der Lernalgorithmus erkennt diese Diskrepanz und hebt die Energieoberfläche an, wodurch effektiv Barrieren entstehen, die die Bewegung der Partikel behindern.

Durch die Erhöhung der Energieoberfläche ermutigt der Lernalgorithmus die Fantasieteilchen, sich von überbevölkerten Modi zu entfernen und nach alternativen Modi mit weniger Teilchen zu suchen. Während sie verschiedene Regionen der Energielandschaft erkunden, entkommen die Teilchen schließlich den ursprünglich vorherrschenden Moden und verteilen sich auf mehrere Moden, die eher der Datenverteilung entsprechen.

Dieser Prozess ermöglicht es der Boltzmann-Maschine, verschiedene Modi der Energieoberfläche aufzudecken und so die komplexe multimodale Struktur der zugrunde liegenden Datenverteilung effektiv zu erfassen. Während es für die Markov-Kette allein schwierig sein könnte, lokalen Minima zu entkommen, ermöglicht die aktive Manipulation der Energieoberfläche durch den Lernalgorithmus die Erforschung verschiedener Modi, was zu einer genaueren Darstellung der Daten führt.

Zusammenfassend ist die Interaktion zwischen dem Lernalgorithmus und der Markov-Kette, die zum Sammeln negativer Statistiken verwendet wird, ein Schlüsselfaktor für die Wirksamkeit der Boltzmann-Maschine. Der Lernprozess passt die Energieoberfläche dynamisch an und ermutigt die Fantasieteilchen, verschiedene Modi zu erkunden und lokalen Minima zu entkommen. Diese Fähigkeit, die Energielandschaft zu erkunden, verbessert die Fähigkeit des Modells, die komplexe Verteilung der zugrunde liegenden Daten zu erfassen, was zu einer verbesserten Leistung und genaueren Darstellungen der Daten führt.

Lecture 12.2 — More efficient ways to get the statistics [Neural Networks for Machine Learning]
Lecture 12.2 — More efficient ways to get the statistics [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...