ZASTOSOWANIE SIECI NEURONOWYCH



Podobne dokumenty
Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

Temat: Sieci neuronowe oraz technologia CUDA

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Praktyczne informacje o sieciach neuronowych. Elżbieta Dłubis. Państwowa Wyższa Szkoła Zawodowa w Chełmie

Sztuczne sieci neuronowe (SNN)

Sztuczne sieci neuronowe

Zastosowanie sztucznych sieci neuronowych w prognozowaniu szeregów czasowych (prezentacja 2)

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

Podstawy Sztucznej Inteligencji (PSZT)

Sieci neuronowe jako sposób na optymalizacje podejmowanych decyzji. Tomasz Karczyoski Wydział W-08 IZ

Inteligentne systemy informacyjne

Wstęp do sztucznych sieci neuronowych

PRZEWODNIK PO PRZEDMIOCIE

Metody Sztucznej Inteligencji II

Budowa sztucznych sieci neuronowych do prognozowania. Przykład jednostek uczestnictwa otwartego funduszu inwestycyjnego

Sztuczne sieci neuronowe

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD X: Sztuczny neuron

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

Badacze zbudowali wiele systemów technicznych, naśladujących w komputerze ludzki mózg. Najbardziej pożyteczne okazały się sieci neuronowe.

Sztuczne sieci neuronowe. Uczenie, zastosowania

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

Rozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak

Sztuczne sieci neuronowe

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Modelowanie jako sposób opisu rzeczywistości. Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Metrologia: organizacja eksperymentu pomiarowego

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Wprowadzenie do teorii systemów ekspertowych

Uczenie sieci neuronowych i bayesowskich

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Projekt Sieci neuronowe

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

PRZEWODNIK PO PRZEDMIOCIE

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

Sieci neuronowe w Statistica

Optymalizacja optymalizacji

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

8. Neuron z ciągłą funkcją aktywacji.

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Temat: ANFIS + TS w zadaniach. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

SIECI REKURENCYJNE SIECI HOPFIELDA

KARTA MODUŁU KSZTAŁCENIA

Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia

Metody i techniki sztucznej inteligencji / Leszek Rutkowski. wyd. 2, 3 dodr. Warszawa, Spis treści

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

Elementy kognitywistyki III: Modele i architektury poznawcze

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Podstawy Sztucznej Inteligencji Sztuczne Sieci Neuronowe. Krzysztof Regulski, WIMiIP, KISiM, B5, pok. 408

SCENARIUSZ LEKCJI. Dzielenie wielomianów z wykorzystaniem schematu Hornera

MODELOWANIE RZECZYWISTOŚCI

Elementy inteligencji obliczeniowej

Zastosowania sieci neuronowych

Sieci neuronowe i algorytmy uczenia Czyli co i jak andrzej.rusiecki.staff.iiar.pwr.wroc.pl s.

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

Wstęp do sieci neuronowych laboratorium 01 Organizacja zajęć. Perceptron prosty

wagi cyfry pozycje

Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Podstawy sztucznej inteligencji

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Prof. Stanisław Jankowski

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

Sieci neuronowe - dokumentacja projektu

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Wstęp do głębokich sieci neuronowych. Paweł Morawiecki IPI PAN

Metody Prognozowania

ID1SII4. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

Programowanie w Baltie klasa VII

Jazda autonomiczna Delphi zgodna z zasadami sztucznej inteligencji

M T E O T D O ZI Z E E A LG L O G R O Y R TM

Inteligentne systemy przeciw atakom sieciowym

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

Algorytm genetyczny (genetic algorithm)-

Jacek Skorupski pok. 251 tel konsultacje: poniedziałek , sobota zjazdowa

komputery? Andrzej Skowron, Hung Son Nguyen Instytut Matematyki, Wydział MIM, UW

OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów

Sztuczna inteligencja *

O LICZBACH NIEOBLICZALNYCH I ICH ZWIĄZKACH Z INFORMATYKĄ

MODELOWANIE KOSZTÓW USŁUG ZDROWOTNYCH PRZY

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Inteligentne Multimedialne Systemy Uczące

wiedzy Sieci neuronowe

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY III

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

I EKSPLORACJA DANYCH

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Algorytmy genetyczne

Algorytmiczne sieci neuronowe idea działania, słabe i mocne strony

