Podstawy AI

Co to jest propagacja wsteczna?

mm
Dodaj Unite.AI do preferowanych ÅšrÃģdeł w Google

Co to jest propagacja wsteczna?

Systemy głębokiego uczenia się są w stanie nauczyć się bardzo złoÅžonych wzorcÃģw, a osiągają to, dostosowując swoje wagi. Jak dokładnie są dostosowywane wagi głębokiej sieci neuronowej? Są dostosowywane za pomocą procesu zwanego propagacją wsteczną. Bez propagacji wstecznej, głębokie sieci neuronowe nie byłyby w stanie wykonywać zadań takich jak rozpoznawanie obrazÃģw i interpretowanie języka naturalnego. Zrozumienie, jak działa propagacja wsteczna, jest kluczowe do zrozumienia głębokich sieci neuronowych w ogÃģle, więc omÃģwmy propagację wsteczną i zobaczmy, jak proces jest uÅžywany do dostosowania wag sieci.

Propagacja wsteczna moÅže być trudna do zrozumienia, a obliczenia uÅžywane do wykonania propagacji wstecznej mogą być dość złoÅžone. Artykuł ten będzie starał się dać Ci intuicyjne zrozumienie propagacji wstecznej, uÅžywając niewielkiej ilości skomplikowanej matematyki. Jednak pewna dyskusja na temat matematyki za propagacją wsteczną jest konieczna.

Cel propagacji wstecznej

Zacznijmy od zdefiniowania celu propagacji wstecznej. Wagi głębokiej sieci neuronowej są siłą połączeń między jednostkami sieci neuronowej. Kiedy sieć neuronowa jest ustanowiona, zakłada się pewne załoÅženia dotyczące połączeń między jednostkami w jednej warstwie a warstwami połączonymi z nią. Kiedy dane przechodzą przez sieć neuronową, wagi są obliczane, a załoÅženia są robione. Kiedy dane docierają do ostatniej warstwy sieci, robiona jest predykcja dotycząca tego, jak cechy są powiązane z klasami w zbiorze danych. RÃģÅžnica między przewidywanymi wartościami a rzeczywistymi wartościami jest błędem/stratą, a celem propagacji wstecznej jest zmniejszyć stratę. To jest osiągane przez dostosowanie wag sieci, czyniąc załoÅženia bardziej podobnymi do prawdziwych relacji między cechami wejściowymi.

Szkolenie głębokiej sieci neuronowej

Przed wykonaniem propagacji wstecznej na sieci neuronowej, musi zostać wykonany regularny/przedni przebieg szkolenia sieci neuronowej. Kiedy sieć neuronowa jest tworzona, zestaw wag jest inicjowany. Wartość wag będzie zmieniana podczas szkolenia sieci. Przedni przebieg szkolenia sieci neuronowej moÅžna postrzegać jako trzy odrębne kroki: aktywacja neuronu, transfer neuronu i propagacja w przÃģd.

Kiedy szkolimy głęboką sieć neuronową, musimy uÅžyć wielu funkcji matematycznych. Neurony w głębokiej sieci neuronowej składają się z danych wejściowych i funkcji aktywacji, ktÃģra określa wartość niezbędną do aktywacji węzła. Wartość aktywacji neuronu jest obliczana z kilku składnikÃģw, będąc waÅžoną sumą wejść. Wagi i wartości wejściowe zaleŞą od indeksu węzłÃģw uÅžywanych do obliczania aktywacji. Inna liczba musi być brana pod uwagę przy obliczaniu wartości aktywacji, wartość biasu. Wartości biasu nie zmieniają się, więc nie są mnoÅžone razem z wagą i wejściami, są po prostu dodawane. To wszystko oznacza, Åže następujące rÃģwnanie mogłoby być uÅžyte do obliczania wartości aktywacji:

Aktywacja = suma(waga * wejście) + bias

