stub Co to jest propagacja wsteczna? - Unite.AI
Kontakt z nami
Kurs mistrzowski AI:

AI 101

Co to jest propagacja wsteczna?

mm
Zaktualizowano on

Co to jest propagacja wsteczna?

Systemy głębokiego uczenia się są w stanie uczyć się niezwykle złożonych wzorców i osiągają to poprzez dostosowanie ich wag. Jak dokładnie korygowane są wagi głębokiej sieci neuronowej? Są regulowane poprzez proces nazywa propagacja wsteczna. Bez propagacji wstecznej głębokie sieci neuronowe nie byłyby w stanie wykonywać takich zadań, jak rozpoznawanie obrazów i interpretacja języka naturalnego. Zrozumienie, jak działa propagacja wsteczna, ma kluczowe znaczenie dla ogólnego zrozumienia głębokich sieci neuronowych, omówmy więc propagację wsteczną i zobaczmy, jak proces ten jest wykorzystywany do dostosowywania wag sieci.

Propagacja wsteczna może być trudna do zrozumienia, a obliczenia stosowane do jej przeprowadzenia mogą być dość złożone. W tym artykule postaramy się zapewnić intuicyjne zrozumienie propagacji wstecznej, wykorzystując niewiele skomplikowanej matematyki. Jednakże konieczne jest omówienie matematyki stojącej za propagacją wsteczną.

Cel propagacji wstecznej

Zacznijmy od zdefiniowania celu propagacji wstecznej. Wagi głębokiej sieci neuronowej to siła połączeń pomiędzy jednostkami sieci neuronowej. Po utworzeniu sieci neuronowej przyjmuje się założenia dotyczące sposobu, w jaki jednostki w jednej warstwie są połączone z warstwami z nią połączonymi. W miarę przesyłania danych przez sieć neuronową obliczane są wagi i przyjmowane są założenia. Kiedy dane dotrą do ostatniej warstwy sieci, przeprowadzana jest prognoza dotycząca powiązania cech z klasami w zbiorze danych. Różnica między wartościami przewidywanymi a wartościami rzeczywistymi to strata/błąd i cel propagacji wstecznej jest ograniczenie strat. Osiąga się to poprzez dostosowanie wag sieci, dzięki czemu założenia bardziej przypominają prawdziwe relacje między cechami wejściowymi.

Trenowanie głębokiej sieci neuronowej

Zanim będzie można wykonać propagację wsteczną na pliku sieci neuronowe, należy przeprowadzić regularne/do przodu przejście szkoleniowe sieci neuronowej. Kiedy tworzona jest sieć neuronowa, inicjowany jest zestaw wag. Wartość wag będzie się zmieniać w miarę uczenia sieci. Przejście szkoleniowe sieci neuronowej do przodu można potraktować jako trzy odrębne etapy: aktywację neuronu, transfer neuronu i propagację do przodu.

Ucząc głęboką sieć neuronową, musimy korzystać z wielu funkcji matematycznych. Neurony w głębokiej sieci neuronowej składają się z przychodzących danych oraz funkcji aktywacji, która określa wartość niezbędną do aktywacji węzła. Wartość aktywacji neuronu obliczana jest z kilku składników, będących sumą ważoną wejść. Wagi i wartości wejściowe zależą od indeksu węzłów używanych do obliczenia aktywacji. Przy obliczaniu wartości aktywacji należy wziąć pod uwagę inną liczbę, wartość odchylenia. Wartości biasu nie zmieniają się, więc nie są mnożone przez wagę i dane wejściowe, są po prostu dodawane. Wszystko to oznacza, że ​​do obliczenia wartości aktywacji można zastosować następujące równanie:

Aktywacja = suma (waga * dane wejściowe) + odchylenie

Po aktywacji neuronu funkcja aktywacji służy do określenia, jaki będzie rzeczywisty sygnał wyjściowy neuronu. Różne funkcje aktywacji są optymalne dla różnych zadań edukacyjnych, ale powszechnie stosowane funkcje aktywacji obejmują funkcję sigmoidalną, funkcję Tanha i funkcję ReLU.

Po obliczeniu sygnałów wyjściowych neuronu poprzez przejście wartości aktywacji przez pożądaną funkcję aktywacji, wykonywana jest propagacja do przodu. Propagacja w przód polega po prostu na pobieraniu danych wyjściowych z jednej warstwy i przekształcaniu ich w wejścia następnej warstwy. Nowe dane wejściowe są następnie wykorzystywane do obliczania nowych funkcji aktywacji, a wynik tej operacji jest przekazywany do następnej warstwy. Proces ten trwa aż do końca sieci neuronowej.

Propagacja wsteczna w sieci

Proces propagacji wstecznej podejmuje ostateczne decyzje dotyczące przebiegu szkolenia modelu, a następnie określa błędy w tych decyzjach. Błędy oblicza się poprzez porównanie wyników/decyzji sieci z oczekiwanymi/pożądanymi wynikami sieci.

Po obliczeniu błędów w decyzjach sieci informacja ta jest propagowana wstecz w sieci, a parametry sieci ulegają po drodze zmianie. Metoda używana do aktualizacji wag sieci opiera się na rachunku różniczkowym, a konkretnie na regule łańcuchowej. Jednak zrozumienie rachunku różniczkowego nie jest konieczne, aby zrozumieć ideę propagacji wstecznej. Wystarczy wiedzieć, że gdy wartość wyjściowa jest dostarczana z neuronu, nachylenie wartości wyjściowej jest obliczane za pomocą funkcji przenoszenia, tworząc wyprowadzony wynik. Podczas propagacji wstecznej błąd dla konkretnego neuronu jest obliczany w następujący sposób formuła:

błąd = (oczekiwane_wyjście – rzeczywiste_wyjście) * nachylenie wartości wyjściowej neuronu

Podczas operacji na neuronach w warstwie wyjściowej wartość klasy jest używana jako wartość oczekiwana. Po obliczeniu błędu, wykorzystuje się go jako dane wejściowe 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 przemieszczają się wstecz przez sieć wzdłuż sieci wag.

Po obliczeniu błędów sieci należy zaktualizować wagi w sieci. Jak wspomniano, obliczenie błędu polega na określeniu nachylenia wartości wyjściowej. Po obliczeniu nachylenia można zastosować proces znany jako opadanie gradientu w celu dostosowania wag w sieci. Nachylenie to zbocze, którego kąt/nachylenie można zmierzyć. Nachylenie oblicza się poprzez wykreślenie „y over” lub „wzniesienia” nad „biegiem”. W przypadku sieci neuronowej i poziomu błędu „y” to błąd obliczony, a „x” to parametry sieci. Parametry sieci mają związek z obliczonymi wartościami błędów, a w miarę dostosowywania wag sieci błąd wzrasta lub maleje.

„Zejście gradientowe” to proces aktualizacji wag w celu zmniejszenia poziomu błędów. Propagacja wsteczna służy do przewidywania związku między parametrami sieci neuronowej a poziomem błędów, który ustawia sieć na opadanie gradientowe. Uczenie sieci z opadaniem gradientowym obejmowało obliczanie wag poprzez propagację w przód, propagację wsteczną błędu, a następnie aktualizację wag sieci.

Bloger i programista specjalizujący się w Nauczanie maszynowe i głęboki Learning tematy. Daniel ma nadzieję pomóc innym wykorzystać moc sztucznej inteligencji dla dobra społecznego.