Transkrypt:

Państwowa Wyższa Szkoła Zawodowa w Tarnobrzegu ZASTOSOWANIE SIECI NEURONOWYCH OPRACOWANIE: Małgorzata Skulska Monika Skulska Łukasz Makowski TARNOBRZEG 2003

STRESZCZENIE Myślą przewodnią tego opracowania jest prezentacja problematyki sieci neuronowych postrzeganej przez ekonomistów, a nie informatyków, jako narzędzia informatycznego znajdującego szerokie zastosowanie i wykorzystanie w przetwarzaniu informacji. Zdolności sieci do samo programowania się w wyniku procesu uczenia, a także ich podobieństwa do cech ludzkiego mózgu odmienne od cech klasycznych komputerów sprawia, że zastosowanie sieci jest duże i zapewne będzie nadal wzrastać. SUMMARY That leitmotive idea of that paper is to present problems of neuron networks which economists perceire as informational instrument for information process. The ability of self programming during learning proces and its similarity for human being s brain make that application of these network is so large and will rise in the future. Czym jest sieć neuronowa Jest to system symulujący pracę mózgu, stanowi jedną z najbardziej dynamicznie rozwijających się obecnie gałęzi sztucznej inteligencji. Skąd nazwa? Mózg składa się z komórek nerwowych zwanych neuronami. Pomiędzy nimi znajdują się cieniutkie połączenia - tzw. aksony. W powiększeniu fragment mózgu wygląda jak drobna sieć, której węzłami są neurony. Po co sieć neuronowa - nie wystarczy zwykły komputer? Rzeczywiście - klasyczny komputer w porównaniu z mózgiem jest szybki, wydajny, i skuteczny. Chodzi przede wszystkim o wszelkiego rodzaju rozpoznawanie i kojarzenie. Weźmy jako prosty przykład niemowlę - potrafi rozpoznać twarz matki w jednej chwili, bez względu na oświetlenie, czy kąt patrzenia. Dla klasycznych algorytmów komputerowych nawet nieznaczna zmiana rozpoznawanego obrazu, jak mały obrót głowy, czy inne oświetlenie, stanowi dużą trudność. Podobnie jest z rozpoznawaniem dźwięku, jak choćby ludzkiego głosu. Kogo to może zainteresować? Naturalnie informatyków. Sztuczne sieci neuronowe (dalej będę używać skrótu SSN) mogą być skutecznym i przydatnym narzędziem programisty. O czym wspomnę w dalszej części mojej pracy. Bardzo rozległy obszar zastosowań SNN obejmuje również zagadnienia z zakresu nauk ekonomicznych, które do tej pory badano głownie za pomocą modeli statystycznych, ekonometrycznych, czy optymalizacyjnych. Jeśli natomiast nie jesteś informatykiem...to nic nie szkodzi! Zachęcam do dalszego czytania. A dlaczego? Postaram się to wyjaśnić na przykładzie kariery naukowej. Jednym z radosnych momentów w karierze każdego naukowca jest chwila, w której okazuje się, że opracowana teoria, myśl przewiduje rzeczywiście występujące zjawiska. Najlepiej żeby przewidziała je, zanim zostaną 2

