W niektórych samouczkach stwierdziłem, że inicjalizacja wagi „Xaviera” (papier: Zrozumienie trudności w uczeniu głębokich sieci neuronowych ze sprzężeniem zwrotnym ) jest skutecznym sposobem inicjalizacji wag sieci neuronowych.
W przypadku w pełni połączonych warstw w tych samouczkach obowiązywała zasada:
gdzie to wariancja wag dla warstwy, zainicjowana rozkładem normalnym, a , to ilość neuronów w warstwie rodzicielskiej i w bieżącej warstwie.
Czy istnieją podobne ogólne zasady dotyczące warstw splotowych?
Usiłuję wymyślić, co byłoby najlepsze, aby zainicjować wagi warstwy splotowej. Np. W warstwie, w której kształt ma kształt (5, 5, 3, 8)
, więc rozmiar jądra to 5x5
, filtrowanie trzech kanałów wejściowych (wejście RGB) i tworzenie 8
map cech ... czy można by uznać 3
za ilość neuronów wejściowych? A może 75 = 5*5*3
dlatego, że dane wejściowe to 5x5
łatki dla każdego kanału kolorów?
Zaakceptowałbym obie, konkretną odpowiedź wyjaśniającą problem lub bardziej „ogólną” odpowiedź wyjaśniającą ogólny proces znajdowania właściwej inicjalizacji wag i najlepiej łączenia źródeł.
Popieram tutaj odpowiedź Erica. Biorę również „sqrt” tego terminu, a nie tylko ten termin. Mimo to podłączenie sigmoidu głęboko w sieć do wyjścia „RelU” ... może spowodować zatrzymanie treningu. Wynika to z nieograniczonej mocy wyjściowej „Relu”, która może sprawić, że gradient sigmoid spadnie do zera i nie nastąpi uczenie. Tak więc w przypadkach mam współczynnik „scaleDown” dla mojej sieci, który będzie ważył odchylenie inicjalizacji o ten czynnik. Kontynuuję empiryczne dostrajanie wag, dopóki nie nastąpi nauka. Prostym sposobem na znalezienie jest zapisanie modelu natychmiast po 1 iteracji i sprawdzenie wyjścia RELU (podłączonego do sigmoid). Kontynuuj dostrajanie wag, aż wyjście RELU będzie rozsądne. A następnie użyj tych ciężarów do treningu. To dobry początek. Jeśli po kilku iteracjach nadal się zapada, zważ je nieco więcej, aż osiągniesz stabilność. To tylko hack, którego użyłem. Dla mnie to zadziałało. Więc dzielę się swoim doświadczeniem. Różne rzeczy działają w różnych konfiguracjach.
Więc powodzenia!
źródło