Maschinelles Lernen und neuronale Netze - Seite 59

 

Vorlesung 14.4 – Modellierung reeller Daten mit einem RBM



Vorlesung 14.4 – Modellierung realer Daten mit einem RBM [Neuronale Netze für maschinelles Lernen]

Ich werde beschreiben, wie man eine Restricted Boltzmann Machine (RBM) zur Modellierung reeller Daten verwendet. Bei diesem Ansatz werden die sichtbaren Einheiten von binären stochastischen Einheiten in lineare Einheiten mit Gauß-Rauschen umgewandelt. Um Lernherausforderungen zu bewältigen, werden die verborgenen Einheiten als gleichgerichtete lineare Einheiten festgelegt.

Das Erlernen eines RBM für realwertige Daten ist relativ einfach. Ursprünglich wurden RBMs mit Bildern handgeschriebener Ziffern verwendet, bei denen Wahrscheinlichkeiten mittlere Intensitäten darstellten, die durch teilweise eingefärbte Pixel verursacht wurden. Diese Wahrscheinlichkeiten im Bereich von 0 bis 1 modellierten die Wahrscheinlichkeit, dass eine Logistikeinheit aktiviert wird. Diese Näherung funktionierte gut für teilweise eingefärbte Pixel, obwohl sie technisch falsch ist.

Bei realen Bildern liegt die Intensität eines Pixels jedoch typischerweise nahe an der durchschnittlichen Intensität seiner Nachbarpixel. Eine Logistikeinheit kann dieses Verhalten nicht genau darstellen. Mittlere Feldlogistikeinheiten haben Schwierigkeiten, die feinkörnigen Intensitätsunterschiede zu erfassen. Um dieses Problem zu beheben, werden lineare Einheiten mit Gauß-Rauschen verwendet, um Pixelintensitäten als Gauß-Variablen zu modellieren.

Alternierendes Gibbs-Sampling, das beim kontrastiven Divergenzlernen verwendet wird, kann weiterhin zum Ausführen der Markov-Kette angewendet werden. Allerdings ist eine geringere Lernrate erforderlich, um Instabilität zu verhindern. Die in der RBM-Gleichung verwendete Energiefunktion besteht aus einem parabolischen Einschlussterm, der eine Explosion verhindert, und einem interaktiven Term zwischen sichtbaren und verborgenen Einheiten.

Der interaktive Term stellt den Beitrag versteckter Einheiten zur Energiefunktion dar. Durch Differenzieren des Termes erhält man einen konstanten Gradienten. Der kombinierte Effekt der parabolischen Eindämmungsfunktion und des Top-Down-Beitrags der verborgenen Einheiten führt zu einer parabolischen Funktion mit einem Mittelwert, der von der Tendenz der sichtbaren Einheit weg verschoben ist.

Das Lernen mit Gauß-binären RBMs bringt jedoch Herausforderungen mit sich. Es ist schwierig, enge Varianzen für die sichtbaren Einheiten zu lernen. Wenn die Standardabweichung einer sichtbaren Einheit klein ist, werden die Bottom-up-Effekte übertrieben, während die Top-down-Effekte abgeschwächt werden. Dies führt dazu, dass verborgene Einheiten gesättigt sind und fest ein- oder ausgeschaltet sind, was den Lernprozess stört.

Um dieses Problem zu lösen, ist eine größere Anzahl versteckter Einheiten im Vergleich zu sichtbaren Einheiten erforderlich. Dadurch können kleine Gewichte zwischen den sichtbaren und verborgenen Einheiten aufgrund der Fülle an verborgenen Einheiten einen erheblichen Top-Down-Effekt haben. Darüber hinaus sollte sich die Anzahl der verborgenen Einheiten ändern, wenn die Standardabweichung der sichtbaren Einheiten abnimmt.

Um dies zu erreichen, werden abgestufte Sigmoideinheiten eingeführt. Diese Einheiten sind mehrere Kopien jeder versteckten stochastischen binären Einheit, jede mit den gleichen Gewichten und Bias, aber einem festen Offset zum Bias. Dieser Versatz variiert zwischen Mitgliedern der Familie der Sigmoid-Einheiten, was zu einer Reaktionskurve führt, die mit zunehmender Gesamteingabe linear ansteigt. Dieser Ansatz bietet mehr Top-Down-Effekte, um sichtbare Einheiten mit kleinen Standardabweichungen zu steuern.

Obwohl die Verwendung einer großen Population binärer stochastischer Einheiten mit Offset-Bias rechenintensiv sein kann, können schnelle Näherungen vorgenommen werden, die zu ähnlichen Ergebnissen führen. Diese Näherungen beinhalten die Annäherung der Summe der Aktivitäten der Sigmoideinheiten mit Offset-Vorspannungen als Logarithmus von 1 plus der Exponentialfunktion der Gesamteingabe. Alternativ können gleichgerichtete lineare Einheiten verwendet werden, die schneller zu berechnen sind und Skalenäquivarianz aufweisen, wodurch sie für Bilddarstellungen geeignet sind.

Gleichgerichtete lineare Einheiten haben die Eigenschaft der Skalenäquivarianz, was bedeutet, dass, wenn die Pixelintensitäten in einem Bild mit einem Skalar multipliziert werden, die Aktivitäten der verborgenen Einheiten ebenfalls um denselben Faktor skaliert werden. Diese Eigenschaft ähnelt der translatorischen Äquivarianz, die Convolutional Neural Networks (CNNs) aufweisen. In CNNs führt das Verschieben eines Bildes zu einer verschobenen Darstellung in jeder Schicht, ohne das Gesamtverhalten des Netzwerks wesentlich zu beeinflussen.

Durch die Verwendung von RBMs mit linearen Einheiten und gleichgerichteten linearen Einheiten wird es möglich, realwertige Daten effektiv zu modellieren.

