Mam model głębokiej sieci neuronowej i muszę go wyszkolić na moim zestawie danych, który składa się z około 100 000 przykładów, moje dane weryfikacyjne zawierają około 1000 przykładów. Ponieważ trenowanie każdego przykładu zajmuje trochę czasu (około 0,5 s dla każdego przykładu) i aby uniknąć nadmiernego dopasowania, chciałbym zastosować wcześniejsze zatrzymanie, aby zapobiec niepotrzebnym obliczeniom. Ale nie jestem pewien, jak prawidłowo wyszkolić moją sieć neuronową przy wczesnym zatrzymywaniu, kilka rzeczy, których teraz nie do końca rozumiem:
Jaka byłaby dobra częstotliwość sprawdzania poprawności? Czy powinienem sprawdzić mój model na danych weryfikacyjnych na końcu każdej epoki? (Mój rozmiar partii to 1)
Czy to jest tak, że kilka pierwszych epok może przynieść gorszy wynik, zanim zacznie się zbliżać do lepszej wartości? W takim przypadku, czy powinniśmy trenować naszą sieć przez kilka epok przed sprawdzeniem, czy nie ma wcześniejszego zatrzymania?
Jak poradzić sobie ze sprawą, gdy utrata walidacji może rosnąć i spadać? W takim przypadku wcześniejsze zatrzymanie może uniemożliwić dalszą naukę mojego modelu, prawda?
Z góry dziękuję.
źródło
Odpowiedzi:
Nie ma złotej reguły, obliczanie błędu sprawdzania poprawności po każdej epoce jest dość powszechne. Ponieważ zestaw walidacyjny jest znacznie mniejszy niż zestaw treningowy, nie spowolni on znacznie treningu.
tak
Możesz, ale problem polega na tym, ile epok należy pominąć. W praktyce więc przez większość czasu ludzie nie pomijają żadnej epoki.
Ludzie zazwyczaj określają cierpliwość, tj. Liczbę epok, które należy czekać przed wczesnym zatrzymaniem, jeśli nie ma postępu w zestawie sprawdzania poprawności. Cierpliwość często ustawia się gdzieś pomiędzy 10 a 100 (10 lub 20 jest bardziej powszechne), ale tak naprawdę zależy to od zestawu danych i sieci.
Przykład z cierpliwością = 10:
źródło
patience
epokach modelu przed zatrzymaniem („najlepszy” bez dalszych ulepszeń)?Ostatnio natknąłem się na artykuł zatytułowany „Early Stopping - but when?” autorstwa Lutza Prechelta, który ma wiele wspaniałych przykładów użycia wczesnego zatrzymania z jasnymi wyjaśnieniami tego, co każdy robi i formułami dla nich.
Mam nadzieję, że spojrzenie na to może pomóc.
źródło
Aby dodać do innych doskonałych odpowiedzi, możesz także - nie przestawać. Ja zwykle:
Oczywiście ma to sens tylko wtedy, gdy nie płacisz za minutę (lub koszt jest wystarczająco mały) i kiedy możesz ręcznie przerwać trening. Zaletą jest to, że o wiele łatwiej jest ustalić najniższy błąd sprawdzania poprawności z perspektywy czasu.
źródło