Nieco więcej na temat sieci neuropodobnych
Ab initio: elementy składowe sieci neuropodobnych to tzw. sztuczne neurony. Choć wzorowane na swoich biologicznych odpowiednikach, są one zdecydowanie od nich prostsze - uwzgledniają jedynie trzy podstawowe właściwości "oryginału":
- zdolność do agregacji wielu sygnałów pochodzących z różnych źródeł (najczęściej od innych neuronów albo z wejść podających dane potrzebne do rozwiązania zadania),
- zdolność do różnicowania, w oparciu o wiedzę gromadzoną w trakcie uczenia, wpływu na końcowy wynik obliczeń sygnałów pochodzących z różnych źródeł,
- zdolność do wypracowywania sygnału wyjściowego, kierowanego do dalszych elementów sieci lub wysyłanego na zewnątrz jako składnik rozwiązania stawianego sieci zadania.
Uproszczenia w naśladowaniu natury dotyczą także "szczegółów implementacyjnych" każdej z wymienionych zdolności - przykładowo, w przypadku zdolności do agregacji wejściowych sygnałów przez sztuczny neuron przyjmuje się najczęściej model prostej sumy odpowiednich składników (rzadziej stosowana jest metoda agregacji sygnałów poprzez ich mnożenie, natomiast jeszcze bardziej zaawansowane techniki spotyka się wyjątkowo).
Dla dalszych rozważań przyjęto oznaczenia: dla powyżej wspomnianej sumy - net[j], gdzie j to numer neuronu; wektor sygnałów wejściowych - X składa się z N elementów. Kolejne składowe tego wektora symbolizowane są jako: x[i] (i - kolejny numer wejścia neuronu). Rzecz bardzo ważna - stanowią one jedyną informację docierającą do sieci w sposób bezpośredni (!!!). Podczas etapu uczenia neuron j może dodatkowo otrzymywać informację o pożądanej wartości jego sygnału wyjściowego - d[j]. Tak uproszczony model nie może oczywiście mierzyć się ze swoim biologicznym odpowiednikiem, ale umożliwia efektywne przetwarzanie dużej liczby N sygnałów x[i], tym samym pozwalając na zastosowanie sieci neuropodobnych nie tylko jako interesującego modelu dla akademików, ale również do rozwiązywania rzeczywistych zadań i problemów.
Porównanie opisanego tu mechanizmu różnicowania sygnałów z ogromnie złożonymi elektrochemicznymi procesami przebiegającymi w prawdziwej synapsie, ujawnia ogromną skalę uproszczeń, jakie wprowadza się do budowanych sztucznych sieci neuropodobnych, oddalając je w tym obszarze od biologicznego oryginału bardziej, niż w innych aspektach ich działania. Jednak za cenę tego właśnie uproszczenia uzyskuje się możliwość prostego i skutecznego uczenia nawet dużych sieci, co jest niezwykle ważne ze względu na zastosowanie sieci neuropodobnych.
Umiejętność rozróżniania sygnałów, które docierają do neuronu z poszczególnych źródeł sieć jest realizowana poprzez przemnożenie sygnałów wejściowych przez odpowiednie współczynniki - tzw. "wagi synaptyczne" - w[ji] (współczynnik wagowy na wejściu o numerze i neuronu j), przed ich późniejszym zsumowaniem. Przyjmuje się, że im wyższa jest wartość bezwzględna współczynnika w[ji] sygnału x[i], tym "ważniejszy" sygnał.
Dla generowania wyjściowego sygnału każdego z neuronów sieci neuropodobnej można zastosować szereg rodzajów funkcji - oznaczana przez f[j](net[j]) - łącznie z najprostszą - liniową. Niemniej najczęściej stosuje się sigmoidalną postać tej funkcji (funkcja logistyczna lub tangens hiperboliczny). Okazuje się, że charakterystyka sigmoidalna wykorzystywana w sztucznych sieciach neuropodobnych jest stosunkowo wiernym odwzorowaniem biologicznej rzeczywistości, chociaż należy zaznaczyć, że również i w tym przypadku dochodzi do znacznego uproszczenia.
W następnej notce spróbuję przedstawić sposób w jaki sposób sztuczne sieci neuropodobne radzą sobie z postawionymi przed nimi zadaniami.
Bibliografia:
- T. Masters. Sieci neuronowe w praktyce. Programowanie w jezyku C++. Wydawnictwa Naukowo-Techniczne, 1996.
- Encyklopedia fizyki współczesnej. http://aneksy.pwn.pl/encyklopedia_fizyki
