6

Rozumiem rolę węzła odchylenia w sieciach neuronowych i dlaczego jest on ważny dla zmiany funkcji aktywacji w małych sieciach. Moje pytanie brzmi: czy odchylenie jest nadal ważne w bardzo dużych sieciach (dokładniej, splotowa sieć neuronowa do rozpoznawania obrazów za pomocą funkcji aktywacji ReLu, 3 warstw splotowych, 2 ukrytych warstw i ponad 100 000 połączeń), czy też jej wpływ zagubiony przez samą liczbę pojawiających się aktywacji?Czy węzeł bias jest niezbędny w bardzo dużych sieciach neuronowych?

Powód, dla którego pytam, ponieważ w przeszłości zbudowałem sieci, w których zapomniałem wprowadzić węzeł odchylenia, jednak po dodaniu jednego zaobserwowano nieznaczną różnicę w wydajności. Czy mogło to być przypadkowe, ponieważ zestaw danych specyficznych nie wymagał uprzedzeń? Czy muszę inicjować odchylenie o większej wartości w dużych sieciach? Wszelkie inne porady byłyby mile widziane.

Odpowiedz

5

Węzeł polaryzacji/termin jest dostępny tylko w celu zapewnienia, że ​​przewidywane wyniki będą bezstronne. Jeśli twoje wejście ma dynamikę (zakres), która idzie od -1 do +1 i twoje wyjście jest po prostu translacją wejścia przez +3, sieć neuronowa z terminem odchylenia po prostu będzie miała neuron obciążenia o niezerowej wadze podczas gdy pozostałe będą zerowe. Jeśli nie masz neuronu odchylenia w tej sytuacji, wszystkie funkcje aktywacji i ważenie zostaną zoptymalizowane tak, aby w najlepszym razie naśladować prosty dodatek, używając sigmoidów/stycznych i mnożenia.

Jeśli oba wejścia i wyjścia mają taki sam zakres, powiedzmy od -1 do +1, to prawdopodobnie nie będzie użyteczne.

Możesz przyjrzeć się ważeniu węzła odchylenia w eksperymencie, o którym wspomniałeś. Albo jest bardzo niski i prawdopodobnie oznacza, że ​​wejścia i wyjścia są już wyśrodkowane. Lub jest to znaczące i założę się, że wariancja innych wag jest zmniejszona, co prowadzi do bardziej stabilnej (i mniej podatnej na przeuczenie) sieci neuronowej.

+0

Ah, okazuje się, że odchylenie jest małe, więc domyślam się, że zbiór danych musi być już w rozsądnym środku. Pozdrawiam za odpowiedź. – Hungry

3

Bias jest równoważne dodawaniu stałej takiej jak 1 do danych wejściowych każdej warstwy. Wtedy ciężar tej stałej jest równoważny twojemu nastawieniu. To naprawdę proste do dodania.

Teoretycznie nie jest to konieczne, ponieważ sieć może "nauczyć się" tworzyć swój własny węzeł odchylenia na każdej warstwie. Jeden z neuronów może ustawić jego wagę bardzo wysoko, więc zawsze wynosi 1 lub 0, więc zawsze wyprowadza stałą 0,5 (dla jednostek sigmoidalnych). Wymaga to jednak co najmniej 2 warstw.

+0

To nie jest tak naprawdę "jak dodanie 1 do wejścia każdej warstwy" w sieciach splotowych. –

0

Dlaczego bias wymagane w sieci neuronowej:

Węzeł stronniczość w sieci neuronowej jest węzeł, który jest zawsze na. Oznacza to, że jego wartość jest ustawiona na bez względu na dane w danym wzorcu. Jest analogiczny do przecięcia w modelu regresji i pełni tę samą funkcję.

Jeśli sieć neuronowa nie węzeł polaryzacji w danej warstwie będzie nie być w stanie produkować wyjście w następnej warstwy, różnią się od 0 gdy wartości funkcji są

To dlatego wymagaliśmy wartości odchylenia w sieci neuronowej.