Xavier (Glorot) Initialization
Zaczynasz uczyć sieć neuronową, czyli program z wieloma warstwami obliczeń. Zanim zobaczy dane, trzeba ustawić jego wagi — liczby decydujące o sile połączeń. Jeżeli są zbyt małe lub zbyt duże, sygnał przechodzący przez kolejne warstwy może słabnąć albo nadmiernie rosnąć. Uczenie zaczyna się wtedy w trudnych warunkach.
Xavier (Glorot) Initialization dobiera skalę losowych wag początkowych do liczby wejść i wyjść warstwy. Ma pomagać utrzymać rozsądny rozrzut sygnałów i informacji o tym, jak zmieniać wagi. Taką motywację przedstawiają Glorot i Bengio, §4.
Dla warstwy z 100 wejściami i 100 wyjściami podstawowy wariant przyjmuje wariancję wag 2/(100+100) = 0,01. Wariancja mierzy rozrzut liczb; odpowiadające jej odchylenie standardowe wynosi 0,1. Losujemy więc różne wagi wokół zera w odpowiedniej skali, zamiast wszystkim dawać tę samą liczbę.
To warunek startowy, a nie reguła późniejszych zmian wag. Wyprowadzenie opiera się na uproszczeniach dotyczących sygnałów i funkcji używanych w warstwach, więc nie gwarantuje idealnej stabilności każdej sieci. Dla innych konstrukcji, na przykład wielu sieci z ReLU, stosuje się również inne inicjalizacje. Sama inicjalizacja nie zastąpi kontroli treningu.