Algorytm wstecznej propagacji – przegląd
Opublikowany: 2021-10-15Sieci neuronowe są najbardziej popularnym słowem w świecie technologii AI. A kiedy mówimy o sieciach neuronowych, propagacja wsteczna to słowo, na którym należy się skupić. Algorytm wstecznej propagacji jest jednym z podstawowych bloków sieci neuronowej. Ponieważ każda sieć neuronowa musi zostać przeszkolona do wykonania zadania, algorytm wstecznej propagacji jest algorytmem używanym do uczenia sieci neuronowej. Jest to forma algorytmu uczenia nadzorowanego, który służy do uczenia perceptronów wielu warstw w sztucznej sieci neuronowej.
Typowe programowanie jest brane pod uwagę, gdy dane są wstawiane i wykonywana jest logika programowania. Po zakończeniu przetwarzania dane wyjściowe są odbierane przez użytkownika. Ale to wyjście może w pewien sposób wpłynąć na logikę programowania. To właśnie robi algorytm propagacji wstecznej. Dane wyjściowe wpłyną na logikę i dadzą lepsze wyniki.
W artykule skupimy się na algorytmie wstecznej propagacji błędów i procesie jego działania.
Spis treści
Znaczenie wstecznej propagacji
Znaczenie propagacji wstecznej polega na jej wykorzystaniu w sieciach neuronowych. Projektowanie sieci neuronowych wymaga, aby wagi były inicjowane tylko na początku. Wagi te to niektóre wartości losowe lub dowolne zmienne losowe, które są brane pod uwagę przy inicjalizacji wag. Ponieważ wagi są wstawiane losowo, istnieje ryzyko, że wagi mogą nie być prawidłowe. Oznacza to, że ciężarki nie będą pasować do modelu. Wynik modelu może być inny niż oczekiwany wynik. W rezultacie występuje duża wartość błędu. Ale zawsze ważne jest, aby zmniejszyć błąd, a myślenie o sposobach zmniejszenia błędu jest wyzwaniem. Model musi zostać przeszkolony, aby za każdym razem, gdy wystąpią tego typu scenariusze, należy odpowiednio zmienić parametry. A wraz ze zmianą parametrów wartość błędu zostanie zmniejszona.
W związku z tym wymagane jest uczenie modelu, a propagacja wsteczna jest jednym ze sposobów, za pomocą których można trenować model, aby istniały minimalne wartości błędów.
Kilka kroków algorytmu wstecznej propagacji błędów w sieciach neuronowych można podsumować poniżej:
● Obliczanie błędów: Oblicza odchylenie wyjścia modelu od rzeczywistego wyniku modelu.
● Błąd minimalny: W tym kroku zostanie sprawdzone, czy wygenerowany błąd jest zminimalizowany, czy nie.
● Aktualizacja parametrów: Ten krok służy do aktualizacji parametrów modelu. Jeżeli model generuje bardzo dużą wartość błędu, to musi zaktualizować swoje parametry,
takie jak wagi i błędy systematyczne. Model jest ponownie sprawdzany pod kątem błędu, a proces jest powtarzany, aż wygenerowany błąd zostanie zminimalizowany.
● Ostateczny model: po wielokrotnym procesie sprawdzania i aktualizowania błąd zostaje zminimalizowany, a model jest teraz gotowy do wprowadzania danych wejściowych. Dane wejściowe mogą być wprowadzane do modelu, a dane wyjściowe z modelu mogą być analizowane.
Sieć neuronowa wstecznej propagacji
W dowolnej sieci neuronowej algorytm wstecznej propagacji poszukuje minimalnej wartości błędu. Odbywa się to za pomocą techniki opadania gradientu lub reguły delta, dzięki której minimalna funkcja błędu jest wyszukiwana z przestrzeni wagi. Po zidentyfikowaniu wag, które zmniejszają funkcję błędu, uważa się to za rozwiązanie problemu uczenia się. W latach 60., kiedy algorytm został wprowadzony najpierw, a następnie w latach późniejszych, popularność algorytmu wzrosła. Sieć neuronową można skutecznie trenować za pomocą tego algorytmu przy użyciu metody reguły łańcucha. Jeśli przez sieć neuronową występuje przejście do przodu, to przejście wstecz jest wykonywane przez parametr modelu poprzez jego dostosowanie parametrów, takich jak obciążenia i wagi. Aby algorytm propagacji wstecznej działał, najpierw należy zdefiniować sieć neuronową.
Model sieci neuronowej
Jeśli rozważany jest 4-warstwowy model sieci neuronowej, będzie on składał się z warstw; warstwa wejściowa, 4 neurony przeznaczone dla warstw ukrytych i 1 neuron przeznaczony dla warstwy wyjściowej.
Warstwa wejściowa: Warstwa wejściowa może być prosta lub złożona. Prosta warstwa wejściowa będzie zawierać skalary, a złożona warstwa wejściowa będzie składać się z macierzy wielowymiarowych lub wektorów. Uważa się, że pierwsze zestawy aktywacyjne są równe wartościom wejściowym.
Przez aktywację rozumie się wartość neuronu, która powstaje po zastosowaniu funkcji aktywacji.
Warstwy ukryte: Korzystanie z pewnych ważonych danych wejściowych, takich jak z^l w warstwach l, oraz aktywacje a^l w tej samej warstwie l. Równania są generowane dla tych warstw, takich jak warstwa 2 i warstwa 3.
Aktywacje dla warstw są obliczane za pomocą funkcji aktywacji f. Funkcja aktywacji „f” jest funkcją nieliniową, która umożliwia poznanie przez sieć złożonych wzorców obecnych w danych.
Powstaje macierz wag o kształcie (n,m), gdzie liczba „n” oznacza neurony wyjściowe, a „m” neurony wejściowe sieci neuronowej. W modelu ww. warstw liczba n będzie wynosić 2, a liczba m będzie 4. Również pierwsza liczba w indeksie dolnym wagi powinna odpowiadać indeksowi neuronu znajdującego się w następnej warstwie. Druga liczba powinna odpowiadać indeksowi neuronowemu poprzedniej warstwy sieci.
Warstwa wyjściowa: Warstwa wyjściowa to ostatnia warstwa sieci neuronowej. Przewiduje wartość modelu. Do uproszczenia równania używana jest reprezentacja macierzowa.
Propagacja do przodu sieci neuronowej i jej ocena
Równania generowane podczas definiowania sieci neuronowej stanowią propagację sieci w przód. Przewiduje wynik modelu. W algorytmie propagacji do przodu ostatnim krokiem, który jest zaangażowany, jest ocena przewidywanych danych wyjściowych w stosunku do oczekiwanych danych wyjściowych. Jeśli przewidywany wynik to „s”, a oczekiwany wynik to „y”, to s należy ocenić względem y. W przypadku uczącego zbioru danych (x,y) x to dane wejściowe, a y to dane wyjściowe.
Funkcja kosztu „C” jest używana do oceny s względem y. Funkcja kosztu może być prosta, jak błąd średniokwadratowy (MSE), lub złożona, jak entropia krzyżowa. Na podstawie wartości C model dowiaduje się, jak bardzo należy skorygować parametry, aby zbliżyć się do oczekiwanego wyniku, którym jest y. Odbywa się to za pomocą algorytmu wstecznej propagacji.
Algorytm propagacji wstecznej
Algorytm wstecznej propagacji błędów wielokrotnie dopasowuje wagi w połączeniach sieciowych w celu zminimalizowania różnicy między danymi wyjściowymi modelu a oczekiwanymi danymi wyjściowymi. W algorytmie wstecznej propagacji błędów można również tworzyć nowe i przydatne funkcje w sieci.
Algorytm wstecznej propagacji błędów ma również na celu zmniejszenie lub zminimalizowanie zdefiniowanej funkcji kosztu sieci, tj. C. Odbywa się to poprzez dostosowanie parametrów, takich jak obciążenia i wagi. Ta korekta parametrów jest określona przez gradienty funkcji kosztu w odniesieniu do wszystkich tych parametrów.
Gradient funkcji C w punkcie x definiuje się jako wektor wszystkich pochodnych cząstkowych, które znajdują się w funkcji kosztu C w x.
Wrażliwość na zmianę wartości funkcji mierzy się pochodną funkcji C po zmianie argumentu x. Oznacza to, że to pochodna mówi, gdzie porusza się funkcja kosztu C.
Zmiana parametru x jest określona przez gradient. Pokazuje zmiany, które są wymagane w parametrze x dla minimalizacji C. Do obliczania gradientów używana jest reguła łańcucha. To właśnie gradient pozwala na optymalizację parametrów.
Tak działa algorytm wstecznej propagacji błędów w doskonaleniu i uczeniu sieci neuronowej. Służy jako ważna część aspektów uczenia maszynowego. Będąc istotną częścią treningu sieci neuronowej, zrozumienie algorytmu wstecznej propagacji jest niezbędne. Jeśli chcesz być ekspertem w dziedzinie uczenia maszynowego i sztucznej inteligencji, możesz zapoznać się z kursem „Master of Science in Machine Learning & Artificial Intelligence” oferowanym przez upGrad. Do udziału w kursie kwalifikują się wszyscy pracujący profesjonaliści. Będziesz szkolony przez wydziały ekspertów z IIIT Bangalore, a także z LJMU. Ponad 650 godzin nauki treści pomoże Ci przygotować się na nadchodzącą sztuczną inteligencję. Wszelkie pytania dotyczące kursu są mile widziane.
Jaka jest metoda używana w algorytmie wstecznej propagacji błędów?
Metodą stosowaną w algorytmie propagacji wstecznej jest reguła łańcucha.
Dlaczego używany jest algorytm wstecznej propagacji?
Algorytm wstecznej propagacji błędów służy do minimalizacji błędu modelu.
W jaki sposób algorytm wstecznej propagacji minimalizuje błąd sieci?
Algorytm propagacji wstecznej próbuje odpowiednio dostosować parametry, co skutkuje minimalizacją błędu.