Anhaltende kontrastive Divergenz für RBMs


9

Wenn wir den persistenten CD-Lernalgorithmus für eingeschränkte Bolzmann-Maschinen verwenden, starten wir unsere Gibbs-Abtastkette in der ersten Iteration an einem Datenpunkt, aber im Gegensatz zur normalen CD beginnen wir in den folgenden Iterationen nicht über unserer Kette. Stattdessen beginnen wir dort, wo die Gibbs-Abtastkette in der vorherigen Iteration endete.

Beim normalen CD-Algorithmus wertet jede Iteration einen kleinen Stapel von Datenpunkten aus und berechnet die Gibbs-Abtastketten ausgehend von diesen Datenpunkten selbst.

Sollten wir bei persistenten CDs Gibbs-Abtastketten für jeden Datenpunkt beibehalten? Oder sollten wir auch einen kleinen Stapel von Gibbs-Stichprobenketten aufbewahren, die an Datenpunkten begannen, die derzeit in der aktuellen Iteration nicht ausgewertet werden?

Es scheint mir, dass es zu umständlich ist, Gibbs-Abtastketten für jeden Datenpunkt zu halten, aber andererseits scheint es unzureichend, die Signale der aktuellen Probe mit den Signalen nach einer langen Gibbs-Kette zu vergleichen, die nicht mit dem Strom begann Probe .


@subha Es scheint nicht intuitiv zu sein, aber es ist eigentlich ziemlich klar, dass es eine einzelne Kette sein sollte, die für verschiedene Eingabedaten verwendet wird. Schauen Sie sich auch deeplearning.net/tutorial/rbm.html an . Dort heißt es, dass "nicht für jedes beobachtete Beispiel eine Kette neu gestartet wird". deeplearning.net bietet viele gute Beispiele und einfache Erklärungen.
Angelorf

@Angelorf Könnten Sie bitte diese Anweisungen überprüfen? Ich benutze Batch-Version. Für die erste Charge finde ich also v0-h0-v1-h1.now finden wir + ve und -ve Samples und aktualisieren den Gradienten. Für die nächste Charge beginnt die Gibbs-Kette bei h1 der ersten Charge anstelle von h0 der zweiten Charge. Habe ich recht?
Subha

@subha Ich denke, das ist richtig, aber genau das frage ich im ursprünglichen Beitrag.
Angelorf

Wenn ich das mag, wie wird es die richtigen Eingabedaten rekonstruieren? Ich habe versucht, es rekonstruiert keine Daten richtig.
Subha

Antworten:


1

Das Originalpapier, das dies beschreibt, finden Sie hier

In Abschnitt 4.4 wird erläutert, wie der Algorithmus implementiert werden kann. Die beste Implementierung, die sie anfangs entdeckten, bestand darin, keine Markov-Ketten zurückzusetzen, eine vollständige Gibbs-Aktualisierung für jede Markov-Kette für jede Gradientenschätzung durchzuführen und eine Anzahl von Markov-Ketten zu verwenden, die der Anzahl der Trainingsdatenpunkte in einem Mini- entspricht Stapel.

Abschnitt 3 gibt Ihnen möglicherweise einen Einblick in die Schlüsselidee von PCD.


0

Wie Chairbender feststellt, setzen sie die Kette für den Teil des negativen Gradienten nicht zurück.

Was ist die Intuition dahinter? Da die Originalpapier Staaten, für RBM, müssen Sie nicht die Reset - die Kette , da nur eine Verteilung Sie Probe benötigen , ist aus, als eine Verteilung pro Punkt entgegengesetzt (die Sie für den Glauben Netzwerke benötigen könnten). Sie haben Recht, dass Sie sich bei einigen Modellen möglicherweise die Kette pro Punkt merken müssen.

Für kontrastive Methoden: Der negative Term in der Aktualisierung liegt über einer Erwartung oder Stichprobe gemäß einer bestimmten Verteilung, aber RBMs haben nur eine Verteilung (nach dem Einbrennen).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.