1

Ich benutze bidirektionale RNN, um ein Ereignis von unsymmetrischem Auftreten zu erkennen. Die positive Klasse ist 100 Mal weniger oft als die negative Klasse. Während keine Regularisierung verwendet wird, kann ich eine 100% ige Genauigkeit bei der Zugeinstellung und 30% bei der Validierung erhalten. Ich l2 Regularisierung einschalten und das Ergebnis ist nur 30% Genauigkeit auf Zug eingestellt, anstatt länger zu lernen und 100% Genauigkeit auf Validierungs-Set.RNN L2 Regularisierung hört auf zu lernen

Ich dachte, dass meine Daten vielleicht zu klein sind, so dass ich nur für das Experiment den Zugsatz mit dem Testsatz verschmolzen habe, den ich vorher nicht benutzt habe. Die Situation war die gleiche wie ich die Regulation von l2 verwenden würde, was ich jetzt nicht tat. Ich bekomme 30% Genauigkeit bei Zug + Test und Validierung.

Im Einsatz 128hidden Einheiten und 80 Zeitschritte in den genannten Experimenten Wenn ich die Anzahl der versteckten Einheiten auf 256 erhöht habe, kann ich wieder auf Zug + Test setzen, um 100% Genauigkeit zu erhalten, aber immer noch nur 30% auf Validierung gesetzt.

Ich habe so viele Optionen für Hyperparameter und fast kein Ergebnis versucht. Vielleicht verursacht die gewichtete Kreuzentropie das Problem, in gegebenen Experimenten beträgt das Gewicht der positiven Klasse 5. Bei größeren Gewichten sind die Ergebnisse oft um 20% schlechter.

Ich versuchte LSTM und GRU-Zellen, kein Unterschied.

Die besten Ergebnisse, die ich bekommen habe. Ich habe 2 versteckte Ebenen mit 256 versteckten Einheiten ausprobiert, es hat ungefähr 3 Tage Rechenzeit und 8GB GPU Speicher gekostet. Ich habe ungefähr 40-50% Genauigkeit, bevor es anfängt, wieder zu überarbeiten, während l2 Regularisierung an war, aber nicht so stark.

Gibt es eine allgemeine Richtlinie, was in dieser Situation zu tun ist? Ich konnte nichts finden.

+1

Ihre Frage könnte besser für http://stats.stackexchange.com/ passen – NPE

Antwort

1

Zu viele versteckte Einheiten können Ihr Modell überfrachten. Sie können es mit einer kleineren Anzahl versteckter Einheiten versuchen. Wie Sie bereits erwähnt haben, könnte Training mit mehr Daten die Leistung verbessern. Wenn Sie nicht genügend Daten haben, können Sie einige künstliche Daten erzeugen. Die Forscher fügen ihren Trainingsdaten Verzerrungen hinzu, um ihre Datengröße aber kontrolliert zu erhöhen. Diese Art von Strategie ist ziemlich gut für Bilddaten, aber wenn Sie mit Textdaten arbeiten, können Sie wahrscheinlich eine Wissensdatenbank verwenden, die die Leistung verbessern kann.

Es gibt viele Arbeiten, die Wissensbasen verwenden, um NLP- und Deep Learning-bezogene Aufgaben zu lösen.

Verwandte Themen