zaobserwowane. Taka sytuacja zachodzi właśnie w przypadku SNN. Badając nawet proste układy możemy zaobserwować ciekawe zjawiska z dziedziny... psychologii czy socjologii (!). Budowa i przykłady sieci neuronowych Pierwszy model komórki nerwowej, który do dziś ma zastosowanie w sztucznych sieciach neuronowych został opracowany przez McCullocha i Pittsa w 1943 roku. Sieć składa się z neuronów, ułożonych warstwami. Wyróżnia się warstwę wejściową (We), warstwy ukryte (U) (zazwyczaj 1 lub 2) i warstwę wyjściową (Wy). Ideę funkcjonowania elementów SSN można opisać w następujący sposób. Sygnał przechodzi do warstwy We poprzez U aż do Wy, stąd jest odbierany i interpretowany. Każdy sygnał mnożony jest przez odpowiadającą mu wartość liczbową zwaną wagą, która wpływa na percepcję (reakcję), danego sygnału wejściowego i jego udział w tworzeniu sygnału wyjściowego przez neuron. Wagi mogą mieć dowolne wartości rzeczywiste (pobudzające dodatnie lub opóźniające ujemne), jeśli nie ma połączenia między neuronami to waga jest równa zero. Oto prosty schemat funkcjonowania neuronu: Neurony każdej kolejnej warstwy (poza We) działają w następujący sposób: - zbierają wartości sygnałów dochodzących do nich z każdego z neuronów z warstwy poprzedniej; - mnożą każdy z tych sygnałów przez odpowiednią wagę; - sumują otrzymane wartości; - suma ta jest następnie przeliczana na jakiś skończony przedział, np. (-1, +1); używa się do tego celu różnych funkcji matematycznych, najczęściej tzw. sigmoidy, ale też np. arcus tangensa albo funkcji schodkowej; - uzyskana wartość staje się sygnałem tego neuronu i jest przekazywana do wszystkich neuronów z następnej warstwy. Pierwszym przykładem zbudowanej i ciekawie działającej sieci neuropodobnej jest percepton. Zbudowany w 1957 roku przez Rosenblatta i Wightmana, który składał się z 8 komórek, 512 połączeń i wykonywał 103 połączenia na sekundę. Przeznaczeniem jego było rozpoznawanie znaków alfabetycznych z procesem uczenia się jako metodą programowania systemu. 3

Istnieje kilka podziałów sieci neuronowych: w zależności od ilości warstw, sposobu uczenia się, zastosowanej funkcji aktywacji, sposobu rozprowadzania sygnału w sieci. Najprostszą siecią jest sieć jednokierunkowa (jednowarstwowa). W takiej sieci sygnały płyną równo i spokojnie od wejścia poprzez warstwy ukryte. Wygląda to mniej więcej tak (neurony to czerwone kółka reprezentujące zarówno blok sumujący, jak i blok aktywacji): Można zbudować sieć o jednej, dwóch, lub trzech warstwach tworzenie większej ilości warstw nie ma praktycznego znaczenia. Tak te niczym nie połączone neurony już można nazwać siecią. Innym typem sieci są sieci rekurencyjne, w których występuje tak zwane sprzężenie zwrotne między warstwami wyjściową i wejściową. Oznacza to, że sygnały mogą po przejściu danej warstwy wracać na jej wejście, zmieniając przy tym swoje wartości, co powtarza się wiele razy, aż do osiągnięcia pewnego stanu ustalonego. Najbardziej znaną siecią tego rodzaju jest sieć Hopfielda, zdefiniowana w pracy tego badacza i opublikowana w 1982 roku. Kolejnym interesującym przykładem, jest sieć opracowana w 1981 przez Hintona wykorzystująca pamięć asocjacyjną (skojarzeniową). Informacje zawarte w pamięci asocjacyjnej mogą być dostępne poprzez podanie systemu informacji skojarzeniowej selekcjonującej jedną z zapamiętanych wiadomości na drodze asocjacji, tzn. że każda zarejestrowana informacja zlokalizowana jest w całej pamięci na zasadzie kolektywnego działania wszystkich jej elementów. Nie są to wszystkie rodzaje sieci obecnie występujących, lecz wybrane przykłady, które mają na celu wzbudzić ciekawość i zainteresowanie potencjalnego czytelnika. Metody i etapy uczenia się Korzystanie z nauczonej sieci jest dość proste i szybkie. Niestety nie jest tak z samym uczeniem się. Uczenie się to po prostu dobieranie wag połączeń między neuronami w taki sposób, aby po podaniu na wejściu sieci jakiś wartości, na jej wyjściu uzyskać odpowiedni wynik przy założeniu uzyskania jak najniższego błędu. Można wyróżnić kilka sposobów uczenia się: uczenie pod nadzorem ( inaczej uczenie z nauczycielem) gdy znamy odpowiedz na dany ciąg danych wejściowych. Odmianą tego sposobu jest uczenie się z krytykiem. Różnica polega na tym, że nie znamy dokładnej żądanej odpowiedzi a mamy jedynie informację o tym czy 4

