2

Ich benutze Tanh als eine Aktivierungsfunktion. Nehmen wir ein Problem zum Beispiel.Wie kann ich das Lernen für feed-forward, Gradienten-basierte Backpropagation neuronalen Netze beschleunigen

XOR Problem: 

1 1 0 
0 1 1 
1 0 1 
0 0 0 

Wenn ich meine neuronales Netz 500 Epochen trainieren, schauen Ergebnisse wie folgt aus:

1 1 0.001015 
0 1 0.955920 
1 0 0.956590 
0 0 0.001293 

Nach 500 Epoche:

1 1 0.000428 
0 1 0.971866 
1 0 0.971468 
0 0 0.000525 

Weitere 500 Epoche:

1 1 0.000193 
0 1 0.980982 
1 0 0.981241 
0 0 0.000227 

Es scheint, dass das Lernen sehr verlangsamt wird. Mein neuronales Netzwerk braucht Forver, um präzise genug für meine Kostenprobleme zu werden.

Gibt es trotzdem eine Beschleunigung des Lernens, nachdem es so langsam geworden ist?

Dank

+0

Haben Sie eine Aktivierung in der Ausgabeschicht? Was ist deine Lernmethode? Parameter verwendet? Sie sollten den gesamten Code einschließen – lejlot

+0

Welche Verlustfunktion verwenden Sie? Kreuz-Entropie? Mittlere quadratische Fehler? –

Antwort

1

Diese Art der Lernkurve ist in neuronalen Netz Training ganz normal (oder sogar in real life learning). Das heißt, während die allgemeine Form der Kurve typisch ist, können wir ihre Steilheit verbessern. In diesem Zusammenhang schlage ich vor, dass Sie momentum in Ihren Trainingsalgorithmus implementieren. Wenn das nicht genug zu sein scheint, wäre Ihr nächster Schritt die Implementierung eines adaptiven Lernratenalgorithmus wie adadelta, adagrad or rmsprop. Eine letzte Sache, die Sie vielleicht ausprobieren möchten, ist batch normalization.

+0

Wie könnte ich Adadelta auf mein einfaches neurales C++ - Netzwerk anwenden? Ich konnte nicht verursachen, dass ich Mathe Sprache so gut verstehe. –

0

Wenn das Netz, das Sie erstellen, Sigmoids auf die Neuronen in der Ausgabeschicht angewendet hat (scheint aus Ihren Ergebnissen zu stammen), könnten Sie in Betracht ziehen, sie zu entfernen und nur eine lineare Beziehung zu haben. Ihr Netz könnte etwas instabiler werden, daher kann eine kleinere Schrittgröße empfohlen werden. Aber Sie werden bessere Genauigkeit erreichen können.

Verwandte Themen