Was ist Pretraining und wie trainiert man ein neuronales Netzwerk?

10

Ich verstehe, dass Pretraining verwendet wird, um einige Probleme beim konventionellen Training zu vermeiden. Wenn ich Backpropagation mit beispielsweise einem Autoencoder verwende, weiß ich, dass ich auf Zeitprobleme stoßen werde, weil die Backpropagation langsam ist und ich auch in lokalen Optima stecken bleiben und bestimmte Funktionen nicht lernen kann.

Was ich nicht verstehe, ist, wie wir ein Netzwerk vorbilden und was wir speziell tun, um vorzubilden. Wenn wir zum Beispiel einen Stapel eingeschränkter Boltzmann-Maschinen erhalten, wie würden wir dieses Netzwerk vorab trainieren?

Michael Yousef
quelle
2
Sofern Sie sich nicht in einer Umgebung mit nur wenigen gekennzeichneten und vielen nicht gekennzeichneten Proben befinden, gilt die Vorschulung als veraltet. Ist dies nicht der Fall, funktioniert die Verwendung einer Gleichrichterübertragungsfunktion und erweiterter Optimierer (rmsprop, adadelta, adam) für tiefe neuronale Netze gleich gut. f(x)=max(x,0)
Bayerj
Ja, ich gehe davon aus, dass es eine große Menge unbeschrifteter Proben und wenige bis gar keine beschrifteten Proben gibt.
Michael Yousef

Antworten:

2

Sie trainieren zunächst jedes RBM im Stapel separat und kombinieren es dann zu einem neuen Modell, das weiter optimiert werden kann.

Angenommen, Sie haben 3 RBMs, Sie trainieren RBM1 mit Ihren Daten (z. B. einer Reihe von Bildern). RBM2 wird mit dem Ausgang von RBM1 trainiert. RBM3 wird mit dem Ausgang von RBM2 trainiert. Die Idee ist, dass jedes RBM-Modell Merkmale aufweist, die für die Bilder repräsentativ sind, und dass die Gewichte, die sie dabei lernen, für andere diskriminierende Aufgaben wie die Klassifizierung nützlich sind.

mnagaraj
quelle
0

Das Vorbereiten eines gestapelten RBM besteht darin, die definierte Energie gierig schichtweise zu minimieren, dh die Wahrscheinlichkeit zu maximieren. G. Hinton schlug den CD-k-Algorithmus vor, der als einzelne Iteration der Gibbs-Abtastung angesehen werden kann.

Mou
quelle
Durch das Vortraining des gestapelten RBM können wir die definierte Energie minimieren und bessere Ergebnisse erzielen. Und dann ist Hintons Algorithmus für kontrastive Divergenz so, wie wir ihn tatsächlich vorbilden würden. Wie genau berücksichtigt das Pretraining das Erlernen zusätzlicher Funktionen? Ich gehe davon aus, dass der CD-Algorithmus für das Geschwindigkeitsproblem viel schneller ist als die Backpropagation.
Michael Yousef