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ą:

Algorytm propagacji wstecznej
Jak działa algorytm propagacji wstecznej
  1. Wejścia X docierają wstępnie podłączoną ścieżką
  2. Dane wejściowe modelowane są przy użyciu rzeczywistych wag W. Wagi dobierane są zazwyczaj losowo.
  3. Oblicz wynik dla każdego neuronu, począwszy od warstwy wejściowej, poprzez warstwy ukryte, aż do warstwy wyjściowej.
  4. Oblicz błąd na wyjściach
ErrorB= Actual Output – Desired Output
  1. 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.