Zapobieganie przeuczeniu LSTM w małym zestawie danych


13

Modeluję 15000 tweetów do prognozowania nastrojów za pomocą jednowarstwowej LSTM ze 128 ukrytymi jednostkami za pomocą reprezentacji podobnej do word2vec o 80 wymiarach. Dostaję dokładność zniżania (38% losowo = 20%) po 1 epoce. Więcej treningów powoduje, że dokładność walidacji zaczyna spadać, gdy dokładność treningu zaczyna się wspinać - wyraźny znak przeregulowania.

Dlatego zastanawiam się nad sposobami regularyzacji. Wolałbym nie zmniejszać liczby ukrytych jednostek (128 wydaje się już trochę niski). Obecnie używam rezygnacji z prawdopodobieństwem 50%, ale być może można to zwiększyć. Optymalizatorem jest Adam z domyślnymi parametrami dla Keras ( http://keras.io/optimizers/#adam ).

Jakie są skuteczne sposoby ograniczenia nadmiernego dopasowania tego modelu w moim zbiorze danych?


Mam dokładnie ten sam problem. Jak w końcu udało Ci się zalegalizować LSTM? Dokładność sprawdzania poprawności mojego LSTM wynosi 41%. Mój kształt wejściowy to (200) i mam 1 warstwę LSTM z 64 jednostkami, a następnie 2 gęste warstwy z pominięciem 0,4.
Nirvan Anjirbag

Odpowiedzi:


8

Możesz spróbować:

  • Zmniejsz liczbę ukrytych jednostek, wiem, że powiedziałeś, że już wydaje się niski, ale biorąc pod uwagę, że warstwa wejściowa ma tylko 80 funkcji, może być tak, że 128 to za dużo. Zasadą jest, aby liczba jednostek ukrytych znajdowała się pomiędzy liczbą jednostek wejściowych (80) a klasami wyjściowymi (5);
  • Alternatywnie, możesz zwiększyć wymiar wejściowej przestrzeni reprezentacji o ponad 80 (może to jednak również się pokrywać, jeśli reprezentacja jest już zbyt wąska dla danego słowa).

Dobrym sposobem na dopasowanie do sieci jest również rozpoczęcie od nadmiernie dopasowanej sieci, a następnie zmniejszenie pojemności (ukrytych jednostek i przestrzeni do osadzania), aż przestanie się nadawać.


1
Czy próbowałeś regularyzacji L1 i L2? Czy to naprawdę działa? Ta odpowiedź sugeruje, że nie powinieneś tego robić w ogóle
Jakub Bartczuk

Nie wiedziałem o tej właściwości RNN, usunę ten punkt odpowiedzi
Miguel

Witam, zastanawiałem się, skąd wzięła się ogólna zasada, która mówi, że „liczba ukrytych jednostek powinna znajdować się pomiędzy liczbą jednostek wejściowych i klas wyjściowych”. Czy jest papier, do którego mogę się odwoływać?
Kong

O to chodzi w kciukach. Nie wiem skąd je wziąłem ...
Miguel
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.