neural network learning rules perceptron hebbian learning
Ten szczegółowy samouczek dotyczący zasad uczenia się sieci neuronowych wyjaśnia uczenie Hebbian i algorytm uczenia perceptronowego z przykładami:
W naszym poprzednim samouczku omówiliśmy Sztuczna sieć neuronowa 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 za pomocą danych wejściowych, wag połączeń i funkcji aktywacji.
Główną cechą sieci neuronowej jest jej zdolność uczenia się. Sieci neuronowe uczą się za pomocą znanych przykładów. Gdy sieć zostanie przeszkolona, można jej użyć do rozwiązania nieznanych wartości problemu.
=> Przeczytaj całą serię szkoleń z zakresu uczenia maszynowego
Sieć neuronowa uczy się poprzez różne schematy uczenia się, które są klasyfikowane jako uczenie nadzorowane lub nienadzorowane.
W algorytmach uczenia nadzorowanego wartości docelowe są znane sieci. Próbuje zmniejszyć błąd między żądanym wyjściem (celem) a rzeczywistym wyjściem w celu uzyskania optymalnej wydajności. W algorytmach uczenia się nienadzorowanego wartości docelowe są nieznane, a sieć uczy się sama, identyfikując ukryte wzorce na wejściu poprzez tworzenie klastrów itp.
SSN składa się z 3 części, tj. Warstwy wejściowej, warstwy ukrytej i warstwy wyjściowej. Istnieje jedna 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ą znajdować się w sieci. W oparciu o tę strukturę SSN jest klasyfikowana w jednowarstwowych, wielowarstwowych, sprzężonych lub powtarzających się sieci.
Czego się nauczysz:
najlepsze darmowe oprogramowanie do strojenia komputera
- Ważna terminologia SSN
- Porównanie reguł uczenia się sieci neuronowych
- Wniosek
Ważna terminologia SSN
Zanim sklasyfikujemy różne reguły uczenia się w SSN, zrozumiemy kilka ważnych terminów związanych z SSN.
# 1) Wagi: W sieci ANN każdy neuron jest połączony z innymi neuronami za pomocą łączy. Te linki mają wagę. Waga zawiera informacje o sygnale wejściowym do neuronu. Do uzyskania danych wyjściowych używane są wagi i sygnał wejściowy. Wagi można oznaczyć w postaci macierzy, nazywanej również 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, a każdy węzeł ma „m” wag, to macierz wag będzie wyglądać następująco:
W1 reprezentuje wektor wagi zaczynający się od węzła 1. W11 reprezentuje wektor wagi z 1śwwęzeł poprzedniej warstwy do 1śwwęzeł następnej warstwy. Podobnie wij reprezentuje wektor wagi od „i-tego” elementu przetwarzającego (neuronu) do „j-tego” elementu przetwarzającego następnej warstwy.
# 2) Bias : Obciążenie jest dodawane do sieci przez dodanie elementu wejściowego x (b) = 1 do wektora wejściowego. Odchylenie niesie również wagę oznaczoną przez w (b).
Odchylenie odgrywa ważną rolę w obliczaniu wyjścia neuronu. Odchylenie może być pozytywne lub negatywne. Dodatnie odchylenie zwiększa wagę wkładu netto, podczas gdy negatywne odchylenie zmniejsza wkład netto.
# 3) Próg: W funkcji aktywacji używana jest wartość progowa. Wkład netto jest porównywany z progiem, aby uzyskać wynik. W NN funkcja aktywacji jest definiowana na podstawie wartości progowej i obliczana jest moc wyjściowa.
Wartość progowa to:
# 4) Wskaźnik uczenia się : Jest oznaczony przez alfa? Tempo uczenia się waha się od 0 do 1. Służy do dostosowania wagi podczas procesu uczenia się NN.
# 5) Momentum Factor : Jest dodawany w celu szybszej zbieżności wyników. Współczynnik pędu jest dodawany do wagi i jest zwykle używany w sieciach z propagacją wsteczną.
Porównanie reguł uczenia się sieci neuronowych
Metody uczenia się -> | Gradientowe zejście | Hebbian | Konkurencyjny | Stochastyczny | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
EPOCH 2 | |||||||||||
Typ architektury || | |||||||||||
Jednowarstwowy Feedforward | ADALINE Hopfield Perceptron | Asocjacyjny Pamięć Hopfield | Wektor liniowy Kwantyzacja | ||||||||
Wielowarstwowe przekazywanie do przodu | Kaskada Korelacja Kanał wielowarstwowy Naprzód Promieniowe odchylenie Funkcjonować | Neocognitron | |||||||||
Nawracający | Nawrót neuronowy Sieć | Dwukierunkowa automatyka Asocjacyjny Pamięć Mózg - stan - w pudełku Hopfield | Adaptacyjny Teoria rezonansu | Boltzmann Maszyna Cauchy Maszyna |
Poniżej przedstawiono klasyfikację różnych typów uczenia się SSN.
Klasyfikacja algorytmów uczenia nadzorowanego
- Gradientowe zejście
- Stochastyczny
# 1) Nauka zstępowania gradientowego
W tego typu uczeniu redukcja błędów odbywa się za pomocą wag i funkcji aktywacji sieci. Funkcja aktywacji powinna być różniczkowalna.
Dopasowanie wag zależy od gradientu błędu E w tej nauce. Przykładem tego typu uczenia się jest reguła wstecznej propagacji. Zatem korektę wagi definiuje się jako
2.Nauka stochastyczna
W tej nauce wagi są korygowane w sposób probabilistyczny.
Klasyfikacja algorytmów uczenia się bez nadzoru
- Hebbian
- Konkurencyjny
1) Hebbian Learning
Ta nauka została zaproponowana przez Hebba w 1949 roku. Opiera się ona na korelacyjnym dopasowaniu wag. Pary wzorców wejściowych i wyjściowych są powiązane z macierzą wag W.
W celu dostosowania wagi pobierana jest transpozycja wyjścia.
# 2) Konkurencyjna nauka
To zwycięzca bierze całą strategię. W tego typu uczeniu się, gdy do sieci wysyłany jest wzorzec wejściowy, wszystkie neurony w warstwie konkurują ze sobą i tylko neurony wygrywające mają regulację wagi.
Mc Culloch-Pitts Neuron
Znana 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 wagami połączeń, a funkcja aktywacji jest używana w układzie binarnym. Próg służy do określenia, czy neuron będzie odpalać, czy nie.
Funkcją neuronu M-P jest:
Algorytm uczenia się języka Hebbian
Hebb Network zostało stwierdzone przez Donalda Hebba w 1949 r. Zgodnie z regułą Hebba wagi rosną proporcjonalnie do iloczynu wkładu i produkcji. Oznacza to, że w sieci Hebb, jeśli dwa neurony są ze sobą połączone, wówczas wagi związane z tymi neuronami mogą zostać zwiększone przez zmiany w szczelinie synaptycznej.
Ta sieć jest odpowiednia dla danych bipolarnych. Reguła uczenia się Hebbów jest generalnie stosowana do bramek logicznych.
Wagi są aktualizowane jako:
W (nowe) = w (stare) + x * y
Algorytm szkoleniowy dla reguły Hebbian Learning
Etapy uczenia algorytmu są następujące:
- Początkowo wagi są ustawione na zero, tj. W = 0 dla wszystkich wejść i = 1 do n, a n to całkowita liczba neuronów wejściowych.
- Niech s będzie wyjściem. Funkcja aktywacji wejść jest generalnie ustawiana jako funkcja tożsamości.
- Funkcja aktywacji wyjścia jest również ustawiona na y = t.
- Korekty wagi i odchylenie są dostosowane do:
- Kroki od 2 do 4 są powtarzane dla każdego wektora wejściowego i wyjścia.
Przykład zasady uczenia się języka Hebbian
Zaimplementujmy funkcję logiczną AND z bipolarnymi wejściami przy użyciu Hebbian Learning
X1 i X2 to wejścia, b to odchylenie przyjmowane jako 1, wartość docelowa to wynik operacji logicznej AND na wejściach.
Wejście | Wejście | Stronniczość | Cel |
---|---|---|---|
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, a odchylenie jest również ustawione na zero.
W1 = w2 = b = 0
#dwa) Pierwszy wektor wejściowy przyjmuje się jako (x1 x2 b) = (1 1 1), a wartość docelowa to 1.
Nowe wagi będą następujące:
# 3) Powyższe wagi są ostatecznymi nowymi wagami. Po przekazaniu drugiego wejścia stają się one wagami początkowymi.
# 4) Weź drugie dane wejściowe = (1–1 1). Cel to -1.
# 5) Podobnie obliczane są inne dane wejściowe i wagi.
Poniższa tabela przedstawia wszystkie dane wejściowe:
Wejścia | Stronniczość | Docelowy wynik | Zmiany wagi | Zmiany uprzedzeń | Nowe wagi | ||||
---|---|---|---|---|---|---|---|---|---|
X1 | X2 | b | Y | ? w1 | ? w2 | ? b | W1 | W2 | b |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 | -1 | 1 | -1 | 0 | dwa | 0 |
-1 | 1 | 1 | -1 | 1 | -1 | -1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | 1 | 1 | -1 | dwa | dwa | -2 |
Hebb Net dla funkcji AND
Algorytm uczenia się perceptronu
Sieci Perceptron to jednowarstwowe sieci ze sprzężeniem zwrotnym. Są one również nazywane sieciami pojedynczego perceptronu. Perceptron składa się z warstwy wejściowej, warstwy ukrytej i warstwy wyjściowej.
Warstwa wejściowa jest połączona z warstwą ukrytą za pomocą obciążników, które mogą być hamujące, pobudzające lub zerowe (-1, +1 lub 0). Użyta funkcja aktywacji to binarna funkcja krokowa dla warstwy wejściowej i warstwy ukrytej.
Wynik jest
Y = f (y)
Funkcja aktywacji to:
Aktualizacja wagi odbywa się między warstwą ukrytą a warstwą wyjściową w celu dopasowania do docelowego wyniku. Błąd jest obliczany na podstawie rzeczywistej mocy i żądanej mocy.
Jeśli wynik jest zgodny z wartością docelową, nie następuje aktualizacja wagi. Wagi są początkowo ustawiane na 0 lub 1 i sukcesywnie dostosowywane, aż do znalezienia optymalnego rozwiązania.
Wagi w sieci można początkowo ustawić na dowolne wartości. Uczenie się Perceptronu zbiegnie się do wektora wagi, który daje prawidłowe wyniki dla wszystkich wzorców treningu wejściowego, a uczenie to odbywa się w skończonej liczbie kroków.
Reguła Perceptron może być stosowana zarówno dla wejść binarnych, jak i bipolarnych.
Reguła uczenia się dla perceptronu z pojedynczym wyjściem
# 1) Niech będzie „n” szkoleniowych wektorów wejściowych, a x (n) i t (n) są powiązane z wartościami docelowymi.
#dwa) Zainicjuj wagi i odchylenie. Ustaw je na zero, aby ułatwić obliczenia.
# 3) Niech współczynnik uczenia się wyniesie 1.
# 4) Warstwa wejściowa ma funkcję aktywacji tożsamości, więc x (i) = s (i).
# 5) Aby obliczyć moc wyjściową sieci:
# 6) Funkcja aktywacji jest stosowana na wejściu netto w celu uzyskania wyjścia.
# 7) Teraz w oparciu o wynik porównaj żądaną wartość docelową (t) i rzeczywistą wydajność.
# 8) Kontynuuj iterację, aż nie będzie żadnej zmiany wagi. Zatrzymaj się, gdy ten stan zostanie osiągnięty.
Reguła uczenia się dla perceptronu z wieloma wyjściami
# 1) Niech będzie „n” szkoleniowych wektorów wejściowych, a x (n) i t (n) są powiązane z wartościami docelowymi.
#dwa) Zainicjuj wagi i odchylenie. Ustaw je na zero, aby ułatwić obliczenia.
# 3) Niech współczynnik uczenia się wyniesie 1.
# 4) Warstwa wejściowa ma funkcję aktywacji tożsamości, więc x (i) = s (i).
# 5) Aby obliczyć wyjście każdego wektora wyjściowego od j = 1 do m, dane wejściowe netto są następujące:
# 6) Funkcja aktywacji jest stosowana na wejściu netto w celu uzyskania wyjścia.
# 7) Teraz, w oparciu o dane wyjściowe, porównaj żądaną wartość docelową (t) z rzeczywistą wydajnością i dokonaj korekty wagi.
w to wektor wagi połączeń między i-tym neuronem wejściowym i j-tym neuronem wyjściowym, at jest docelowym wyjściem dla jednostki wyjściowej j.
# 8) Kontynuuj iterację, aż nie będzie żadnej zmiany wagi. Zatrzymaj się, gdy ten stan zostanie osiągnięty.
Przykład reguły uczenia się perceptronu
Implementacja funkcji AND z wykorzystaniem sieci Perceptron dla bipolarnych wejść i wyjść.
Wzorzec wejściowy to x1, x2 i odchylenie b. Niech początkowe wagi będą równe 0, a odchylenie równe 0. Próg jest ustawiony na zero, a szybkość uczenia się wynosi 1.
Brama AND
X1 | X2 | Cel |
---|---|---|
1 | 1 | 1 |
1 | -1 | -1 |
-1 | 1 | -1 |
-1 | -1 | -1 |
# 1) X1 = 1, X2 = 1 i docelowa moc wyjściowa = 1
W1 = w2 = wb = 0 i x1 = x2 = b = 1, t = 1
Wejście netto = y = b + x1 * w1 + x2 * w2 = 0 + 1 * 0 + 1 * 0 = 0
Ponieważ próg wynosi zero, zatem:
Stąd otrzymujemy output = 0. Teraz sprawdź, czy output (y) = target (t).
y = 0, ale t = 1, co oznacza, że nie są one takie same, stąd następuje aktualizacja wagi.
Nowe wagi to 1, 1 i 1 po przedstawieniu pierwszego wektora wejściowego.
#dwa) X1 = 1 X2 = -1, b = 1 i cel = -1, W1 = 1, W2 = 2, Wb = 1
Wkład netto = y = b + x1 * w1 + x2 * w2 = 1 + 1 * 1 + (-1) * 1 = 1
Wynik netto dla input = 1 będzie wynosił 1 z:
Dlatego ponownie target = -1 nie pasuje do rzeczywistego wyniku = 1. Mają miejsce aktualizacje wagi.
Teraz nowe wagi to w1 = 0 w2 = 2 i wb = 0
Podobnie, kontynuując następny zestaw danych wejściowych, otrzymujemy następującą tabelę:
Wejście | Stronniczość | Cel | Wejście netto | Obliczony wynik | Zmiany wagi | Nowe wagi | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
X1 | X2 | b | t | yin | Y | ? w1 | ? w2 | ? b | W1 | W2 | wb |
EPOCH 1 | |||||||||||
1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 | 1 | 1 | -1 | 1 | -1 | 0 | dwa | 0 |
-1 | 1 | 1 | -1 | dwa | 1 | 1 | -1 | -1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | -3 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | -1 |
1 | -1 | 1 | -1 | -1 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
-1 | 1 | 1 | -1 | -1 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | -3 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
EPOCHS to cykl wzorców wejściowych wprowadzanych do systemu, dopóki nie będzie wymagana zmiana wagi, a iteracja zostanie zatrzymana.
Algorytm uczenia się Wdowa Hoffa
Znany również jako Reguła delta , postępuje zgodnie z regułą gradientu dla regresji liniowej.
Aktualizuje wagi połączeń z różnicą między wartością docelową a wartością wyjściową. Jest to najmniej średni kwadratowy algorytm uczenia należący do kategorii algorytmu uczenia nadzorowanego.
Po tej regule następują ADALINE (Adaptacyjne liniowe sieci neuronowe) i MADALINE. W przeciwieństwie do Perceptron, iteracje sieci Adaline nie kończą się, ale zbiegają się, zmniejszając najmniejszy średni kwadratowy błąd. MADALINE to sieć składająca się z więcej niż jednej firmy ADALINE.
Motywem reguły uczenia się delta jest zminimalizowanie błędu między wyjściem a wektorem docelowym.
Wagi w sieciach ADALINE są aktualizowane przez:
Najmniejszy średni błąd kwadratowy = (t-yw)dwa, ADALINE zbiega się, gdy osiągany jest najmniejszy średni błąd kwadratowy.
Wniosek
W tym samouczku omówiliśmy dwa algorytmy, tj. Hebbian Learning Rule i Perceptron Learning Rule. Reguła Hebbian opiera się na zasadzie, że wektor wagi rośnie proporcjonalnie do sygnału wejściowego i uczenia się, czyli wyjścia. Wagi są zwiększane poprzez dodanie iloczynu wejścia i wyjścia do starej wagi.
W (nowe) = w (stare) + x * y
Zastosowanie reguł Hebba polega na problemach asocjacji, klasyfikacji i kategoryzacji wzorców.
Regułę uczenia się Perceptron można zastosować zarówno do sieci z jednym wyjściem, jak i wieloma klasami wyjściowymi. Celem sieci perceptronu jest klasyfikacja wzorca wejściowego do określonej klasy składowej. Neurony wejściowe i wyjściowe są połączone za pomocą łączy posiadających wagi.
Wagi są dostosowywane w celu dopasowania rzeczywistej wydajności do wartości docelowej. Tempo uczenia się jest ustawiane od 0 do 1 i określa skalowalność wag.
Wagi są aktualizowane zgodnie z:
Oprócz tych zasad uczenia się, algorytmy uczenia maszynowego uczą się za pomocą wielu innych metod, np. Nadzorowanych, nienadzorowanych, wzmacniających. Niektóre z innych popularnych algorytmów ML to Back Propagation, ART, Self Organizing Maps Kohonen itp.
Mamy nadzieję, że spodobały Ci się wszystkie samouczki z tej serii Machine Learning !!
=> Odwiedź tutaj, aby zapoznać się z ekskluzywną serią uczenia maszynowego
rekomendowane lektury
- Kompletny przewodnik po sztucznej sieci neuronowej w uczeniu maszynowym
- Rodzaje uczenia maszynowego: uczenie nadzorowane i nienadzorowane
- Wydobywanie danych kontra uczenie maszynowe, sztuczna inteligencja kontra uczenie głębokie
- Testowanie bezpieczeństwa sieci i najlepsze narzędzia bezpieczeństwa sieci
- 11 najpopularniejszych narzędzi oprogramowania do uczenia maszynowego w 2021 r
- Samouczek uczenia maszynowego: wprowadzenie do ML i jej aplikacji
- 15 najlepszych narzędzi do skanowania sieciowego (skaner sieciowy i IP) z 2021 r
- 30 najlepszych narzędzi do testowania sieci (narzędzia do diagnostyki wydajności sieci)