Po aktywacji neuronu, funkcja aktywacji jest uÅžywana do określenia, jaki będzie rzeczywisty wynik neuronu. RÃģÅžne funkcje aktywacji są optymalne dla rÃģÅžnych zadań uczenia, ale powszechnie uÅžywane funkcje aktywacji obejmują funkcję sigmoidalną, funkcję tangens hiperboliczny i funkcję ReLU.

Kiedy wyniki neuronu są obliczane przez przeprowadzenie wartości aktywacji przez poŞądaną funkcję aktywacji, propagacja w przÃģd jest wykonana. Propagacja w przÃģd jest po prostu pobieraniem wynikÃģw jednej warstwy i robieniem ich wejściami następnej warstwy. Nowe wejścia są następnie uÅžywane do obliczania nowych funkcji aktywacji, a wynik tej operacji jest przekazywany do następnej warstwy. Ten proces jest kontynuowany aÅž do końca sieci neuronowej.

Propagacja wsteczna w sieci

Proces propagacji wstecznej pobiera ostateczne decyzje przebiegu szkolenia modelu, a następnie określa błędy w tych decyzjach. Błędy są obliczane przez porÃģwnywanie wynikÃģw/decyzji sieci i oczekiwanych/poŞądanych wynikÃģw sieci.

Kiedy błędy w decyzjach sieci są obliczone, ta informacja jest propagowana wstecznie przez sieć, a parametry sieci są zmieniane w trakcie. Metoda, ktÃģra jest uÅžywana do aktualizacji wag sieci, opiera się na rachunku rÃģÅžniczkowym, konkretnie, opiera się na regule łańcuchowej. Jednak zrozumienie rachunku rÃģÅžniczkowego nie jest konieczne do zrozumienia idei za propagacją wsteczną. Po prostu wiedz, Åže kiedy wartość wyjściowa jest podana z neuronu, nachylenie wartości wyjściowej jest obliczane z funkcją transferu, wytwarzając pochodną. Kiedy wykonujemy propagację wsteczną, błąd dla konkretnego neuronu jest obliczany zgodnie z następującym wzorem:

błąd = (wartość_oczekiwana – wartość_aktualna) * nachylenie wartości wyjściowej neuronu

Kiedy operujemy na neuronach w warstwie wyjściowej, wartość klasy jest uÅžywana jako wartość oczekiwana. Po obliczeniu błędu, błąd jest uÅžywany jako wejście dla neuronÃģw w warstwie ukrytej, co oznacza, Åže błąd dla tej warstwy ukrytej jest waÅžonym błędem neuronÃģw znalezionych w warstwie wyjściowej. Obliczenia błędÃģw podrÃģÅžują wstecznie przez sieć wzdłuÅž wag sieci.

Po obliczeniu błędÃģw dla sieci, wagi w sieci muszą być zaktualizowane. Jak wspomniano, obliczanie błędu obejmuje określenie nachylenia wartości wyjściowej. Po obliczeniu nachylenia, proces znany jako gradientowy zstępowania moÅže być uÅžyty do dostosowania wag w sieci. Gradient jest nachyleniem, ktÃģrego kąt/steepness moÅže być zmierzony. Nachylenie jest obliczane przez naniesienie “y nad” lub “wzrost” nad “biegiem”. W przypadku sieci neuronowej i stopy błędu “y” jest obliczonym błędem, podczas gdy “x” są parametry sieci. Parametry sieci mają relację do obliczonych wartości błędu, a podczas dostosowywania wag sieci błąd wzrasta lub maleje.

“Gradientowy zstępowania” jest procesem aktualizacji wag, tak aby stopa błędu zmalała. Propagacja wsteczna jest uÅžywana do przewidywania relacji między parametrami sieci neuronowej a stopą błędu, co przygotowuje sieć do gradientowego zstępowania. Szkolenie sieci z gradientowym zstępowaniem obejmuje obliczanie wag przez propagację w przÃģd, propagację wsteczną błędu, a następnie aktualizację wag sieci.

Blogger i programista ze specjalnościami w Machine Learning i Deep Learning tematy. Daniel liczy, Åže pomoÅže innym wykorzystać moc sztucznej inteligencji dla dobra społecznego.