1

Ich habe ein RNN-Modell. Nach etwa 10 K Iterationen hört der Verlust auf zu sinken, aber der Verlust ist noch nicht sehr klein. Bedeutet das immer, dass die Optimierung in einem lokalen Minimum gefangen ist?Allgemeine Regeln für das Training des RNN-Modells, wenn der Verlust abnimmt

Im Allgemeinen, welche Maßnahmen sollte ich ergreifen, um dieses Problem anzugehen? Weitere Trainingsdaten hinzufügen? Ändern Sie ein anderes Optimierungsschema (SGD jetzt)? Oder andere Optionen?

Vielen Dank!

JC

Antwort

2

Wenn Sie Ihnen trainieren neuronale Netz einen Gradienten Vektor-basierten Algorithmus wie Back Propagation oder Resilient Propagation es zu verbessern stoppen können, wenn es ein lokales Minimum findet und es ist normal, wegen der Art dieser Art fo Algorithmus . In diesem Fall wird der Propagierungsalgorithmus verwendet, um zu suchen, worauf ein (Gradienten-) Vektor zeigt.

Als Vorschlag könnten Sie während des Trainings eine andere Strategie hinzufügen, um den Suchraum zu durchsuchen, statt nur zu suchen. Zum Beispiel ein Genetic Algorithm oder der Simulated Annealing Algorithmus. Diese Ansätze bieten eine Erkundung der Möglichkeiten und können ein globales Minimum finden. Sie könnten 10 Iterationen für jeweils 200 Iterationen des Propagationsalgorithmus implementieren und eine Hybridstrategie erstellen. Für die Probe (es ist nur ein Pseudo-Code):

int epochs = 0; 
do 
{ 
    train(); 

    if (epochs % 200 == 0) 
     traingExplorativeApproach(); 

    epochs++; 
} while (epochs < 10000); 

Ich habe eine Strategie, wie diese Multi-Layer Perceptrons und Elman recurrent neural network in classification und regressions Problemen und in beiden Fällen eine hybride Strategie hat bessere Ergebnisse dann eine einzelne Ausbreitungs Ausbildung zur Verfügung gestellt mit entwickelt .