Propagacja wsteczna w sieci neuronowej: algorytm uczenia maszynowego
Zanim nauczymy się sieci neuronowej z propagacją wsteczną (BPNN), zrozummy:
Co to są sztuczne sieci neuronowe?
Sieć neuronowa to grupa połączonych jednostek we/wy, gdzie każde połączenie ma wagę powiązaną z jego programami komputerowymi. Pomaga w budowaniu modeli predykcyjnych na podstawie dużych baz danych. Model ten opiera się na ludzkim układzie nerwowym. Pomaga w zrozumieniu obrazu, uczeniu się człowieka, mowie komputerowej itp.
Co to jest propagacja wsteczna?
Propagacja wsteczna jest istotą treningu sieci neuronowych. Jest to metoda dostrajania wag sieci neuronowej w oparciu o poziom błędu uzyskany w poprzedniej epoce (tj. iteracji). Właściwe dostrojenie wag pozwala na zmniejszenie współczynnika błędów i zwiększenie wiarygodności modelu poprzez zwiększenie jego uogólnienia.
Propagacja wsteczna w sieci neuronowej to skrót od „wstecznej propagacji błędów”. Jest to standardowa metoda uczenia sztucznych sieci neuronowych. Metoda ta pomaga obliczyć gradient funkcji straty w odniesieniu do wszystkich wag w sieci.
Jak działa algorytm propagacji wstecznej
Algorytm propagacji wstecznej w sieci neuronowej oblicza gradient funkcji straty dla pojedynczej wagi za pomocą reguły łańcuchowej. Wydajnie oblicza jedną warstwę na raz, w przeciwieństwie do natywnego obliczenia bezpośredniego. Oblicza gradient, ale nie definiuje sposobu jego wykorzystania. Uogólnia obliczenia w regule delta.
Aby to zrozumieć, rozważ poniższy przykładowy diagram sieci neuronowej z propagacją wsteczną:
- Wejścia X docierają wstępnie podłączoną ścieżką
- Dane wejściowe modelowane są przy użyciu rzeczywistych wag W. Wagi dobierane są zazwyczaj losowo.
- Oblicz wynik dla każdego neuronu, począwszy od warstwy wejściowej, poprzez warstwy ukryte, aż do warstwy wyjściowej.
- Oblicz błąd na wyjściach
ErrorB= Actual Output – Desired Output
- Wróć z warstwy wyjściowej do warstwy ukrytej, aby dostosować wagi w taki sposób, aby zmniejszyć błąd.
Powtarzaj proces, aż do uzyskania pożądanego wyniku
Dlaczego potrzebujemy propagacji wstecznej?
Najbardziej widoczne zalety propagacji wstecznej to:
- Propagacja wsteczna jest szybka, prosta i łatwa do zaprogramowania
- Nie ma żadnych parametrów do dostrojenia poza liczbami wejściowymi
- Jest to metoda elastyczna, gdyż nie wymaga wcześniejszej wiedzy o sieci
- Jest to standardowa metoda, która na ogół działa dobrze
- Aby się tego nauczyć, nie trzeba specjalnie wspominać o cechach funkcji.
Co to jest sieć przesyłania dalej?
Sieć neuronowa z wyprzedzeniem to sztuczna sieć neuronowa, w której węzły nigdy nie tworzą cyklu. Ten rodzaj sieci neuronowej składa się z warstwy wejściowej, warstw ukrytych i warstwy wyjściowej. Jest to pierwszy i najprostszy rodzaj sztucznej sieci neuronowej.
Rodzaje sieci propagacji wstecznej
Dwa typy sieci propagacji wstecznej to:
- Statyczna propagacja wsteczna
- Powtarzająca się propagacja wsteczna
Statyczna propagacja wsteczna
Jest to jeden z rodzajów sieci z propagacją wsteczną, która tworzy mapowanie statycznego wejścia na statyczne wyjście. Przydatne jest rozwiązywanie problemów związanych z klasyfikacją statyczną, takich jak optyczne rozpoznawanie znaków.
Powtarzająca się propagacja wsteczna
Rekurencyjna propagacja wsteczna w eksploracji danych jest przekazywana do przodu aż do osiągnięcia ustalonej wartości. Następnie błąd jest obliczany i propagowany wstecz.
Główna różnica między obiema tymi metodami polega na tym, że mapowanie jest szybkie w przypadku statycznej propagacji wstecznej i niestatyczne w przypadku rekurencyjnej propagacji wstecznej.
Historia wstecznej propagacji
- W 1961 roku J. Kelly, Henry Arthur i E. Bryson wyprowadzili podstawowe pojęcia ciągłej propagacji wstecznej w kontekście teorii sterowania.
- W 1969 roku Bryson i Ho opracowali wieloetapową metodę dynamicznej optymalizacji systemu.
- W 1974 Werbos stwierdził możliwość zastosowania tej zasady w sztucznej sieci neuronowej.
- W 1982 roku Hopfield przedstawił swój pomysł sieci neuronowej.
- W 1986 roku, dzięki staraniom Davida E. Rumelharta, Geoffreya E. Hintona, Ronalda J. Williamsa, propagacja wsteczna zyskała uznanie.
- W 1993 roku Wan jako pierwsza osoba wygrała międzynarodowy konkurs rozpoznawania wzorców za pomocą metody propagacji wstecznej.
Kluczowe punkty dotyczące propagacji wstecznej
- Upraszcza strukturę sieci poprzez elementy ważonych łączy, które mają najmniejszy wpływ na wyszkoloną sieć
- Należy przestudiować grupę wartości wejściowych i aktywacyjnych, aby opracować relację między wejściową i ukrytą warstwą jednostek.
- Pomaga ocenić wpływ, jaki dana zmienna wejściowa ma na wynik sieci. Wiedzę zdobytą w wyniku tej analizy należy przedstawić w postaci reguł.
- Propagacja wsteczna jest szczególnie przydatna w przypadku głębokich sieci neuronowych pracujących nad projektami podatnymi na błędy, takimi jak rozpoznawanie obrazu lub mowy.
- Propagacja wsteczna wykorzystuje reguły łańcucha i mocy, dzięki czemu propagacja wsteczna może działać z dowolną liczbą wyników.
Najlepsza praktyka Propagacja wsteczna
Propagację wsteczną w sieci neuronowej można wyjaśnić za pomocą analogii „sznurowadła”.
Za małe napięcie =
- Za mało ograniczające i bardzo luźne
Za duże napięcie =
- Zbyt duże ograniczenie (przetrenowanie)
- Zabieranie zbyt dużo czasu (stosunkowo powolny proces)
- Większe prawdopodobieństwo złamania
Ciągnięcie jednej koronki częściej niż drugiej =
- Dyskomfort (stronniczość)
Wady stosowania propagacji wstecznej
- Rzeczywista wydajność propagacji wstecznej w przypadku konkretnego problemu zależy od danych wejściowych.
- Algorytm propagacji wstecznej w eksploracji danych może być dość wrażliwy na zaszumione dane
- Do propagacji wstecznej zamiast mini-partii należy zastosować podejście oparte na macierzy.
Podsumowanie
- Sieć neuronowa to grupa połączonych ze sobą jednostek we/wy, gdzie każde połączenie ma wagę związaną z jej programami komputerowymi.
- Propagacja wsteczna to skrót od „wstecznej propagacji błędów”. Jest to standardowa metoda uczenia sztucznych sieci neuronowych
- Algorytm propagacji wstecznej w uczenie maszynowe jest szybki, prosty i łatwy w programowaniu
- Sieć BPN z wyprzedzeniem to sztuczna sieć neuronowa.
- Dwa typy sieci z propagacją wsteczną to: 1) statyczna propagacja wsteczna 2) rekurencyjna propagacja wsteczna
- W 1961 roku J. Kelly, Henry Arthur i E. Bryson wyprowadzili podstawowe pojęcia ciągłej propagacji wstecznej w kontekście teorii sterowania.
- Propagacja wsteczna w data mining upraszcza strukturę sieci poprzez usunięcie łączy ważonych, które mają minimalny wpływ na wyszkoloną sieć.
- Jest to szczególnie przydatne w przypadku głębokich sieci neuronowych pracujących nad projektami podatnymi na błędy, takimi jak rozpoznawanie obrazu lub mowy.
- Największą wadą propagacji wstecznej jest to, że może ona być wrażliwa na zaszumione dane.