Przeczytaj
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 perceptronperceptron. Do uczenia wielowarstwowych perceptronów często wykorzystuje się algorytmy spadku gradientowegoalgorytmy spadku gradientowego. Jednym z nich jest algorytm propagacji wstecznejalgorytm propagacji wstecznej.
W zależności od liczby warstw sieci jednokierunkowe dzielimy na:
jednowarstwowe – nie mają warstw ukrytychwarstw 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ówWprowadzenie 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.
Neurony w sieci Hopfielda łączą się ze wszystkimi innymi neuronami, ale nie dany neuron nie łączy się sam ze sobą.
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żerakomiwojażera – który omówiony został w e‑materiale Problemy i algorytmy grafoweProblemy 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.
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
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 numeryczny szukający minimum lokalnego zadanej funkcji celu
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
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 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)
każda dodatkowa warstwa pomiędzy warstwą wejściową i wyjściową, jej działanie nie może być bezpośrednio obserwowane