Znaczenie węzła stronniczości w sieciach neuronowych

19

Ciekaw jestem, jak ważny jest węzeł stronniczości dla skuteczności nowoczesnych sieci neuronowych. Z łatwością rozumiem, że może to być ważne w płytkiej sieci z zaledwie kilkoma zmiennymi wejściowymi. Jednak współczesne sieci neuronowe, takie jak głębokie uczenie się, często mają dużą liczbę zmiennych wejściowych, które decydują, czy dany neuron zostanie wyzwolony. Czy zwykłe usunięcie ich np. Z LeNet5 lub ImageNet miałoby jakikolwiek realny wpływ?

pir
źródło
@gung - Widziałem, że zredagowałeś tytuł, aby użyć frazy „węzeł stronniczości”. Jestem ciekawy, dlaczego wolisz ten tytuł? Nigdy wcześniej tego nie słyszałem. Co więcej, użycie słowa „węzeł” wydaje się mylące, gdy obciążenie nie jest oddzielnym węzłem w sieci.
pir
2
Jeśli ci się nie podoba, możesz cofnąć edycję bez moich przeprosin. Zawsze myślałem, że nazwa była dość standardowa, chociaż od lat nie grałem w / ANN, a niektórzy nazywają ją „neuronem nastawienia”. FWIW, „stronniczość” jest nieco niejednoznaczna w statystyce / ML; najczęściej odnosi się do estymatora, którego rozkład próbkowania nie jest wyśrodkowany na prawdziwej wartości parametru lub funkcji predykcyjnej / przewidywanej wartości, która różni się od prawdziwej funkcji / średniej itp., podczas gdy węzeł polaryzacji jest specyficzną częścią ANN.
gung - Przywróć Monikę
2
Jest to rzeczywisty węzeł - przynajmniej w tym sensie, że którykolwiek z nich - w sieci. Np. Zobacz czarne węzły na tym obrazie .
Gung - Przywróć Monikę
Ok, to ma sens - to prawda, że ​​„stronniczość” jest dość niejednoznaczna. Dziękuję za wyjaśnienie.
pir
1
W przypadku neuronów jednostka odchylenia wydaje się strzelać samorzutnie, dzieje się tak w naturze.
user3927612

Odpowiedzi:

15

Usunięcie uprzedzeń z pewnością wpłynie na wydajność i oto dlaczego ...

Każdy neuron jest jak prosta regresja logistyczna i masz . Wartości wejściowe mnoży się przez wagi, a odchylenie wpływa na początkowy poziom zgniatania w funkcji sigmoidalnej (tanh itp.), Co powoduje pożądaną nieliniowość.y=σ(Wx+b)

Załóżmy na przykład, że chcesz, aby neuron strzelił gdy wszystkie piksele wejściowe są czarne x 0 . Jeśli nie ma stronniczości bez względu na to, jakie masz wagi W , biorąc pod uwagę równanie y = σ ( W x ), neuron zawsze będzie strzelał y 0,5 .y1x0Wy=σ(Wx)y0.5

Dlatego też, usuwając warunki błędu, znacznie zmniejszysz wydajność swojej sieci neuronowej.

Yannis Assael
źródło
2
Dzięki, to ma sens. Wydaje mi się, że nawet jeśli większość nowoczesnych sieci wykorzystuje ReLU jako funkcję aktywacji (patrz np. Papers.nips.cc/paper/4824-imagenet ), może to być nadal istotne, jeśli sieć będzie musiała odpalić, gdy wszystkie piksele wejściowe są czarne. ReLU jest zdefiniowane jako f (x) = max (0, x).
pir
dokładnie! to ten sam przypadek ...
Yannis Assael
4
y1x0x0y0.5
2
Chociaż zgadzam się z teorią, warto zauważyć, że przy nowoczesnych dużych sieciach szanse na uzyskanie zerowego wkładu są znikome. Opiera się to również na założeniu, że sieć chciałaby wystrzelić 1 - głębokie sieci najprawdopodobniej nie będzie obchodzić wyjścia pojedynczego neuronu - to po części dlatego wypadanie jest tak popularne w regularyzacji sieci.
Max Gordon,
2
@MaxGordon ma rację. Ta odpowiedź nie dotyczy tego pytania. Spróbuj usunąć błąd z dużej sieci, a zobaczysz, że nie ma to większego znaczenia.
Neil G
10

Nie zgadzam się z inną odpowiedzią w konkretnym kontekście twojego pytania. Tak, węzeł stronniczości ma znaczenie w małej sieci. Jednak w dużym modelu usunięcie danych wejściowych odchylenia ma niewielką różnicę, ponieważ każdy węzeł może utworzyć węzeł odchylenia ze średniej aktywacji wszystkich swoich danych wejściowych, co zgodnie z prawem dużych liczb będzie w przybliżeniu normalne. Na pierwszej warstwie zdolność do tego zależy od dystrybucji wejściowej. Na przykład w przypadku MNIST średnia aktywacja wejścia jest z grubsza stała.

Oczywiście w małej sieci potrzebujesz danych wyjściowych, ale w dużej sieci jej usunięcie prawie nie ma znaczenia. (Ale dlaczego miałbyś to usunąć?)

Neil G.
źródło
3

Skomentowałbym odpowiedź @ NeilG, gdybym miał wystarczającą reputację, ale niestety ...

Nie zgadzam się z tobą, Neil, w tej sprawie. Mówisz:

... średnia aktywacja wszystkich jego danych wejściowych, co według prawa wielkich liczb będzie mniej więcej normalne.

Argumentowałbym przeciwko temu i powiedziałbym, że prawo dużej liczby wymaga, aby wszystkie obserwacje były od siebie niezależne. Tak nie jest w przypadku sieci neuronowych. Nawet jeśli każda aktywacja jest normalnie rozłożona, jeśli zauważysz, że jedna wartość wejściowa jest wyjątkowo wysoka, zmienia to prawdopodobieństwo wszystkich pozostałych danych wejściowych. Zatem „obserwacje”, w tym przypadku dane wejściowe, nie są niezależne, a prawo wielkich liczb nie ma zastosowania.

Chyba że nie rozumiem twojej odpowiedzi.

ArturJ
źródło