Neural Network Learning Rules – Perceptron & Hebbian Learning

This In-depth Tutorial on Neural Network Learning Rules Explains Hebbian Learning and Perceptron Learning Algorithm with Examples:

W naszym poprzednim tutorialu rozmawialiśmy o Sztucznej Sieci Neuronowej, która jest architekturą dużej liczby połączonych ze sobą elementów zwanych neuronami.

Te neurony przetwarzają otrzymane dane wejściowe, aby dać pożądane wyjście. Węzły lub neurony są połączone przez wejścia, wagi połączeń i funkcji aktywacji.

Główną cechą sieci neuronowej jest jej zdolność do uczenia się. Sieci neuronowe trenować się z znanych przykładów. Gdy sieć zostanie przeszkolony, może być stosowany do rozwiązywania nieznanych wartości problemu.

=> Read Through The Complete Machine Learning Training Series

Sieć neuronowa uczy się poprzez różne schematy uczenia się, które są skategoryzowane jako nadzorowane lub unsupervised learning.

W nadzorowanych algorytmów uczenia się, wartości docelowe są znane do sieci. Stara się zmniejszyć błąd między pożądanym wyjściem (celem) a rzeczywistym wyjściem, aby uzyskać optymalną wydajność. W algorytmach uczenia nienadzorowanego wartości docelowe są nieznane, a sieć uczy się sama, identyfikując ukryte wzorce na wejściu, tworząc klastry itp.

An ANN składa się z 3 części, tj. warstwy wejściowej, warstwy ukrytej i warstwy wyjściowej. Istnieje pojedyncza warstwa wejściowa i warstwa wyjściowa, podczas gdy może nie być warstwy ukrytej lub 1 lub więcej warstw ukrytych, które mogą być obecne w sieci. Na podstawie tej struktury ANN jest klasyfikowana jako sieć jednowarstwowa, wielowarstwowa, feed-forward lub rekurencyjna.

Ważna terminologia ANN

Zanim sklasyfikujemy różne reguły uczenia się w ANN, zrozumiejmy kilka ważnych terminologii związanych z ANN.

#1) Wagi: W ANN każdy neuron jest połączony z innymi neuronami poprzez połączenia. Te połączenia mają wagę. Waga zawiera informacje o sygnale wejściowym do neuronu. Wagi i sygnał wejściowy są używane do uzyskania danych wyjściowych. Wagi mogą być zapisane w formie macierzy, która jest również nazywana macierzą połączeń.

Każdy neuron jest połączony z każdym innym neuronem następnej warstwy poprzez wagi połączeń. Stąd, jeśli istnieje „n” węzłów i każdy węzeł ma „m” wag, wtedy macierz wag będzie:

W1 reprezentuje wektor wag począwszy od węzła 1. W11 reprezentuje wektor wag od 1. węzła poprzedniej warstwy do 1. węzła następnej warstwy. Podobnie, wij reprezentuje wektor wag od „i-tego” elementu przetwarzającego (neuronu) do „j-tego” elementu przetwarzającego następnej warstwy.

#2) Bias: Bias jest dodawany do sieci poprzez dodanie elementu wejściowego x (b) = 1 do wektora wejściowego. Bias niesie ze sobą również wagę oznaczoną przez w (b).

Bias odgrywa ważną rolę w obliczaniu wyjścia neuronu. Skośność może być dodatnia lub ujemna. Dodatnia skośność zwiększa wagę wejścia netto, podczas gdy ujemna skośność zmniejsza wagę wejścia netto.

#3) Próg: Wartość progowa jest używana w funkcji aktywacji. Wejście netto jest porównywane z progiem, aby uzyskać wyjście. W NN, funkcja aktywacji jest definiowana na podstawie wartości progowej i obliczane jest wyjście.

Wartość progowa wynosi:

#4) Szybkość uczenia: Oznaczany jest przez alfa ? Współczynnik uczenia mieści się w zakresie od 0 do 1. Jest on używany do korekty wag podczas procesu uczenia NN.

#5) Momentum Factor: Jest on dodawany w celu szybszej zbieżności wyników. Współczynnik momentum jest dodawany do wagi i jest ogólnie używany w sieciach wstecznej propagacji.

Comparison Of Neural Network Learning Rules

.

.

