Proces Gaussa w sieci neuronowej

Po lewej : Bayesowska sieć neuronowa trójwymiarowe dane wejściowe (na dole) w dwuwymiarowe góry ). prawej : prawdopodobieństwa losowe Wideo : wraz ze wzrostem szerokości sieci rozkład wyjściowy upraszcza się, ostatecznie zbiegając się do wielowymiarowej normalnej w nieskończonej szerokości.

Sieci bayesowskie to narzędzie do modelowania służące do przypisywania prawdopodobieństwa zdarzeniom, a tym samym do charakteryzowania niepewności w przewidywaniach modelu. Głębokie uczenie się i sztuczne sieci neuronowe to podejścia stosowane w uczeniu maszynowym do tworzenia modeli obliczeniowych, które uczą się na przykładach szkoleniowych. Bayesowskie sieci neuronowe łączą te dziedziny. Są rodzajem sztucznej sieci neuronowej, której parametry a przewidywania są zarówno probabilistyczne. Podczas gdy standardowe sztuczne sieci neuronowe często przypisują wysoką pewność nawet błędnym przewidywaniom, sieci neuronowe bayesowskie mogą dokładniej ocenić prawdopodobieństwo poprawności ich przewidywań.

Procesy gaussowskie sieci neuronowych (NNGP) są równoważne z sieciami neuronowymi bayesowskimi w określonym limicie i zapewniają zamkniętą formę oceny sieci neuronowych bayesowskich. Są to rozkład prawdopodobieństwa procesu Gaussa , który opisuje rozkład przewidywań dokonanych przez odpowiednią Bayesowską sieć neuronową. Obliczenia w sztucznych sieciach neuronowych są zwykle zorganizowane w sekwencyjne warstwy sztucznych neuronów . Liczba neuronów w warstwie nazywana jest szerokością warstwy. Równoważność między NNGP a sieciami neuronowymi Bayesa występuje, gdy warstwy w sieci neuronowej Bayesa stają się nieskończenie szerokie (patrz rysunek). Ta duża granica szerokości ma znaczenie praktyczne, ponieważ sieci neuronowe o skończonej szerokości zwykle działają znacznie lepiej wraz ze wzrostem szerokości warstwy.

NNGP pojawia się również w kilku innych kontekstach: opisuje rozkład przewidywań dokonywanych przez szerokie nie-bayesowskie sztuczne sieci neuronowe po losowej inicjalizacji ich parametrów, ale przed szkoleniem; pojawia się jako termin w neuronowych równaniach przewidywania jądra stycznego; jest używany w głębokiej propagacji informacji do scharakteryzowania, czy hiperparametry i architektury będą możliwe do szkolenia. Jest to związane z innymi dużymi ograniczeniami szerokości sieci neuronowych .

Ilustracja kreskówka

Kiedy parametry próbkowane z ich wcześniejszych , wynikowy rozkład na wyjściach sieci jest opisywany przez proces

sieci neuronowej odpowiada określonej funkcji obliczanej przez sieć neuronową Wcześniejszy rozkład po parametrach sieci neuronowej odpowiada zatem wcześniejszemu rozkładowi po Ponieważ sieci neuronowe są nieskończenie szerokie, ten rozkład funkcji zbiega się do procesu Gaussa dla wielu architektur.

Rysunek po prawej przedstawia jednowymiarowe wyjścia sieci neuronowej dla dwóch wejść i i przeciwko sobie. Czarne kropki pokazują funkcję obliczoną przez sieć neuronową na tych wejściach dla losowych losowań parametrów z . Czerwone linie to kontury izo-prawdopodobieństwa dla wspólnego rozkładu na wyjściach sieci i wywołane przez . Jest to rozkład w przestrzeni funkcyjnej odpowiadający rozkładowi w przestrzeni parametrów, a czarne kropki to próbki z tego rozkładu. W przypadku nieskończenie szerokich sieci neuronowych, ponieważ rozkład na funkcje obliczane przez sieć neuronową jest procesem Gaussa, wspólny rozkład na wyjściach sieci jest wielowymiarowym Gaussem dla dowolnego skończonego zestawu wejść sieciowych.

Notacja użyta w tej sekcji jest taka sama, jak notacja użyta poniżej w celu uzyskania zgodności między NNGP a w pełni połączonymi sieciami, i można tam znaleźć więcej szczegółów.

Architektury, które odpowiadają NNGP

Wykazano, że równoważność między nieskończenie szerokimi Bayesowskimi sieciami neuronowymi a NNGP zachodzi dla: pojedynczej warstwy ukrytej i głębokich, w pełni połączonych sieci , gdy liczba jednostek na warstwę jest doprowadzona do nieskończoności; konwolucyjne sieci neuronowe , gdy liczba kanałów jest doprowadzona do nieskończoności; sieci transformatorowe, ponieważ liczba głów uwagi jest doprowadzona do nieskończoności; powtarzające się sieci gdy liczba jednostek zostanie doprowadzona do nieskończoności. W rzeczywistości ta zgodność NNGP dotyczy prawie każdej architektury: ogólnie, jeśli architektura może być wyrażona wyłącznie poprzez mnożenie macierzy i nieliniowości współrzędnych (tj. program tensorowy), to ma GP o nieskończonej szerokości. Obejmuje to w szczególności wszystkie wyprzedzające lub rekurencyjne sieci neuronowe złożone z wielowarstwowego perceptronu, rekurencyjne sieci neuronowe (np. LSTM , GRU ), splot (nD lub graf) , łączenie w pule, pomijanie połączeń, uwagę, normalizację wsadową i/lub normalizację warstw.