Lecture 14.4 — Modeling real valued data with an RBM [Neural Networks for Machine Learning]
Lecture 14.4 — Modeling real valued data with an RBM [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 14.5 – RBMs sind unendliche Sigmoid-Glaubensnetze



Vorlesung 14.5 – RBMs sind unendliche Sigmoid-Glaubensnetze [Neuronale Netze für maschinelles Lernen]

In diesem Video besprechen wir fortgeschrittenes Material im Zusammenhang mit den Ursprüngen des Deep Learning und den mathematischen Aspekten tiefer neuronaler Netze. Wir untersuchen die Beziehung zwischen eingeschränkten Boltzmann-Maschinen (RBMs) und unendlich tiefen Sigmoid-Glaubensnetzen mit gemeinsamen Gewichten.

RBMs können als Sonderfall von Sigmoid-Glaubensnetzen angesehen werden, wobei das RBM einem unendlich tiefen Netz mit gemeinsamen Gewichten entspricht. Durch das Verständnis der Äquivalenz zwischen RBMs und unendlich tiefen Netzen gewinnen wir Einblicke in die Wirksamkeit des schichtweisen Lernens und der kontrastiven Divergenz.

Die zur Stichprobe aus einem RBM verwendete Markov-Kette entspricht der Stichprobe aus der Gleichgewichtsverteilung eines unendlich tiefen Netzes. Die Inferenz im unendlich tiefen Netz wird durch die Implementierung eines komplementären Prior vereinfacht, der durch Wegerklären verursachte Korrelationen aufhebt. Dies vereinfacht den Inferenzprozess auf jeder Schicht des Netzes.

Der Lernalgorithmus für Sigmoid-Glaubensnetze kann verwendet werden, um den Lernalgorithmus für RBMs abzuleiten. Indem wir die Gewichte des Netzes binden und die Gewichte der unteren Schicht einfrieren, können wir die verbleibenden Schichten als RBMs lernen. Dieser als kontrastive Divergenzlernen bekannte Prozess liefert eine Variationsgrenze für die logarithmische Wahrscheinlichkeit der Daten.

Beim kontrastiven Divergenzlernen schneiden wir die höheren Ableitungen der Gewichte ab, da die Markov-Kettenmischung schnell ist und die höheren Schichten sich der Gleichgewichtsverteilung nähern. Wenn die Gewichte größer werden, ist es notwendig, mehr Iterationen der kontrastiven Divergenz durchzuführen. Zum Lernen mehrerer Merkmalsebenen in einem Stapel von RBMs ist jedoch CD eins (einstufige kontrastive Divergenz) ausreichend und möglicherweise sogar besser als das Maximum-Likelihood-Lernen.

Das Verständnis der Beziehung zwischen RBMs und unendlich tiefen Sigmoid-Glaubensnetzen liefert wertvolle Einblicke in die Funktionsweise tiefer neuronaler Netze und die Wirksamkeit des schichtweisen Lernens und der kontrastiven Divergenz.

Lecture 14.5 — RBMs are infinite sigmoid belief nets [Neural Networks for Machine Learning]
Lecture 14.5 — RBMs are infinite sigmoid belief 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 15.1 – Von PCA zu Autoencodern



Vorlesung 15.1 – Von PCA zu Autoencodern [Neuronale Netze für maschinelles Lernen]

Die Hauptkomponentenanalyse (PCA) ist eine weit verbreitete Technik in der Signalverarbeitung, die darauf abzielt, hochdimensionale Daten mithilfe eines niedrigdimensionalen Codes darzustellen. Die Schlüsselidee hinter PCA besteht darin, eine lineare Mannigfaltigkeit im hochdimensionalen Raum zu finden, in dem die Daten liegen. Indem wir die Daten auf diese Mannigfaltigkeit projizieren, können wir ihre Position auf der Mannigfaltigkeit darstellen und dabei nur minimale Informationen verlieren.

PCA kann effizient mit Standardmethoden oder weniger effizient mithilfe eines neuronalen Netzwerks mit linearen versteckten Einheiten und Ausgabeeinheiten implementiert werden. Der Vorteil der Verwendung eines neuronalen Netzwerks besteht in der Möglichkeit, die Technik auf tiefe neuronale Netzwerke zu übertragen, bei denen der Code und die Datenrekonstruktion zu nichtlinearen Funktionen der Eingabe werden. Dadurch können wir gekrümmte Mannigfaltigkeiten im Eingaberaum verarbeiten, was zu einer leistungsfähigeren Darstellung führt.

Bei PCA zielen wir darauf ab, n-dimensionale Daten mit weniger als n Zahlen darzustellen. Indem wir m orthogonale Richtungen mit der größten Varianz, sogenannte Hauptrichtungen, identifizieren, ignorieren wir Richtungen mit geringer Variation. Diese m Hauptrichtungen bilden einen Unterraum niedrigerer Dimension, und wir stellen einen n-dimensionalen Datenpunkt dar, indem wir ihn auf diese Richtungen im Raum niedrigerer Dimension projizieren. Obwohl Informationen über die Position des Datenpunkts in den orthogonalen Richtungen verloren gehen, sind sie aufgrund ihrer geringen Varianz nicht signifikant.

Um einen Datenpunkt aus seiner Darstellung mit m Zahlen zu rekonstruieren, verwenden wir den Mittelwert für die nicht dargestellten Richtungen (n – m). Der Rekonstruktionsfehler wird als quadrierte Differenz zwischen dem Wert des Datenpunkts in den nicht dargestellten Richtungen und dem Mittelwert in diesen Richtungen berechnet.

Um PCA mithilfe von Backpropagation zu implementieren, können wir ein neuronales Netzwerk mit einer Engpassschicht mit m versteckten Einheiten erstellen, die die Hauptkomponenten darstellen. Das Ziel des Netzwerks besteht darin, den quadratischen Fehler zwischen der Eingabe und der rekonstruierten Ausgabe zu minimieren. Wenn die verborgenen Einheiten und die Ausgabeeinheiten linear sind, lernt das Netzwerk Codes, die den Rekonstruktionsfehler minimieren, ähnlich wie bei PCA. Die verborgenen Einheiten entsprechen jedoch möglicherweise nicht genau den Hauptkomponenten und weisen möglicherweise eine Drehung und Schrägstellung der Achsen auf. Dennoch ist der von den eingehenden Gewichtsvektoren der Codeeinheit aufgespannte Raum derselbe wie der von den m Hauptkomponenten aufgespannte Raum.

Die Verwendung von Backpropagation in einem neuronalen Netzwerk ermöglicht die Verallgemeinerung von PCA durch die Einbindung nichtlinearer Schichten vor und nach der Codeschicht. Dies ermöglicht die Darstellung von Daten, die auf gekrümmten Mannigfaltigkeiten in hochdimensionalen Räumen liegen, was den Ansatz vielseitiger macht. Das Netzwerk besteht aus einem Eingabevektor, nichtlinearen versteckten Einheiten, einer Codeschicht (die linear sein kann), zusätzlichen nichtlinearen versteckten Einheiten und einem Ausgabevektor, der so trainiert ist, dass er dem Eingabevektor ähnelt.

Die Hauptkomponentenanalyse ist eine Technik zur Darstellung hochdimensionaler Daten mithilfe eines niedrigdimensionalen Codes durch Identifizierung von Hauptrichtungen mit hoher Varianz. Es kann effizient mit herkömmlichen Methoden oder weniger effizient mit einem neuronalen Netzwerk implementiert werden. Die neuronale Netzversion ermöglicht die Verallgemeinerung auf tiefe neuronale Netze und die Darstellung von Daten auf gekrümmten Mannigfaltigkeiten.

Lecture 15.1 — From PCA to autoencoders [Neural Networks for Machine Learning]
Lecture 15.1 — From PCA to autoencoders [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 15.2 – Deep Autoencoder



Vorlesung 15.2 – Deep Autoencoder [Neuronale Netze für maschinelles Lernen]

Deep Autoencoder haben die Dimensionsreduktion revolutioniert, indem sie die Fähigkeiten linearer Techniken wie der Hauptkomponentenanalyse übertreffen. Ihre Fähigkeit, komplexe, nichtlineare Beziehungen innerhalb der Daten zu erfassen, hat sie zu einem unschätzbar wertvollen Werkzeug in verschiedenen Bereichen gemacht.

Im Fall des von Salakhutdinov und Hinton implementierten tiefen Autoencoders weisen die rekonstruierten Ziffern im Vergleich zu ihren Gegenstücken mit linearen Hauptkomponenten eine überlegene Qualität auf. Diese Verbesserung ergibt sich aus der Fähigkeit des Deep Autoencoders, durch seine mehreren verborgenen Schichten eine Hierarchie zunehmend abstrakter Darstellungen zu erlernen. Jede Ebene erfasst übergeordnete Merkmale, die zu einer originalgetreueren Rekonstruktion der Eingabedaten beitragen.

Die Stärke tiefer Autoencoder liegt in ihrer Fähigkeit, hoch ausdrucksstarke Zuordnungen sowohl in der Kodierungs- als auch in der Dekodierungsrichtung zu erlernen. Der Encoder ordnet die hochdimensionalen Eingabedaten einer niedrigerdimensionalen Codedarstellung zu und erfasst so effektiv die hervorstechendsten Merkmale. Andererseits rekonstruiert der Decoder die ursprüngliche Eingabe aus dieser komprimierten Codedarstellung. Diese bidirektionale Zuordnung stellt sicher, dass wertvolle Informationen während des Dimensionsreduktionsprozesses erhalten bleiben.

Das Training tiefer Autoencoder war aufgrund des Problems des verschwindenden Gradienten zunächst eine Herausforderung. Allerdings ist der Trainingsprozess mit Fortschritten bei Optimierungstechniken, wie z. B. unbeaufsichtigten Vortrainings- und Gewichtsinitialisierungsstrategien, viel effizienter und effektiver geworden. Diese Methoden ermöglichen es dem Deep Autoencoder, aussagekräftige Darstellungen zu lernen, ohne in suboptimalen Lösungen stecken zu bleiben.

Darüber hinaus haben tiefe Autoencoder den Weg für die Entwicklung fortschrittlicherer Architekturen geebnet, wie etwa Variations-Autoencoder und generative kontradiktorische Netzwerke. Diese Modelle erweitern die Fähigkeiten tiefer Autoencoder, indem sie probabilistische und kontradiktorische Lerntechniken integrieren und Aufgaben wie Datengenerierung, Anomalieerkennung und halbüberwachtes Lernen ermöglichen.

Zusammenfassend lässt sich sagen, dass tiefe Autoencoder die Dimensionsreduktion revolutioniert haben, indem sie flexible und nichtlineare Abbildungen bereitstellen, die herkömmliche lineare Techniken übertreffen. Ihre Fähigkeit, hierarchische Darstellungen zu erlernen und qualitativ hochwertige Daten zu rekonstruieren, hat ihnen eine herausragende Position im Bereich Deep Learning eingebracht. Durch kontinuierliche Forschung und Entwicklung wird erwartet, dass Deep Autoencoder weitere Möglichkeiten zum Verständnis und zur Manipulation komplexer Datenstrukturen in verschiedenen Bereichen eröffnen.

Lecture 15.2 — Deep autoencoders [Neural Networks for Machine Learning]
Lecture 15.2 — Deep autoencoders [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 15.3 – Deep Autoencoder für den Dokumentenabruf



Vorlesung 15.3 – Deep Autoencoder für den Dokumentenabruf [Neuronale Netze für maschinelles Lernen]

In diesem Video wird die Anwendung tiefer Autoencoder beim Dokumentenabruf besprochen. Eine frühere Methode namens latente semantische Analyse nutzte die Hauptkomponentenanalyse (PCA) für aus Dokumenten extrahierte Wortzahlvektoren, um die Ähnlichkeit von Dokumenten zu bestimmen und das Abrufen zu erleichtern. Das Potenzial tiefer Autoencoder, PCA bei dieser Aufgabe zu übertreffen, führte jedoch zu weiteren Untersuchungen.

Untersuchungen von Russ Salakhutdinov haben gezeigt, dass tiefe Autoencoder bei der Anwendung auf eine große Dokumentendatenbank tatsächlich eine bessere Leistung bei der latenten semantischen Analyse erbringen. Selbst wenn die Dimensionalität der Daten auf nur 10 Komponenten reduziert wurde, lieferte der Deep Autoencoder bessere Ergebnisse im Vergleich zu 50 Komponenten, die mit linearen Methoden wie der latenten semantischen Analyse ermittelt wurden.

Der Prozess des Dokumentenabrufs umfasst die Konvertierung jedes Dokuments in eine Wortbeuteldarstellung, im Wesentlichen einen Vektor der Wortanzahl. Stoppwörter wie „the“ oder „over“, die nur wenig Aufschluss über das Thema des Dokuments geben, werden ignoriert. Der Vergleich der Wortzahlen eines Abfragedokuments mit denen von Millionen anderer Dokumente kann rechenintensiv sein. Um dieses Problem zu lösen, wird ein tiefer Autoencoder eingesetzt, um die Wortanzahlvektoren von 2.000 Dimensionen auf 10 reelle Zahlen zu komprimieren, die dann effizienter für den Dokumentenvergleich verwendet werden können.

Um den Autoencoder an die Wortanzahl anzupassen, wird eine Division durch die Gesamtzahl der Non-Stop-Wörter durchgeführt und der Zählvektor in einen Wahrscheinlichkeitsvektor umgewandelt, bei dem sich die Zahlen zu eins summieren. Die Ausgabeschicht des Autoencoders verwendet eine Softmax-Funktion mit einer Dimensionalität, die der Vektorgröße der Wortanzahl entspricht. Bei der Rekonstruktion werden die Wortanzahlwahrscheinlichkeiten als Zielwerte behandelt. Wenn jedoch die erste verborgene Ebene aktiviert wird, werden alle Gewichte mit „n“ multipliziert, um mehrere Beobachtungen aus der Wahrscheinlichkeitsverteilung zu berücksichtigen. Dadurch wird sichergestellt, dass die Eingabeeinheiten ausreichend Eingaben für die erste verborgene Schicht bereitstellen.

Die Wirksamkeit dieses Ansatzes wurde anhand eines Datensatzes von 4.000 handbeschrifteten Geschäftsdokumenten aus dem Reuters-Datensatz bewertet. Zunächst wurde ein Stapel eingeschränkter Boltzmann-Maschinen trainiert, gefolgt von einer Feinabstimmung mithilfe von Backpropagation mit einer 2.000-Wege-Softmax-Ausgabeschicht. Beim Testen wurde ein Dokument als Abfrage ausgewählt und die verbleibenden Dokumente anhand des Kosinus der Winkel zwischen ihren zehndimensionalen Vektoren in eine Rangfolge gebracht. Die Abrufgenauigkeit wurde gemessen, indem die Anzahl der abgerufenen Dokumente mit dem Anteil der Dokumente in derselben handbeschrifteten Klasse wie das Abfragedokument verglichen wurde.

Die Ergebnisse zeigten, dass der Autoencoder selbst mit nur zehn reellen Zahlen als Code die latente semantische Analyse mit 50 reellen Zahlen übertraf. Darüber hinaus ergab die Reduzierung der Dokumentvektoren auf zwei reelle Zahlen und deren Visualisierung auf einer Karte eine viel klarere Trennung der Dokumentklassen im Vergleich zu PCA. Solche visuellen Darstellungen können wertvolle Einblicke in die Struktur des Datensatzes liefern und Entscheidungsprozesse unterstützen.

Zusammenfassend lässt sich sagen, dass tiefe Autoencoder vielversprechende Verbesserungen gegenüber herkömmlichen linearen Methoden wie PCA für Dokumentenabrufaufgaben bieten. Ihre Fähigkeit, Dokumentdarstellungen effizient zu komprimieren und zu rekonstruieren und gleichzeitig wichtige Informationen zu erfassen, kann die Genauigkeit und Effizienz von Dokumentenabrufsystemen verbessern.

Lecture 15.3 — Deep autoencoders for document retrieval [Neural Networks for Machine Learning]
Lecture 15.3 — Deep autoencoders for document retrieval [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 15.4 – Semantisches Hashing



Vorlesung 15.4 – Semantisches Hashing [Neuronale Netze für maschinelles Lernen]

In diesem Video bespreche ich semantisches Hashing, eine Technik, die effizient Dokumente findet, die einem Abfragedokument ähneln. Das Konzept besteht darin, ein Dokument in eine Speicheradresse umzuwandeln und den Speicher so zu organisieren, dass ähnliche Dokumente gruppiert werden. Es ist vergleichbar mit einem Supermarkt, in dem ähnliche Produkte in der gleichen Gegend erhältlich sind.

Binäre Deskriptoren von Bildern sind für den schnellen Bildabruf wertvoll, aber es ist eine Herausforderung, einen Satz orthogonaler binärer Deskriptoren zu erhalten. Maschinelles Lernen kann bei der Lösung dieses Problems helfen. Wir werden die Anwendung dieser Technik auf Dokumente und dann auf Bilder untersuchen.

Um Binärcodes für Dokumente zu erhalten, trainieren wir einen tiefen Autoencoder mit logistischen Einheiten in seiner Codeschicht. Um jedoch zu verhindern, dass die Logistikeinheiten ihre mittleren Bereiche zur Übermittlung von Informationen über die Wortanzahl verwenden, fügen wir den Eingaben während der Feinabstimmungsphase Rauschen hinzu. Dieses Rauschen regt dazu an, dass die Codeeinheiten entweder ein- oder ausgeschaltet sind, was zu binären Werten führt. Durch die Schwellenwertbestimmung der Logistikeinheiten zur Testzeit werden Binärcodes erzeugt.

Alternativ können wir stochastische Binäreinheiten verwenden, anstatt Rauschen hinzuzufügen. Während des Vorwärtsdurchlaufs wird basierend auf der Ausgabe der Logistikeinheit stochastisch ein Binärwert ausgewählt. Während des Rückwärtsdurchlaufs wird die reellwertige Wahrscheinlichkeit für eine reibungslose Gradientenberechnung während der Rückausbreitung verwendet.

Mit den erhaltenen kurzen Binärcodes können wir eine sequentielle Suche durchführen, indem wir den Code des Abfragedokuments mit den Codes der gespeicherten Dokumente vergleichen. Ein effizienterer Ansatz besteht jedoch darin, den Code als Speicheradresse zu behandeln. Durch die Verwendung des Deep Autoencoders als Hash-Funktion wandeln wir das Dokument in eine 30-Bit-Adresse um. Jede Adresse im Speicher verweist auf Dokumente mit derselben Adresse und bildet eine Liste. Durch das Umdrehen von Bits in der Adresse können wir auf nahegelegene Adressen zugreifen und semantisch ähnliche Dokumente finden. Dadurch entfällt die Notwendigkeit, eine lange Liste von Dokumenten zu durchsuchen.

Diese speicherbasierte Suche ist besonders bei großen Datenbanken sehr effizient. Es ähnelt der Suche in einem Supermarkt, indem Sie zu einem bestimmten Ort gehen und sich Artikel in der Nähe ansehen. In einem 30-dimensionalen Speicherraum können Elemente jedoch aus mehreren Gründen nahe beieinander liegen, was die Suche effektiver macht.

Semantisches Hashing ist auf schnelle Abrufmethoden ausgerichtet, die gespeicherte Listen, die mit Abfragebegriffen verknüpft sind, überschneiden. Computer verfügen über spezielle Hardware, beispielsweise den Speicherbus, der mehrere Listen in einem einzigen Befehl verarbeiten kann. Indem sichergestellt wird, dass die 32 Bits im Binärcode sinnvollen Dokumenteigenschaften entsprechen, nutzt semantisches Hashing maschinelles Lernen, um das Abrufproblem auf Listenschnittpunktoperationen abzubilden, was schnelle Ähnlichkeitssuchen ohne herkömmliche Suchmethoden ermöglicht.

Semantisches Hashing ist eine leistungsstarke Technik, die maschinelles Lernen nutzt, um das Abrufproblem in eine Listenschnittaufgabe umzuwandeln, die Computer hervorragend beherrschen. Durch die Darstellung von Dokumenten oder Bildern als Binärcodes können wir ähnliche Elemente effizient finden, ohne dass herkömmliche Suchmethoden erforderlich sind.

Um dies zu erreichen, wird ein tiefer Autoencoder darauf trainiert, Dokumente in Binärcodes zu kodieren. Zunächst wird der Autoencoder als Stapel eingeschränkter Boltzmann-Maschinen trainiert, die dann mithilfe von Backpropagation abgewickelt und feinabgestimmt werden. Während der Feinabstimmungsphase wird den Eingaben der Codeeinheiten Rauschen hinzugefügt, um das Lernen binärer Merkmale zu fördern.

Sobald der Autoencoder trainiert ist, können die Binärcodes als Speicheradressen verwendet werden. Jede Adresse im Speicher entspricht einer Reihe von Dokumenten, die ähnliche Merkmale aufweisen. Indem wir ein paar Bits in der Adresse umdrehen, können wir auf nahegelegene Adressen zugreifen und so eine Hamming-Kugel bilden. Innerhalb dieser Hamming-Kugel erwarten wir, semantisch ähnliche Dokumente zu finden.

Durch diesen Ansatz entfällt die Notwendigkeit einer sequentiellen Suche in einer großen Dokumentendatenbank. Stattdessen berechnen wir einfach die Speicheradresse für das Abfragedokument, erkunden benachbarte Adressen durch Umdrehen von Bits und rufen ähnliche Dokumente ab. Die Effizienz dieser Technik wird besonders deutlich, wenn es um riesige Datenbanken mit Milliarden von Dokumenten geht, da sie die serielle Suche nach jedem einzelnen Element vermeidet.

Eine häufig verwendete Analogie zur Erklärung dieses Prozesses ist das Konzept einer Supermarktsuche. Genau wie in einem Supermarkt, wo Sie den Kassierer nach dem Standort eines bestimmten Produkts fragen, wandeln wir hier das Abfragedokument in eine Speicheradresse um und suchen nach ähnlichen Dokumenten in der Nähe. Der 30-dimensionale Speicherraum ermöglicht komplexe Beziehungen und bietet ausreichend Platz, um Elemente mit ähnlichen Attributen in der Nähe zu platzieren.

Während herkömmliche Abrufmethoden auf sich überschneidenden Listen basieren, die mit Abfragebegriffen verknüpft sind, nutzt semantisches Hashing maschinelles Lernen, um das Abrufproblem auf die Listenüberschneidungsfunktionen von Computern abzubilden. Indem wir sicherstellen, dass die 32 Bits im Binärcode sinnvollen Eigenschaften von Dokumenten oder Bildern entsprechen, können wir ähnliche Elemente effizient finden, ohne dass explizite Suchvorgänge erforderlich sind.

Semantisches Hashing ist eine hocheffiziente Technik zum Auffinden ähnlicher Dokumente oder Bilder. Indem wir sie in Binärcodes umwandeln und die Codes als Speicheradressen behandeln, können wir schnell semantisch ähnliche Elemente abrufen, indem wir nahegelegene Adressen erkunden. Dieser Ansatz nutzt die Stärken des maschinellen Lernens und nutzt die Listenschnittfähigkeiten von Computern, wodurch ein schnelles und genaues Abrufen ohne die Notwendigkeit herkömmlicher Suchmethoden ermöglicht wird.

Lecture 15.4 — Semantic Hashing [Neural Networks for Machine Learning]
Lecture 15.4 — Semantic Hashing [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 15.5 – Erlernen von Binärcodes zum Abrufen von Bildern



Vorlesung 15.5 – Erlernen von Binärcodes für den Bildabruf [Neuronale Netze für maschinelles Lernen]

Das Video diskutiert die Verwendung von Binärcodes zum Abrufen von Bildern und vergleicht sie mit herkömmlichen Methoden, die auf Bildunterschriften basieren. Das Abrufen von Bildern anhand ihres Inhalts ist eine Herausforderung, da einzelne Pixel nicht viele Informationen über den Bildinhalt liefern. Durch Extrahieren eines kurzen binären Vektors, der den Bildinhalt darstellt, können wir Bilder jedoch effizienter speichern und abgleichen.

Das Video schlägt eine zweistufige Methode zur Bildwiederherstellung vor. In der ersten Stufe wird mithilfe von semantischem Hashing ein kurzer Binärcode, typischerweise etwa 30 Bit, extrahiert. Dieser Code wird verwendet, um schnell eine kurze Liste potenzieller Übereinstimmungen zu erstellen. In der zweiten Stufe werden längere Binärcodes, beispielsweise 256 Bit, für eine detailliertere und genauere Suche unter den Kandidatenbildern verwendet.

Das Video zeigt ein Beispiel einer Autoencoder-Architektur, die Bilder rekonstruieren und informative Binärcodes extrahieren kann. Der Autoencoder besteht aus mehreren Schichten, wobei die Anzahl der Einheiten schrittweise reduziert wird, bis ein 256-Bit-Code erreicht wird. Durch die Verwendung dieses Autoencoders zeigt das Video, dass die abgerufenen Bilder dem Abfragebild ähneln und sinnvolle Beziehungen aufweisen.

Darüber hinaus untersucht das Video die Verwendung eines vorab trainierten neuronalen Netzwerks zur Bilderkennung, um Aktivitätsvektoren als Darstellungen des Bildinhalts zu extrahieren. Bei Verwendung der euklidischen Distanz zum Vergleich dieser Aktivitätsvektoren sind die Abrufergebnisse vielversprechend, was darauf hindeutet, dass dieser Ansatz für einen effizienteren Abgleich auf Binärcodes ausgeweitet werden könnte.

Das Video schließt mit der Erwähnung, dass die Kombination von Bildinhalten mit Bildunterschriften die Darstellung weiter verbessern und die Abrufleistung verbessern kann.

Das Video hebt die Vorteile der Verwendung von Binärcodes für den Bildabruf hervor, wie z. B. effiziente Speicherung, schnelle Zuordnung und die Möglichkeit, aussagekräftige Bildinhalte zu erfassen. Es demonstriert die Wirksamkeit von Autoencodern und vorab trainierten neuronalen Netzen bei der Extraktion informativer Binärcodes und legt nahe, dass die Kombination von Bildinhalten und Bildunterschriften zu noch besseren Abrufergebnissen führen kann.

Lecture 15.5 — Learning binary codes for image retrieval [Neural Networks for Machine Learning]
Lecture 15.5 — Learning binary codes for image retrieval [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 15.6 – Flache Autoencoder für das Vortraining



Vorlesung 15.6 – Flache Autoencoder für das Vortraining [Neuronale Netze für maschinelles Lernen]

In diesem Video diskutiert der Redner alternative Pre-Training-Methoden zum Erlernen tiefer neuronaler Netze. Zunächst führten sie das Vortraining mit restriktiven Boltzmann-Maschinen (RBMs) ein, die mit kontrastiver Divergenz trainiert wurden. Später stellte sich jedoch heraus, dass es andere Möglichkeiten gibt, Feature-Layer vorab zu trainieren. Wenn die Gewichte korrekt initialisiert sind, ist ein Vortraining möglicherweise nicht erforderlich, sofern genügend beschriftete Daten vorhanden sind. Der Redner erwähnt die Vorteile tiefer Autoencoder und ihrer Codes für verschiedene Anwendungen.

Anschließend verlagern sie den Fokus auf flache Autoencoder, insbesondere RBMs, die mit maximaler Wahrscheinlichkeit trainiert werden. RBMs als Autoencoder weisen aufgrund binärer versteckter Einheiten eine starke Regularisierung auf, was ihre Kapazität begrenzt. Wenn RBMs jedoch mit maximaler Wahrscheinlichkeit trainiert werden, ignorieren sie verrauschte Pixel und modellieren sie mithilfe von Eingabeverzerrungen. Der Sprecher schlägt vor, für das Vortraining einen Stapel Autoencoder anstelle von RBMs zu verwenden, dieser Ansatz ist jedoch nicht so effektiv, insbesondere bei Flachwasser-Encodern, die nur quadratische Gewichte bestrafen.

Der Redner stellt Autoencoder zur Rauschunterdrückung vor, die von der Montreal-Gruppe eingehend untersucht wurden. Diese Autoencoder fügen den Eingabevektoren Rauschen hinzu und setzen einige Komponenten auf Null (ähnlich einem Dropout). Sie müssen die Eingaben mit auf Null gesetzten Komponenten rekonstruieren, um zu verhindern, dass sie die Eingabe einfach kopieren. Im Gegensatz zu Flachwasser-Encodern erfassen Entrauschungs-Autoencoder Korrelationen zwischen Eingaben und verwenden einige Eingabewerte, um die Rekonstruktion von auf Null gesetzten Eingaben zu unterstützen. Das Stapeln von Autoencodern zur Rauschunterdrückung kann für das Vortraining sehr effektiv sein und übertrifft in den meisten Fällen RBMs.

Der Sprecher erwähnt, dass die Auswertung vor dem Training mithilfe von Autoencodern zur Rauschunterdrückung einfacher ist, da die Zielfunktion leicht berechnet werden kann. Im Gegensatz dazu liefert die Auswertung von RBMs mit kontrastiver Divergenz nicht die tatsächliche Zielfunktion. Entrauschenden Autoencodern fehlt jedoch die Variationsgrenze, die RBMs besitzen, obwohl dieses theoretische Interesse auf RBMs beschränkt ist, die mit maximaler Wahrscheinlichkeit trainiert werden.

Ein weiterer diskutierter Encodertyp ist der kontraktive Autoencoder, der ebenfalls von der Montreal-Gruppe entwickelt wurde. Diese Autoencoder zielen darauf ab, versteckte Aktivitäten unempfindlich gegenüber Eingaben zu machen, indem sie den quadratischen Gradienten jeder versteckten Einheit in Bezug auf jede Eingabe bestrafen. Kontraktive Autoencoder eignen sich gut für das Vortraining und verfügen in der Regel über spärliche Codes, wobei nur eine kleine Teilmenge versteckter Einheiten auf verschiedene Teile des Eingaberaums reagiert.

Abschließend fasst der Redner seine aktuelle Sicht auf die Vorschulung zusammen. Ein schichtweises Vortraining ist von Vorteil, wenn ein Datensatz nur über begrenzte beschriftete Daten verfügt, da es dabei hilft, gute Funktionen zu entdecken, ohne auf Beschriftungen angewiesen zu sein. Bei großen beschrifteten Datensätzen ist jedoch kein unbeaufsichtigtes Vortraining erforderlich, wenn das Netzwerk ausreichend groß ist. Dennoch wird bei noch größeren Netzwerken das Vortraining erneut von entscheidender Bedeutung, um eine Überanpassung zu verhindern. Der Referent argumentiert, dass Regularisierungsmethoden wie Dropout und Pre-Training wichtig sind, insbesondere wenn es um große Parameterräume im Vergleich zu den verfügbaren Daten geht.

Lecture 15.6 — Shallow autoencoders for pre-training [Neural Networks for Machine Learning]
Lecture 15.6 — Shallow autoencoders for pre-training [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 16.1 – Erlernen eines gemeinsamen Modells aus Bildern und Bildunterschriften



Vorlesung 16.1 – Erlernen eines gemeinsamen Modells von Bildern und Bildunterschriften [Neuronale Netze für maschinelles Lernen]

Ich werde aktuelle Arbeiten zum Erlernen eines gemeinsamen Modells von Bildunterschriften und Merkmalsvektoren diskutieren. In einer früheren Vorlesung haben wir untersucht, wie man aus Bildern aussagekräftige Funktionen extrahieren kann, ohne Bildunterschriften zu verwenden. Bildunterschriften können jedoch wertvolle Informationen zum Extrahieren relevanter semantischer Kategorien aus Bildern liefern, und umgekehrt können Bilder dazu beitragen, die Bedeutung von Wörtern in Bildunterschriften eindeutig zu machen.

Der vorgeschlagene Ansatz beinhaltet das Training eines großen Netzwerks, das als Eingabe standardmäßige Computer-Vision-Merkmalsvektoren verwendet, die aus Bildern und Wortschatzdarstellungen von Bildunterschriften extrahiert werden. Das Netzwerk lernt die Beziehung zwischen den beiden Eingabedarstellungen. Es wird ein Film des endgültigen Netzwerks gezeigt, der die Verwendung von Wörtern zur Erstellung von Merkmalsvektoren für Bilder und die Suche nach dem nächstgelegenen Bild in seiner Datenbank sowie die Verwendung von Bildern zur Erstellung von Wortbeuteln zeigt.

Nitish Srivastava und Ruslan Salakhutdinov führten Untersuchungen durch, um ein gemeinsames Dichtemodell von Bildunterschriften und Bildern zu erstellen. Anstatt jedoch Rohpixel zu verwenden, stellten sie Bilder mithilfe der standardmäßigen Computer-Vision-Funktionen dar. Dies erforderte mehr Rechenaufwand als die Erstellung eines gemeinsamen Dichtemodells aus Etiketten und Ziffernbildern. Sie trainierten separate mehrschichtige Modelle für Bilder und Wortanzahlvektoren aus Bildunterschriften. Diese einzelnen Modelle wurden dann mit einer neuen Oberschicht verbunden, die beide Modalitäten integriert. Es wurde ein gemeinsames Training des gesamten Systems durchgeführt, um es jeder Modalität zu ermöglichen, die frühen Schichten der anderen Modalität zu verbessern.

Um die verborgenen Schichten einer Deep-Boltzmann-Maschine vorab zu trainieren, verfolgten sie einen anderen Ansatz als zuvor im Kurs behandelt. Anstatt einen Stapel eingeschränkter Boltzmann-Maschinen (RBMs) zu verwenden, um ein tiefes Glaubensnetz zu bilden, haben sie einen Stapel RBMs direkt auf eine bestimmte Weise vorab trainiert. Die Gewichte der oberen und unteren RBMs im Stapel wurden mit einer skalensymmetrischen Eigenschaft trainiert, wobei die Gewichte von unten nach oben doppelt so groß waren wie die Gewichte von oben nach unten. Die mittleren RBMs wurden mit symmetrischen Gewichten trainiert. Diese Gewichtskonfiguration ermöglichte die geometrische Mittelung der beiden verschiedenen Modelle jeder Schicht in der endgültigen tiefen Boltzmann-Maschine.

Die Begründung für diese Gewichtskonfiguration liegt darin, wie die beiden Möglichkeiten zur Ableitung der Zustände von Einheiten in jeder Schicht in der tiefen Boltzmann-Maschine kombiniert werden. Die Gewichte stellen sicher, dass die Beweise nicht doppelt gezählt werden, wenn auf den Zustand einer Schicht geschlossen wird. Die Zwischenschichten führen eine geometrische Mittelung der Beweise aus den Bottom-Up- und Top-Down-Modellen durch und vermeiden so eine Duplizierung der Beweise. Eine ausführlichere Erklärung finden Sie im Originalpapier.

Der im Video vorgestellte Ansatz konzentriert sich auf das Erlernen eines gemeinsamen Modells aus Bildunterschriften und Merkmalsvektoren. Durch die Integration der Informationen aus beiden Modalitäten soll das Modell das Verständnis von Bildern und Bildunterschriften verbessern und eine genauere semantische Darstellung ermöglichen.

Es ist erwähnenswert, dass die Verwendung einer Deep-Boltzmann-Maschine anstelle eines Deep-Believe-Netzes für das Gelenktraining seine Vorteile hat. Während bei der generativen Feinabstimmung mittels kontrastivem Wake-Sleep ein tiefes Glaubensnetz hätte eingesetzt werden können, wird erwartet, dass der Feinabstimmungsalgorithmus für tiefe Boltzmann-Maschinen bessere Ergebnisse liefert. Daher ermöglicht die Entscheidung für die Verwendung einer Deep-Boltzmann-Maschine ein verbessertes Training und eine Verbesserung der Merkmalsdetektoren in den frühen Schichten jeder Modalität.

Das Video geht auch kurz auf den Trainingsprozess für die Deep-Boltzmann-Maschine ein. Die Gewichte der RBMs im Stapel werden skalensymmetrisch angepasst, um sicherzustellen, dass die Beweise angemessen kombiniert werden, ohne dass es zu Doppelzählungen kommt. Dieser Ansatz ermöglicht eine geometrische Mittelung der beiden unterschiedlichen Modelle jeder Schicht unter Berücksichtigung sowohl von Bottom-up- als auch von Top-down-Eingaben. Die spezifische Gewichtskonfiguration stellt unter Berücksichtigung der Abhängigkeiten zwischen den Schichten sicher, dass Beweise nicht dupliziert werden.

Obwohl das Video eine umfassende Erklärung des Prozesses bietet, sind die zugrunde liegende Mathematik und die detaillierte Begründung im Begleitpapier zu finden. Der im Video vorgestellte Ansatz und die anschließende Forschung von Nitish Srivastava und Ruslan Salakhutdinov tragen dazu bei, die gemeinsame Modellierung von Bildunterschriften und Merkmalsvektoren voranzutreiben und so ein besseres Verständnis und eine bessere Darstellung von Bildern und den zugehörigen Bildunterschriften zu ermöglichen.

Abschließend konzentriert sich die im Video besprochene Arbeit auf das Erlernen eines gemeinsamen Modells von Bildunterschriften und Merkmalsvektoren. Durch die Nutzung der in beiden Modalitäten vorhandenen Informationen zielt der vorgeschlagene Ansatz darauf ab, die Extraktion semantischer Kategorien aus Bildern und die Begriffsklärung von Wörtern in Bildunterschriften zu verbessern. Der Einsatz einer Deep-Boltzmann-Maschine und die spezifische Gewichtskonfiguration während des Trainings ermöglichen eine effektive Integration und ein effektives Lernen zwischen den beiden Modalitäten.

Lecture 16.1 — Learning a joint model of images and captions [Neural Networks for Machine Learning]
Lecture 16.1 — Learning a joint model of images and captions [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 16.2 – Hierarchische Koordinatensysteme



Vorlesung 16.2 – Hierarchische Koordinatenrahmen [Neuronale Netze für maschinelles Lernen]

In diesem Video diskutiert der Referent das Potenzial der Kombination von Objekterkennungsansätzen in der Computer Vision. Drei Hauptansätze werden erwähnt: Deep Convolutional Neural Networks (CNNs), teilebasierte Ansätze und handgefertigte Funktionen mit umfangreicher manueller Entwicklung.

Während sich CNNs bei der Objekterkennung als effektiv erwiesen haben, weist der Redner auf Einschränkungen hin, wie z. B. den Verlust präziser Feature-Detektorpositionen und Schwierigkeiten bei der Extrapolation auf neue Gesichtspunkte und Maßstäbe. Um diese Herausforderungen anzugehen, schlägt der Referent vor, eine Hierarchie von Koordinatenrahmen zu verwenden und die Verbindung der Form und Pose eines Merkmals relativ zur Netzhaut mithilfe von Neuronengruppen darzustellen.

Durch die Darstellung der Posen von Teilen von Objekten relativ zur Netzhaut wird es einfacher, größere Objekte zu erkennen, indem die Konsistenz der Teilposen genutzt wird. Der Referent erklärt eine Methode zur Verwendung neuronaler Aktivitäten zur Darstellung von Posenvektoren und wie räumliche Beziehungen als lineare Operationen modelliert werden können. Dies erleichtert das Erlernen von Hierarchien visueller Einheiten und die Verallgemeinerung über verschiedene Standpunkte hinweg.

Der Redner betont, wie wichtig es ist, Koordinatenrahmen einzubeziehen, um Formen effektiv darzustellen. Sie liefern Beispiele, die zeigen, wie unser visuelles System Koordinatenrahmen vorgibt, um Formen richtig zu erkennen. Die Wahrnehmung einer Form kann sich je nach festgelegtem Koordinatenrahmen ändern, was die Rolle von Koordinatenrahmen bei der Formdarstellung hervorhebt.

Das Video untersucht die Idee, verschiedene Objekterkennungsansätze durch die Nutzung von Koordinatenrahmen und hierarchischen Darstellungen zu kombinieren. Dieser Ansatz zielt darauf ab, die Einschränkungen von CNNs zu beseitigen und die Objekterkennung durch die Einbeziehung räumlicher Beziehungen und Posenkonsistenz zu verbessern. Auch die Bedeutung von Koordinatenrahmen für die Formwahrnehmung wird betont.

Lecture 16.2 — Hierarchical Coordinate Frames [Neural Networks for Machine Learning]
Lecture 16.2 — Hierarchical Coordinate Frames [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...