Learning Methods – metody uczenia się.> Gradient Descent Hebbian Competitive Stochastic
Typ architektury
||
Single Layer Feedforward ADALINE
Hopfield
Perceptron
Associative
Memory
Hopfield
Linear Wektor
Kwantyzacja
Warstwowa funkcja posuwu naprzód Kaskada
Korelacja
Warstwowa funkcja posuwu naprzód
Radialna funkcja diagonalna
Funkcja
Neocognitron
Recurrent Recurrent Neural
Network
Bidirectional Auto
Associative
Memory
Brain- In-a- BoxBidirectional Auto
Associative
Memory
Brain-. State- In-a- Box
Hopfield
Adaptacyjna
Teoria Rezonansu
Boltzmann
Maszyna
Cauchy
Maszyna

Klasyfikacja różnych typów uczenia ANN jest przedstawiona poniżej.

Classification Of Supervised Learning Algorithms

  1. Gradient Descent
  2. Stochastic

#1) Gradient Descent Learning

W tym typie uczenia redukcja błędu odbywa się za pomocą wag i funkcji aktywacji sieci. Funkcja aktywacji powinna być różniczkowalna.

Dostosowanie wag zależy w tym uczeniu od gradientu błędu E. Przykładem tego typu uczenia jest reguła wstecznej propagacji. Zatem dopasowanie wag jest zdefiniowane jako

#2) Uczenie stochastyczne

W tym uczeniu wagi są dopasowywane w sposób probabilistyczny.

Classification Of Unsupervised Learning Algorithms

  1. Hebbian
  2. Competitive

#1) Hebbian Learning

To uczenie zostało zaproponowane przez Hebba w 1949 roku. Opiera się ono na korelacyjnym dopasowaniu wag. Pary wzorców wejściowych i wyjściowych są związane z macierzą wag, W.

Transpozycja wyjścia jest brana do dostosowania wag.

#2) Uczenie konkurencyjne

Jest to strategia zwycięzca bierze wszystko. W tym typie uczenia, gdy wzór wejściowy jest wysyłany do sieci, wszystkie neurony w warstwie konkurują i tylko zwycięskie neurony mają korekty wag.

Mc Culloch-Pitts Neuron

Znany również jako M-P Neuron, jest to najwcześniejsza sieć neuronowa, która została odkryta w 1943 roku. W tym modelu neurony są połączone przez wagi połączeń, a funkcja aktywacji jest używana binarnie. Próg jest używany do określenia, czy neuron będzie ogień lub nie.

Funkcja neuronu M-P jest:

Hebbian Learning Algorithm

Hebb Network został podany przez Donalda Hebba w 1949 roku. Zgodnie z regułą Hebba, wagi rosną proporcjonalnie do iloczynu wejścia i wyjścia. Oznacza to, że w sieci Hebba, jeśli dwa neurony są połączone ze sobą, to wagi związane z tymi neuronami mogą być zwiększane przez zmiany w szczelinie synaptycznej.

Sieć ta jest odpowiednia dla danych dwubiegunowych. Hebbińska reguła uczenia jest ogólnie stosowana do bramek logicznych.

Wagi są aktualizowane jako:

W (nowe) = w (stare) + x*y

Algorytm Treningowy Dla Hebbińskiej Reguły Uczenia

Kroki treningowe algorytmu są następujące:

  • Wstępnie wagi są ustawione na zero, tzn.tzn. w =0 dla wszystkich wejść i =1 do n, a n jest całkowitą liczbą neuronów wejściowych.
  • Pozwól, aby s było wyjściem. Funkcja aktywacji dla wejść jest zwykle ustawiona jako funkcja tożsamości.
  • Funkcja aktywacji dla wyjścia jest również ustawiona na y= t.
  • Korygowanie wag i skos są ustawione na:
  • Kroki od 2 do 4 są powtarzane dla każdego wektora wejściowego i wyjścia.

Example Of Hebbian Learning Rule

Zaimplementujmy logiczną funkcję AND z wejściami bipolarnymi używając Hebbian Learning

X1 i X2 są wejściami, b jest biasem przyjętym jako 1, wartość docelowa jest wyjściem logicznej operacji AND nad wejściami.

.

Wejście Bias Target
X1 X2 b y
1 1 1 1
1 -.1 1 -1
-1 1 1 -1
-1 -1 1 -1

#1) Początkowo, wagi są ustawione na zero i skośność jest również ustawiona na zero.

W1=w2=b=0

