Sieci neuronowe
Sztuczna inteligencja - Jak to działa?
Neuron, czyli komórka nerwowa, specjalizuje się w przesyłaniu i modyfikowaniu impulsów elektrycznych. Z takich komórek zbudowany jest między innymi nasz mózg. Z informatycznego punktu widzenia neuron stanowi układ przetwarzający dane, posiadający wiele wejść, zwanych dendrytami oraz jedno wyjście, nazywane neurytem lub aksonem.
Schemat funkcjonalny neuronu (oczywiście w bardzo dużym uproszczeniu) obrazuje poniższy rysunek.
Działanie neuronu można w przybliżeniu opisać następująco. Sygnały xi, podane na wejścia, są mnożone przez odpowiednie liczby wi, zwane wagami synaptycznymi i sumowane. Jeżeli wynik osiągnie pewną wartość progową, to na wyjściu pojawi się sygnał. Ponieważ wagi mają różne wartości, sygnały wejściowe nie są równouprawnione - niektóre mają większą rangę, inne znów mniejszą, dając odpowiednio większy lub mniejszy wkład do sygnału sumarycznego:
x = x1 w1 + x2 w2 + x3 w3 + ... + xn wn
Neuron posiada zdolność adaptacji, polegającą na tym, że wagi synaptyczne mogą się zmieniać. Wraz z nimi zmienia się więc również ranga informacji podawanej na poszczególne wejścia. To, czy na wyjściu neuronu pojawi się impuls, czy też nie, zależy jednak na ogół nie tyle od sygnału na określonym dendrycie, co raczej od całej konfiguracji sygnałów wchodzących do neuronu. I tak, jedne konfiguracje będą pobudzać neuron, inne zaś nie.
Neuron wyposażony w dodatkowe wejście sterujące może być uczony przez zewnętrznego nauczyciela. Mechanizm jest stosunkowo prosty. Podajemy na dendryty sygnały tworzące określoną konfigurację. Załóżmy, że chcemy by pobudziła ona neuron. Jeżeli na aksonie pojawi się sygnał - nie robimy nic, jeżeli zaś nie - na wejście sterujące kierujemy odpowiedni impuls, który modyfikuje wagi synaptyczne, tak jak zostało to schematycznie przedstawione na kolejnym rysunku.
Następnie powtarzamy eksperyment i znów, jeżeli neuron nie zostaje pobudzony, zmieniamy wagi. Stosując odpowiednią, zbieżną procedurę robimy to tak długo, aż osiągniemy zamierzony skutek. Możemy wtedy powiedzieć, że nauczyliśmy neuron rozpoznawać określoną konfigurację sygnałów i nic nie stoi na przeszkodzie, by spróbować z następną konfiguracją.
Oczywiście, pojemność informacyjna pojedynczego neuronu nie jest duża, a więc nie może on zapamiętać zbyt wielu wzorców. Zwiększenie pojemności uzyskuje się jednak dzięki połączeniu neuronów w sieć i stworzeniu układu przypominającego wycinek mózgu. Ostatni z rysunków przedstawia przykład prostej trójwarstwowej sieci neuronowej.
W zasadzie można sobie wyobrazić sieci o różnorodnej, bardzo skomplikowanej architekturze, składające się z dużej ilości neuronów. Ludzki mózg zawiera ich bardzo wiele, bo około 10 miliardów. Okazuje się jednak że, nawet małe struktury neuronowe wykazują zadziwiające właściwości - istnieje ścisłe twierdzenie, które mówi, że już trójwarstwowa sieć neuronowa potrafi zrealizować dowolną funkcję logiczną, a więc jest kandydatem na neurokomputer.
Warto uświadomić sobie, że neurokomputery są istotnie różne od tradycyjnych maszyn cyfrowych - pod względem sposobu w jaki przetwarzają informację bardziej przypominają żywe stworzenia. Nie realizują założonych z góry algorytmów, ale posługują się wiedzą i doświadczeniem zdobytym podczas procesu uczenia. Są omylne i niedokładne, ale posiadają intuicję oraz zdolność przewidywania. Nie tyle rozwiązują postawione przed nimi problemy, co raczej modelują je dostrajając odpowiednio wagi synaptyczne swoich neuronów. Potrafią więc dostrzegać niezauważalne na pozór związki i korelacje zawarte w danych, którymi się je zasili.
Zobacz także N-Expert.