zmiana wartości wag daje wartości pozytywne (przyśpieszające) czy negatywne (opóźniające).uczenie samoorganizujące się typu Hebba opiera się na obserwacji neurobiologicznej, zgodnie z którą waga powiązań między dwoma neuronami wzrasta przy stanie ich jednoczesnego pobudzenia, w przeciwnym wypadku maleje. Uczenie z konkurencją opiera się na współzawodnictwie neuronów ze sobą, aby stać się z aktywnymi (pobudzonymi). Tylko jeden neuron może być aktywny, pozostałe muszą pozostać w stanie spoczynku. W przypadku sieci jednokierunkowych ( w których sygnał rozprowadzany jest od warstwy We do Wy, w jednym kierunku) uczy się je najczęściej w następujący sposób. Przygotowuje się zestaw danych wejściowych wraz z odpowiadającymi im wynikami, jakie powinna uzyskać sieć. Wagi sieci inicjalizuje się w sposób przypadkowy. Następnie podaje się kolejno, wiele razy, wszystkie zestawy danych wejściowych i patrzy, na ile odpowiedz sieci różni się od poprawnego wyniku. Oblicza się różnicę i następnie w odpowiedni sposób koryguje się wagi połączeń wewnątrz sieci. (poczynając od połączeń od ostatniej warstwy ukrytej do warstwy wyjściowej, i tak dalej, aż do warstwy wejściowej). Jeśli będziemy wystarczająco cierpliwi i przygotujemy dane w odpowiedni sposób, to dostaniemy w wyniku sieć nauczoną, tj. mającą wartości wag takie, jakie trzeba, aby efektywnie rozwiązać postawione jej zadanie. Niestety, istotnym mankamentem SSN jest fakt, iż uczenie zazwyczaj jest procesem bardzo pracochłonnym. Nauczenie sieci oczywiście nie jest ostatnim etapem jej projektowania potem trzeba jeszcze ją przetestować do tego wykorzystuje się kolejny zestaw danych wejściowych i wyjściowych, ale takich, które nie były wykorzystane podczas uczenia. Jeśli na tym zestawie sieć wypadnie pomyślnie, można się spodziewać, że w sytuacjach przyszłych (dla jakiś nieznanych danych) też tak będzie. Jeśli nie trzeba powtórzyć uczenie, ewentualnie zmieniając budowę sieci albo zestaw danych uczących. Do uczenia i weryfikacji danych, stosuje się odpowiednie metody statystyczne. Chodzi o to, żeby w czasie uczenia sieć miała styczność z danymi wejściowymi z wszystkich możliwych do przewidzenia kategorii, jakie mogą się pojawić później, na etapie stosowania już nauczonej sieci. Uczenie nie jest też pierwszym stadium projektowania sieci. Najpierw trzeba ustalić, jak będzie ona zbudowana. Ilość neuronów wejściowych i wyjściowych jest określona z góry dla danego problemu, natomiast ilość neuronów w warstwach ukrytych (oraz ilość samych warstw, choć zazwyczaj stosuje się jedną, góra dwie) można regulować. Generalnie rzecz biorąc, tylko jeden układ przestrzenny sieci jest optymalny. Jeśli warstwy ukryte mają zbyt wiele neuronów, sieć nadmiernie dopasowuje się do nauczanych danych (jej wynik bliższy interpolacji) i przez to traci zdolność uogólniania. O takiej sieci mówi się, że jest przeuczona. Jeśli natomiast neuronów w warstwie ukrytej jest za mało, sieć nie jest w stanie poprawnie odtworzyć uczonej funkcji, jest niedouczona. Istnieją pewne ogólne, empiryczne zasady doboru tych wartości i struktura każdorazowo powinna być optymalizowana. Można do tego stosować np. metody optymalizacji genetycznej. Mając nauczoną sieć można ją przetestować i, jeśli sprawdziła się, stosować w praktyce. Zastosowanie Trudno wymienić wszystkie zastosowania sieci neuronowych. Ze względu na specyficzne cechy i niepowtarzalne zalety obszar zastosowań sieci neuronowych jest rozległy, stosujemy je wszędzie tam, gdzie nie wymagane są odpowiedzi ilościowe, a jakościowe na przykład: - diagnostyka układów elektronicznych; - badania psychiatryczne; 5