#2) Pierwszy wektor wejściowy jest przyjmowany jako =, a wartość docelowa wynosi 1.

Nowe wagi będą następujące:

#3) Powyższe wagi są ostatecznymi nowymi wagami. Po podaniu drugiego wejścia staną się one wagami początkowymi.

#4) Weź drugie wejście = . Celem jest -1.

#5) W podobny sposób obliczane są pozostałe wejścia i wagi.

W poniższej tabeli przedstawiono wszystkie dane wejściowe:

Hebb Net for AND Function

Algorytm uczenia perceptronów

Sieci perceptronowe są jednowarstwowymi sieciami typu feed-forward. Są one również nazywane pojedynczymi sieciami perceptronowymi. Perceptron składa się z warstwy wejściowej, warstwy ukrytej i warstwy wyjściowej.

Warstwa wejściowa jest połączona z warstwą ukrytą poprzez wagi, które mogą być hamujące lub pobudzające lub zerowe (-1, +1 lub 0). Zastosowana funkcja aktywacji jest binarną funkcją krokową dla warstwy wejściowej i warstwy ukrytej.

Wynikiem jest

Y= f (y)

Funkcją aktywacji jest:

Aktualizacja wag odbywa się pomiędzy warstwą ukrytą a warstwą wyjściową w celu dopasowania do docelowego wyniku. Błąd jest obliczany na podstawie rzeczywistego wyjścia i pożądanego wyjścia.

Jeśli wyjście pasuje do celu, wtedy nie ma aktualizacji wagi ma miejsce. Wagi są początkowo ustawione na 0 lub 1 i dostosowywane sukcesywnie aż do znalezienia optymalnego rozwiązania.

Wagi w sieci mogą być początkowo ustawione na dowolne wartości. Uczenie Perceptronu zbiegnie się do wektora wag, który daje poprawne wyjście dla wszystkich wejściowych wzorców szkoleniowych i to uczenie dzieje się w skończonej liczbie kroków.

Reguła Perceptronu może być używana zarówno dla wejść binarnych jak i dwubiegunowych.

Reguła uczenia dla Perceptronu jednowyjściowego

#1) Niech istnieje „n” wektorów wejściowych treningu, a x (n) i t (n) są związane z wartościami docelowymi.

#2) Zainicjuj wagi i skośność. Ustaw je na zero, aby ułatwić obliczenia.

#3) Niech współczynnik uczenia wynosi 1.

#4) Warstwa wejściowa ma identyczną funkcję aktywacji, więc x (i)= s ( i).

#5) Aby obliczyć wyjście sieci:

#6) Funkcja aktywacji jest stosowana na wejściu sieci, aby uzyskać wyjście.

#7) Teraz w oparciu o wyjście, porównaj pożądaną wartość docelową (t) i rzeczywiste wyjście.

#8) Kontynuuj iterację, aż nie będzie zmiany wagi. Zatrzymaj, gdy ten warunek zostanie osiągnięty.

Reguła uczenia dla perceptronu wielowyjściowego

#1) Niech istnieje „n” wejściowych wektorów treningowych, a x (n) i t (n) są związane z wartościami docelowymi.

#2) Zainicjuj wagi i bias. Ustaw je na zero, aby ułatwić obliczenia.

#3) Niech współczynnik uczenia wynosi 1.

#4) Warstwa wejściowa ma identyczną funkcję aktywacji, więc x (i)= s ( i).

#5) Aby obliczyć wyjście każdego wektora wyjściowego od j= 1 do m, wejście netto to:

#6) Funkcja aktywacji jest nakładana na wejście netto, aby uzyskać wyjście.

#7) Teraz na podstawie danych wyjściowych porównaj pożądaną wartość docelową (t) z rzeczywistą wartością wyjściową i dokonaj korekty wag.

w jest wektorem wag połączeń między i-tym neuronem wejściowym i j-tym neuronem wyjściowym, a t jest docelową wartością wyjściową dla jednostki wyjściowej j.

#8) Kontynuuj iterację aż do momentu, gdy nie będzie zmian wag. Zatrzymaj po osiągnięciu tego warunku.

Example Of Perceptron Learning Rule

Implementacja funkcji AND przy użyciu sieci Perceptron dla wejść i wyjść dwubiegunowych.

Schematem wejściowym będą x1, x2 i bias b. Niech wagi początkowe będą równe 0, a bias 0. Próg jest ustawiony na zero, a współczynnik uczenia wynosi 1.