Zgodność między nieskończenie szeroką, w pełni połączoną siecią a procesem Gaussa

Ta sekcja rozwija zgodność między nieskończenie szerokimi sieciami neuronowymi a procesami Gaussa dla konkretnego przypadku w pełni połączonej architektury. Zawiera szkic dowodowy wyjaśniający, dlaczego korespondencja się utrzymuje, i wprowadza specyficzną formę funkcjonalną NNGP dla w pełni połączonych sieci. Szkic dowodowy jest ściśle zgodny z podejściem przedstawionym w Novak i in., 2018 .

Specyfikacja architektury sieci

Wyprowadzany jest NNGP, który jest odpowiednikiem sieci neuronowej Bayesa z tą w pełni połączoną architekturą.

Rozważmy w pełni połączoną sztuczną sieć neuronową z wejściami parametrami składającymi się z wag i odchyleń dla każdej warstwy sieci, aktywacje wstępne (nieliniowość) , aktywacje (post-nieliniowość) i szerokości warstw { . uproszczenia przyjmuje się, że szerokość odczytu wynosi 1. Parametry tej sieci mają wcześniejszy rozkład , który składa się z izotropowego Gaussa dla każdej wagi i odchylenia, z wariancją wag skalowaną odwrotnie do szerokości warstwy. Ta sieć jest zilustrowana na rysunku po prawej stronie i opisana przez następujący zestaw równań:

jest procesem Gaussa

, że preaktywacje przez proces Gaussa Wynik ten utrzymuje się nawet przy skończonej szerokości. wstępna aktywacja sumą zmiennych losowych , , gdzie współczynniki dla każdej z tych zmiennych Gaussa to poprzednie aktywacje . Ponieważ są ważoną sumą Gaussów o zerowej średniej, uwarunkowane współczynnikami ). Ponieważ są łącznie gaussowskie dla dowolnego zestawu , są one opisane przez proces Gaussa uwarunkowany poprzednimi aktywacjami . Kowariancja lub jądro tego procesu Gaussa zależy od wariancji wagi i odchylenia i , jak również macierz drugiego momentu poprzednich aktywacji ,

Efektem skali wagi przeskalowanie wkładu do macierzy kowariancji z podczas gdy odchylenie jest wspólne σ dla wszystkich danych wejściowych, a więc sprawia, że jest bardziej podobny i sprawia, że ​​macierz kowariancji jest bardziej jak stała macierz.

jest procesem Gaussa

Wstępne aktywacje zależą tylko od momentu . z . Z tego powodu możemy powiedzieć, że Gaussa uwarunkowanym uwarunkowanym ,

Gdy szerokość warstwy staje się deterministyczna ,

wcześniej, jest macierzą drugiego momentu . Ponieważ aktywacji po zastosowaniu nieliniowości można go zastąpić , co skutkuje zmodyfikowanym równaniem wyrażającym dla w zakresie ,

Ustaliliśmy już, że jest procesem Gaussa. Oznacza to, że suma definiująca jest średnią z procesu Gaussa, który jest funkcją ,

Gdy szerokość warstwy do nieskończoności, tę średnią z próbek z procesu Gaussa można zastąpić całką po procesie Gaussa:

nieskończonej szerokości, macierz drugiego momentu każdej pary wejść x wyrazić jako całkę po a Displaystyle i . Istnieje wiele sytuacji, w których zostało to rozwiązane analitycznie, na przykład gdy jest ReLU , ELU, GELU lub nieliniowością funkcji błędu . Nawet jeśli nie można tego rozwiązać analitycznie, ponieważ jest to całka 2d, można ją ogólnie skutecznie obliczyć numerycznie. Ta całka jest deterministyczna, więc jest deterministyczny.

W skrócie definiujemy funkcjonał który odpowiada obliczeniu tej całki 2d dla wszystkich par danych wejściowych i który odwzorowuje na ,

jest NNGP

Stosując rekurencyjnie obserwację, że , można zapisać jako deterministyczną funkcję ,

gdzie wskazuje na sekwencyjne stosowanie funkcjonalności . Łącząc to wyrażenie z dalszymi obserwacjami, że macierz drugiego momentu warstwy wejściowej deterministyczną funkcją wejścia że jest procesem Gaussa, wyjście sieci neuronowej można wyrazić jako proces Gaussa pod względem jego danych wejściowych,

Biblioteki oprogramowania

Neural Tangents to bezpłatna biblioteka Pythona o otwartym kodzie źródłowym, używana do obliczeń i wnioskowania z jądrem NNGP i neuronowym stycznym odpowiadającym różnym popularnym architekturom SSN.