- prognozowanie sprzedaży; - interpretacja badań biologicznych; - prognozy cen; - prognozowania postępów w nauce; - analiza problemów produkcyjnych. Jako przykład można tu podać system SNOOPE, wykonany przez firmę SAIC. Zajmuje się on kontrolą bagażu na amerykańskich lotniskach w celu wykrycia ewentualnych ładunków wybuchowych. System analizuje obraz prześwietlonego bagażu wykorzystując możliwości uczenia się metodą wstecznej propagacji błędów (backpropagation). Jego szybkość działania to około 10 bagażów na minutę. Ważniejsze kierunki zastosowań to: PREDYKACJA Sieci neuronowe są często wykorzystywane, aby na podstawie danych wejściowych przewidywać dane wejściowe.zaletą jest to, że sieć może nauczyć przewidywania sygnałów wyjściowych bez jawnego definiowania związku między danymi wejściowymi, a wyjściowymi. KLASYFIKACJA i ROZPOZNANIE Zadanie polega na przewidywaniu identyfizatora klasy, do której dany obiekt należy. Przykładem może być tu sieć pozwalająca na podstawie danych bilansowych stwierdzić, czy dane przedsiębiorstwo należy do zwyżkujących gospodarczo, czy przeżywa stagnację, czy też grozi mu regres. Zaletą zastosowanego podejścia jest fakt kruchości teorii ekonomicznych w porównaniu z praktyką. KOJARZENIE DANYCH Klasyczne systemy komputerowe mogą gromadzić duże zbiory danych bez możliwości ich kojarzenia. Sieci neuronowe, dzięki zdolności uczenia się i uogólniania doświadczeń, pozwalają zautomatyzować procesy wnioskowania i pomagają wykrywać istotne powiązania pomiędzy danymi. ANALIZA DANYCH Zadanie polega na znalezieniu związków pomiędzy danymi. Realizacja tego zadania przez sieci neuronowe daje nowe możliwości w zakresie prowadzenia analiz ekonomicznych. FILTRACJA SYGNAŁÓW Dane gospodarcze pochodzące z różnych źródeł są zakłócone. Klasyczne metody eliminacji szumów pozwalają usunąć zakłócenia o charakterze losowym, lecz nie dają podstaw do eliminacji przekłamań systematycznych. Coraz częściej zatem bada się możliwość zastosowania sieci neuronowych jako filtrów danych. OPTYMALIZACJA Sieci neuronowe zwłaszcza sieci Hopfielda dobrze nadają się do optymalizacji decyzji gospodarczych. Doświadczalnie potwierdzono możliwości sieci do rozwiązywania zadań optymalizacji statycznej i dynamicznej. Szczególnie ciekawe jest zastosowanie sieci do optymalizacji kombinatorycznej i zagadnień bardzo trudnych obliczeniowo (również np. zupełnych), które mogą być rozwiązane w krótkim czasie dzięki współbieżnym wyliczaniu przez wiele elementów sieci. Dobrym przykładem jest sieć rozwiązująca klasyczny problem komiwojażera. Zalety i wady sieci neuronowej... suma zalet przewyższa sumę wad (bo inaczej nie było by warto zajmować się SNN) 6

