Używam tensorflow do trenowania konwoju z zestawem 15000 obrazów treningowych z 22 klasami. Mam dwie warstwy konwergentne i jedną w pełni połączoną warstwę. Przeszkoliłem sieć z 15000 obrazami i doświadczyłem zbieżności i wysokiej dokładności zestawu treningowego.Dlaczego upośledzenie zapobiega konwergencji w Convolutional Neural Network?
Jednak mój zestaw testowy ma znacznie mniejszą dokładność, więc zakładam, że sieć jest już dopasowana. Aby temu zaradzić, dodałem dropout przed całkowicie połączoną warstwą mojej sieci.
Jednak dodanie rezygnacji spowodowało, że sieć nie połączy się po wielu iteracjach. Zastanawiałem się, dlaczego tak się dzieje. Użyłem nawet wysokiego prawdopodobieństwa porzucenia (zachowaj prawdopodobieństwo .9) i doświadczyłem tych samych rezultatów.
Im wyższy spadek, tym mniej oczekiwałbym, że się zbiegnie. Czy próbowałeś obniżyć wskaźniki rezygnacji? –
Cóż, może on mówić o ustawieniu keep_prob na 0.9, które wyzeruje tylko 10% neuronów. Jeśli faktycznie wyzerujesz 90% neuronów, to byłby to problem. To, co zwykle pomaga mi, gdy model nie jest zbieżny, zmniejsza współczynnik uczenia się o współczynnik 10. Zobacz, czy to pomaga. – chasep255
Dziękuję, że spróbuję. Tak, moje złe, miałem na myśli to, że mój keep_prob był .9. –