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.
![Ilustracja przedstawia sieć wielowarstwową. Od lewej strony znajdują się dwie strzałki prowadzące w prawą stronę do pierwszego rzędu złożonego z dwóch neuronów. Od każdego z tych neuronów prowadzą w prawo trzy strzałki do drugiego rzędu złożonego z trzech neuronów. Od każdego z neuronów w drugim rzędzie prowadzi w prawo jedna strzałka do trzeciego rzędu, złożonego z jednego neuronu.](https://static.zpe.gov.pl/portal/f/res-minimized/R1QJijmRcqf53/1677593974/22li2pUTeRjMrTkkqNlIf5qmehumqwMk.png)
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ę.
![Ilustracja przedstawia sieć jednowarstwową. Składa się ona z trzech neuronów. Do każdego z nich prowadzą od dołu do góry po dwie strzałki. Z kolei od każdego neuronu w górę prowadzi jedna strzałka.](https://static.zpe.gov.pl/portal/f/res-minimized/RLnKCxbbaeJZt/1677593975/Khq0Mc6dqhL7xIZTdnOnsPigrmZjikkC.png)
![Ilustracja przedstawia sieć dwuwarstwową. Składa się ona z dwóch rzędów neuronów. Patrząc od dołu, do każdego z trzech neuronów rzędu pierwszego prowadzą od dołu do góry po dwie strzałki. Z kolei od każdego neuronu w górę, do neuronów drugiego rzędu prowadzi jedna strzałka. Strzałka skrajnie prawa i skrajnie lewa rozchodzi się na trzy kolejne strzałki do neuronów drugiego rzędu. Następnie ponownie od każdego z trzech neuronów prowadzi w górę jedna strzałka.](https://static.zpe.gov.pl/portal/f/res-minimized/ROEI3M4yoAGUk/1677593975/29r0ZOdUkNX18nFVq4QbG1CfpocxNqsq.png)
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ą.
![Ilustracja przedstawia sieć Hopfielda. Są to cztery neurony, do każdego z nich prowadzi jedno połączenie. Z każdego neuronu wychodzą trzy połączenia, które łączą się z pozostałymi neuronami (neurony nie łączą się z samym sobą). Następnie z każdego neuronu wychodzi po jednym połączeniu.](https://static.zpe.gov.pl/portal/f/res-minimized/Rhqj0LObjodCJ/1677593975/1cmDT7XcFeRHv16xMk2HjPvNPv7Bi394.png)
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.
![Ilustracja przedstawia sieć Hamminga, jest to sieć neuronowa podzielona na trzy warstwy. Warstwa pierwsza, z każdego punktu wejściowego jest połączenie do neuronu, jest tyle połączeń ile neuronów. Następnie neurony z warstwy pierwszej mają po jednym połączeniu do neuronu z warstwy drugiej. W warstwie drugiej neurony połączone są siecią Hopfielda, w której każdy neuron wyprowadza połączenie do każdego kolejnego neuronu w warstwie drugiej oprócz samego siebie. Następnie neurony z warstwy drugiej łączą się do każdego neuronu z warstwy trzeciej. W warstwie trzeciej z każdego neuronu wychodzi po jednym połączeniu.](https://static.zpe.gov.pl/portal/f/res-minimized/R1em56ibu5wNv/1677593976/13g6p9VK9Ss3jawGLWZO022q1MkJBUGo.png)
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