BramkaAND

.

X1 X2 Target
1 1 1
1 -1 -1
-1 1 -1
-1 -1 -1

#1) X1=1 , X2= 1 i wyjście docelowe = 1
W1=w2=wb=0 i x1=x2=b=1, t=1
Wejście sieci= y =b + x1*w1+x2*w2 = 0+1*0 +1*0 =0

Jako że próg jest równy zero zatem:

Z tego miejsca otrzymujemy, wyjście = 0. Teraz sprawdź czy wyjście (y) = cel (t).

y = 0 ale t= 1 co oznacza, że nie są one takie same, stąd następuje aktualizacja wag.

Nowe wagi wynoszą 1, 1, i 1 po przedstawieniu pierwszego wektora wejściowego.

#2) X1= 1 X2= -1 , b= 1 i cel = -1, W1=1 ,W2=2, Wb=1
Wejście netto= y =b + x1*w1+x2*w2 = 1+1*1 + (-1)*1 =1
Wyjście netto dla wejścia= 1 wyniesie 1 z:

Więc ponownie cel = -1 nie zgadza się z wyjściem rzeczywistym =1. Następuje aktualizacja wag.

Teraz nowe wagi to w1 = 0 w2 =2 i wb =0

Podobnie, kontynuując z następnym zestawem wejść, otrzymujemy następującą tabelę:

EPOCHS to cykl wzorców wejściowych podawanych do systemu aż do momentu, gdy nie jest wymagana zmiana wag i iteracja się zatrzymuje.

Widrow Hoff Learning Algorithm

Znany również jako Delta Rule, podąża za regułą zstępowania gradientu dla regresji liniowej.

Uaktualnia wagi połączeń z różnicą pomiędzy wartością docelową i wyjściową. Jest to algorytm uczenia najmniejszej średniej kwadratowej należący do kategorii algorytmów uczenia nadzorowanego.

Za tą regułą podążają ADALINE (Adaptive Linear Neural Networks) i MADALINE. W przeciwieństwie do Perceptronu, iteracje sieci Adaline nie kończą się, lecz zbiega ona poprzez redukcję najmniejszego błędu średniokwadratowego. MADALINE to sieć złożona z więcej niż jednego ADALINE.

Motywem reguły uczenia delta jest minimalizacja błędu między wyjściem a wektorem docelowym.

Wagi w sieci ADALINE są aktualizowane przez:

Least mean square error = (t- yin)2, ADALINE zbiega się, gdy osiągnięty zostanie najmniejszy błąd średniokwadratowy.

Podsumowanie

W tym samouczku omówiliśmy dwa algorytmy tj. Hebbińską Regułę Uczenia i Perceptronową Regułę Uczenia. Reguła Hebbiana opiera się na zasadzie, że wektor wag rośnie proporcjonalnie do sygnału wejściowego i sygnału uczenia, czyli wyjścia. Wagi są inkrementowane przez dodanie iloczynu wagi wejściowej i wyjściowej do starej wagi.

W (nowa) = w (stara) +x*y

Zastosowanie reguł Hebba leży w problemach kojarzenia wzorców, klasyfikacji i kategoryzacji.

Reguła uczenia Perceptronu może być zastosowana zarówno do sieci z jednym wyjściem jak i z wieloma klasami wyjściowymi. Celem sieci perceptronowej jest zaklasyfikowanie wzorca wejściowego do określonej klasy członkowskiej. Neurony wejściowe i neurony wyjściowe są połączone poprzez łącza posiadające wagi.

Wagi są dostosowywane tak, aby dopasować rzeczywiste wyjście do wartości docelowej. Współczynnik uczenia jest ustawiony od 0 do 1 i określa on skalowalność wag.

Wagi są aktualizowane zgodnie z:

Oprócz tych reguł uczenia, algorytmy uczenia maszynowego uczą się za pomocą wielu innych metod tj. nadzorowane, nienadzorowane, wzmocnienie. Niektóre z innych popularnych algorytmów ML to wsteczna propagacja, ART, Kohonen Self Organizing Maps, itp.

Mamy nadzieję, że podobały Ci się wszystkie tutoriale z tej serii uczenia maszynowego!!!

=>Odwiedź tutaj, aby uzyskać dostęp do ekskluzywnej serii uczenia maszynowego

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.