Wróć do informacji o e-podręczniku Wydrukuj Pobierz materiał do PDF Zaloguj się, aby dodać do ulubionych Zaloguj się, aby skopiować i edytować materiał Zaloguj się, aby udostępnić materiał Zaloguj się, aby dodać całą stronę do teczki

Sieci jednokierunkowe

Najbardziej podstawowym rodzajem sieci neuronowej jest sieć jednokierunkowa. Przepływ danych w tego typu sieciach zawsze przebiega w ściśle określonym kierunku: od warstwy wejściowej do warstwy wyjściowej. Zazwyczaj wszystkie neurony danej warstwy połączone są z każdym neuronem, znajdującym się w kolejnej warstwie.

Przykładem najprostszej sieci jednokierunkowej jest perceptronperceptronperceptron. Do uczenia wielowarstwowych perceptronów często wykorzystuje się algorytmy spadku gradientowegoalgorytm spadku gradientowegoalgorytmy spadku gradientowego. Jednym z nich jest algorytm propagacji wstecznejalgorytm propagacji wstecznejalgorytm propagacji wstecznej.

R1QJijmRcqf53
Sieć wielowarstwowa
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.

W zależności od liczby warstw sieci jednokierunkowe dzielimy na:

  • jednowarstwowe – nie mają warstw ukrytychwarstwa ukrytawarstw ukrytych; wejścia są bezpośrednio połączone z neuronami warstwy wyjściowej,

  • dwuwarstwowe – mają dokładnie jedną ukrytą warstwę,

  • wielowarstwowe – mają przynajmniej jedną ukrytą warstwę.

Sieci jednokierunkowe są dosyć uniwersalne. Wykorzystywane się je m.in. do rozwiązywania problemów klasyfikacji i regresji. Przy bardziej skomplikowanych problemach mogą jednak osiągać zbyt duże rozmiary.

Sieci rekurencyjne

Sieci rekurencyjne charakteryzują się tym, że połączenia między neuronami tworzy graf z cyklami (o grafach przeczytasz m.in. w e‑materiale Wprowadzenie do teorii grafówPiIOvtsALWprowadzenie do teorii grafów. Sygnały z warstwy wyjściowej przekazywane są z powrotem do warstwy wejściowej. Spośród wielu modeli sieci rekurencyjnych warto wyróżnić model Hopfielda oraz model Hamminga.

Sieć Hopfielda

Sieć Hopfielda to zbiór wielu neuronów połączonych każdy z każdym. Nie istnieje podział na warstwy. Sieci te są symetryczne – oznacza to, że waga pomiędzy neuronem a neuronem jest taka sama jak waga .

Struktura neuronów i połączeń jest analogiczna do pełnego dwukierunkowego grafu ważonego.

Ważne!

Neurony w sieci Hopfielda łączą się ze wszystkimi innymi neuronami, ale nie dany neuron nie łączy się sam ze sobą.

Rhqj0LObjodCJ
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.

Sieci Hopfielda są często wykorzystywane jako swego rodzaju pamięć skojarzeniowa. Mają one zdolność do prawidłowej interpretacji zniekształconych lub niekompletnych danych. Są także używane do rozwiązywania trudnych problemów optymalizacyjnych, takich jak problem komiwojażeraproblem komiwojażerakomiwojażera – który omówiony został w e‑materiale Problemy i algorytmy grafowePVr402CYKProblemy i algorytmy grafowe.

Sieć Hamminga

Inną siecią, która wykorzystywana jest do rozwiązywania podobnych problemów jak sieć Hopfielda, jest sieć Hamminga.

Sieć Hamminga jest rozwinięciem sieci Hopfielda w postaci dodatkowej warstwy wejściowej oraz wyjściowej. Oznacza to, że struktura warstwowa sieci Hamminga wygląda następująco:

  • warstwa pierwsza – jednokierunkowa warstwa neuronów,

  • warstwa druga – neurony połączone każdy z każdym, tak jak w sieci Hopfielda,

  • warstwa trzecia – jednokierunkowa warstwa neuronów.

R1em56ibu5wNv
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.

Sieć Hamminga daje zazwyczaj lepsze rezultaty niż sieć Hopfielda, a jej dodatkową zaletą jest duża oszczędność połączeń między neuronami. Dla sieci o 50 wejściach, kodującej 10 różnych cech, sieć Hopfielda wymaga 2500 połączeń. Natomiast sieć Hamminga wymaga ich jedynie 600, ponieważ potrzeba 500 połączeń pomiędzy warstwą pierwszą i drugą oraz 100 połączeń pomiędzy 10 neuronami w drugiej warstwie.

Słownik

algorytm propagacji wstecznej
algorytm propagacji wstecznej

podstawowy algorytm uczenia nadzorowanego wielowarstwowych, jednokierunkowych sieci neuronowych; podaje on przepis na zmianę wag dowolnych połączeń elementów przetwarzających, rozmieszczonych w sąsiednich warstwach sieci; oparty jest na minimalizacji sumy kwadratów błędów (lub innej funkcji błędu) uczenia, z wykorzystaniem optymalizacyjnej metody największego spadku

algorytm spadku gradientowego
algorytm spadku gradientowego

algorytm numeryczny szukający minimum lokalnego zadanej funkcji celu

dyskretna funkcja aktywacji
dyskretna funkcja aktywacji

w zależności od argumentu zwraca jedną z dwóch możliwych wartości; przykładami takich funkcji są funkcja skokowa Heaviside'a oraz funkcja Dirichleta

perceptron
perceptron

najprostsza sieć neuronowa, składająca się z jednego bądź wielu niezależnych neuronów McCullocha‑Pittsa, implementująca algorytm uczenia nadzorowanego klasyfikatorów binarnych

problem komiwojażera
problem komiwojażera

problem optymalizacyjny polegający na znalezieniu w grafie minimalnego cyklu o zadanej długości, przy czym każdy z wierzchołków cyklu nie może zostać odwiedzony więcej niż jeden raz (nie dotyczy to wierzchołka startowego)

warstwa ukryta
warstwa ukryta

każda dodatkowa warstwa pomiędzy warstwą wejściową i wyjściową, jej działanie nie może być bezpośrednio obserwowane