Zalety Jedną z najważniejszych zalet SSN z punktu widzenia to, że SSN nie wymagają programowania! Wystarczy stworzyć sieć, a ona uczy się sama. Rola programisty ogranicza się do zaprojektowania takiej struktury sieci, która najlepiej będzie nadawała się do rozwiązania danego problemu, a następnie do umiejętnego pokierowania procesem uczenia sieci. Analogicznie jest w przypadku każdego z nas. Aby być w jakiejś dziedzinie fachowcem, trzeba po pierwsze mieć wrodzone uzdolnienia w danej dziedzinie (odpowiednią strukturę własnej sieci neuronowej, jaką jest mózg), a po drugie - mieć dobrego nauczyciela. Inną zaletą siei neuronowych jest to, że w przypadku poważnego uszkodzenia działa nadal, jak gdyby nigdy nic! Oczywiście do pewnego stopnia. I znowu analogia: nasz mózg działa nadal po wypadku, w którym odniesie niewielki uszczerbek, działa pomimo niszczenia neuronów przez alkohol lub proces starzenia, działa długo bez "awarii", choć jego struktura wciąż jest naruszana. Dopiero po przekroczeniu pewnego progu uszkodzeń mózg odmawia posłuszeństwa. Stąd choroba Alzheimera, dalsze etapy choroby alkoholowej, psychozy po narkotykowej i podobne przypadłości. Kolejną ważną zaletą SSN jest zdolność uogólniania zdobytej wiedzy. Znaczy to dokładnie tyle, że jeśli sieć nauczy się, powiedzmy, rozpoznawać kolory: czerwony i żółty, to rozpozna również różowy i bladożółty, czyli kolory podobne do znanych. Wymienione zalety to oczywiście tylko część tego, czym SSN może nam zaimponować. Aby jednak sprawiedliwości stało się zadość, trzeba wspomnieć, że SSN mają także... Wady Nie ma rzeczy doskonałych. Sieci neuronowe nie przydadzą się przede wszystkim tam, gdzie potrzeba jasnych i precyzyjnych wyników - czyli przy rozmaitych skomplikowanych obliczeniach, obsłudze kont bankowych, itp. Wynika to z faktu, iż SSN jest odbiciem ludzkiego mózgu, ten zaś nie jest przystosowany do precyzyjnego operowania liczbami. Kiedy opisujemy kogoś, nie mówimy, że ma 185 cm wzrostu, tylko że jest wysoki. I to nie tyle dlatego, że dokładność tej informacji jest wystarczająca, lecz dlatego, że bez odpowiedniej aparatury pomiarowej (jak choćby metr krawiecki) nasz mózg nie jest w stanie precyzyjnie ocenić pewnych wielkości. SSN zatem operuje tzw. pojęciami rozmytymi: wysoki, niski, duży, mały, średni, jasny... Często jeśli oczekujemy od sieci odpowiedzi "tak" lub "nie", ona odpowie: "raczej tak", lub: "chyba nie"... Ta ostatnia skłonność sieci może być zarówno wadą, jak i zaletą - zależy, jak na to patrzeć. SSN nie zdaje egzaminu także wtedy, gdy specyfika problemu wymaga zastosowania wieloetapowego rozumowania. Kiedy trzeba mozolnie dochodzić do pewnych wniosków na podstawie efektów wcześniejszego rozumowania, a z tych wniosków wyciągać kolejne - sieć "odpada". Ona "woli" rozwiązać zadanie na raz, w jednym rzucie. Jeśli nawet pojawiają się jakieś wnioski pośrednie, to i tak nie ma do nich dostępu. Ta ostatnia cecha może się wydać dziwna komuś, kto oswoił się już z myślą, że SSN symuluje działanie mózgu. Przecież człowiek rozumuje krok po kroku, z jednych wniosków wyciągając następne. To fakt, ale rozumowanie można podzielić na pojedyncze etapy, w których działamy "na raz". Mamy jakieś dane i wyciągamy z nich wniosek. Ten wniosek posłuży do wyciągnięcia następnego, również w takim jednorazowym procesie. 7

Podsumowanie Sztuczne sieci neuronowe są obecnie jedną z najbardziej dynamicznie rozwijających się obecnie gałęzi sztucznej inteligencji. Pozwalają na szybkie i skuteczne rozwiązywanie zagadnień z różnych dziedzin wiedzy takich jak np.: kontrola systemów w czasie rzeczywistym, filtrowanie sygnałów, analiza obrazu, klasyfikacja, modelowanie. Niestety nie należy zapominać, że pomimo wygody nowego narzędzia, jakimi są sieci neuronowe, istnieje wiele zagadnień, do rozwiązania których wykorzystanie ich jest praktycznie niemożliwe (np. wymagana wysoka dokładność wyniku numerycznego). Mimo, że sieci neuronowe nie są tak uniwersalne jak klasyczny komputer i daleko im jeszcze do ludzkich możliwości, entuzjaści z różnych dziedzin nauki bez trudu potrafią wskazać ich zalety: są bardzo szybkie, skuteczne, nie męczą się, nie ulegają stresom i dają się łatwo powielać. Literatura: Paweł Cichosz Systemy uczące się, Wydawnictwo Naukowo - Techniczne Warszawa 2000, Pod redakcją Jerzego S. Zielińskiego Inteligentne systemy w zarządzaniu. Teoria i praktyka, Wydawnictwo Naukowe PWN Warszawa 2000, Jan J. Muławka Systemy ekspertowe, Wydawnictwo Naukowo Techniczne Warszawa 1996. http://free.of.pl/neuron/elem/elem.htm www.republika.pl/edward_ch/sneuro.html 8